#include<bits/stdc++.h>
int *arr,*st;
long long max;
int construct(int s, int e,int i)
{
if(s==e)
{
st[i]=arr[s];
if(st[i]>max)
max=st[i];
return st[i];
}
int mid=(s+e)/2;
st[i]=construct(s,mid,2*i+1)+construct(mid+1,e,2*i+2);
if(st[i]>max)
max=st[i];
return st[i];
}
int getSum(int s,int e,int qs,int qe,int i)
{
if(s>=qs&&e<=qe)
return st[i];
if(e<qs||s>qe)
return 0;
int mid=(s+e)/2;
return getSum(s,mid,qs,qe,2*i+1)+getSum(mid+1,e,qs,qe,2*i+2);
}
int main()
{
int n;
scanf("%d",&n);
arr=new int[n];
for(int i=0;i<n;i++)
{
scanf("%d",&arr[i]);
}
int x=(int)(ceil(log2(n)));
x++;
int m=2*(int)pow(2,x)-1;
st=new int[n+1];
construct(0,n-1,0);
/* printf("\n");
for(int i=0;i<30;i++)
printf("%d ",st[i]);
printf("reached");
fflush(stdin);*/
int l;
scanf("%d",&l);
// printf("reached ");
while(l--)
{
int x,y;
scanf("%d%d",&x,&y);
x--;
y--;
max=0;
for(int i=x;i<=y;i++)
{
if(arr[i]>max)
max=arr[i];
}
if(x!=y){
int z=getSum(0,n-1,x,y,0);
if(z>max)
max=z;
}
printf("%d\n",max);
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KaW50ICphcnIsKnN0Owpsb25nIGxvbmcgbWF4OwoKaW50IGNvbnN0cnVjdChpbnQgcywgaW50IGUsaW50IGkpCnsKICAgIGlmKHM9PWUpCiAgICB7CiAgICAgICAgc3RbaV09YXJyW3NdOwogICAgICAgIGlmKHN0W2ldPm1heCkKICAgICAgICAgICAgbWF4PXN0W2ldOwogICAgICAgIHJldHVybiBzdFtpXTsKICAgIH0KICAgIGludCBtaWQ9KHMrZSkvMjsKICAgIHN0W2ldPWNvbnN0cnVjdChzLG1pZCwyKmkrMSkrY29uc3RydWN0KG1pZCsxLGUsMippKzIpOwogICAgaWYoc3RbaV0+bWF4KQogICAgICAgIG1heD1zdFtpXTsKICAgIHJldHVybiBzdFtpXTsKfQoKaW50IGdldFN1bShpbnQgcyxpbnQgZSxpbnQgcXMsaW50IHFlLGludCBpKQp7CiAgICBpZihzPj1xcyYmZTw9cWUpCiAgICAgICAgcmV0dXJuIHN0W2ldOwogICAgaWYoZTxxc3x8cz5xZSkKICAgICAgICByZXR1cm4gMDsKCiAgICBpbnQgbWlkPShzK2UpLzI7CiAgICByZXR1cm4gZ2V0U3VtKHMsbWlkLHFzLHFlLDIqaSsxKStnZXRTdW0obWlkKzEsZSxxcyxxZSwyKmkrMik7Cgp9CmludCBtYWluKCkKewogICAgaW50IG47CiAgICBzY2FuZigiJWQiLCZuKTsKICAgIGFycj1uZXcgaW50W25dOwogICAgZm9yKGludCBpPTA7aTxuO2krKykKICAgIHsKICAgICAgICBzY2FuZigiJWQiLCZhcnJbaV0pOwogICAgfQogICAgaW50IHg9KGludCkoY2VpbChsb2cyKG4pKSk7CiAgICB4Kys7CiAgICBpbnQgbT0yKihpbnQpcG93KDIseCktMTsKICAgIHN0PW5ldyBpbnRbbisxXTsKICAgIGNvbnN0cnVjdCgwLG4tMSwwKTsKCiAgLyogIHByaW50ZigiXG4iKTsKICAgIGZvcihpbnQgaT0wO2k8MzA7aSsrKQogICAgICAgIHByaW50ZigiJWQgIixzdFtpXSk7CgogICAgICAgIHByaW50ZigicmVhY2hlZCIpOwogICBmZmx1c2goc3RkaW4pOyovCiAgaW50IGw7CiAgc2NhbmYoIiVkIiwmbCk7CiAgIC8vICAgICBwcmludGYoInJlYWNoZWQgIik7CiAgICAgICAgd2hpbGUobC0tKQogICAgICAgIHsKICAgICAgICAgICAgaW50IHgseTsKICAgICAgICAgICAgc2NhbmYoIiVkJWQiLCZ4LCZ5KTsKICAgICAgICAgICAgeC0tOwogICAgICAgICAgICB5LS07CiAgICAgICAgICAgIG1heD0wOwogICAgICAgICAgICBmb3IoaW50IGk9eDtpPD15O2krKykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWYoYXJyW2ldPm1heCkKICAgICAgICAgICAgICAgICAgICBtYXg9YXJyW2ldOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmKHghPXkpewogICAgICAgICAgICBpbnQgej1nZXRTdW0oMCxuLTEseCx5LDApOwogICAgICAgICAgICBpZih6Pm1heCkKICAgICAgICAgICAgICAgIG1heD16OwogICAgICAgICAgICB9CiAgICAgICAgICAgICBwcmludGYoIiVkXG4iLG1heCk7CiAgICAgICAgfQoKCiAgICByZXR1cm4gMDsKfQo=