Scanf.scanf "%d %d %d %c" (fun n m k op -> let b = Array.init m (fun _ -> Scanf.scanf " %d" (fun b -> b)) in let a = Array.init n (fun _ -> Scanf.scanf " %d" (fun a -> a)) in let ( +@) a b = (a + b) mod k in let ( *@) a b = (a * b) mod k in let suma = Array.fold_left (+@) 0 a in let sumb = Array.fold_left (+@) 0 b in Printf.printf "%d\n" @@ if op = '*' then suma *@ sumb else n *@ sumb +@ m *@ suma )