#arc148f. [arc148_f]998244353 → 1000000007

[arc148_f]998244353 → 1000000007

这是一道提交答案题。

hhoppitree 有一台计算机和 2626无符号 64\textbf{64} 位变量(也就是说,运算过程中所有的计算都会 264\textbf 2^{\textbf {64}} 取模),名字分别为 AZA\sim Z

初始时,AABB 中分别存储着两个数 aabb,他想用以下三种操作使得变量 CC 中的值为 a×bmod1000000007a\times b\bmod 1000000007

  • add x y z\colorbox{f0f0f0}{\verb!add x y z!}:将变量 xx 的值赋为变量 yy 的值和变量 zz 的值的和。

  • mul x y z\colorbox{f0f0f0}{\verb!mul x y z!}:将变量 xx 的值赋为变量 yy 的值和变量 zz 的值的积。

  • rem x y\colorbox{f0f0f0}{\verb!rem x y!}:将变量 xx 的值赋为变量 yy 的值对 998244353998244353 取模后的值。

请利用以上三种语句写出一个 100\mathbf{100} 行以内的伪代码,使得它能计算出 a×bmod1000000007a\times b\bmod1000000007 的值,并存储在变量 CC 中。