#include <bits/stdc++.h>
using namespace std;
typedef double db;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
constexpr int N = 2e4+5;
constexpr int BIT=62;
constexpr int MOD=998244353;
constexpr db sml=1e-5;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n,k1,k2,res=0;
cin>>n>>k1>>k2;
vector<ll> a(n+1);
vector<vector<vector<ll>>> bitPos(BIT+1,vector<vector<ll>>(2,vector<ll>()));
for(int i=1;i<=n;i++) {
cin>>a[i];
for(int j=BIT;j>=0;j--) {
bitPos[j][a[i]>>j&1].push_back(i);
}
}
for(int l=1;l<=n;l++) {
int st=n+1,ed=n+1;
for(int j=BIT;j>=k1;j--) {
int op=(a[l]>>j&1)^1;
auto it=lower_bound(bitPos[j][op].begin(),bitPos[j][op].end(),l);
int p= it==bitPos[j][op].end()?n+1:*it;
if(j>=k2) ed=min(ed,p);
else if(j>=k1) st=min(st,p);
}
res+=max(0,ed-st);
}
cout<<res<<endl;
return 0;
}