#include<bits/stdc++.h>
using namespace std;
const long long MaxN = 5e5 + 5;
long long n,a[MaxN],cnt[35];
void input()
{
cin >> n;
for (long long i=1; i<=n; i++)
{
cin >> a[i];
}
}
void solve()
{
sort(a+1,a+n+1);
long long ans=0, dem=0;
for (long long i=1; i<=n; i++)
{
ans+=dem;
if(a[i]==0)
{
dem++;
ans++;
continue;
}
long long mx=63-__builtin_clzll(a[i]);
for (long long j=0; j<mx; j++)
{
if(((a[i]>>j)&1)==1)
{
ans+=cnt[j];
}
}
cnt[mx]++;
}
cout << ans;
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
input();
solve();
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKY29uc3QgbG9uZyBsb25nIE1heE4gPSA1ZTUgKyA1Owpsb25nIGxvbmcgbixhW01heE5dLGNudFszNV07CnZvaWQgaW5wdXQoKQp7CiAgICBjaW4gPj4gbjsKICAgIGZvciAobG9uZyBsb25nIGk9MTsgaTw9bjsgaSsrKQogICAgewogICAgICAgIGNpbiA+PiBhW2ldOwogICAgfQp9CnZvaWQgc29sdmUoKQp7CiAgICBzb3J0KGErMSxhK24rMSk7CiAgICBsb25nIGxvbmcgYW5zPTAsIGRlbT0wOwogICAgZm9yIChsb25nIGxvbmcgaT0xOyBpPD1uOyBpKyspCiAgICB7CiAgICAgICAgYW5zKz1kZW07CiAgICAgICAgaWYoYVtpXT09MCkKICAgICAgICB7CiAgICAgICAgICAgIGRlbSsrOwogICAgICAgICAgICBhbnMrKzsKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgIGxvbmcgbG9uZyBteD02My1fX2J1aWx0aW5fY2x6bGwoYVtpXSk7CiAgICAgICAgZm9yIChsb25nIGxvbmcgaj0wOyBqPG14OyBqKyspCiAgICAgICAgewogICAgICAgICAgICBpZigoKGFbaV0+PmopJjEpPT0xKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBhbnMrPWNudFtqXTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBjbnRbbXhdKys7CiAgICB9CiAgICBjb3V0IDw8IGFuczsKfQppbnQgbWFpbigpCnsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgICBjaW4udGllKDApOwogICAgaW5wdXQoKTsKICAgIHNvbHZlKCk7Cn0KCg==