fn read_vec() -> Vec { let mut s = String::new(); std::io::stdin().read_line(&mut s).ok(); s.trim() .split_whitespace() .map(|e| e.parse().ok().unwrap()) .collect() } fn main() { let input: Vec = read_vec(); println!("{}", no353(input[0], input[1])); } fn no353(a:usize, b:usize) -> usize { let mut a = a; let mut b = b; while b != 0 { let c = (a & b) << 1; a ^= b; b = c; } a }