BIN_OD - Editorial

why is it giving WA please let me know
https://www.codechef.com/viewsolution/84632584

#include<bits/stdc++.h>
#define ll long long
#define mp make_pair
#define f(i,n) for(int i=0;i<n;i++)
#define F first
#define S second
#define pb push_back

using namespace std;

void test(){
int n,q;
cin>>n>>q;

vector<ll> a(n);
f(i,n)cin>>a[i];

vector<vector<int>> setbit(n+1,vector<int>(61,0));

for(int i=1; i<=n; i++){
    for(int j=0; j<60; j++){
        if(a[i-1]>>j & 1)setbit[i][j] = setbit[i-1][j]+1;
        else setbit[i][j] = setbit[i-1][j];
    }
}

while(q--){
    int k,l1,r1,l2,r2;
    cin>>k>>l1>>r1>>l2>>r2;
    
    int x=setbit[r1][k]-setbit[l1-1][k], y=setbit[r2][k]-setbit[l2-1][k];
    int ans = x*(r2-l2+1-y) + y*(r1-l1+1-x);
    cout<<ans<<"\n";
}

}

int main(){
std::ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int tests=1;
cin>>tests;
while(tests–){
test();
}
}

// 1 2 3 4 5
// 1 2 4 3 2 k=1, l1=1 r1=3 l2=5 r2=5 001 010 100 011 010
// k=0 1 1 1 2 2
// k=1 0 1 1 2 3
// k=2 0 0 1 1 1
// k=3 0 0 0 0 0
// .
// .
// .
// k=60 0 0 0 0 0