#include <bits/stdc++.h>
using namespace std;
#define pb push_back
typedef long long ll;
ll a[200005];
map<ll,ll>freq;
int main()
{
    int n,k;
    cin>>n>>k;
    int fff=0;
    for(int i=0;i<n;i++)
    {
        cin>>a[i];
    }
    freq[0]++;
    ll aa,bb=0;
    ll curr=0;
    for(int i=0;i<n;i++)
    {
        aa = curr;
        bb=0;
        for(int j=0;j<k;j++)
        {
            if((a[i]&(1<<j)))
            {
                aa^=(1<<j);
            }
        }
        for(int j=0;j<k;j++)
        {
            if(!(aa&(1<<j)))
            {
                bb|=(1<<j);
            }
        }
        if(freq[aa]<freq[bb])
        {
            freq[aa]++;
            curr = aa;
        }
        else
        {
            curr = bb;
            freq[bb]++;
        }
        //curr = aa;
    }
    map<ll,ll>::iterator it = freq.begin();
    ll sum=0;
    for(;it!=freq.end();it++)
    {

        ll ff = it->second;
        sum = sum+1LL*(ff)*(ff-1)/2;
    }
    ll fin = 1LL*n*(n+1)/2;
    cout<<fin-sum<<endl;
}
