#include "secret.h"
using namespace std;
#include <bits/stdc++.h>
vector<vector<int>> pr;
vector<int> a;
int n;
void dc(int l, int r){
if(r>l)return;
if(l==r)pr[l][l]=a[l];
int mid=(l+r)/2;
pr[mid][mid]=a[mid];
pr[mid+1][mid+1]=a[mid+1];
for(int i=mid+2;i<=r;i++)pr[mid+1][i]=Secret(pr[mid+1][i-1],a[i]);
for(int i=mid-1;i>=l;i--)pr[i][mid]=Secret(pr[i+1][mid],a[i]);
dc(l,mid);dc(mid+1,r);
}
void Init(int N, int A[]) {
n=N;
a.resize(n);
pr.resize(n,vector<int>(n));
for(int i=0;i<n;i++)a[i]=A[i];
dc(0,n-1);
}
int Query(int L, int R) {
int a=0;
int b=n-1;
while(a!=b){
int mid=(a+b)/2;
if(L<=mid and R>mid)return Secret(pr[L][mid],pr[mid+1][R]);
if(R==mid)return pr[L][mid];
if(L>mid)a=mid+1;
else b=mid;
}
return pr[a][b];
}