#P0719. 完美方阵

完美方阵

题目描述

比赛现场需要用一些小方块摆成正方形方阵。

如果一个正整数 x 可以写成某个整数乘以自己的形式,也就是 x = k * k,那么 x 就可以刚好摆成一个正方形方阵。

例如:

  • 16 = 4 * 4,所以 16 可以摆成正方形方阵;
  • 20 不能写成某个整数乘以自己,所以 20 不能刚好摆成正方形方阵。

现在给定两个整数 LR,请你统计区间 [L,R] 中有多少个数可以刚好摆成正方形方阵,并输出其中最小的那个数。

如果区间中没有这样的数,第二行输出 -1

输入格式

输入共 2 行。

1 行一个整数 L

2 行一个整数 R

输出格式

输出共 2 行。

1 行输出一个整数,表示区间 [L,R] 中可以刚好摆成正方形方阵的数的个数。

2 行输出一个整数,表示其中最小的那个数;如果不存在,输出 -1

样例

10
30
2
16

样例说明

区间 [10,30] 中,可以刚好摆成正方形方阵的数有 1625

所以一共有 2 个,最小的是 16

数据范围

  • 对于 100% 的数据,满足 1 <= L <= R <= 100000