use std::io::Read; fn main() { let mut input = String::new(); std::io::stdin().read_to_string(&mut input).ok(); let mut input = input.trim().split("\n"); let mut line = input.next().unwrap().split_whitespace(); let n: u64 = line.next().unwrap().parse().unwrap(); let m: usize = line.next().unwrap().parse().unwrap(); let k: u64 = line.next().unwrap().parse().unwrap(); let mut line = input.next().unwrap().split_whitespace(); let op: &str = line.next().unwrap(); let b: Vec = line.map(|c| c.parse().unwrap()).collect(); let a = input.map(|c| c.trim().parse::().unwrap()); let base: u64 = a.sum(); let mut ans: u64 = 0; let f: Box u64> = match op { "+" => Box::new(|x: u64| base + x * n), _ => Box::new(|x: u64| x * base), }; for i in 0..m { ans += f(b[i]); } println!("{}", ans%k); }