#include #include using namespace std; using namespace atcoder; #define ll long long #define rep(i, n) for (int i = 0; i < (n); i++) #define coutf(f) cout << fixed << setprecision(f) #define all(v) (v).begin(), (v).end() #define rall(v) (v).rbegin(), (v).rend() int op(int a, int b) { return a ^ b; } int e() { return 0; } int main() { int n, q; cin >> n >> q; segtree seg(n); rep(i, n) { int a; cin >> a; seg.set(i, a); } rep(i, q) { int l, r; cin >> l >> r; cout << seg.prod(l - 1, r) << endl; } return 0; }