Concatenating values from multiple lists a random number of times

I have 3 data sets that are each lists: air, fix and nav. I’m looking for a way to generate a pattern like this:

fix|nav air fix|nav air fix|nav

So I’m alternating between a random value that is from either the fix list or nav list followed by a random value from the air list. This pattern (fix or nav followed by air) is repeated a random number of times. It also starts with a fix or nav value and ends with a fix or nav value.

I’ve been wracking my brain on multiple ways to accomplish this, but each idea I have runs into an issue that makes it not really workable.

I’d really appreciate some advice here.

Thanks very much.