#include <bits/stdc++.h>
using namespace std;
long long n,cnt,a[10010],t,op,num,tmp1,p[51];
int main()
{
memset(a,0,sizeof(a));
cin>>n>>t;
tmp1=n;
p[0]=1;
while(n!=0){
int tmp=n%3;
a[cnt++]=tmp;
n=n/3;
}
for(int i=1;i<=50;i++){
p[i]=p[i-1]*3;
}
for(int i=1;i<=t;i++){
cin>>op>>num;
if(op==1){
if(a[num]==0){
int x=a[num];
a[num]=1;
tmp1+=abs(1-x)*p[num];
}
else if(a[num]==1){
int x=a[num];
a[num]=2;
tmp1+=abs(2-x)*p[num];
}
else{
int x=a[num];
a[num]=0;
tmp1-=abs(0-x)*p[num];
}
}else if(op==2){
if(a[num]==0){
int x=a[num];
a[num]=2;
tmp1+=abs(2-x)*p[num];
}
else if(a[num]==1){
int x=a[num];
a[num]=0;
tmp1-=abs(0-x)*p[num];
}
else{
int x=a[num];
a[num]=1;
tmp1+=abs(1-x)*p[num];
}
}else{
if(a[num]==1){
int x=a[num];
a[num]=2;
tmp1+=abs(2-x)*p[num];
}
else if(a[num]==2){
int x=a[num];
a[num]=1;
tmp1-=abs(1-x)*p[num];
}
}
cout<<tmp1<<endl;
}
return 0;
}