#include<bits/stdc++.h>
using namespace std;
int a[110];//队号
int b[110];//每队总得分
int main(){
int n,i,x,c;
cin>>n>>x;
a[0] = x;
for(i = 1;i < n;i++){
a[i] = ((a[i - 1] * 3703 + 1047) % n) + 1;
}
c = 0;//记录连续数字的次数
for(i = 0;i < n;i++){
c++;
if(c <= 3){
b[a[i]] = b[a[i]] + c;//得分
}else{
b[a[i]] = b[a[i]] + 3;//得分
}
//如果连续数字结束
if(i == n - 1 || a[i] != a[i + 1]){
c = 0;
}
}
int max = 0;
for(i = 0;i < 110;i++){
if(b[i] > max){
max = b[i];
}
}
cout<<max<<endl;
return 0;
}
/**************************************************************
Problem: 1559
User: admin
Language: C++
Result: Accepted
Time:72 ms
Memory:2072 kb
****************************************************************/