猫映射是一种混沌系统,它将明文当做混沌系统的初始值进行迭代或演化来达到将明文进行置乱(加密)的效果。它也叫做Arnold映射,最早由Arnold和Avez提出。其映射方式如下:
当把(x,y)视为矩阵(长与宽相等)的坐标的时候,N即为矩阵的宽度,该过程可以将整个矩阵中的元素的位置打乱。事实上,在对图像进行混沌置乱以实现加密的时候,多采用猫映射来实现。需要指出的是,上式是可以迭代进行的,不同的迭代次数得到的结果也是不同的。
猫映射的逆过程为:
在逆过程中,结果可能出现负数,若不处理则会出现数组越界的问题,处理的时候,只需要把负数的值加上N即可。
实现代码:
#include <stdio.h>
int main()
{
int squareroot = 31;
int i,j,t;
int xn,yn,xn1,yn1;
FILE * file;
file = fopen("result.txt","w");
fprintf(file,"The Arnold map:\n");
for(i=0;i<squareroot;i++)
{
for(j=0;j<squareroot;j++)
{
xn = (i+j) % squareroot;
yn = (i+2*j) % squareroot;
for(t=0;t<30;t++)
{
xn1 = (xn+yn) % squareroot;
yn1 = (xn+2*yn) % squareroot;
xn = xn1;
yn = yn1;
}
fprintf(file,"\t (%d,%d)-->(%d,%d)\n",i,j,xn,yn);
}
}
fprintf(file,"\n\nThe inverse Arnold map:\n");
for(i=0;i<squareroot;i++)
{
for(j=0;j<squareroot;j++)
{
xn = (2*i-j) % squareroot;
yn = (-i+j) % squareroot;
while(xn < 0)
xn += squareroot;
xn = xn % squareroot;
while(yn < 0)
yn += squareroot;
yn = yn % squareroot
for(t=0;t<30;t++)
{
xn1 = (2*xn+yn) % squareroot;
yn1 = (-xn+yn) % squareroot;
xn = xn1;
yn = yn1;
if(xn < 0)
xn += squareroot;
if(yn < 0)
yn += squareroot;
}
fprintf(file,"\t (%d,%d)-->(%d,%d)\n",i,j,xn,yn);
}
}
fclose(file);
return 0;
}
结果为:
The Arnold map:
(0,0)-->(0,0)
(0,1)-->(1,2)
(0,2)-->(2,4)
(0,3)-->(3,6)
(0,4)-->(4,8)
(0,5)-->(5,10)
(0,6)-->(6,12)
(0,7)-->(7,14)
(0,8)-->(8,16)
(0,9)-->(9,18)
(0,10)-->(10,20)
(0,11)-->(11,22)
(0,12)-->(12,24)
(0,13)-->(13,26)
(0,14)-->(14,28)
(0,15)-->(15,30)
(0,16)-->(16,1)
(0,17)-->(17,3)
(0,18)-->(18,5)
(0,19)-->(19,7)
(0,20)-->(20,9)
(0,21)-->(21,11)
(0,22)-->(22,13)
(0,23)-->(23,15)
(0,24)-->(24,17)
(0,25)-->(25,19)
(0,26)-->(26,21)
(0,27)-->(27,23)
(0,28)-->(28,25)
(0,29)-->(29,27)
(0,30)-->(30,29)
(1,0)-->(1,1)
(1,1)-->(2,3)
(1,2)-->(3,5)
(1,3)-->(4,7)
(1,4)-->(5,9)
(1,5)-->(6,11)
(1,6)-->(7,13)
(1,7)-->(8,15)
(1,8)-->(9,17)
(1,9)-->(10,19)
(1,10)-->(11,21)
(1,11)-->(12,23)
(1,12)-->(13,25)
(1,13)-->(14,27)
(1,14)-->(15,29)
(1,15)-->(16,0)
(1,16)-->(17,2)
(1,17)-->(18,4)
(1,18)-->(19,6)
(1,19)-->(20,8)
(1,20)-->(21,10)
(1,21)-->(22,12)
(1,22)-->(23,14)
(1,23)-->(24,16)
(1,24)-->(25,18)
(1,25)-->(26,20)
(1,26)-->(27,22)
(1,27)-->(28,24)
(1,28)-->(29,26)
(1,29)-->(30,28)
(1,30)-->(0,30)
(2,0)-->(2,2)
(2,1)-->(3,4)
(2,2)-->(4,6)
(2,3)-->(5,8)
(2,4)-->(6,10)
(2,5)-->(7,12)
(2,6)-->(8,14)
(2,7)-->(9,16)
(2,8)-->(10,18)
(2,9)-->(11,20)
(2,10)-->(12,22)
(2,11)-->(13,24)
(2,12)-->(14,26)
(2,13)-->(15,28)
(2,14)-->(16,30)
(2,15)-->(17,1)
(2,16)-->(18,3)
(2,17)-->(19,5)
(2,18)-->(20,7)
(2,19)-->(21,9)
(2,20)-->(22,11)
(2,21)-->(23,13)
(2,22)-->(24,15)
(2,23)-->(25,17)
(2,24)-->(26,19)
(2,25)-->(27,21)
(2,26)-->(28,23)
(2,27)-->(29,25)
(2,28)-->(30,27)
(2,29)-->(0,29)
(2,30)-->(1,0)
(3,0)-->(3,3)
(3,1)-->(4,5)
(3,2)-->(5,7)
(3,3)-->(6,9)
(3,4)-->(7,11)
(3,5)-->(8,13)
(3,6)-->(9,15)
(3,7)-->(10,17)
(3,8)-->(11,19)
(3,9)-->(12,21)
(3,10)-->(13,23)
(3,11)-->(14,25)
(3,12)-->(15,27)
(3,13)-->(16,29)
(3,14)-->(17,0)
(3,15)-->(18,2)
(3,16)-->(19,4)
(3,17)-->(20,6)
(3,18)-->(21,8)
(3,19)-->(22,10)
(3,20)-->(23,12)
(3,21)-->(24,14)
(3,22)-->(25,16)
(3,23)-->(26,18)
(3,24)-->(27,20)
(3,25)-->(28,22)
(3,26)-->(29,24)
(3,27)-->(30,26)
(3,28)-->(0,28)
(3,29)-->(1,30)
(3,30)-->(2,1)
(4,0)-->(4,4)
(4,1)-->(5,6)
(4,2)-->(6,8)
(4,3)-->(7,10)
(4,4)-->(8,12)
(4,5)-->(9,14)
(4,6)-->(10,16)
(4,7)-->(11,18)
(4,8)-->(12,20)
(4,9)-->(13,22)
(4,10)-->(14,24)
(4,11)-->(15,26)
(4,12)-->(16,28)
(4,13)-->(17,30)
(4,14)-->(18,1)
(4,15)-->(19,3)
(4,16)-->(20,5)
(4,17)-->(21,7)
(4,18)-->(22,9)
(4,19)-->(23,11)
(4,20)-->(24,13)
(4,21)-->(25,15)
(4,22)-->(26,17)
(4,23)-->(27,19)
(4,24)-->(28,21)
(4,25)-->(29,23)
(4,26)-->(30,25)
(4,27)-->(0,27)
(4,28)-->(1,29)
(4,29)-->(2,0)
(4,30)-->(3,2)
(5,0)-->(5,5)
(5,1)-->(6,7)
(5,2)-->(7,9)
(5,3)-->(8,11)
(5,4)-->(9,13)
(5,5)-->(10,15)
(5,6)-->(11,17)
(5,7)-->(12,19)
(5,8)-->(13,21)
(5,9)-->(14,23)
(5,10)-->(15,25)
(5,11)-->(16,27)
(5,12)-->(17,29)
(5,13)-->(18,0)
(5,14)-->(19,2)
(5,15)-->(20,4)
(5,16)-->(21,6)
(5,17)-->(22,8)
(5,18)-->(23,10)
(5,19)-->(24,12)
(5,20)-->(25,14)
(5,21)-->(26,16)
(5,22)-->(27,18)
(5,23)-->(28,20)
(5,24)-->(29,22)
(5,25)-->(30,24)
(5,26)-->(0,26)
(5,27)-->(1,28)
(5,28)-->(2,30)
(5,29)-->(3,1)
(5,30)-->(4,3)
(6,0)-->(6,6)
(6,1)-->(7,8)
(6,2)-->(8,10)
(6,3)-->(9,12)
(6,4)-->(10,14)
(6,5)-->(11,16)
(6,6)-->(12,18)
(6,7)-->(13,20)
(6,8)-->(14,22)
(6,9)-->(15,24)
(6,10)-->(16,26)
(6,11)-->(17,28)
(6,12)-->(18,30)
(6,13)-->(19,1)
(6,14)-->(20,3)
(6,15)-->(21,5)
(6,16)-->(22,7)
(6,17)-->(23,9)
(6,18)-->(24,11)
(6,19)-->(25,13)
(6,20)-->(26,15)
(6,21)-->(27,17)
(6,22)-->(28,19)
(6,23)-->(29,21)
(6,24)-->(30,23)
(6,25)-->(0,25)
(6,26)-->(1,27)
(6,27)-->(2,29)
(6,28)-->(3,0)
(6,29)-->(4,2)
(6,30)-->(5,4)
(7,0)-->(7,7)
(7,1)-->(8,9)
(7,2)-->(9,11)
(7,3)-->(10,13)
(7,4)-->(11,15)
(7,5)-->(12,17)
(7,6)-->(13,19)
(7,7)-->(14,21)
(7,8)-->(15,23)
(7,9)-->(16,25)
(7,10)-->(17,27)
(7,11)-->(18,29)
(7,12)-->(19,0)
(7,13)-->(20,2)
(7,14)-->(21,4)
(7,15)-->(22,6)
(7,16)-->(23,8)
(7,17)-->(24,10)
(7,18)-->(25,12)
(7,19)-->(26,14)
(7,20)-->(27,16)
(7,21)-->(28,18)
(7,22)-->(29,20)
(7,23)-->(30,22)
(7,24)-->(0,24)
(7,25)-->(1,26)
(7,26)-->(2,28)
(7,27)-->(3,30)
(7,28)-->(4,1)
(7,29)-->(5,3)
(7,30)-->(6,5)
(8,0)-->(8,8)
(8,1)-->(9,10)
(8,2)-->(10,12)
(8,3)-->(11,14)
(8,4)-->(12,16)
(8,5)-->(13,18)
(8,6)-->(14,20)
(8,7)-->(15,22)
(8,8)-->(16,24)
(8,9)-->(17,26)
(8,10)-->(18,28)
(8,11)-->(19,30)
(8,12)-->(20,1)
(8,13)-->(21,3)
(8,14)-->(22,5)
(8,15)-->(23,7)
(8,16)-->(24,9)
(8,17)-->(25,11)
(8,18)-->(26,13)
(8,19)-->(27,15)
(8,20)-->(28,17)
(8,21)-->(29,19)
(8,22)-->(30,21)
(8,23)-->(0,23)
(8,24)-->(1,25)
(8,25)-->(2,27)
(8,26)-->(3,29)
(8,27)-->(4,0)
(8,28)-->(5,2)
(8,29)-->(6,4)
(8,30)-->(7,6)
(9,0)-->(9,9)
(9,1)-->(10,11)
(9,2)-->(11,13)
(9,3)-->(12,15)
(9,4)-->(13,17)
(9,5)-->(14,19)
(9,6)-->(15,21)
(9,7)-->(16,23)
(9,8)-->(17,25)
(9,9)-->(18,27)
(9,10)-->(19,29)
(9,11)-->(20,0)
(9,12)-->(21,2)
(9,13)-->(22,4)
(9,14)-->(23,6)
(9,15)-->(24,8)
(9,16)-->(25,10)
(9,17)-->(26,12)
(9,18)-->(27,14)
(9,19)-->(28,16)
(9,20)-->(29,18)
(9,21)-->(30,20)
(9,22)-->(0,22)
(9,23)-->(1,24)
(9,24)-->(2,26)
(9,25)-->(3,28)
(9,26)-->(4,30)
(9,27)-->(5,1)
(9,28)-->(6,3)
(9,29)-->(7,5)
(9,30)-->(8,7)
(10,0)-->(10,10)
(10,1)-->(11,12)
(10,2)-->(12,14)
(10,3)-->(13,16)
(10,4)-->(14,18)
(10,5)-->(15,20)
(10,6)-->(16,22)
(10,7)-->(17,24)
(10,8)-->(18,26)
(10,9)-->(19,28)
(10,10)-->(20,30)
(10,11)-->(21,1)
(10,12)-->(22,3)
(10,13)-->(23,5)
(10,14)-->(24,7)
(10,15)-->(25,9)
(10,16)-->(26,11)
(10,17)-->(27,13)
(10,18)-->(28,15)
(10,19)-->(29,17)
(10,20)-->(30,19)
(10,21)-->(0,21)
(10,22)-->(1,23)
(10,23)-->(2,25)
(10,24)-->(3,27)
(10,25)-->(4,29)
(10,26)-->(5,0)
(10,27)-->(6,2)
(10,28)-->(7,4)
(10,29)-->(8,6)
(10,30)-->(9,8)
(11,0)-->(11,11)
(11,1)-->(12,13)
(11,2)-->(13,15)
(11,3)-->(14,17)
(11,4)-->(15,19)
(11,5)-->(16,21)
(11,6)-->(17,23)
(11,7)-->(18,25)
(11,8)-->(19,27)
(11,9)-->(20,29)
(11,10)-->(21,0)
(11,11)-->(22,2)
(11,12)-->(23,4)
(11,13)-->(24,6)
(11,14)-->(25,8)
(11,15)-->(26,10)
(11,16)-->(27,12)
(11,17)-->(28,14)
(11,18)-->(29,16)
(11,19)-->(30,18)
(11,20)-->(0,20)
(11,21)-->(1,22)
(11,22)-->(2,24)
(11,23)-->(3,26)
(11,24)-->(4,28)
(11,25)-->(5,30)
(11,26)-->(6,1)
(11,27)-->(7,3)
(11,28)-->(8,5)
(11,29)-->(9,7)
(11,30)-->(10,9)
(12,0)-->(12,12)
(12,1)-->(13,14)
(12,2)-->(14,16)
(12,3)-->(15,18)
(12,4)-->(16,20)
(12,5)-->(17,22)
(12,6)-->(18,24)
(12,7)-->(19,26)
(12,8)-->(20,28)
(12,9)-->(21,30)
(12,10)-->(22,1)
(12,11)-->(23,3)
(12,12)-->(24,5)
(12,13)-->(25,7)
(12,14)-->(26,9)
(12,15)-->(27,11)
(12,16)-->(28,13)
(12,17)-->(29,15)
(12,18)-->(30,17)
(12,19)-->(0,19)
(12,20)-->(1,21)
(12,21)-->(2,23)
(12,22)-->(3,25)
(12,23)-->(4,27)
(12,24)-->(5,29)
(12,25)-->(6,0)
(12,26)-->(7,2)
(12,27)-->(8,4)
(12,28)-->(9,6)
(12,29)-->(10,8)
(12,30)-->(11,10)
(13,0)-->(13,13)
(13,1)-->(14,15)
(13,2)-->(15,17)
(13,3)-->(16,19)
(13,4)-->(17,21)
(13,5)-->(18,23)
(13,6)-->(19,25)
(13,7)-->(20,27)
(13,8)-->(21,29)
(13,9)-->(22,0)
(13,10)-->(23,2)
(13,11)-->(24,4)
(13,12)-->(25,6)
(13,13)-->(26,8)
(13,14)-->(27,10)
(13,15)-->(28,12)
(13,16)-->(29,14)
(13,17)-->(30,16)
(13,18)-->(0,18)
(13,19)-->(1,20)
(13,20)-->(2,22)
(13,21)-->(3,24)
(13,22)-->(4,26)
(13,23)-->(5,28)
(13,24)-->(6,30)
(13,25)-->(7,1)
(13,26)-->(8,3)
(13,27)-->(9,5)
(13,28)-->(10,7)
(13,29)-->(11,9)
(13,30)-->(12,11)
(14,0)-->(14,14)
(14,1)-->(15,16)
(14,2)-->(16,18)
(14,3)-->(17,20)
(14,4)-->(18,22)
(14,5)-->(19,24)
(14,6)-->(20,26)
(14,7)-->(21,28)
(14,8)-->(22,30)
(14,9)-->(23,1)
(14,10)-->(24,3)
(14,11)-->(25,5)
(14,12)-->(26,7)
(14,13)-->(27,9)
(14,14)-->(28,11)
(14,15)-->(29,13)
(14,16)-->(30,15)
(14,17)-->(0,17)
(14,18)-->(1,19)
(14,19)-->(2,21)
(14,20)-->(3,23)
(14,21)-->(4,25)
(14,22)-->(5,27)
(14,23)-->(6,29)
(14,24)-->(7,0)
(14,25)-->(8,2)
(14,26)-->(9,4)
(14,27)-->(10,6)
(14,28)-->(11,8)
(14,29)-->(12,10)
(14,30)-->(13,12)
(15,0)-->(15,15)
(15,1)-->(16,17)
(15,2)-->(17,19)
(15,3)-->(18,21)
(15,4)-->(19,23)
(15,5)-->(20,25)
(15,6)-->(21,27)
(15,7)-->(22,29)
(15,8)-->(23,0)
(15,9)-->(24,2)
(15,10)-->(25,4)
(15,11)-->(26,6)
(15,12)-->(27,8)
(15,13)-->(28,10)
(15,14)-->(29,12)
(15,15)-->(30,14)
(15,16)-->(0,16)
(15,17)-->(1,18)
(15,18)-->(2,20)
(15,19)-->(3,22)
(15,20)-->(4,24)
(15,21)-->(5,26)
(15,22)-->(6,28)
(15,23)-->(7,30)
(15,24)-->(8,1)
(15,25)-->(9,3)
(15,26)-->(10,5)
(15,27)-->(11,7)
(15,28)-->(12,9)
(15,29)-->(13,11)
(15,30)-->(14,13)
(16,0)-->(16,16)
(16,1)-->(17,18)
(16,2)-->(18,20)
(16,3)-->(19,22)
(16,4)-->(20,24)
(16,5)-->(21,26)
(16,6)-->(22,28)
(16,7)-->(23,30)
(16,8)-->(24,1)
(16,9)-->(25,3)
(16,10)-->(26,5)
(16,11)-->(27,7)
(16,12)-->(28,9)
(16,13)-->(29,11)
(16,14)-->(30,13)
(16,15)-->(0,15)
(16,16)-->(1,17)
(16,17)-->(2,19)
(16,18)-->(3,21)
(16,19)-->(4,23)
(16,20)-->(5,25)
(16,21)-->(6,27)
(16,22)-->(7,29)
(16,23)-->(8,0)
(16,24)-->(9,2)
(16,25)-->(10,4)
(16,26)-->(11,6)
(16,27)-->(12,8)
(16,28)-->(13,10)
(16,29)-->(14,12)
(16,30)-->(15,14)
(17,0)-->(17,17)
(17,1)-->(18,19)
(17,2)-->(19,21)
(17,3)-->(20,23)
(17,4)-->(21,25)
(17,5)-->(22,27)
(17,6)-->(23,29)
(17,7)-->(24,0)
(17,8)-->(25,2)
(17,9)-->(26,4)
(17,10)-->(27,6)
(17,11)-->(28,8)
(17,12)-->(29,10)
(17,13)-->(30,12)
(17,14)-->(0,14)
(17,15)-->(1,16)
(17,16)-->(2,18)
(17,17)-->(3,20)
(17,18)-->(4,22)
(17,19)-->(5,24)
(17,20)-->(6,26)
(17,21)-->(7,28)
(17,22)-->(8,30)
(17,23)-->(9,1)
(17,24)-->(10,3)
(17,25)-->(11,5)
(17,26)-->(12,7)
(17,27)-->(13,9)
(17,28)-->(14,11)
(17,29)-->(15,13)
(17,30)-->(16,15)
(18,0)-->(18,18)
(18,1)-->(19,20)
(18,2)-->(20,22)
(18,3)-->(21,24)
(18,4)-->(22,26)
(18,5)-->(23,28)
(18,6)-->(24,30)
(18,7)-->(25,1)
(18,8)-->(26,3)
(18,9)-->(27,5)
(18,10)-->(28,7)
(18,11)-->(29,9)
(18,12)-->(30,11)
(18,13)-->(0,13)
(18,14)-->(1,15)
(18,15)-->(2,17)
(18,16)-->(3,19)
(18,17)-->(4,21)
(18,18)-->(5,23)
(18,19)-->(6,25)
(18,20)-->(7,27)
(18,21)-->(8,29)
(18,22)-->(9,0)
(18,23)-->(10,2)
(18,24)-->(11,4)
(18,25)-->(12,6)
(18,26)-->(13,8)
(18,27)-->(14,10)
(18,28)-->(15,12)
(18,29)-->(16,14)
(18,30)-->(17,16)
(19,0)-->(19,19)
(19,1)-->(20,21)
(19,2)-->(21,23)
(19,3)-->(22,25)
(19,4)-->(23,27)
(19,5)-->(24,29)
(19,6)-->(25,0)
(19,7)-->(26,2)
(19,8)-->(27,4)
(19,9)-->(28,6)
(19,10)-->(29,8)
(19,11)-->(30,10)
(19,12)-->(0,12)
(19,13)-->(1,14)
(19,14)-->(2,16)
(19,15)-->(3,18)
(19,16)-->(4,20)
(19,17)-->(5,22)
(19,18)-->(6,24)
(19,19)-->(7,26)
(19,20)-->(8,28)
(19,21)-->(9,30)
(19,22)-->(10,1)
(19,23)-->(11,3)
(19,24)-->(12,5)
(19,25)-->(13,7)
(19,26)-->(14,9)
(19,27)-->(15,11)
(19,28)-->(16,13)
(19,29)-->(17,15)
(19,30)-->(18,17)
(20,0)-->(20,20)
(20,1)-->(21,22)
(20,2)-->(22,24)
(20,3)-->(23,26)
(20,4)-->(24,28)
(20,5)-->(25,30)
(20,6)-->(26,1)
(20,7)-->(27,3)
(20,8)-->(28,5)
(20,9)-->(29,7)
(20,10)-->(30,9)
(20,11)-->(0,11)
(20,12)-->(1,13)
(20,13)-->(2,15)
(20,14)-->(3,17)
(20,15)-->(4,19)
(20,16)-->(5,21)
(20,17)-->(6,23)
(20,18)-->(7,25)
(20,19)-->(8,27)
(20,20)-->(9,29)
(20,21)-->(10,0)
(20,22)-->(11,2)
(20,23)-->(12,4)
(20,24)-->(13,6)
(20,25)-->(14,8)
(20,26)-->(15,10)
(20,27)-->(16,12)
(20,28)-->(17,14)
(20,29)-->(18,16)
(20,30)-->(19,18)
(21,0)-->(21,21)
(21,1)-->(22,23)
(21,2)-->(23,25)
(21,3)-->(24,27)
(21,4)-->(25,29)
(21,5)-->(26,0)
(21,6)-->(27,2)
(21,7)-->(28,4)
(21,8)-->(29,6)
(21,9)-->(30,8)
(21,10)-->(0,10)
(21,11)-->(1,12)
(21,12)-->(2,14)
(21,13)-->(3,16)
(21,14)-->(4,18)
(21,15)-->(5,20)
(21,16)-->(6,22)
(21,17)-->(7,24)
(21,18)-->(8,26)
(21,19)-->(9,28)
(21,20)-->(10,30)
(21,21)-->(11,1)
(21,22)-->(12,3)
(21,23)-->(13,5)
(21,24)-->(14,7)
(21,25)-->(15,9)
(21,26)-->(16,11)
(21,27)-->(17,13)
(21,28)-->(18,15)
(21,29)-->(19,17)
(21,30)-->(20,19)
(22,0)-->(22,22)
(22,1)-->(23,24)
(22,2)-->(24,26)
(22,3)-->(25,28)
(22,4)-->(26,30)
(22,5)-->(27,1)
(22,6)-->(28,3)
(22,7)-->(29,5)
(22,8)-->(30,7)
(22,9)-->(0,9)
(22,10)-->(1,11)
(22,11)-->(2,13)
(22,12)-->(3,15)
(22,13)-->(4,17)
(22,14)-->(5,19)
(22,15)-->(6,21)
(22,16)-->(7,23)
(22,17)-->(8,25)
(22,18)-->(9,27)
(22,19)-->(10,29)
(22,20)-->(11,0)
(22,21)-->(12,2)
(22,22)-->(13,4)
(22,23)-->(14,6)
(22,24)-->(15,8)
(22,25)-->(16,10)
(22,26)-->(17,12)
(22,27)-->(18,14)
(22,28)-->(19,16)
(22,29)-->(20,18)
(22,30)-->(21,20)
(23,0)-->(23,23)
(23,1)-->(24,25)
(23,2)-->(25,27)
(23,3)-->(26,29)
(23,4)-->(27,0)
(23,5)-->(28,2)
(23,6)-->(29,4)
(23,7)-->(30,6)
(23,8)-->(0,8)
(23,9)-->(1,10)
(23,10)-->(2,12)
(23,11)-->(3,14)
(23,12)-->(4,16)
(23,13)-->(5,18)
(23,14)-->(6,20)
(23,15)-->(7,22)
(23,16)-->(8,24)
(23,17)-->(9,26)
(23,18)-->(10,28)
(23,19)-->(11,30)
(23,20)-->(12,1)
(23,21)-->(13,3)
(23,22)-->(14,5)
(23,23)-->(15,7)
(23,24)-->(16,9)
(23,25)-->(17,11)
(23,26)-->(18,13)
(23,27)-->(19,15)
(23,28)-->(20,17)
(23,29)-->(21,19)
(23,30)-->(22,21)
(24,0)-->(24,24)
(24,1)-->(25,26)
(24,2)-->(26,28)
(24,3)-->(27,30)
(24,4)-->(28,1)
(24,5)-->(29,3)
(24,6)-->(30,5)
(24,7)-->(0,7)
(24,8)-->(1,9)
(24,9)-->(2,11)
(24,10)-->(3,13)
(24,11)-->(4,15)
(24,12)-->(5,17)
(24,13)-->(6,19)
(24,14)-->(7,21)
(24,15)-->(8,23)
(24,16)-->(9,25)
(24,17)-->(10,27)
(24,18)-->(11,29)
(24,19)-->(12,0)
(24,20)-->(13,2)
(24,21)-->(14,4)
(24,22)-->(15,6)
(24,23)-->(16,8)
(24,24)-->(17,10)
(24,25)-->(18,12)
(24,26)-->(19,14)
(24,27)-->(20,16)
(24,28)-->(21,18)
(24,29)-->(22,20)
(24,30)-->(23,22)
(25,0)-->(25,25)
(25,1)-->(26,27)
(25,2)-->(27,29)
(25,3)-->(28,0)
(25,4)-->(29,2)
(25,5)-->(30,4)
(25,6)-->(0,6)
(25,7)-->(1,8)
(25,8)-->(2,10)
(25,9)-->(3,12)
(25,10)-->(4,14)
(25,11)-->(5,16)
(25,12)-->(6,18)
(25,13)-->(7,20)
(25,14)-->(8,22)
(25,15)-->(9,24)
(25,16)-->(10,26)
(25,17)-->(11,28)
(25,18)-->(12,30)
(25,19)-->(13,1)
(25,20)-->(14,3)
(25,21)-->(15,5)
(25,22)-->(16,7)
(25,23)-->(17,9)
(25,24)-->(18,11)
(25,25)-->(19,13)
(25,26)-->(20,15)
(25,27)-->(21,17)
(25,28)-->(22,19)
(25,29)-->(23,21)
(25,30)-->(24,23)
(26,0)-->(26,26)
(26,1)-->(27,28)
(26,2)-->(28,30)
(26,3)-->(29,1)
(26,4)-->(30,3)
(26,5)-->(0,5)
(26,6)-->(1,7)
(26,7)-->(2,9)
(26,8)-->(3,11)
(26,9)-->(4,13)
(26,10)-->(5,15)
(26,11)-->(6,17)
(26,12)-->(7,19)
(26,13)-->(8,21)
(26,14)-->(9,23)
(26,15)-->(10,25)
(26,16)-->(11,27)
(26,17)-->(12,29)
(26,18)-->(13,0)
(26,19)-->(14,2)
(26,20)-->(15,4)
(26,21)-->(16,6)
(26,22)-->(17,8)
(26,23)-->(18,10)
(26,24)-->(19,12)
(26,25)-->(20,14)
(26,26)-->(21,16)
(26,27)-->(22,18)
(26,28)-->(23,20)
(26,29)-->(24,22)
(26,30)-->(25,24)
(27,0)-->(27,27)
(27,1)-->(28,29)
(27,2)-->(29,0)
(27,3)-->(30,2)
(27,4)-->(0,4)
(27,5)-->(1,6)
(27,6)-->(2,8)
(27,7)-->(3,10)
(27,8)-->(4,12)
(27,9)-->(5,14)
(27,10)-->(6,16)
(27,11)-->(7,18)
(27,12)-->(8,20)
(27,13)-->(9,22)
(27,14)-->(10,24)
(27,15)-->(11,26)
(27,16)-->(12,28)
(27,17)-->(13,30)
(27,18)-->(14,1)
(27,19)-->(15,3)
(27,20)-->(16,5)
(27,21)-->(17,7)
(27,22)-->(18,9)
(27,23)-->(19,11)
(27,24)-->(20,13)
(27,25)-->(21,15)
(27,26)-->(22,17)
(27,27)-->(23,19)
(27,28)-->(24,21)
(27,29)-->(25,23)
(27,30)-->(26,25)
(28,0)-->(28,28)
(28,1)-->(29,30)
(28,2)-->(30,1)
(28,3)-->(0,3)
(28,4)-->(1,5)
(28,5)-->(2,7)
(28,6)-->(3,9)
(28,7)-->(4,11)
(28,8)-->(5,13)
(28,9)-->(6,15)
(28,10)-->(7,17)
(28,11)-->(8,19)
(28,12)-->(9,21)
(28,13)-->(10,23)
(28,14)-->(11,25)
(28,15)-->(12,27)
(28,16)-->(13,29)
(28,17)-->(14,0)
(28,18)-->(15,2)
(28,19)-->(16,4)
(28,20)-->(17,6)
(28,21)-->(18,8)
(28,22)-->(19,10)
(28,23)-->(20,12)
(28,24)-->(21,14)
(28,25)-->(22,16)
(28,26)-->(23,18)
(28,27)-->(24,20)
(28,28)-->(25,22)
(28,29)-->(26,24)
(28,30)-->(27,26)
(29,0)-->(29,29)
(29,1)-->(30,0)
(29,2)-->(0,2)
(29,3)-->(1,4)
(29,4)-->(2,6)
(29,5)-->(3,8)
(29,6)-->(4,10)
(29,7)-->(5,12)
(29,8)-->(6,14)
(29,9)-->(7,16)
(29,10)-->(8,18)
(29,11)-->(9,20)
(29,12)-->(10,22)
(29,13)-->(11,24)
(29,14)-->(12,26)
(29,15)-->(13,28)
(29,16)-->(14,30)
(29,17)-->(15,1)
(29,18)-->(16,3)
(29,19)-->(17,5)
(29,20)-->(18,7)
(29,21)-->(19,9)
(29,22)-->(20,11)
(29,23)-->(21,13)
(29,24)-->(22,15)
(29,25)-->(23,17)
(29,26)-->(24,19)
(29,27)-->(25,21)
(29,28)-->(26,23)
(29,29)-->(27,25)
(29,30)-->(28,27)
(30,0)-->(30,30)
(30,1)-->(0,1)
(30,2)-->(1,3)
(30,3)-->(2,5)
(30,4)-->(3,7)
(30,5)-->(4,9)
(30,6)-->(5,11)
(30,7)-->(6,13)
(30,8)-->(7,15)
(30,9)-->(8,17)
(30,10)-->(9,19)
(30,11)-->(10,21)
(30,12)-->(11,23)
(30,13)-->(12,25)
(30,14)-->(13,27)
(30,15)-->(14,29)
(30,16)-->(15,0)
(30,17)-->(16,2)
(30,18)-->(17,4)
(30,19)-->(18,6)
(30,20)-->(19,8)
(30,21)-->(20,10)
(30,22)-->(21,12)
(30,23)-->(22,14)
(30,24)-->(23,16)
(30,25)-->(24,18)
(30,26)-->(25,20)
(30,27)-->(26,22)
(30,28)-->(27,24)
(30,29)-->(28,26)
(30,30)-->(29,28)
The inverse Arnold map:
(0,0)-->(0,0)
(0,1)-->(30,1)
(0,2)-->(29,2)
(0,3)-->(28,3)
(0,4)-->(27,4)
(0,5)-->(26,5)
(0,6)-->(25,6)
(0,7)-->(24,7)
(0,8)-->(23,8)
(0,9)-->(22,9)
(0,10)-->(21,10)
(0,11)-->(20,11)
(0,12)-->(19,12)
(0,13)-->(18,13)
(0,14)-->(17,14)
(0,15)-->(16,15)
(0,16)-->(15,16)
(0,17)-->(14,17)
(0,18)-->(13,18)
(0,19)-->(12,19)
(0,20)-->(11,20)
(0,21)-->(10,21)
(0,22)-->(9,22)
(0,23)-->(8,23)
(0,24)-->(7,24)
(0,25)-->(6,25)
(0,26)-->(5,26)
(0,27)-->(4,27)
(0,28)-->(3,28)
(0,29)-->(2,29)
(0,30)-->(1,30)
(1,0)-->(2,30)
(1,1)-->(1,0)
(1,2)-->(0,1)
(1,3)-->(30,2)
(1,4)-->(29,3)
(1,5)-->(28,4)
(1,6)-->(27,5)
(1,7)-->(26,6)
(1,8)-->(25,7)
(1,9)-->(24,8)
(1,10)-->(23,9)
(1,11)-->(22,10)
(1,12)-->(21,11)
(1,13)-->(20,12)
(1,14)-->(19,13)
(1,15)-->(18,14)
(1,16)-->(17,15)
(1,17)-->(16,16)
(1,18)-->(15,17)
(1,19)-->(14,18)
(1,20)-->(13,19)
(1,21)-->(12,20)
(1,22)-->(11,21)
(1,23)-->(10,22)
(1,24)-->(9,23)
(1,25)-->(8,24)
(1,26)-->(7,25)
(1,27)-->(6,26)
(1,28)-->(5,27)
(1,29)-->(4,28)
(1,30)-->(3,29)
(2,0)-->(4,29)
(2,1)-->(3,30)
(2,2)-->(2,0)
(2,3)-->(1,1)
(2,4)-->(0,2)
(2,5)-->(30,3)
(2,6)-->(29,4)
(2,7)-->(28,5)
(2,8)-->(27,6)
(2,9)-->(26,7)
(2,10)-->(25,8)
(2,11)-->(24,9)
(2,12)-->(23,10)
(2,13)-->(22,11)
(2,14)-->(21,12)
(2,15)-->(20,13)
(2,16)-->(19,14)
(2,17)-->(18,15)
(2,18)-->(17,16)
(2,19)-->(16,17)
(2,20)-->(15,18)
(2,21)-->(14,19)
(2,22)-->(13,20)
(2,23)-->(12,21)
(2,24)-->(11,22)
(2,25)-->(10,23)
(2,26)-->(9,24)
(2,27)-->(8,25)
(2,28)-->(7,26)
(2,29)-->(6,27)
(2,30)-->(5,28)
(3,0)-->(6,28)
(3,1)-->(5,29)
(3,2)-->(4,30)
(3,3)-->(3,0)
(3,4)-->(2,1)
(3,5)-->(1,2)
(3,6)-->(0,3)
(3,7)-->(30,4)
(3,8)-->(29,5)
(3,9)-->(28,6)
(3,10)-->(27,7)
(3,11)-->(26,8)
(3,12)-->(25,9)
(3,13)-->(24,10)
(3,14)-->(23,11)
(3,15)-->(22,12)
(3,16)-->(21,13)
(3,17)-->(20,14)
(3,18)-->(19,15)
(3,19)-->(18,16)
(3,20)-->(17,17)
(3,21)-->(16,18)
(3,22)-->(15,19)
(3,23)-->(14,20)
(3,24)-->(13,21)
(3,25)-->(12,22)
(3,26)-->(11,23)
(3,27)-->(10,24)
(3,28)-->(9,25)
(3,29)-->(8,26)
(3,30)-->(7,27)
(4,0)-->(8,27)
(4,1)-->(7,28)
(4,2)-->(6,29)
(4,3)-->(5,30)
(4,4)-->(4,0)
(4,5)-->(3,1)
(4,6)-->(2,2)
(4,7)-->(1,3)
(4,8)-->(0,4)
(4,9)-->(30,5)
(4,10)-->(29,6)
(4,11)-->(28,7)
(4,12)-->(27,8)
(4,13)-->(26,9)
(4,14)-->(25,10)
(4,15)-->(24,11)
(4,16)-->(23,12)
(4,17)-->(22,13)
(4,18)-->(21,14)
(4,19)-->(20,15)
(4,20)-->(19,16)
(4,21)-->(18,17)
(4,22)-->(17,18)
(4,23)-->(16,19)
(4,24)-->(15,20)
(4,25)-->(14,21)
(4,26)-->(13,22)
(4,27)-->(12,23)
(4,28)-->(11,24)
(4,29)-->(10,25)
(4,30)-->(9,26)
(5,0)-->(10,26)
(5,1)-->(9,27)
(5,2)-->(8,28)
(5,3)-->(7,29)
(5,4)-->(6,30)
(5,5)-->(5,0)
(5,6)-->(4,1)
(5,7)-->(3,2)
(5,8)-->(2,3)
(5,9)-->(1,4)
(5,10)-->(0,5)
(5,11)-->(30,6)
(5,12)-->(29,7)
(5,13)-->(28,8)
(5,14)-->(27,9)
(5,15)-->(26,10)
(5,16)-->(25,11)
(5,17)-->(24,12)
(5,18)-->(23,13)
(5,19)-->(22,14)
(5,20)-->(21,15)
(5,21)-->(20,16)
(5,22)-->(19,17)
(5,23)-->(18,18)
(5,24)-->(17,19)
(5,25)-->(16,20)
(5,26)-->(15,21)
(5,27)-->(14,22)
(5,28)-->(13,23)
(5,29)-->(12,24)
(5,30)-->(11,25)
(6,0)-->(12,25)
(6,1)-->(11,26)
(6,2)-->(10,27)
(6,3)-->(9,28)
(6,4)-->(8,29)
(6,5)-->(7,30)
(6,6)-->(6,0)
(6,7)-->(5,1)
(6,8)-->(4,2)
(6,9)-->(3,3)
(6,10)-->(2,4)
(6,11)-->(1,5)
(6,12)-->(0,6)
(6,13)-->(30,7)
(6,14)-->(29,8)
(6,15)-->(28,9)
(6,16)-->(27,10)
(6,17)-->(26,11)
(6,18)-->(25,12)
(6,19)-->(24,13)
(6,20)-->(23,14)
(6,21)-->(22,15)
(6,22)-->(21,16)
(6,23)-->(20,17)
(6,24)-->(19,18)
(6,25)-->(18,19)
(6,26)-->(17,20)
(6,27)-->(16,21)
(6,28)-->(15,22)
(6,29)-->(14,23)
(6,30)-->(13,24)
(7,0)-->(14,24)
(7,1)-->(13,25)
(7,2)-->(12,26)
(7,3)-->(11,27)
(7,4)-->(10,28)
(7,5)-->(9,29)
(7,6)-->(8,30)
(7,7)-->(7,0)
(7,8)-->(6,1)
(7,9)-->(5,2)
(7,10)-->(4,3)
(7,11)-->(3,4)
(7,12)-->(2,5)
(7,13)-->(1,6)
(7,14)-->(0,7)
(7,15)-->(30,8)
(7,16)-->(29,9)
(7,17)-->(28,10)
(7,18)-->(27,11)
(7,19)-->(26,12)
(7,20)-->(25,13)
(7,21)-->(24,14)
(7,22)-->(23,15)
(7,23)-->(22,16)
(7,24)-->(21,17)
(7,25)-->(20,18)
(7,26)-->(19,19)
(7,27)-->(18,20)
(7,28)-->(17,21)
(7,29)-->(16,22)
(7,30)-->(15,23)
(8,0)-->(16,23)
(8,1)-->(15,24)
(8,2)-->(14,25)
(8,3)-->(13,26)
(8,4)-->(12,27)
(8,5)-->(11,28)
(8,6)-->(10,29)
(8,7)-->(9,30)
(8,8)-->(8,0)
(8,9)-->(7,1)
(8,10)-->(6,2)
(8,11)-->(5,3)
(8,12)-->(4,4)
(8,13)-->(3,5)
(8,14)-->(2,6)
(8,15)-->(1,7)
(8,16)-->(0,8)
(8,17)-->(30,9)
(8,18)-->(29,10)
(8,19)-->(28,11)
(8,20)-->(27,12)
(8,21)-->(26,13)
(8,22)-->(25,14)
(8,23)-->(24,15)
(8,24)-->(23,16)
(8,25)-->(22,17)
(8,26)-->(21,18)
(8,27)-->(20,19)
(8,28)-->(19,20)
(8,29)-->(18,21)
(8,30)-->(17,22)
(9,0)-->(18,22)
(9,1)-->(17,23)
(9,2)-->(16,24)
(9,3)-->(15,25)
(9,4)-->(14,26)
(9,5)-->(13,27)
(9,6)-->(12,28)
(9,7)-->(11,29)
(9,8)-->(10,30)
(9,9)-->(9,0)
(9,10)-->(8,1)
(9,11)-->(7,2)
(9,12)-->(6,3)
(9,13)-->(5,4)
(9,14)-->(4,5)
(9,15)-->(3,6)
(9,16)-->(2,7)
(9,17)-->(1,8)
(9,18)-->(0,9)
(9,19)-->(30,10)
(9,20)-->(29,11)
(9,21)-->(28,12)
(9,22)-->(27,13)
(9,23)-->(26,14)
(9,24)-->(25,15)
(9,25)-->(24,16)
(9,26)-->(23,17)
(9,27)-->(22,18)
(9,28)-->(21,19)
(9,29)-->(20,20)
(9,30)-->(19,21)
(10,0)-->(20,21)
(10,1)-->(19,22)
(10,2)-->(18,23)
(10,3)-->(17,24)
(10,4)-->(16,25)
(10,5)-->(15,26)
(10,6)-->(14,27)
(10,7)-->(13,28)
(10,8)-->(12,29)
(10,9)-->(11,30)
(10,10)-->(10,0)
(10,11)-->(9,1)
(10,12)-->(8,2)
(10,13)-->(7,3)
(10,14)-->(6,4)
(10,15)-->(5,5)
(10,16)-->(4,6)
(10,17)-->(3,7)
(10,18)-->(2,8)
(10,19)-->(1,9)
(10,20)-->(0,10)
(10,21)-->(30,11)
(10,22)-->(29,12)
(10,23)-->(28,13)
(10,24)-->(27,14)
(10,25)-->(26,15)
(10,26)-->(25,16)
(10,27)-->(24,17)
(10,28)-->(23,18)
(10,29)-->(22,19)
(10,30)-->(21,20)
(11,0)-->(22,20)
(11,1)-->(21,21)
(11,2)-->(20,22)
(11,3)-->(19,23)
(11,4)-->(18,24)
(11,5)-->(17,25)
(11,6)-->(16,26)
(11,7)-->(15,27)
(11,8)-->(14,28)
(11,9)-->(13,29)
(11,10)-->(12,30)
(11,11)-->(11,0)
(11,12)-->(10,1)
(11,13)-->(9,2)
(11,14)-->(8,3)
(11,15)-->(7,4)
(11,16)-->(6,5)
(11,17)-->(5,6)
(11,18)-->(4,7)
(11,19)-->(3,8)
(11,20)-->(2,9)
(11,21)-->(1,10)
(11,22)-->(0,11)
(11,23)-->(30,12)
(11,24)-->(29,13)
(11,25)-->(28,14)
(11,26)-->(27,15)
(11,27)-->(26,16)
(11,28)-->(25,17)
(11,29)-->(24,18)
(11,30)-->(23,19)
(12,0)-->(24,19)
(12,1)-->(23,20)
(12,2)-->(22,21)
(12,3)-->(21,22)
(12,4)-->(20,23)
(12,5)-->(19,24)
(12,6)-->(18,25)
(12,7)-->(17,26)
(12,8)-->(16,27)
(12,9)-->(15,28)
(12,10)-->(14,29)
(12,11)-->(13,30)
(12,12)-->(12,0)
(12,13)-->(11,1)
(12,14)-->(10,2)
(12,15)-->(9,3)
(12,16)-->(8,4)
(12,17)-->(7,5)
(12,18)-->(6,6)
(12,19)-->(5,7)
(12,20)-->(4,8)
(12,21)-->(3,9)
(12,22)-->(2,10)
(12,23)-->(1,11)
(12,24)-->(0,12)
(12,25)-->(30,13)
(12,26)-->(29,14)
(12,27)-->(28,15)
(12,28)-->(27,16)
(12,29)-->(26,17)
(12,30)-->(25,18)
(13,0)-->(26,18)
(13,1)-->(25,19)
(13,2)-->(24,20)
(13,3)-->(23,21)
(13,4)-->(22,22)
(13,5)-->(21,23)
(13,6)-->(20,24)
(13,7)-->(19,25)
(13,8)-->(18,26)
(13,9)-->(17,27)
(13,10)-->(16,28)
(13,11)-->(15,29)
(13,12)-->(14,30)
(13,13)-->(13,0)
(13,14)-->(12,1)
(13,15)-->(11,2)
(13,16)-->(10,3)
(13,17)-->(9,4)
(13,18)-->(8,5)
(13,19)-->(7,6)
(13,20)-->(6,7)
(13,21)-->(5,8)
(13,22)-->(4,9)
(13,23)-->(3,10)
(13,24)-->(2,11)
(13,25)-->(1,12)
(13,26)-->(0,13)
(13,27)-->(30,14)
(13,28)-->(29,15)
(13,29)-->(28,16)
(13,30)-->(27,17)
(14,0)-->(28,17)
(14,1)-->(27,18)
(14,2)-->(26,19)
(14,3)-->(25,20)
(14,4)-->(24,21)
(14,5)-->(23,22)
(14,6)-->(22,23)
(14,7)-->(21,24)
(14,8)-->(20,25)
(14,9)-->(19,26)
(14,10)-->(18,27)
(14,11)-->(17,28)
(14,12)-->(16,29)
(14,13)-->(15,30)
(14,14)-->(14,0)
(14,15)-->(13,1)
(14,16)-->(12,2)
(14,17)-->(11,3)
(14,18)-->(10,4)
(14,19)-->(9,5)
(14,20)-->(8,6)
(14,21)-->(7,7)
(14,22)-->(6,8)
(14,23)-->(5,9)
(14,24)-->(4,10)
(14,25)-->(3,11)
(14,26)-->(2,12)
(14,27)-->(1,13)
(14,28)-->(0,14)
(14,29)-->(30,15)
(14,30)-->(29,16)
(15,0)-->(30,16)
(15,1)-->(29,17)
(15,2)-->(28,18)
(15,3)-->(27,19)
(15,4)-->(26,20)
(15,5)-->(25,21)
(15,6)-->(24,22)
(15,7)-->(23,23)
(15,8)-->(22,24)
(15,9)-->(21,25)
(15,10)-->(20,26)
(15,11)-->(19,27)
(15,12)-->(18,28)
(15,13)-->(17,29)
(15,14)-->(16,30)
(15,15)-->(15,0)
(15,16)-->(14,1)
(15,17)-->(13,2)
(15,18)-->(12,3)
(15,19)-->(11,4)
(15,20)-->(10,5)
(15,21)-->(9,6)
(15,22)-->(8,7)
(15,23)-->(7,8)
(15,24)-->(6,9)
(15,25)-->(5,10)
(15,26)-->(4,11)
(15,27)-->(3,12)
(15,28)-->(2,13)
(15,29)-->(1,14)
(15,30)-->(0,15)
(16,0)-->(1,15)
(16,1)-->(0,16)
(16,2)-->(30,17)
(16,3)-->(29,18)
(16,4)-->(28,19)
(16,5)-->(27,20)
(16,6)-->(26,21)
(16,7)-->(25,22)
(16,8)-->(24,23)
(16,9)-->(23,24)
(16,10)-->(22,25)
(16,11)-->(21,26)
(16,12)-->(20,27)
(16,13)-->(19,28)
(16,14)-->(18,29)
(16,15)-->(17,30)
(16,16)-->(16,0)
(16,17)-->(15,1)
(16,18)-->(14,2)
(16,19)-->(13,3)
(16,20)-->(12,4)
(16,21)-->(11,5)
(16,22)-->(10,6)
(16,23)-->(9,7)
(16,24)-->(8,8)
(16,25)-->(7,9)
(16,26)-->(6,10)
(16,27)-->(5,11)
(16,28)-->(4,12)
(16,29)-->(3,13)
(16,30)-->(2,14)
(17,0)-->(3,14)
(17,1)-->(2,15)
(17,2)-->(1,16)
(17,3)-->(0,17)
(17,4)-->(30,18)
(17,5)-->(29,19)
(17,6)-->(28,20)
(17,7)-->(27,21)
(17,8)-->(26,22)
(17,9)-->(25,23)
(17,10)-->(24,24)
(17,11)-->(23,25)
(17,12)-->(22,26)
(17,13)-->(21,27)
(17,14)-->(20,28)
(17,15)-->(19,29)
(17,16)-->(18,30)
(17,17)-->(17,0)
(17,18)-->(16,1)
(17,19)-->(15,2)
(17,20)-->(14,3)
(17,21)-->(13,4)
(17,22)-->(12,5)
(17,23)-->(11,6)
(17,24)-->(10,7)
(17,25)-->(9,8)
(17,26)-->(8,9)
(17,27)-->(7,10)
(17,28)-->(6,11)
(17,29)-->(5,12)
(17,30)-->(4,13)
(18,0)-->(5,13)
(18,1)-->(4,14)
(18,2)-->(3,15)
(18,3)-->(2,16)
(18,4)-->(1,17)
(18,5)-->(0,18)
(18,6)-->(30,19)
(18,7)-->(29,20)
(18,8)-->(28,21)
(18,9)-->(27,22)
(18,10)-->(26,23)
(18,11)-->(25,24)
(18,12)-->(24,25)
(18,13)-->(23,26)
(18,14)-->(22,27)
(18,15)-->(21,28)
(18,16)-->(20,29)
(18,17)-->(19,30)
(18,18)-->(18,0)
(18,19)-->(17,1)
(18,20)-->(16,2)
(18,21)-->(15,3)
(18,22)-->(14,4)
(18,23)-->(13,5)
(18,24)-->(12,6)
(18,25)-->(11,7)
(18,26)-->(10,8)
(18,27)-->(9,9)
(18,28)-->(8,10)
(18,29)-->(7,11)
(18,30)-->(6,12)
(19,0)-->(7,12)
(19,1)-->(6,13)
(19,2)-->(5,14)
(19,3)-->(4,15)
(19,4)-->(3,16)
(19,5)-->(2,17)
(19,6)-->(1,18)
(19,7)-->(0,19)
(19,8)-->(30,20)
(19,9)-->(29,21)
(19,10)-->(28,22)
(19,11)-->(27,23)
(19,12)-->(26,24)
(19,13)-->(25,25)
(19,14)-->(24,26)
(19,15)-->(23,27)
(19,16)-->(22,28)
(19,17)-->(21,29)
(19,18)-->(20,30)
(19,19)-->(19,0)
(19,20)-->(18,1)
(19,21)-->(17,2)
(19,22)-->(16,3)
(19,23)-->(15,4)
(19,24)-->(14,5)
(19,25)-->(13,6)
(19,26)-->(12,7)
(19,27)-->(11,8)
(19,28)-->(10,9)
(19,29)-->(9,10)
(19,30)-->(8,11)
(20,0)-->(9,11)
(20,1)-->(8,12)
(20,2)-->(7,13)
(20,3)-->(6,14)
(20,4)-->(5,15)
(20,5)-->(4,16)
(20,6)-->(3,17)
(20,7)-->(2,18)
(20,8)-->(1,19)
(20,9)-->(0,20)
(20,10)-->(30,21)
(20,11)-->(29,22)
(20,12)-->(28,23)
(20,13)-->(27,24)
(20,14)-->(26,25)
(20,15)-->(25,26)
(20,16)-->(24,27)
(20,17)-->(23,28)
(20,18)-->(22,29)
(20,19)-->(21,30)
(20,20)-->(20,0)
(20,21)-->(19,1)
(20,22)-->(18,2)
(20,23)-->(17,3)
(20,24)-->(16,4)
(20,25)-->(15,5)
(20,26)-->(14,6)
(20,27)-->(13,7)
(20,28)-->(12,8)
(20,29)-->(11,9)
(20,30)-->(10,10)
(21,0)-->(11,10)
(21,1)-->(10,11)
(21,2)-->(9,12)
(21,3)-->(8,13)
(21,4)-->(7,14)
(21,5)-->(6,15)
(21,6)-->(5,16)
(21,7)-->(4,17)
(21,8)-->(3,18)
(21,9)-->(2,19)
(21,10)-->(1,20)
(21,11)-->(0,21)
(21,12)-->(30,22)
(21,13)-->(29,23)
(21,14)-->(28,24)
(21,15)-->(27,25)
(21,16)-->(26,26)
(21,17)-->(25,27)
(21,18)-->(24,28)
(21,19)-->(23,29)
(21,20)-->(22,30)
(21,21)-->(21,0)
(21,22)-->(20,1)
(21,23)-->(19,2)
(21,24)-->(18,3)
(21,25)-->(17,4)
(21,26)-->(16,5)
(21,27)-->(15,6)
(21,28)-->(14,7)
(21,29)-->(13,8)
(21,30)-->(12,9)
(22,0)-->(13,9)
(22,1)-->(12,10)
(22,2)-->(11,11)
(22,3)-->(10,12)
(22,4)-->(9,13)
(22,5)-->(8,14)
(22,6)-->(7,15)
(22,7)-->(6,16)
(22,8)-->(5,17)
(22,9)-->(4,18)
(22,10)-->(3,19)
(22,11)-->(2,20)
(22,12)-->(1,21)
(22,13)-->(0,22)
(22,14)-->(30,23)
(22,15)-->(29,24)
(22,16)-->(28,25)
(22,17)-->(27,26)
(22,18)-->(26,27)
(22,19)-->(25,28)
(22,20)-->(24,29)
(22,21)-->(23,30)
(22,22)-->(22,0)
(22,23)-->(21,1)
(22,24)-->(20,2)
(22,25)-->(19,3)
(22,26)-->(18,4)
(22,27)-->(17,5)
(22,28)-->(16,6)
(22,29)-->(15,7)
(22,30)-->(14,8)
(23,0)-->(15,8)
(23,1)-->(14,9)
(23,2)-->(13,10)
(23,3)-->(12,11)
(23,4)-->(11,12)
(23,5)-->(10,13)
(23,6)-->(9,14)
(23,7)-->(8,15)
(23,8)-->(7,16)
(23,9)-->(6,17)
(23,10)-->(5,18)
(23,11)-->(4,19)
(23,12)-->(3,20)
(23,13)-->(2,21)
(23,14)-->(1,22)
(23,15)-->(0,23)
(23,16)-->(30,24)
(23,17)-->(29,25)
(23,18)-->(28,26)
(23,19)-->(27,27)
(23,20)-->(26,28)
(23,21)-->(25,29)
(23,22)-->(24,30)
(23,23)-->(23,0)
(23,24)-->(22,1)
(23,25)-->(21,2)
(23,26)-->(20,3)
(23,27)-->(19,4)
(23,28)-->(18,5)
(23,29)-->(17,6)
(23,30)-->(16,7)
(24,0)-->(17,7)
(24,1)-->(16,8)
(24,2)-->(15,9)
(24,3)-->(14,10)
(24,4)-->(13,11)
(24,5)-->(12,12)
(24,6)-->(11,13)
(24,7)-->(10,14)
(24,8)-->(9,15)
(24,9)-->(8,16)
(24,10)-->(7,17)
(24,11)-->(6,18)
(24,12)-->(5,19)
(24,13)-->(4,20)
(24,14)-->(3,21)
(24,15)-->(2,22)
(24,16)-->(1,23)
(24,17)-->(0,24)
(24,18)-->(30,25)
(24,19)-->(29,26)
(24,20)-->(28,27)
(24,21)-->(27,28)
(24,22)-->(26,29)
(24,23)-->(25,30)
(24,24)-->(24,0)
(24,25)-->(23,1)
(24,26)-->(22,2)
(24,27)-->(21,3)
(24,28)-->(20,4)
(24,29)-->(19,5)
(24,30)-->(18,6)
(25,0)-->(19,6)
(25,1)-->(18,7)
(25,2)-->(17,8)
(25,3)-->(16,9)
(25,4)-->(15,10)
(25,5)-->(14,11)
(25,6)-->(13,12)
(25,7)-->(12,13)
(25,8)-->(11,14)
(25,9)-->(10,15)
(25,10)-->(9,16)
(25,11)-->(8,17)
(25,12)-->(7,18)
(25,13)-->(6,19)
(25,14)-->(5,20)
(25,15)-->(4,21)
(25,16)-->(3,22)
(25,17)-->(2,23)
(25,18)-->(1,24)
(25,19)-->(0,25)
(25,20)-->(30,26)
(25,21)-->(29,27)
(25,22)-->(28,28)
(25,23)-->(27,29)
(25,24)-->(26,30)
(25,25)-->(25,0)
(25,26)-->(24,1)
(25,27)-->(23,2)
(25,28)-->(22,3)
(25,29)-->(21,4)
(25,30)-->(20,5)
(26,0)-->(21,5)
(26,1)-->(20,6)
(26,2)-->(19,7)
(26,3)-->(18,8)
(26,4)-->(17,9)
(26,5)-->(16,10)
(26,6)-->(15,11)
(26,7)-->(14,12)
(26,8)-->(13,13)
(26,9)-->(12,14)
(26,10)-->(11,15)
(26,11)-->(10,16)
(26,12)-->(9,17)
(26,13)-->(8,18)
(26,14)-->(7,19)
(26,15)-->(6,20)
(26,16)-->(5,21)
(26,17)-->(4,22)
(26,18)-->(3,23)
(26,19)-->(2,24)
(26,20)-->(1,25)
(26,21)-->(0,26)
(26,22)-->(30,27)
(26,23)-->(29,28)
(26,24)-->(28,29)
(26,25)-->(27,30)
(26,26)-->(26,0)
(26,27)-->(25,1)
(26,28)-->(24,2)
(26,29)-->(23,3)
(26,30)-->(22,4)
(27,0)-->(23,4)
(27,1)-->(22,5)
(27,2)-->(21,6)
(27,3)-->(20,7)
(27,4)-->(19,8)
(27,5)-->(18,9)
(27,6)-->(17,10)
(27,7)-->(16,11)
(27,8)-->(15,12)
(27,9)-->(14,13)
(27,10)-->(13,14)
(27,11)-->(12,15)
(27,12)-->(11,16)
(27,13)-->(10,17)
(27,14)-->(9,18)
(27,15)-->(8,19)
(27,16)-->(7,20)
(27,17)-->(6,21)
(27,18)-->(5,22)
(27,19)-->(4,23)
(27,20)-->(3,24)
(27,21)-->(2,25)
(27,22)-->(1,26)
(27,23)-->(0,27)
(27,24)-->(30,28)
(27,25)-->(29,29)
(27,26)-->(28,30)
(27,27)-->(27,0)
(27,28)-->(26,1)
(27,29)-->(25,2)
(27,30)-->(24,3)
(28,0)-->(25,3)
(28,1)-->(24,4)
(28,2)-->(23,5)
(28,3)-->(22,6)
(28,4)-->(21,7)
(28,5)-->(20,8)
(28,6)-->(19,9)
(28,7)-->(18,10)
(28,8)-->(17,11)
(28,9)-->(16,12)
(28,10)-->(15,13)
(28,11)-->(14,14)
(28,12)-->(13,15)
(28,13)-->(12,16)
(28,14)-->(11,17)
(28,15)-->(10,18)
(28,16)-->(9,19)
(28,17)-->(8,20)
(28,18)-->(7,21)
(28,19)-->(6,22)
(28,20)-->(5,23)
(28,21)-->(4,24)
(28,22)-->(3,25)
(28,23)-->(2,26)
(28,24)-->(1,27)
(28,25)-->(0,28)
(28,26)-->(30,29)
(28,27)-->(29,30)
(28,28)-->(28,0)
(28,29)-->(27,1)
(28,30)-->(26,2)
(29,0)-->(27,2)
(29,1)-->(26,3)
(29,2)-->(25,4)
(29,3)-->(24,5)
(29,4)-->(23,6)
(29,5)-->(22,7)
(29,6)-->(21,8)
(29,7)-->(20,9)
(29,8)-->(19,10)
(29,9)-->(18,11)
(29,10)-->(17,12)
(29,11)-->(16,13)
(29,12)-->(15,14)
(29,13)-->(14,15)
(29,14)-->(13,16)
(29,15)-->(12,17)
(29,16)-->(11,18)
(29,17)-->(10,19)
(29,18)-->(9,20)
(29,19)-->(8,21)
(29,20)-->(7,22)
(29,21)-->(6,23)
(29,22)-->(5,24)
(29,23)-->(4,25)
(29,24)-->(3,26)
(29,25)-->(2,27)
(29,26)-->(1,28)
(29,27)-->(0,29)
(29,28)-->(30,30)
(29,29)-->(29,0)
(29,30)-->(28,1)
(30,0)-->(29,1)
(30,1)-->(28,2)
(30,2)-->(27,3)
(30,3)-->(26,4)
(30,4)-->(25,5)
(30,5)-->(24,6)
(30,6)-->(23,7)
(30,7)-->(22,8)
(30,8)-->(21,9)
(30,9)-->(20,10)
(30,10)-->(19,11)
(30,11)-->(18,12)
(30,12)-->(17,13)
(30,13)-->(16,14)
(30,14)-->(15,15)
(30,15)-->(14,16)
(30,16)-->(13,17)
(30,17)-->(12,18)
(30,18)-->(11,19)
(30,19)-->(10,20)
(30,20)-->(9,21)
(30,21)-->(8,22)
(30,22)-->(7,23)
(30,23)-->(6,24)
(30,24)-->(5,25)
(30,25)-->(4,26)
(30,26)-->(3,27)
(30,27)-->(2,28)
(30,28)-->(1,29)
(30,29)-->(0,30)
(30,30)-->(30,0)