use std::io; fn is_mul3(v: &[char]) -> bool { v.iter().fold(0, |sum,c| sum + c.to_digit(4).unwrap()) % 3 == 0 } fn is_mul5(v: &[char]) -> bool { v.iter().rev().enumerate() .fold(0, |sum,(i,c)| sum + (c.to_digit(4).unwrap() as i32) * if i%2==0 { -1 } else { 1 }) % 5 == 0 } fn main() { let mut s = String::new(); io::stdin().read_line(&mut s).unwrap(); let v: Vec<_> = s.trim().chars().collect(); let mul3 = is_mul3(&v); let mul5 = is_mul5(&v); if mul3 && mul5 { println!("FizzBuzz"); } else if mul3 { println!("Fizz"); } else if mul5 { println!("Buzz"); } else { println!("{}", s); } }