local ffi = require 'ffi' local C = ffi.C ffi.cdef [[ unsigned long strtoul(const char *, char **, int); int printf(const char *, ...); ]] C.printf("%ld\n", (function (f, x, _, s) local b,m,t=x+0ULL,1000003ULL,0ULL for e in s:gmatch("%d+") do t=t+f(b,C.strtoul(e,nil,10),m) end return t%m end)(function (b, e, m) local r=1ULL while e~=0ULL do if e%2ULL~=0ULL then r=r*b%m end b,e = b*b%m,e/2ULL end return r end, io.stdin:read("*n"), io.stdin:read("*l"), io.stdin:read("*l")))