#include <cstdio>
#include <cmath>
#include <vector>
using namespace std;
void swap(int& a, int& b) {
int t = a;
a = b;
b = t;
}
int main() {
int count;
scanf("%d", &count);
int totalDistance = 0;
vector<int> distances(count + 1);
distances[0] = 0;
for (int i = 1; i <= count; i++) {
int temp;
scanf("%d", &temp);
totalDistance += temp;
distances[i] = totalDistance;
}
int rows, start, end;
scanf("%d", &rows);
while (rows--) {
scanf("%d %d", &start, &end);
if (start > end) swap(start, end);
int thisDist = distances[end - 1] - distances[start - 1];
int reverse = totalDistance - thisDist;
printf("%d\n", reverse < thisDist ? reverse : thisDist);
}
return 0;
}