#include<bits/stdc++.h>
using namespace std;
int mas[100000];
long long br;
int n,k,previ,numbits;

bool shall_skip(int a){
    a>>numbits;
    return (a==0);
}
void func(int l,int r){
    int ucount=0;
    for(int i=l;i<r-1;i++){
        if(shall_skip(mas[i])){
            ucount++;
            continue;
        }
        int res=mas[i];
        for(int j=i+1;j<r;j++){
            res=res|mas[j];
            if(res>=k){
                br+=(r-j)*(ucount+1);
                ucount=0;
                break;
            }
        }
    }
}

int main(){
    cin>>n>>k;
    int mult=2,numbits=0;
    while(k%mult==0){
        mult*=2;
        numbits++;
    }
    for(int i=0;i<n;i++){
        cin>>mas[i];
        if(mas[i]>=k){
            br+=(i-previ)*(n-i-1)+n-previ;
            func(previ,i);
            previ=i+1;
        }
    }
    func(previ,n);
    cout<<br<<endl;
    return 0;
}
