#P1608. 工会魔法石(magic)

工会魔法石(magic)

题目背景

在一个奇幻的大陆上,存在着一个神秘的魔法工会。工会拥有一种强大的魔法石,这种魔法石外表和普通石头无异,需要通过正确的组合才有机会激活来发挥它的力量。为了隐藏秘密,魔法石和普通石头混合编号,放置在一个盒子里。在这个盒子中有编号从 11nnnn 个石头,只有编号为质数的石头是含有魔法能量的魔法石。为了测试年轻魔法师的天赋,工会发布了一道考核题,要求学徒们找到特定的魔法石并判定能否激活。

给定两个正整数 nnkk,魔法师的任务是计算如下两个值:

  1. 找出所有魔法石并得到它们编号的乘积 PP

  2. 计算魔法石的激活值 V=Pkmod(109+7)V = P^k \mod (10^9 + 7)

如果 VV 是质数,则可以激活魔法石,此时输出 Yes;否则输出 No

输入格式

第一行包含两个整数 nnkk,表示石头序列的个数和幂指数。

输出格式

输出两行

第一行输出结果 VV

第二行输出一个字符串 YesNo,表示激活值 VV 是否能激活魔法石。

样例数据

10 3
9261000
No

样例解释

  • 1 110 10 的质数为 2,3,5,7 2, 3, 5, 7。质数序列的积 P=2×3×5×7=210P = 2 \times 3 \times 5 \times 7 = 210
  • 激活值 V=2103mod(109+7)=9261000V = 210^3 \mod (10^9 + 7) = 9261000
  • 检查 9261000 9261000 是否为质数,结果为否,因此输出 No

大样例

P1608.in / P1608.out

数据范围

对于 20%20\% 的数据,1n104,1k1031 \leq n \leq 10^4, 1 \leq k \leq 10^3

对于 50%50\% 的数据,1n106,1k1031 \leq n \leq 10^6, 1 \leq k \leq 10^3

对于 100%100\% 的数据,1n106,1k1091 \leq n \leq 10^6, 1 \leq k \leq 10^9