配点 : 500 点
問題文
正整数 N と長さ N の正整数列 A=(A1,A2,…,AN) と B=(B1,B2,…,BN) が与えられます。
N×N のマス目があります。上から i 行目、左から j 列目のマスをマス (i,j) と呼びます。1≤i,j≤N を満たす整数の組 (i,j) に対し、マス (i,j) に Ai+Bj が書かれています。以下のクエリを Q 個処理してください。
- 1≤h1≤h2≤N,1≤w1≤w2≤N を満たす整数の組 h1,h2,w1,w2 が与えられる。左上隅が (h1,w1)、右下隅が (h2,w2) である矩形領域に含まれる整数の最大公約数を求めよ。
制約
- 1≤N,Q≤2×105
- 1≤Ai,Bi≤109
- 1≤h1≤h2≤N
- 1≤w1≤w2≤N
- 入力はすべて整数である。
入力
入力は以下の形式で標準入力から与えられる。
N Q
A1 A2 … AN
B1 B2 … BN
query1
query2
⋮
queryQ
各クエリは以下の形式で与えられる。
h1 h2 w1 w2
出力
Q 行出力せよ。i 行目には queryi の答えを出力せよ。
3 5
3 5 2
8 1 3
1 2 2 3
1 3 1 3
1 1 1 1
2 2 2 2
3 3 1 1
2
1
11
6
10
マス (i,j) に書かれている整数を Ci,j とします。
1 個目のクエリについて、C1,2=4,C1,3=6,C2,2=6,C2,3=8 なのでこれらの最大公約数の 2 が答えとなります。
1 1
9
100
1 1 1 1
109