#include long long mo=1e9+7; long long A[300]; long long modpow(long long a, long long n){ long long ret=1; for(;n>0;n>>=1,a=a*a%mo){ if(n%2==1){ ret=ret*a%mo; } } return ret; } int main(){ int N,M,X; std::cin>>N>>M>>X; for(int i=0;i>A[i]; } std::vector< std::vector > mat(M+30,std::vector(N,0)); std::vector v(M+30,0); for(int i=0;i>type>>l>>r; --l; --r; for(int j=l;j<=r;++j){ mat[i][j]=1; } v[i]=type; } for(int i=0;i<30;++i){ for(int j=0;j>i)%2; } v[M+i]=(X>>i)%2; } int rank=0; for(int i=0;i