完全平方数 (Perfect squares)

平方根 () が織りなす不思議な世界において、もしある整数を二乗したときに得られる数(1, 4, 9, 16, 25, 36, 49 など)であれば、その数は“魅力的”な数とみなされます。これらの数は、整数を二乗して得られることから“完全平方数”と呼ばれます(たとえば 4 は 2 の二乗、25 は 5 の二乗など)。
ここで、n 個の数が与えられ、それに対して “区間 の中にある魅力的な数は何個か?” という形式のクエリが q 個与えられます。このクエリに対して、可能な限り素早く答えを返すプログラムを作成してください。

入力 (Input)

入力の最初の行には、配列の要素数 n (1 ≤ n ≤ ) とクエリの数 q (1 ≤ q ≤ ) が空白区切りで与えられます。
次の行には、配列の要素として n 個の整数が空白区切りで与えられます ()。
続く q 行には、それぞれ 2 つの整数 (0 ≤ < n) が空白区切りで与えられ、それぞれのクエリで示される範囲(両端を含む)を表します。

出力 (Output)

出力として、q 個の行を用意し、各行に対応するクエリの区間 に含まれる魅力的な数の個数を出力してください。

例 (Examples)

Input
入力 (Input)
6 4 9 5 2 4 16 3 0 5 0 1 1 2 2 5
3 1 0 2
 

Constraints

Time limit: 6 seconds

Memory limit: 512 MB

Output limit: 5 MB

To check your solution you need to sign in
Sign in to continue