#include <bits/stdc++.h>
using namespace std;

int N, K;
unsigned int a[100005], c;
unsigned long long br=0;

void podzad1()
{
    //br=N*(N-1)/2+N;
    for (int i=0 ; i<N ; i++)
    {
        cin >> a[i];
        //if (a[i]==0) br--;
    }
    for (int l=0 ; l<N ; l++)
    {
        if (a[l] != 0) br += (1+(N-l))*(N-1)/2;
    }
    cout << br;
}

int main()
{
    ios::sync_with_stdio(1);
    cin.tie(0);
    cout.tie(0);

    cin >> N >> K;
    if (K==1) {podzad1(); return 0;}
    for (int i=0 ; i<N ; i++) cin >> a[i];
    for (int l=0 ; l<N ; l++)
    {
        c=a[l];
        for (int r=l ; r<N ; r++)
        {
            c = c | a[r];
            if (c>=K) br++;
        }
    }
    cout << br << endl;
    return 0;
}
