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