FizzBuzz is where a range of positive integers is taken, and numbers divisible by 3 are replaced with "Fizz", divisible by 5 with "Buzz" and divisible by 15 with "FizzBuzz".
I've got some FizzBuzz output here. Unfortunately, it's been shuffled:
4 Fizz Fizz Buzz 2 A bit of logic shows us that this is 2, Fizz, 4, Buzz, Fizz shuffled.
Your challenge is to take a range of FizzBuzz, shuffled, and put it in any order such that it's valid FizzBuzz. For example, given Fizz, Fizz, Buzz, 11 we can work out that the correct order is Fizz, Buzz, 11, Fizz (corresponding to 9, 10, 11, 12)
Input will always be rearrangeable into valid FizzBuzz.
You may choose any values that cannot appear as integers to represent Fizz, Buzz and FizzBuzz.
This is code-golf, shortest wins!
Testcases
1, 2, Fizz, 4, Buzz -> 1, 2, Fizz, 4, Buzz Fizz, 4, Buzz, 1, 2 -> 1, 2, Fizz, 4, Buzz Fizz, Fizz, Buzz, 11 -> Fizz, Buzz, 11, Fizz Fizz, Buzz, 8, Buzz, 7, Fizz -> Buzz, Fizz, 7, 8, Fizz, Buzz Buzz, Fizz -> either way 29, 31, FizzBuzz -> 29, FizzBuzz, 31 28, Fizz, FizzBuzz, 29 -> Fizz, 28, 29, FizzBuzz 8, 7 -> 7, 8
8, Fizz, 7, Buzz, which could beBuzz, Fizz, 7, 8or7, 8, Fizz, Buzz. \$\endgroup\$