/** $ Problem Name: G_TP_02_G $ Created: 06 November 2025, Thursday (12:02:21)... **/ #include using namespace std; #define nl '\n' #define int int64_t void An$(){ int n,q; cin>>n>>q; vector a(n+1); vector> bt(30,vector (n+1)); for(int i=1;i<=n;i++){ cin>>a[i]; for(int j=0;j<30;j++){ bt[j][i]=bt[j][i-1]; if(a[i]&(1LL<>l>>r; int ans=0; for(int i=0;i<30;i++){ auto ache=bt[i][r]-bt[i][l-1]; auto nai=r-l+1-ache; ans+=ache*nai*(1LL<