const MOD: usize = 1e9 as usize + 7; 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 xodd = (a+1) / 2 * 2 % MOD; let xeven = (a / 2 * 2 + 1) % MOD; let yodd = (b+1) / 2 * 2 % MOD; let yeven = (b / 2 * 2 + 1) % MOD; let result = xodd * yodd % MOD + xeven * yeven % MOD; println!("{}", result % MOD); }