#BZOJ4678. Hdu5403 Goldbach
Hdu5403 Goldbach
题目描述
设d(x)是x的所有因数的和。如果从1到d(x)的每一个数都可以表示为x的不同因数的和,那么x就是一个好数。
例如,6是一个好数字,d(6)=1+2+3+6=12, 4=1+3,5=2+3,7=1+6等等。
麦老师想知道偶数p是否可以表示为两个好数的和。
输入格式
有多个测试用例(大约40000个)。
对于每个测试用例,只有一行包含一个偶数p(1≤p≤10^18)。
大多数测试用例是随机生成的。
输出格式
对于每个测试用例,在第一行打印“YES”或“NO”。这意味着p可以表示为两个好数的和。
如果你的答案是“是”,在第二行打印两个数字a,b。a和b都是好数,a+b=p。
在第三行和第四行,打印数字a和b的因式分解。如果a=sigma(pi^ei),(1<=i<=k),其中p1<p2<⋯<pk, pi都是素数且ei≥1,则应先打印k,然后打印2k个空格分隔的数字p1,e1,p2,e2,⋯,pk,ek。
18
YES
6 12
2 2 1 3 1
2 2 2 3 1
Hint
0 is not a good number.
数据范围与约定
请不要提交,尚无Spj