fn get_num_of_each_factor(mut n: u64) -> Vec { let mut result = vec![]; for p in 2..=((n as f64).sqrt().floor() as u64) { let mut i = 0; while n % p == 0 { n /= p; i += 1; } if i > 0 { result.push(i); if n == 1 { break; } } } if n > 1 { result.push(1); } result } fn main() { let mut n = String::new(); std::io::stdin().read_line(&mut n).ok(); let n: u64 = n.trim().parse().unwrap(); let win = get_num_of_each_factor(n).iter().fold(0, |acc, x| acc ^ x); if win == 0 { println!("Bob"); } else { println!("Alice"); } }