#P1516D. Cut

    ID: 2245 Type: RemoteJudge 1000ms 256MiB Tried: 0 Accepted: 0 Difficulty: 7 Uploaded By: Tags>binary searchdata structuresdpgraphsnumber theorytwo pointers*2100

Cut

Description

This time Baby Ehab will only cut and not stick. He starts with a piece of paper with an array aa of length nn written on it, and then he does the following:

  • he picks a range (l,r)(l, r) and cuts the subsegment al,al+1,,ara_l, a_{l + 1}, \ldots, a_r out, removing the rest of the array.
  • he then cuts this range into multiple subranges.
  • to add a number theory spice to it, he requires that the elements of every subrange must have their product equal to their least common multiple (LCM).

Formally, he partitions the elements of al,al+1,,ara_l, a_{l + 1}, \ldots, a_r into contiguous subarrays such that the product of every subarray is equal to its LCM. Now, for qq independent ranges (l,r)(l, r), tell Baby Ehab the minimum number of subarrays he needs.

The first line contains 22 integers nn and qq (1n,q1051 \le n,q \le 10^5) — the length of the array aa and the number of queries.

The next line contains nn integers a1a_1, a2a_2, \ldots, ana_n (1ai1051 \le a_i \le 10^5) — the elements of the array aa.

Each of the next qq lines contains 22 integers ll and rr (1lrn1 \le l \le r \le n) — the endpoints of this query's interval.

For each query, print its answer on a new line.

Input

The first line contains 22 integers nn and qq (1n,q1051 \le n,q \le 10^5) — the length of the array aa and the number of queries.

The next line contains nn integers a1a_1, a2a_2, \ldots, ana_n (1ai1051 \le a_i \le 10^5) — the elements of the array aa.

Each of the next qq lines contains 22 integers ll and rr (1lrn1 \le l \le r \le n) — the endpoints of this query's interval.

Output

For each query, print its answer on a new line.

Sample Input 1

6 3
2 3 10 7 5 14
1 6
2 4
3 5

Sample Output 1

3
1
2

Note

The first query asks about the whole array. You can partition it into [2][2], [3,10,7][3,10,7], and [5,14][5,14]. The first subrange has product and LCM equal to 22. The second has product and LCM equal to 210210. And the third has product and LCM equal to 7070. Another possible partitioning is [2,3][2,3], [10,7][10,7], and [5,14][5,14].

The second query asks about the range (2,4)(2,4). Its product is equal to its LCM, so you don't need to partition it further.

The last query asks about the range (3,5)(3,5). You can partition it into [10,7][10,7] and [5][5].