rt
#include<bits/stdc++.h>
#define int long long
#define lc p<<1
#define rc p<<1|1
#define N 100010
using namespace std;
struct lsx{
int l,r,mul;
};
lsx a[4*N];
int q,m;
void pp(int p){
a[p].mul=(a[lc].mul*a[rc].mul)%m;
}
void build(int p,int l,int r){
a[p].l=l;
a[p].r=r;
a[p].mul=1;
if(l==r){
return ;
}
int mid=l+r>>1;
if(l<=m){
build(lc,l,m);
}else{
build(rc,m+1,r);
}
pp(p);
}
void ch(int p,int x,int c){
if(a[p].l==x&&a[p].r==x){
a[p].mul=c;
return ;
}
int mid=(a[p].l+a[p].r)>>1;
if(x<=mid){
ch(lc,x,c);
}
if(x>mid){
ch(rc,x,c);
}
pp(p);
}
signed main(){
int t;
while(t--){
int cnt=0;
cin>>q>>m;
build(1,1,q);
for(int i=1;i<=q;i++){
int pb,xx;
cin>>pb>>xx;
if(pb==1){
cout<<xx;
ch(1,i,xx);
}else{
ch(1,xx,1);
cout<<a[1].mul;
}
}
}
return 0;
}
连样例输出都有问题,球跳