#include #include #include using namespace std; using namespace atcoder; using mint = modint998244353; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf32 1000000001 #define Inf64 4000000000000000001LL int main(){ int n,q; cin>>n>>q; vector s(n); rep(i,n)cin>>s[i]; /* rep(i,100){ rep(j,100){ rep(k,100){ int x = i+1,y = j+1,z = k+1,w = (j+k+2)-(i+1); if(x>=y||y>=z||z>=w)continue; int s = x+y+z+w; int t = 0; if(s%(x+y)==0)t++; if(s%(x+z)==0)t++; if(s%(x+w)==0)t++; if(s%(y+z)==0)t++; if(s%(y+w)==0)t++; if(s%(z+w)==0)t++; if(t!=4)continue; cout< mp,mp2; vector t= {1,5,7,11}; vector t2= {1,11,19,29}; rep(i,n){ rep(j,4){ if(s[i]%t[j]==0)mp[s[i]/t[j]]++; if(s[i]%t2[j]==0)mp2[s[i]/t2[j]]++; } } int ans = 0; for(auto a:mp){ if(a.second==4)ans++; } for(auto a:mp2){ if(a.second==4)ans++; } rep(_,q){ int x,y; cin>>x>>y; rep(j,4){ if(y%t[j]==0){ int z = y/t[j]; if(x==1){ mp[z]++; if(mp[z]==4)ans++; } else{ if(mp[z]==4)ans--; mp[z]--; } } if(y%t2[j]==0){ int z = y/t2[j]; if(x==1){ mp2[z]++; if(mp2[z]==4)ans++; } else{ if(mp2[z]==4)ans--; mp2[z]--; } } } cout< v; int sum = 0; rep(j,n){ if((i>>j)&1){ v.push_back(s[j]); sum += s[j]; } } int t = 0; rep(j,4){ rep(k,4){ if(j