题目描述
浮生如梦,百年如露。
虾仁不会数学,也不想做这个数学题,嘤嘤嘤!
给定一个长度为 n 的数列,数列的每一项为 ai。你需要回答以下 q 个问题,每个问题会询问一对 l,r,你可以从 al,al+1,…,ar 中选择一些数,不能不选。
假设你选了 m 个数 ap1,ap2,…,apm,你需要保证 gcd(ap1,ap2,…,apm)† 是这个区间里对于任意一种选数情况的最大值。请回答这个最大的 gcd(ap1,ap2,…,apm) 是多少。
† 表示 ap1,ap2,…,apm 之间的最大公约数。
输入格式
第一行一个整数 n (1≤n≤2×105) 表示数列长度。
第二行 n 个整数 ai (1≤ai≤106) 以空格隔开,表示数列。
第三行一个整数 q (1≤q≤2×105) ,表示询问个数。
下面 q 行每行两个整数 l,r (1≤l≤r≤n) ,表示区间。
输出格式
输出 q 行,每行一个整数表示答案。
样例输入
2
1 2
2
1 1
2 2
样例输出
1
2
样例解释
无