/*#include <bits/stdc++.h>
using namespace std;
int segment[200001], arr[50001], n, ret, m;
int make(int node, int start, int End)
{
if(start==End)return segment[node]=arr[start];
int mid=(start+End)/2;
int l=arr[mid], r=arr[mid+1], le=l, ri=r;
for(int i=mid-1;i>=start;i--)
{
l+=arr[i];
le=max(l, le);
}
for(int i=mid+2;i<=End;i++)
{
r+=arr[i];
ri=max(r, ri);
}
return segment[node]=max(ri+le, max(make(node*2, start, mid), make(node*2+1, mid+1, End)));
}
int res(int node, int start, int End, int lef, int rig)
{
if(lef<=start&&End<=rig)return segment[node];
if(End<lef||start>rig)return -2147483647;
int mid=(start+End)/2;
int l=arr[mid], r=arr[mid+1], le=l, ri=r;
for(int i=mid-1;i>=max(start, lef);i--)
{
l+=arr[i];
le=max(l, le);
}
for(int i=mid+2;i<=min(rig, End);i++)
{
r+=arr[i];
ri=max(r, ri);
}
if(mid>=lef&&mid+1<=rig)
{
}
else
{
le=-987654321, ri=-987654321;
}
return max(ri+le, max(res(node*2, start, mid, lef, rig), res(node*2+1, mid+1, End, lef, rig)));
}
int main()
{
scanf("%d", &n);
for(int i=1;i<=n;i++)scanf("%d", &arr[i]);
make(1, 1, n);
//printf("%d", segment[2]);
scanf("%d", &m);
int a, b;
for(int i=1;i<=m;i++)
{
scanf("%d %d", &a, &b);
printf("%d\n", res(1, 1, n, a, b));
}
}*/
#include <bits/stdc++.h>
using namespace std;
int main()
{
}



