题目背景
琪露诺:我知道了!答案一定是1!
露米娅:什么鬼啊(汗),你还是再想想去吧。。我先把最后一道题给你,这是一道大学数学题哦
题目描述
露米娅:大妖精想构造一个 n 元有限域,元素用 0∼n−1 的整数表示
有限域需要满足以下条件
1.有加法单位元 o ,满足对于任意元素 a , o+a=a+o=a
2.对于任意元素 a ,存在加法逆元 a−1 ,使得 a+a−1=a−1+a=o
3.有不同于加法单位元 o 的乘法单位元 i ,满足对于任意元素 a , i×a=a×i=a
4.对于任意非加法单位元元素 a ,存在乘法逆元 a−1 ,使得 a×a−1=a−1×a=i
5.对于任意元素 x , y ,有加法交换律,即 x+y=y+x
6.对于任意元素 x , y ,有乘法交换律,即 x×y=y×x
7.对于任意元素 x , y , z ,有加法结合律,即 (x+y)+z=x+(y+z)
8.对于任意元素 x , y , z ,有乘法结合律,即 $ ( x \times y ) \times z = x \times ( y \times z ) $
9.对于任意元素 x , y , z ,有乘法分配律,即 (x+y)×z=x×z+y×z
大妖精当然会做啦,但是他想考考你
在输出中加法单位元 o 即为 0,乘法单位元 i 即为 1
输入格式
一个正整数 n
2≤n≤350
输出格式
##第一行输出一个整数 k ,若存在 n 元有限域则 k=0 ,否则 k=−1
若 k=0 则
1.接下来 n 行输出一个 n 元有限域的加法表,第 i+1 行第 j+1 列上的数代表有限域中 i+j 的运算结果
2.接下来 n 行输出一个 n 元有限域的乘法表,第 i+1 行第 j+1 列上的数代表有限域中 i×j 的运算结果
共输出 n×2+1 行
upd1:SPJ非常严格,请不要在行末输出多余空格
(答案文件末尾的换行还是会自动忽略的)
upd2:正解文件比较大,洛谷可能会一直judging...
如果遇到这种情况请直接提交源代码
2
0
0 1
1 0
0 0
0 1
提示
测试点 |
[n 的范围] |
特殊性质 |
1 |
[n=3] |
n 是质数 |
2 |
[n=4] |
n 是2的整数次方 |
3 |
[n=6] |
无 |
4 |
[n=8] |
n 是2的整数次方 |
5 |
[n=9] |
无 |
6 |
[n=19] |
n 是质数 |
7 |
[n=89] |
8 |
[n=181] |
9 |
[n=233] |
10 |
[n=25] |
n 是质数的平方 |
11 |
[n=121] |
12 |
[n=169] |
13 |
[n=27] |
无 |
14 |
[n=143] |
15 |
[n=128] |
n 是2的整数次方 |
16 |
[n=81] |
无 |
17 |
[n=125] |
18 |
[n=243] |
19 |
[n=256] |
n 是2的整数次方 |
20 |
[n=343] |
无 |