#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
****************************************************************/