Your task is to generate exactly the following output:
1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz 16 17 Fizz 19 Buzz Fizz 22 23 Fizz Buzz 26 Fizz 28 29 FizzBuzz 31 32 Fizz 34 Buzz Fizz 37 38 Fizz Buzz 41 Fizz 43 44 FizzBuzz 46 47 Fizz 49 Buzz
This challenge is based on the Fizz Buzz challenge, and here is a recap: output the numbers from 1 to 100 inclusive, each number on its own line, but if the number is a multiple of 3, you should output "Fizz" instead of the original number, if the number is a multiple of 5, you should output "Buzz" instead of the original number. If the number is a multiple of 15, you should output "FizzBuzz" instead of the original number.
However, in addition to the requirement above, you should also indent each line using spaces to make that every column contains unique characters (excluding spaces and newlines) only. The spaces prepended to each line are the minimum required to make all the lines appeared before it (inclusive) has unique characters in each column.
1,2,Fizz,4 does not need any indentation because they already have unique characters in each column (column 1:
z), but when adding
Buzz we need to indent by two spaces because otherwise we would have two
z's in both the 3rd and the 4th column. Since two spaces is enough to achieve the goal you should not indent it by three spaces.
8 does not need any indentation but when outputting
11 we need to indent by one space because the 1st column already has a
13 then needs to be indented by three spaces because now 1st, 2nd and 3rd column all have a
1. Indentation for the remaining lines follow the same rule.
To make the challenge simpler, The upper limit has been changed to 50.
You can write a program or a function. Neither of them should take any non-empty input. Taking an empty input is fine.
Since this is a KC challenge you need to produce the output as specified in the Introduction section. A single trailing newline is fine. No heading newlines or extra heading spaces. No extra trailing spaces for each line.
Your program can exit with error or have non-empty STDERR output as long as STDOUT conforms to the specification.
This is intra-language code-golf, the program with lowest number of bytes wins in its language.
Default loopholes apply.