#include using namespace std; using ll = long long; #ifdef LOCAL #include #else #define dbg(...) 0 #define dbgn(...) 0 #endif void solve(){ int n, q; cin >> n >> q; vector> v(26, vector (n)); for(int i = 0; i < n; i++){ int x; cin >> x; for(int j = 0; j < 26; j++){ v[j][i] = (x & (1 << j)) > 0; if(i) v[j][i] += v[j][i - 1]; } } while(q--){ int l, r; cin >> l >> r; l--, r--; ll ans = 0; for(int i = 0; i < 26; i++){ int o = v[i][r] - (l ? v[i][l - 1] : 0); int z = r - l + 1 - o; ans += (1LL << i) * o * z; } cout << ans << '\n'; } } int32_t main() { cin.tie(0)->sync_with_stdio(0); solve(); return 0; }