use std::cmp::{max, min}; fn gcd(a: u128, b: u128) -> u128 { if a % b == 0 { return b; } gcd(b, a % b) } fn main() { let mut ab = String::new(); std::io::stdin().read_line(&mut ab).ok(); let ab: Vec = ab.trim().split_whitespace().map(|s| s.parse().unwrap()).collect(); let a = ab[0]; let b = ab[1]; let aa = a * b; let bb = a + b; println!("{}", gcd(max(aa, bb), min(aa, bb))); }