use proconio::input; fn gcd(mut a: u64, mut b: u64) -> u64 { while b != 0 { let tmp = b; b = a % b; a = tmp; } a } fn main () { input! { a: usize, b: usize, mut t: [u64; a], s: [u64; b], } let init = t[0]; let d = t.iter() .fold(init, |init, &x| { gcd(init, x) }); let flag = s.iter() .fold(true, |flag, &x| { if flag { if x%d == 0 {true} else {false} } else {flag} }); println!("{}", if flag {"Yes"} else {"No"}); }