fn main() { let mut xx = String::new(); std::io::Read::read_to_string(&mut std::io::stdin(), &mut xx).ok(); let xx: Vec<&str> = xx.split_whitespace().collect(); let n: usize = xx[0].parse().unwrap(); let m: usize = xx[1].parse().unwrap(); let k: u64 = xx[2].parse().unwrap(); let bb = xx[4..4 + m] .iter() .map(|&s| s.parse::().unwrap()) .sum::() % k; let aa = xx[4 + m..] .iter() .map(|&s| s.parse::().unwrap()) .sum::() % k; println!( "{}", match xx.get(3) { Some(&"+") => m as u64 * aa + n as u64 * bb, Some(&"*") => aa * bb, _ => unreachable!(), } % k ); }