local n, m, k = io.read("*n", "*n", "*n", "*l") local str = io.read() local op = str:sub(1, 1) local b = {} for s in str:gmatch("(%d+)") do local z = 0LL + tonumber(s) table.insert(b, z) end local a = {} for i = 1, n do local z = 0LL + io.read("*n") a[i] = z end local bsum = 0LL for i = 1, m do bsum = bsum + b[i] end local asum = 0LL for i = 1, n do asum = asum + a[i] end k = 0LL + k bsum = bsum % k asum = asum % k if op == "+" then local r = (bsum * n + asum * m) % k local z = tostring(r):gsub("LL", "") print(z) else local r = (bsum * asum) % k local z = tostring(r):gsub("LL", "") print(z) end