CF1028H.Make Square

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

We call an array b1,b2,,bmb_1, b_2, \ldots, b_m good, if there exist two indices i<ji < j such that bibjb_i \cdot b_j is a perfect square.

Given an array b1,b2,,bmb_1, b_2, \ldots, b_m , in one action you can perform one of the following:

  • multiply any element bib_i by any prime pp ;
  • divide any element bib_i by prime pp , if bib_i is divisible by pp .

Let f(b1,b2,,bm)f(b_1, b_2, \ldots, b_m) be the minimum number of actions needed to make the array bb good.

You are given an array of nn integers a1,a2,,ana_1, a_2, \ldots, a_n and qq queries of the form li,ril_i, r_i . For each query output f(ali,ali+1,,ari)f(a_{l_i}, a_{l_i + 1}, \ldots, a_{r_i}) .

输入格式

The first line contains two integers nn and qq ( 2n1945982 \le n \le 194\,598 , 1q10496581 \le q \le 1\,049\,658 ) — the length of the array and the number of queries.

The second line contains nn integers a1,a2,,ana_1, a_2, \ldots, a_n ( 1ai50321071 \le a_i \le 5\,032\,107 ) — the elements of the array.

Each of the next qq lines contains two integers lil_i and rir_i ( 1li<rin1 \le l_i < r_i \le n ) — the parameters of a query.

输出格式

Output qq lines — the answers for each query in the order they are given in the input.

输入输出样例

  • 输入#1

    10 10
    34 37 28 16 44 36 43 50 22 13
    1 3
    4 8
    6 10
    9 10
    3 10
    8 9
    5 6
    1 4
    1 7
    2 6
    

    输出#1

    2
    0
    1
    3
    0
    1
    1
    1
    0
    0
    

说明/提示

In the first query of the first sample you can multiply second number by 7 to get 259 and multiply the third one by 37 to get 1036. Then a2a3=268324=5182a_2 \cdot a_3 = 268\,324 = 518^2 .

In the second query subarray is already good because a4a6=242a_4 \cdot a_6 = 24^2 .

In the third query you can divide 50 by 2 to get 25. Then a6a8=302a_6 \cdot a_8 = 30^2 .

首页