#include <cstdio>
#include <iostream>
#include <vector>
#include <map>
#include <set>
#define mp make_pair
#define pii pair <int, int>
typedef long long ll;
using namespace std;
ll a[100000];
vector <pii> s[1000000];
ll answer[1000000];
int n;
map <int, int> last;
int F(int x)
{
return x & (x + 1);
}
int nF(int x)
{
return x | (x + 1);
}
ll get_sum(int index)
{
ll answer = 0;
while (index >= 0)
{
answer += a[index];
index = F(index) - 1;
}
return answer;
}
ll update_sum(int index, int delta)
{
while (index < n)
{
a[index] += delta;
index = nF(index);
}
}
ll get_sum_lr(int l, int r)
{
return get_sum(r) - get_sum(l - 1);
}
int main()
{
int i, j, m, x, l, r;
scanf("%d", &n);
for (i = 0; i < n; ++i)
{
scanf("%d", &x);
update_sum(i, x);
}
scanf("%d", &m);
for (i = 0; i < m; ++i)
{
scanf("%d%d", &l, &r);
s[r].push_back(mp(l, r));
}
for (i = 0; i < n; ++i)
{
x = get_sum_lr(i, i);
if (last.count(x))
{
update_sum(last[x], -x);
}
last[x] = i;
for (j = 0; j < s[i].size(); ++j)
{
answer[s[i][j].second] = get_sum_lr(s[i][j].first, i);
}
}
for (i = 0; i < m; ++i)
{
printf("%d\n", answer[i]);
}
return 0;
}
I2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8bWFwPgojaW5jbHVkZSA8c2V0PgoKI2RlZmluZSBtcCBtYWtlX3BhaXIgCiNkZWZpbmUgcGlpIHBhaXIgPGludCwgaW50PgoKdHlwZWRlZiBsb25nIGxvbmcgbGw7CgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCgpsbCBhWzEwMDAwMF07CnZlY3RvciA8cGlpPiBzWzEwMDAwMDBdOwpsbCBhbnN3ZXJbMTAwMDAwMF07CmludCBuOwptYXAgPGludCwgaW50PiBsYXN0OwoKaW50IEYoaW50IHgpCnsKICAgIHJldHVybiB4ICYgKHggKyAxKTsKfQppbnQgbkYoaW50IHgpCnsKICAgIHJldHVybiB4IHwgKHggKyAxKTsKfQoKbGwgZ2V0X3N1bShpbnQgaW5kZXgpCnsKICAgIGxsIGFuc3dlciA9IDA7CiAgICB3aGlsZSAoaW5kZXggPj0gMCkKICAgIHsKICAgICAgICBhbnN3ZXIgKz0gYVtpbmRleF07CiAgICAgICAgaW5kZXggPSBGKGluZGV4KSAtIDE7CiAgICB9CiAgICByZXR1cm4gYW5zd2VyOwp9CgpsbCB1cGRhdGVfc3VtKGludCBpbmRleCwgaW50IGRlbHRhKQp7CiAgICB3aGlsZSAoaW5kZXggPCBuKQogICAgewogICAgICAgIGFbaW5kZXhdICs9IGRlbHRhOwogICAgICAgIGluZGV4ID0gbkYoaW5kZXgpOwogICAgfQp9CgpsbCBnZXRfc3VtX2xyKGludCBsLCBpbnQgcikKewogICAgcmV0dXJuIGdldF9zdW0ocikgLSBnZXRfc3VtKGwgLSAxKTsKfQoKaW50IG1haW4oKQp7CiAgICAKICAgIGludCBpLCBqLCBtLCB4LCBsLCByOwogICAgc2NhbmYoIiVkIiwgJm4pOwogICAgZm9yIChpID0gMDsgaSA8IG47ICsraSkKICAgIHsKICAgICAgICBzY2FuZigiJWQiLCAmeCk7CiAgICAgICAgdXBkYXRlX3N1bShpLCB4KTsKICAgIH0KICAgIHNjYW5mKCIlZCIsICZtKTsKICAgIGZvciAoaSA9IDA7IGkgPCBtOyArK2kpCiAgICB7CiAgICAgICAgc2NhbmYoIiVkJWQiLCAmbCwgJnIpOwogICAgICAgIHNbcl0ucHVzaF9iYWNrKG1wKGwsIHIpKTsKICAgIH0KICAgIGZvciAoaSA9IDA7IGkgPCBuOyArK2kpCiAgICB7CiAgICAgICAgeCA9IGdldF9zdW1fbHIoaSwgaSk7CiAgICAgICAgaWYgKGxhc3QuY291bnQoeCkpCiAgICAgICAgewogICAgICAgICAgICB1cGRhdGVfc3VtKGxhc3RbeF0sIC14KTsKICAgICAgICB9CiAgICAgICAgbGFzdFt4XSA9IGk7CiAgICAgICAgZm9yIChqID0gMDsgaiA8IHNbaV0uc2l6ZSgpOyArK2opCiAgICAgICAgewogICAgICAgICAgICBhbnN3ZXJbc1tpXVtqXS5zZWNvbmRdID0gZ2V0X3N1bV9scihzW2ldW2pdLmZpcnN0LCBpKTsKICAgICAgICB9CiAgICB9CiAgICBmb3IgKGkgPSAwOyBpIDwgbTsgKytpKQogICAgewogICAgICAgIHByaW50ZigiJWRcbiIsIGFuc3dlcltpXSk7CiAgICB9CiAgICAKICAgIHJldHVybiAwOwp9