#include #include #include using namespace atcoder; using mint = modint1000000007; using namespace std; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf 1000000000000000000 void Gauss(vector> &B){ int now = 0; rep(i,333){ int temp = -1; for(int j=now;j>N>>M>>X; vector> B(N); rep(i,N){ int A; cin>>A; rep(j,30){ if((A>>j)&1)B[i][j] = 1; } } bitset<333> XX; rep(i,30){ if((X>>i)&1)XX[i] = 1; } rep(i,M){ int t,l,r; cin>>t>>l>>r; l--;r--; for(int j=l;j<=r;j++){ B[j][30+i] = 1; } if(t==1){ XX[30+i] = 1; } } Gauss(B); rep(i,B.size()){ rep(j,333){ if(B[i][j]==1){ if(XX[j])XX ^= B[i]; break; } } } rep(i,333){ if(XX[i]){ cout<<0<