15012 - 最小公倍数

给定一个长度为 n 的正整数数组 a_1, a_2, \dots, a_n ,有 k 次查询。每次查询给出两个整数 l r ( 1 \le l \le r \le n ),你需要输出区间 ([l, r]) 内所有数字的最小公倍数(LCM)。

输入

  • 第一行包含两个整数 n k ,分别表示数组长度和查询次数。
  • 第二行包含 n 个正整数 a_1, a_2, \dots, a_n ,表示数组元素。
  • 接下来 k 行,每行包含两个整数 l r ,表示一次查询的区间。

输出

对于每次查询,输出一行一个整数,表示该区间内所有数的最小公倍数。

样例

输入

6 3
3 1 2 6 4 9
1 6
1 3
4 4

输出

36
6
6

提示

样例说明

  • 第一次查询区间 [1,6] 的数字为 3,1,2,6,4,9,它们的 LCM 为 36。
  • 第二次查询区间 [1,3] 的数字为 3,1,2,LCM 为 6。
  • 第三次查询区间 [4,4] 只有一个数字 6,LCM 为 6。

数据范围与约定

  • 1 \le n, k \le 10^5
  • 1 \le a_i \le 30
  • 1 \le l \le r \le n
  • 结果保证在 64 位有符号整数范围内(使用 long long 存储)。
时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题