006 - Extension FizzBuzz 10

時間制限 1 秒 / メモリ制限 64 MB / 得点 200 / x 8 /


TLE
1sec
MLE
64MB
得点
200

問題


自明 証明したり特に詳しく説明したりするまでもなく明らかなこと。

FizzBuzzとは、 有る値Nが3で割り切れるとき"Fizz"を、5で割り切れるとき"Buzz"を、双方で割り切れるときは"FizzBuzz"を言うものである。
割り切れない場合はNそのものを言う。
なお、「割り切れる」は任意の正整数の除数aと被除数b、余りを出す演算子%で表現した時b%a==0となることを言う。
0で除算した場合は「割り切れない」とする。
例えば、3や12は"Fizz"と、5や550は"Buzz"と、15や45は"FizzBuzz"と出力する。
これを、1からXまで繰り返す。それが本来のFizzBuzzである。

ここではFizzBuzzを少し拡張し、Aで割り切れたらFizzを、Bで割り切れたらBuzzを、双方で割り切れるときは"FizzBuzz"を言うものとする。
かつ、有る値Nの各桁のいずれかにAがあれば"Fizz"を、Bがあれば"Buzz"を双方あれば"FizzBuzz"という。
なお、Aが含まれながらAで割り切れる場合は"Fizz"1つのみで構わない。
例えばA=3、B=5のとき、N=30は"FizzBuzz"であるがN=35でも"FizzBuzz"である。

入力

値X、A、Bが空白区切りで与えられる

出力

1からXに対する拡張FizzBuzzに乗っ取った出力をせよ。
各行ごとの改行を忘れずに。

制約

  • 1 ≤ $X$ ≤ 105
  • 0 ≤ $A$,$B$ ≤ 9

入出力例

例1

入力

40 3 5

出力

1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
Fizz
14
FizzBuzz
16
17
Fizz
19
Buzz
Fizz
22
Fizz
Fizz
Buzz
26
Fizz
28
29
FizzBuzz
Fizz
Fizz
Fizz
Fizz
FizzBuzz
Fizz
Fizz
Fizz
Fizz
Buzz
見てわかるとおり、A=3の倍数ではないが、Aが含まれている値のときは"Fizz"が出力されている。

例1

入力

20 7 0

出力

1
2
3
4
5
6
Fizz
8
9
Buzz
11
12
13
Fizz
15
16
Fizz
18
19
Buzz
A,Bの値が0になる場合はあるが、0で割るとRE(ランタイムエラー)になるため注意。