長さ $N$ の数列 $A_1, A_2, \ldots, A_N$ が与えられる。このとき、以下のクエリを実行するプログラムを作成せよ。
x1 y1 x2 y2: $x1 \le i \le y1$、$x2 \le j \le y2$、$i \le j$ を満たすすべての $(i, j)$ について、$A_i + \ldots + A_j$ の最大値を出力する。($1 \le x1 \le x2 \le N$, $1 \le y1 \le y2 \le N$, $x1 \le y1$, $x2 \le y2$)
入力
最初の行に数列のサイズ $N$ ($1 \le N \le 100{,}000$) が与えられる。
2 行目には $A_1, A_2, \ldots, A_N$ が与えられる。($-100{,}000 \le A_i \le 100{,}000$)
3 行目にはクエリの個数 $M$ ($1 \le M \le 100{,}000$) が与えられる。
4 行目から $M$ 行には、クエリ $x1, y1, x2, y2$ が 1 行に 1 つずつ与えられる。
出力
各クエリごとに答えを 1 行に 1 つずつ出力する。
入出力例
入力例 1
6 3 -2 1 -4 5 2 2 1 1 2 3 1 3 2 5
出力例 1
2 3
入力例 2
1 1 1 1 1 1 1
出力例 2
1