str = gets.chomp! abort "EOF" unless !gets abort "Format error" unless str=~/^[0-3]+$/ # 3進数で5で割り切れるかどうか=>4進数を10進数と見立て,3で割り切れるか # 4進数で5で割り切れるかどうか=>4進数を10進数と見立て,11で割り切れるか # 11で割り切れる数でググる # https://www.google.co.jp/search?q=11%E3%81%A7%E5%89%B2%E3%82%8A%E5%88%87%E3%82%8C%E3%82%8B%E6%95%B0 # 奇数桁の数の和と偶数桁の数の和が等しい、または、それらの差が11の倍数。 a = str.chars.map(&:to_i) odd = 0 even = 0 a.size.times{|i| odd += a[i] if i.odd? even+= a[i] if i.even? } div5 = (odd-even).abs % 5 == 0 div3 = (odd+even).abs % 3 == 0 puts div5&&div3 ? "FizzBuzz" : (div5 ? "Buzz" : (div3 ? "Fizz" : str))