#arc148f. [arc148_f]998244353 → 1000000007

[arc148_f]998244353 → 1000000007

题目描述

此问题只需输出。

我们有一种编程语言,具有以下操作:无符号 64 位整数的加法、乘法和对 998244353998244353 求模的操作。
编写一个程序,在这种语言中执行模 10000000071000000007 的乘法运算。

更详细地说,编写一个程序,接收 aabb0010000000061000000006 之间的整数),并根据以下规范格式计算 atimesbbmod1000000007a \\times b \\bmod{1000000007}

规范

该程序可以处理由大写英文字母表示的 2626变量A,B,dots,ZA, B, \\dots, Z
每个变量可以存储一个介于 0026412^{64}-1(包括)之间的整数值。下面,这样的值被称为无符号 64 位整数
在程序执行开始时,AA 被赋值一个整数 aaBB 被赋值一个整数 bb,其他变量被赋值为 00
在程序执行结束时,CC 必须持有 atimesbbmod1000000007a \\times b \\bmod{1000000007}

格式

程序的第 11 行包含一个整数 NN (1leqNleq100)(1 \\leq N \\leq 100),表示程序中指令的数量。
22 行到第 (N+1)(N + 1) 行共 NN 条指令。指令从上到下逐一执行。
每条指令有以下三种格式之一。

  • add x y z
    • (y+z)bmod264(y + z) \\bmod{2^{64}} 赋值给 xx,其中 xx 是一个变量,yyzz 是变量或无符号 64 位整数。
  • mul x y z
    • (ytimesz)bmod264(y \\times z) \\bmod{2^{64}} 赋值给 xx,其中 xx 是一个变量,yyzz 是变量或无符号 64 位整数。
  • rem x y
    • ybmod998244353y \\bmod{998244353} 赋值给 xx,其中 xx 是一个变量,yy 是变量或无符号 64 位整数。

输入

从标准输入读取的输入为空。

输出

按照规范和格式输出一个程序。

评判

如果所提交的程序有错误,其判定结果将是不确定的。
如果所提交的程序形式正确,对于每个测试用例,评测系统将独立地对其执行 10410^4 组整数对 (a,b)(a, b) (0leqa,bleq1000000006)(0 \\leq a, b \\leq 1000000006) 进行测试。(这些对在每个测试用例中预先准备好,并对每个测试用例是恒定的。)
如果变量 CC 在执行结束时对于所有对 (a,b)(a, b) 都持有 atimesbbmod1000000007a \\times b \\bmod{1000000007},则判定结果为 AC;否则,将判定结果为 WA

示例输出

以下是一个形式正确的程序示例。(不满足规范,因此将被判定为 WA

5
mul C A B
rem C C
add A A 10
add D 2 B
add E 1 0

在执行此程序结束时,变量将持有以下值。

  • AA: a+10a + 10
  • BB: bb
  • CC: atimesbbmod998244353a \\times b \\bmod{998244353}
  • DD: b+2b + 2
  • EE: 11
  • 其他变量:00