fn read() -> (usize, usize) { let mut buf = String::new(); std::io::stdin().read_line(&mut buf).unwrap(); let v = buf .trim() .split_ascii_whitespace() .map(|e| e.parse().unwrap()) .collect::>(); (v[0], v[1]) } fn solve(trick: usize, treat: usize) -> u128 { (1..=(trick | treat) as u128).product() } fn main() { let (trick, treat) = read(); println!("{}", solve(trick, treat)); }