#include using namespace std; const int MN = 1e6 + 6; int n; long long b[4*MN],a[MN],m; long long br=0; bool f=0; void build(int l, int r, int idx){ if(l==r){ b[idx]=a[l]; return; } build(l,(l+r)/2,idx*2); build((l+r)/2+1,r,idx*2+1); b[idx]=b[2*idx]&b[2*idx+1]; } long long ans; bool ff; void query(int ql, int qr, int l, int r, int idx){ if(ql<=l && qr>=r){ //cout<mid){ query(max(ql,mid+1),qr,mid+1,r,2*idx+1); } } int dqsno(int l, int r){ //cout<=m){ l=mid; } else{ r=mid-1; } } return l; } int lqvo(int l, int r, long long k){ int p=r; int mid; long long tans; while(l=m){ r=mid; } else{ l=mid+1; } } return l; } long long calc(int k){ return (long long)(k)*(long long)(k+1)/(long long)(2); } int main() { freopen("note2.in","r",stdin); freopen("note2.out","w",stdout); ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin>>n>>m; for(int i=1;i<=n;i++){ cin>>a[i]; } build(1,n,1); /*for(int i=1;i<=12;i++){ cout<n)break; if(a[j]1){ ans=0;ff=0; query(j,r1,1,n,1); l1=lqvo(1,j,ans); br+=(long long)(r1-j+1)*(long long)(j-l1); } j=r1+1; } cout<