#include<iostream>
using namespace std;
long long p[32],ten[32];
int main()
{
//ifstream cin("circle.in");
//ofstream cout("circle.out");
long long n,m,k,x,ans(1),j;
cin>>n>>m>>k>>x;
p[0]=1;
for (int i=1;i<=30;i++) p[i]=p[i-1]*2;
ten[0]=10;
for (int i=1;i<=30;i++) ten[i]=ten[i-1]*ten[i-1]%n;
while (k)
{
for (j=30;j>=0;j--)
if (p[j]<=k)
break;
ans=ans*ten[j]%n;
k-=p[j];
}
ans=ans*m%n;
ans=(ans+x)%n;
cout<<ans<<endl;
//system("pause");
return 0;
}
/**************************************************************
Problem: 2324
User: admin
Language: C++
Result: Accepted
Time:46 ms
Memory:2072 kb
****************************************************************/