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: i64 = line.next().unwrap().parse().unwrap(); let m: usize = line.next().unwrap().parse().unwrap(); let k: i64 = 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: i64 = a.sum(); let mut ans: i64 = 0; let f: Box i64> = match op { "+" => Box::new(|x: i64| base + x * n), _ => Box::new(|x: i64| x * base), }; for i in 0..m { ans += f(b[i]); } println!("{}", ans%k); }