fn main() { let mut ab = String::new(); std::io::stdin().read_line(&mut ab).ok(); let mut ab: Vec = ab.trim().split_whitespace() .map(|e| e.parse().unwrap()).collect(); let a = ab[0]; let b = ab[1]; let fact = |x| { let mut y = 1; for i in 1..=x { y *= i; } y }; println!("{}", fact(a | b)); }