#include <iostream>
using namespace std;
int dis[100010];
void swap(int &a, int &b)
{
int temp = a;
a = b;
b = temp;
}
int getmin(int a, int b)
{
if(a < b)
{
return a;
}
else
{
return b;
}
}
int main()
{
int n;
scanf("%d", &n);
int i, sum = 0, cur;
for(i = 1; i <= n; i++)
{
scanf("%d", &cur);
sum += cur;
if(i < n)
{
dis[i + 1] = dis[i] + cur;
}
}
int m;
scanf("%d", &m);
int a, b, min;
for(i = 1; i <= m; i++)
{
scanf("%d%d", &a, &b);
if(a > b)
{
swap(a, b);
}
cur = dis[b] - dis[a];
min = getmin(cur, sum - cur);
printf("%d\n", min);
}
system("pause");
return 0;
}