use proconio::input; const L: usize = 1000010; fn main(){ input!{ n: usize, m: usize, a: [usize; n], b: [usize; m], } let mut dp = vec![false; L]; for x in a{ dp[x] = true; } for x in b{ for i in (x..L).rev(){ if dp[i-x]{ dp[i] = true; } } } let mut ans = 0; for i in 0..L{ ans += if dp[i]{1} else{0}; } println!("{}", ans); }