program around;
var
n,m,k,x,ans,s:longint;
function work(k:longint):longint;
begin
if k=1 then exit(10);
if odd(k) then exit((sqr(work(k div 2)))mod n*10mod n)
else exit(sqr(work(k div 2))mod n);
end;
begin
readln(n,m,k,x);
s:=work(k);
ans:=((s*m)mod n+x)mod n;
writeln(ans);
end.
/**************************************************************
Problem: 2324
User: admin
Language: Pascal
Result: Wrong Answer
****************************************************************/