「XSOI-R1」凑点

题目描述

小 T 会给你一个长度为 $n$ 的整数数列,你手上有一个数 $x$,初始为 $0$,你可以执行以下操作,使得最终 $x$ 与 $c$ 的差小于 $10^{-4}$。 你可以对 $x$ 进行至多 $k$ 次操作: - `add i`,对计数器 $x$ 加上 $a_i$,然后 $a_i$ 不能再进行任何操作。 - `sub i`,对计数器 $x$ 减上 $a_i$,然后 $a_i$ 不能再进行任何操作。 - `mul i`,对计数器 $x$ 乘上 $a_i$,然后 $a_i$ 不能再进行任何操作。 - `sqrt i`,将 $a_i$ 赋值为 $\sqrt {a_i}$,每个 $a_i$ 只能开方一次。 - `pow f`,将计数器 $x$ 变为 $x^f$,$f$ 可以为浮点数。 所有 $a_i$ 都必须给 $x$ 进行一次加或减或乘操作。 在运算过程中,$a_i$ 和 $x$ 的值均不能超过 $10^{10}$。题目保证有解,如有多种方案,输出一种即可。 本题精度要求较大,请提高算法的精度。

输入输出格式

输入格式


第一行三个整数 $n$,$k$,$c$。 第二行 $n$ 个整数,表示序列 $a$。

输出格式


第一行一个整数表示总操作数 $g$。 接下来 $g$ 行为你的操作序列。

输入输出样例

输入样例 #1

5 25 3
3 3 3 3 3

输出样例 #1

5
add 1
add 2
sub 3
sub 4
add 5

输入样例 #2

3 9 3
1 3 3

输出样例 #2

5
sqrt 2
sqrt 3
add 1
mul 2
mul 3

输入样例 #3

3 9 77
4 5 4

输出样例 #3

4
add 1
add 2
pow 2
sub 3

说明

**【样例解释 #1】** - $x$ 加上 $a_1$,此时 $x$ 为 $3$。 - $x$ 加上 $a_2$,此时 $x$ 为 $6$。 - $x$ 减去 $a_3$,此时 $x$ 为 $3$。 - $x$ 减去 $a_4$,此时 $x$ 为 $0$。 - $x$ 加上 $a_5$,此时 $x$ 为 $3$。 **【样例解释 #2】** - 将 $a_2$ 开根号,此时 $a=[1,\sqrt3,3]$。 - 将 $a_3$ 开根号,此时 $a=[1,\sqrt3,\sqrt3]$。 - $x$ 加上 $a_1$,此时 $x$ 为 $1$。 - $x$ 乘上 $a_2$,此时 $x$ 为 $\sqrt3$。 - $x$ 乘上 $a_3$,此时 $x$ 为 $3$。 **【样例解释 #3】** - $x$ 加上 $a_1$,此时 $x$ 为 $4$。 - $x$ 加上 $a_2$,此时 $x$ 为 $9$。 - 将 $x$ 变为 $x^2$,此时 $x$ 为 $81$。 - 将 $x$ 减去 $a_3$,此时 $x$ 为 $77$。 ### 数据规模与约定 **本题采用捆绑测试。** - subtask 0(10 pts):$n\leq 5$,$k=n^2$,保证可以使用加与减的运算得到解。 - subtask 1(20 pts):$n \leq 5$,$k=n^2$,保证可以可以使用加、减、乘、开方运算得到解。 - subtask 2(15 pts):$n \leq 10$,$a_i \leq 2$,$k=n+1$。 - subtask 3(55 pts):$k=n+1$。 对于所有数据:$0 \leq n \leq 10^{5}$,$\sum_{i=1}^{n}{a_i} \le 10^{10}$,$0 \leq c\leq 10^{10}$。