Problem Description
光羽的高等代数挂科了,度度熊非常难受,于是带劲出了一道高代水题来安慰他!
定义模域P下的d次多项式A(x)=∑di=0aixi,其中ai是整数且0≤ai<P。其中P=998244353。
定义模域P下n次多项式A(x)和m次多项式B(x)的乘法为:
A(x)B(x)=∑n+ms=0(∑i+j=saibj)%P×xs
其中%P表示对质数P取模。
给出模域P下多项式f(x)=∑ni=0aixi,(0≤ai<P)。
这个多项式很**带劲**,它**保证**可以表示成这样:
f(x)=(x−λ1)l1(x−λ2)l2..(x−λm)lm.
(因为数据就是这么造的。)
其中0≤λi<P且λi两两不同,同时满足l1<l2<..<lm且∑mi=1li=n。注意此处乘法为之前定义的模域下乘法。
给出n和n+1个数a0,a1,..,an,求出λ1,λ2,...,λm和l1,l2,...,lm。
由唯一分解定理知答案唯一。
Input
第一行一个数,表示数据组数T。
每组数据第一行仅包含一个数n;第二行n+1个数,分别为a0,a1,...,an。
数据组数T=100,1≤n≤2000。
其中90%的数据满足1≤n≤200。
Output
每组数据输出m+1行,第一行仅包含一个数表示m,接下来m行,每行两个数λi,li,**要求按照li升序输出。**
Sample Input
3
5
998241761 3024 998243057 264 998244327 1
5
0 0 0 64 998244337 1
5
998233985 8208 998241761 408 998244321 1
Sample Output
2
2 1
6 4
2
8 2
0 3
2
8 1
6 4