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