#P7330. 「MCOI-07」Dream Fourier Transform

「MCOI-07」Dream Fourier Transform

Description

Dream 有一个长度为 nn 的序列 a0,a1,,an1a_0,a_1,\dots,a_{n-1}

Dream 要支持两个操作:

  1. 1 i x,表示将 aia_ixx
  2. 2 k,表示定 x=63912897kx=63912897^k,并且求
i=0n1aixi(mod998244353)\sum_{i=0}^{n-1}a_ix^i\pmod{998244353}

由战争及时,Dream 无法提供序列 aa。他只能预测他会进行的操作。请构造一个“Dream 程序”,读入数组 aa 并且输出对应询问答案。

Input Format

第一行两个正整数,分别代表 nnqq
接下来 qq 行,每行描述一个操作,由 1 i x2 k 格式表示。

Output Format

第一行一个非负整数 LL,代表所构造的 Dream 程序长度。
接下来 LL 行,每行描述一个运算。
你需要保证 L5×217L\le5\times2^{17}

3 3
2 0
1 1 108616
2 114514
15
>
>
>
+ 0 1
+ 3 2
< 4
S 108616
S 716372446
* 1 6
* 8 7
* 7 7
* 2 10
+ 0 9
+ 12 11
< 13

Hint

温情提示

$$63912897\equiv3^{\frac{998244352}{2^{12}}}\pmod{998244353}$$

样例解释

当 Dream 程序输入为序列 [1,2,3],输出为序列 [6,347675984],符合要求。

数据规模与约定

本题采用捆绑测试。

  • Subtask 1(11 pts):n,q28n,q\le2^8
  • Subtask 2(19 pts):所有询问操作在修改操作后面。
  • Subtask 3(23 pts):n,q210n,q\le2^{10}
  • Subtask 4(47 pts):没有特殊限制。

对于 100%100\% 的数据,1n,q2121\le n,q\le2^{12}0i<n0\le i<n0x,k<9982443530\le x,k<998244353