#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=3e5+5;
int st[N][35],f[N][35],a[N];
signed main(){
int n;cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
for(int j=1;j<=35;j++)f[i][j]=-1;
}
for(int i=0;i<=log2(n)+1;i++){
for(int j=1;j<n;j++){
if(!i)f[j][i]=j+1,st[j][i]=a[j]|a[j+1];
else{
if(j+pow(2,i)<=n){
f[j][i]=f[f[j][i-1]][i-1];
st[j][i]=st[j][i-1]|st[f[j][i-1]][i-1];
}else f[j][i]=-1;
}
}
}
int sum=0;
for(int i=1;i<=n;i++){
int l=1,r=i-1;
while(l<=r){
int mid=l+r>>1;
int su=0,t=mid;
for(int j=log2(n)+1;j>=0;j--){
if(f[t][j]<=i&&f[t][j]!=-1)su=su|st[t][j],t=f[t][j];
}
if(su<=a[i])r=mid-1;
else l=mid+1;
}
int id=r+1;
//cout<<id<<endl;
l=i+1,r=n;
while(l<=r){
int mid=l+r>>1;
int su=0,t=i;
for(int j=log2(n)+1;j>=0;j--){
if(f[t][j]<=mid&&f[t][j]!=-1){
su=su|st[t][j],t=f[t][j];
}
}
if(su<=a[i])l=mid+1;
else r=mid-1;
}
int id1=l-1;
int c=0;
for(int j=i+1;j<=id1;j++){
if(a[j]==a[i])++c;
}
sum-=c*(c+1)/2;
sum+=id1-id+(i-id)*(id1-i);
}
cout<<n*(n-1)/2-sum;
return 0;
}
hack
input:69
3 4 2 4 5 2 0 5 2 8 8 0 0 8 6 4 3 0 0 1 2 5 8 1 7 4 6 0 6 1 8 4 2 0 4 3 5 6 2 8 3 7 7 6 0 3 8 6 2 6 0 2 4 5 0 3 6 8 8 8 3 2 2 6 7 8 5 3 5
out:2249
ans:2262