1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| #include<bits/stdc++.h> #define int long long using namespace std; int d[4000009]; int n,M,T,mod,p; signed main(){ for(scanf("%lld",&T);T;--T){ scanf("%lld%lld",&n,&mod); for(M=1;M<=n;M<<=1); fill(d+1,d+M+n+2,1); for(int i=1,a=0,b=0;i<=n;++i){ scanf("%lld%lld",&a,&b); a==1?d[p=i+M]=b%mod:d[p=b+M]=1; while(p>>=1)d[p]=d[p<<1]*d[p<<1|1]%mod; printf("%lld\n",d[1]); } } return 0; }
|