#include<iostream>
using namespace std;
long long p[10000005];
long long n,k,p1,ans;
bool check(long long x)
{
long long now=1,tot=1;
for(int i=2;i<=k;i++)
{
if(p[i] < p[now] + x)
{
continue;
}
tot++;
now=i;
}
if(tot > n)
{
return true;
}
else
{
return false;
}
}
int main()
{
cin >> n >> k >> p1;
p[1]=p1;
for(int i=2;i<=k;i++)
{
p[i] = p[i-1] + ((p[i-1]*2357+137)%10)+1;
}
long long l,r,mid;
l=1;
r=p[k]-p[1];
while(l<=r)
{
mid=(l+r)/2;
if(check(mid))
{
l=mid+1;
ans=mid;
}
else
{
r=mid-1;
}
cout << ans;
return 0;
}