#include using namespace std; #define int long long #define rep(i,n) for(int i=0;i<(n);i++) #define pb push_back #define all(v) (v).begin(),(v).end() #define fi first #define se second typedef vectorvint; typedef pairpint; typedef vectorvpint; templateinline void chmin(A &a,B b){if(a>b)a=b;} templateinline void chmax(A &a,B b){if(a ostream& operator<<(ostream& ost,const pair&p){ ost<<"{"< ostream& operator<<(ostream& ost,const vector&v){ ost<<"{"; for(int i=0;i=0;i--){ int lala=0,mama=0; for(int b=0;b<2;b++){ if(uku[i]!=-1&&uku[i]!=b)continue; mama+=ma; if((X>>i&1)==b)lala+=la; else if((X>>i&1)>b)mama+=la; } la=lala; ma=mama; } return la+ma; } int N,L,R; int A[222222]; signed main(){ cin>>N>>L>>R; rep(i,N)cin>>A[i]; memset(uku,-1,sizeof(uku)); bool ok=true; rep(i,N-1){ for(int k=60;k>=0;k--){ if((A[i]>>k&1)==(A[i+1]>>k&1))continue; int b; if(A[i]>>k&1)b=1; else b=0; if(uku[k]!=-1&&uku[k]!=b)ok=false; uku[k]=b; break; } } if(!ok){ cout<<0<