fn gcd(a: usize, b: usize) -> usize { if b == 0 { a } else { gcd(b, a % b) } } fn run() { let mut s = String::new(); std::io::stdin().read_line(&mut s).unwrap(); let mut it = s.trim().split_whitespace(); let a: usize = it.next().unwrap().parse().unwrap(); let b: usize = it.next().unwrap().parse().unwrap(); if gcd(a, b) > 1 { println!("-1"); } else { let mut ans = 2 * a * b; for x in 1..=(2 * a * b) { for i in 0..=(x / a) { if (x - i * a) % b == 0 { ans -= 1; break; } } } println!("{}", ans); } } fn main() { run(); }