use proconio::input; fn main() { input! { n: usize, // ナベアツ数 q: usize, // クエリ数 x: [usize; q], } for xx in x { let ans = solve(n, xx); println!("{}", if ans {"Yes"} else {"No"}); } } fn solve(n: usize, x: usize) -> bool { // xがNの倍数か if is_divide(x, n) { return true; } // xの連続部分文字列がNと一致するかを判定 is_match(x, n) } fn is_divide(x: usize, n: usize) -> bool { x % n == 0 } fn is_match(x: usize, n: usize) -> bool { let n_chars : Vec = n.to_string().chars().collect(); let n_len = n_chars.len(); let x_chars : Vec = x.to_string().chars().collect(); let x_len = x_chars.len(); if n_len > x_len { return false; } for i in 0..x_len-n_len+1 { if &x_chars[i..i+n_len] == &n_chars[0..n_len] { return true; } } false } /* n = 10 -> 2桁 x = 100 -> 3桁 [10] [10] [01] [10] */