#77. [WPXCO 1.5 AUG] [模拟] [数学] Gedeer's

内存限制:256 MiB 时间限制:1000 ms 输入文件:gedeer.in 输出文件:gedeer.out
题目类型:传统 评测方式:文本比较
上传者: 2024-J-W010

题目描述

(做前提醒:使用 在处理大数时更简单)

(哥德尔数) 把任何符号命题转换为自然数,其有一套对应的编码过程(均为自然数范围):

基本数学符号
如果 ... 那么 ...
存在
等于号
自然数零
后继数
左小括号
右小括号
逗号
加号
乘号
变量符号
后续字母 后续质数

其中 的后继数 ,如 的后继数是 的后继数的后继数

讨论 可以转换为

讨论 可以转换为

讨论 可以转换为

数字和符号的序列构成了命题,如 。下面详细拆解每个符号:

  • :哥德尔数为
  • :哥德尔数为
  • :哥德尔数为
  • :哥德尔数为
  • :哥德尔数为

如何把这个命题转化为哥德尔数?一般的,假设有 个符号,第 个符号对应的哥德尔数为 ,则整个命题的哥德尔数为:

其中 表示从小到大第 个质数。

上文命题中,其哥德尔数为:

约等于

可以看到,一个命题的哥德尔数很大。

看到这里,你可能认为,只有一些简单的符号命题才能用哥德尔数的形式表达出来。其实像一些复杂命题,如 “质数有无穷多个”,也可以表达出来():

给出 个哥德尔数,转换出其对应的符号命题(格式详细见输出格式)。

输入格式

第一行一个正整数 表示哥德尔数的数量。

接下来 行,每行 个数字表示一个哥德尔数

输出格式

行,每行一个符号命题表示答案。

  • 你不需要,也不应该输出空格。

对于基本数学符号的输出:

  • 自然数 ,后继数 ,左小括号,右小括号,逗号,加号,等于号按原样输出
  • 如果 ... 那么 ... 符号 输出
  • 乘号 输出
  • 其他的按照中文名的拼音首字母输出。

对于变量符号:

  • 变量依照其对应的质数后跟 后缀输出,避免混淆变量和数字。

样例

样例

样例输入 (注:输入第 行是一个数)

2
243000000
1450127145437788271618423594819508838251349208777595830957786588106853411002001665819873777385501
82489069482529003182795310197281553311581437853430000000000000

样例输出

0=0
13varmul13var+17varmul17var=19varmul19var

样例解释

第二个哥德尔数表示的命题为 “勾股定理”,即

数据范围与提示

对于 的数据,保证