#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,x;
cin>>n>>x;
int a[1000011]={0};
int win[1000011]={0};
a[1]=x;
for(int i=2;i<=n;i++)
{
x=(x*3703+1047)%n+1;
a[i]=x;
}
int last_x=0;
int cnt=0;
for(int i=1;i<=n;i++)
{
if(a[i]!=last_x)
{
win[a[i]]+=1;
cnt=1;
last_x=a[i];
}
else if(a[i]==last_x&&cnt==1)
{
win[a[i]]+=2;
cnt++;
last_x=a[i];
}
else if(a[i]==last_x&&cnt>=2)
{
win[a[i]]+=3;
cnt++;
last_x=a[i];
}
}
sort(win+1,win+1+n);
cout<<win[n]<<endl;
return 0;
}