Type: Default 1000ms 125MiB

超能量素数

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

超能量素数

背景故事

在这个未来科技研究所中,科学家们正在寻找一种新型的加密算法,而麦森超能量素数正是其核心。在实验中,他们需要高效地计算这些数的位数和部分数字。你的任务是为他们设计一个程序,帮助他们完成计算!

说明

在一个未来科技研究所中,科学家们正在研究一种被称为“超能量素数”的数学概念。这种数的形式是 2P1 2^P - 1 ,其中 P P 是一个素数。如果 2P1 2^P - 1 也是一个素数,那么它就被称为“麦森超能量素数”。然而,并非所有的 P P 都能产生麦森超能量素数。

研究发现,这种数在密码学、随机数生成等领域有重要应用。科学家们希望从一个给定的 P P 值(满足 1000<P<3100000 1000 < P < 3100000 )中计算出对应的 2P1 2^P - 1 的以下信息:

  1. 它的位数。
  2. 它的最后 500 位数字(以十进制表示,高精度计算)。

请协助科学家完成这一任务。


输入格式

输入仅包含一个整数 P P ,满足 1000<P<3100000 1000 < P < 3100000


输出格式

  • 第一行:输出 2P1 2^P - 1 的十进制表示的位数。
  • 接下来的 10 行:输出 2P1 2^P - 1 的最后 500 位数字(十进制表示)。每行输出 50 位,总共输出 10 行。如果最后不足 500 位,高位用 0 补齐。

样例

输入

1279

输出

386
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
00000000000000104079321946643990819252403273640855
38615262247266704805319112350403608059673360298012
23944173232418484242161395428100779138356624832346
49081399066056773207629241295093892203457731833496
61583550472959420547689811211693677147548478866962
50138443826029173234888531116082853841658502825560
46662248318909188018470682222031405210266984354887
32958028878050869736186900714720710555703168729087

ACM寒假第二次训练

Not Attended
Status
Done
Rule
XCPC
Problem
8
Start at
2025-1-16 14:00
End at
2025-1-16 17:00
Duration
3 hour(s)
Host
Partic.
37