题目背景
卷王之王卷穿肠(doge
题目描述
从前有一只 Mivik,他喜欢卷积。他定义两个仅与 x 有关的多项式函数 f(x) 和 g(x) 的 Mivik 卷积如下:
f(x)⊗g(x)=k=0∑degf+deggi∈[0,degf]∧j∈[0,degg]∧i+j=kmax{[xi]f(x)+[xj]g(x)}xk其中 degf 表示 f 的最高项次数,[xi]f(x) 代表 f(x) 这一函数中 xi 这一项的系数。
请注意,Mivik 卷积是左结合的,也就是说 a⊗b⊗c=(a⊗b)⊗c。
Mivik 定义 Mivik 函数为能表示为 f(x)=ax+b 形式的函数,其中 a、b 均为整数。例如 f(x)=−3+2x 是 Mivik 函数,而 f(x)=x1 不是。
Mivik 又定义一个函数 f(x) 是 simple 的,当且仅当存在一个 Mivik 函数的序列 S(大小为 ∣S∣),使得:
f(x)=S1⊗S2⊗S3⊗⋯⊗S∣S∣.现在 Mivik 给了你一个多项式函数,问你这个函数是不是 simple 的;如果是,请顺便告诉他任意一种可能的 S。
输入格式
第一行一个正整数 n,代表这个多项式函数的项数。
第二行 n 个整数,次数从低到高依次代表这个多项式函数的系数 fi。保证最高项系数不为 0。
输出格式
如果这个函数不是 simple 的,输出一行 nice
。
否则,先输出一行 simple
,然后接下来一行输出你构造的 S 的大小 ∣S∣。接下来在 ∣S∣ 行给出你构造的 S 序列,每行两个整数 a 和 b,描述一个 Mivik 函数 f(x)=ax+b。
提示
样例解释 #1
给定的函数 f(x)=2+3x+3x2 可以由 (2x+1)⊗(x+1) 得到。
测试点约束
本题采用捆绑测试。
对于全部数据,有 1≤n≤5×105,−108≤fi≤108。
每个子任务的具体限制见下表:
子任务编号 |
分值 |
n≤ |
1 |
5 |
1 |
2 |
2 |
3 |
20 |
20 |
4 |
30 |
5000 |
5 |
40 |
5×105 |
本题读入输出量较大,请使用较快的读入输出方式。