数列の区間におけるGCD(最大公約数)
n
個の整数が与えられたとき、q
個のクエリに答える必要があります。各クエリは、「インデックス l
から r
の間にあるすべての数の最大公約数(GCD)はいくつか?」という内容です。
入力
最初の行には、2 つの整数 n
(1 ≤ n ≤ 5000) と q
(1 ≤ q ≤ 10) が与えられます。
次の行では、空白区切りで n
個の整数が入力され、これは配列 (1 ≤ ≤ ) を表します。
続いて、q
行それぞれに、クエリ範囲を示す 2 つの数が与えられます (0 ≤ ≤ < n)。
出力
インデックス l
から r
まで(両端を含む)にあるすべての数の最大公約数を出力してください。
例
入力 | 出力 |
---|---|
8 4 12 24 198 64 9 8 4 100 0 1 1 2 1 4 5 7 | 12 6 1 4 |
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB