/*
    ┏┛ ┻━━━━━┛ ┻┓
    ┃　　　　　　┃
    ┃　　　━　　　      ┃
    ┃　┳┛　  ┗┳　    ┃
    ┃　　　　　　       ┃
    ┃　　　┻　　　    ┃
    ┃　　　　　　      ┃
    ┗━┓　　　┏━━━┛
      ┃　　　┃   神兽保佑
      ┃　　　┃
      ┃　　　┗━━━━━━━━━┓
      ┃　　　　　　　    ┣┓
      ┃　　　　         ┏┛
      ┗━┓ ┓ ┏━━━┳ ┓ ┏━┛
          ┃ ┫ ┫   ┃ ┫ ┫
          ┗━┻━┛   ┗━┻━┛
*/
// Create by JJL
#define IOS ios_base::sync_with_stdio(0); cin.tie(0);
#include <cstdio>
#include <cmath>
#include <cstring>
#include <algorithm>
#include <iostream>
#include <string>
#include <vector>
#include <unordered_map>
#include <map>
#include <set>
#include <queue>
#define fi first
#define se second
#define int long long
using namespace std;
typedef long long LL;
typedef pair<int,int> PII;

const int N=2000010,mod=1e9+7;

inline LL read(){
    LL x=0,f=1;char ch=getchar();
    while(ch<'0'||ch>'9'){if(ch=='-') f=-1;ch=getchar();}
    while(ch>='0'&&ch<='9'){x=(x<<1)+(x<<3)+(ch^48);ch=getchar();}
    return x*f;
}
LL a[N];
LL b[100];
void add(LL x){
    for(int i=0;i<=60;++i) {
        if(x>>i&1) b[i]++;
    }
}
void solve(){
    LL n;
    scanf("%lld",&n);
    LL ans=0;
    for(int i=0;i<100;++i) b[i]=0;
    for(int i=1;i<=n;++i) {
        scanf("%lld",&a[i]);
        add(a[i]);
    }
    for(int i=1;i<=n;++i){
        LL sum1=0,sum2=0;
        for(int j=0;j<=60;++j){
            if(a[i]>>j&1) {
                sum1+=(1ll*b[j]*((1ll<<j)%mod)%mod)%mod;
                sum1%=mod;
            }
            if(!(a[i]>>j&1) ){
                sum2+=(1ll*b[j]*((1ll<<j)%mod)%mod  )%mod;
                sum2%=mod;
            }
            else {
                sum2+=(1ll*n*((1ll<<j)%mod)%mod )%mod;
                sum2%=mod;
            }
        }
        ans=(ans+sum1*sum2%mod)%mod;
    }
    cout<<ans<<'\n';
//    ans=0;
//    for(int i=1;i<=n;++i){
//        for(int j=1;j<=n;++j){
//            for(int k=1;k<=n;++k) {
//                ans=(ans+(a[i]&a[j])%mod*((a[j]|a[k])%mod)%mod)%mod;
//            }
//        }
//    }
//    cout<<ans<<endl;
}
signed main(){
    /* START CODE */
    int T;
    scanf("%lld",&T);
    while(T--){
       solve();
    }
    return 0;
}
