let [| n; m; k |] = stdin.ReadLine().Split() |> Array.map uint64 let op, sumB = stdin.ReadLine().Split() |> fun x -> x.[0], x.[1..] |> Array.map uint64 |> Array.sum let arrA = [| for i in 0UL .. n - 1UL -> stdin.ReadLine() |> uint64 |] let table = [| for a in arrA -> if op = "+" then (a % k) * (m % k) % k |> (+) sumB |> (%) <| k else (a % k) * (sumB % k) % k |] table |> Array.sum |> (%) <| k |> printfn "%d"