#include using namespace std; #define nl "\n" #define int long long #define yes cout<<"YES"<< nl; #define no cout<<"NO"<< nl; #define pb push_back #define vi vector #define si set #define ip(x) for(auto &it : x) cin>>it #define all(x) x.begin(),x.end() #define sz(x) ((int)x.size()) // Mohammad Hasibur Rahman void solve(){ int n, q; cin >> n >> q; vi v(n + 1); for (int i = 1; i <= n; i++) cin >> v[i]; int x = 26; vector> vv(x, vector(n + 1, 0)); for (int i = 0; i < x; i++) { for (int j = 1; j <= n; j++) { vv[i][j] = vv[i][j-1] + ((v[j] >> i) & 1); } } while(q--) { int l, r; cin >> l >> r; int ans = 0; for (int i = 0; i < x; i++) { int a = vv[i][r] - vv[i][l - 1]; int b = (r - l + 1) - a; ans += a * b * (1LL << i); } cout << ans << nl; } } signed main(){ ios::sync_with_stdio(false); cin.tie(0); solve(); }