-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDATUM.C
97 lines (95 loc) · 27.3 KB
/
DATUM.C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#include "DATUM.H"
const unsigned int pal[PAL_SIZE] = {
0x00FF00FF,
0x00000000,
0x00FF309C,
0x00FFCECD,
0x00FF99CD,
0x00CD999C,
0x00CD659C,
0x00525552,
0x00623062,
0x00620031,
0x00CDCECD,
0x00EEEEEE,
0x00FFFFFF,
0x00BEF6FF,
0x0065CAFF,
0x0000A8FF,
0x009C0062,
0x00FFCEFF,
0x00626562
};
const unsigned char quilt[QUILT_SIZE] = {
0,0,0,0,0,0,0,0,12,12,12,12,12,0,0,0,12,12,12,12,0,0,0,0,0,0,0,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,12,12,12,0,0,0,12,12,12,12,0,0,0,0,0,0,0,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,12,12,1,1,1,12,12,12,12,12,1,1,12,12,12,12,12,0,12,12,12,1,1,1,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,1,1,1,12,12,12,12,12,1,1,12,12,12,12,12,0,12,12,12,1,1,1,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,12,1,2,2,2,1,1,1,12,12,1,3,1,12,1,1,12,12,12,1,1,2,2,2,2,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,12,12,12,0,0,0,12,12,12,12,0,0,0,0,0,0,0,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,1,2,2,2,1,1,1,12,12,1,3,1,12,1,1,12,12,12,1,1,2,2,2,2,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,12,12,12,0,0,0,12,12,12,12,0,0,0,0,0,0,0,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,12,1,2,2,2,2,4,4,1,12,1,5,3,1,3,1,12,12,1,4,4,2,2,2,2,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,1,1,1,12,12,12,12,12,1,1,12,12,12,12,12,0,12,12,12,1,1,1,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,1,2,2,2,2,4,4,1,12,1,5,3,1,3,1,12,12,1,4,4,2,2,2,2,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,1,1,1,12,12,12,12,12,1,1,12,12,12,12,12,0,12,12,12,1,1,1,1,12,12,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,12,12,1,2,2,2,4,4,4,6,1,7,7,7,5,7,7,1,1,8,6,4,4,2,2,2,9,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,12,1,2,2,2,1,1,1,12,12,1,3,1,12,1,1,12,12,12,1,1,2,2,2,2,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,1,2,2,2,4,4,4,6,1,7,7,7,5,7,7,1,1,8,6,4,4,2,2,2,9,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,12,1,2,2,2,1,1,1,12,12,1,3,1,12,1,1,12,12,12,1,1,2,2,2,2,1,12,0,0,0,0,0,0,0,0,
0,0,0,0,0,12,12,1,9,2,2,4,4,4,8,8,5,3,3,3,7,3,3,3,3,5,8,6,4,4,2,2,9,10,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,12,1,2,2,2,2,4,4,1,12,1,5,3,1,3,1,12,12,1,4,4,2,2,2,2,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,12,12,1,9,2,2,4,4,4,8,8,5,3,3,3,7,3,3,3,3,5,8,6,4,4,2,2,9,10,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,12,1,2,2,2,2,4,4,1,12,1,5,3,1,3,1,12,12,1,4,4,2,2,2,2,1,12,12,0,0,0,0,0,0,0,
0,0,0,0,0,12,1,10,8,4,4,4,4,8,5,3,3,11,3,3,3,3,3,3,11,3,5,8,6,4,4,4,8,10,1,12,0,0,0,0,0,0,0,0,0,0,0,0,12,12,1,2,2,2,4,4,4,6,1,7,7,7,5,7,7,1,1,8,6,4,4,2,2,2,9,1,12,12,0,0,0,0,0,0,0,0,0,0,0,12,1,10,8,4,4,4,4,8,5,3,3,11,3,3,3,3,3,3,11,3,5,8,6,4,4,4,8,10,1,12,0,0,0,0,0,0,0,0,0,0,0,0,12,12,1,2,2,2,4,4,4,6,1,7,7,7,5,7,7,1,1,8,6,4,4,2,2,2,9,1,12,12,0,0,0,0,0,0,
0,0,0,0,12,12,1,12,8,4,4,4,6,8,3,3,3,3,11,11,3,3,11,11,3,7,3,3,8,4,4,4,8,12,1,12,0,0,0,0,0,0,0,0,0,0,0,12,12,1,9,2,2,4,4,4,8,8,5,3,3,3,7,3,3,3,3,5,8,6,4,4,2,2,9,10,1,12,0,0,0,0,0,0,0,0,0,0,12,12,1,12,8,4,4,4,6,8,3,3,3,3,11,11,3,3,11,11,3,7,3,3,8,4,4,4,8,12,1,12,0,0,0,0,0,0,0,0,0,0,0,12,12,1,9,2,2,4,4,4,8,8,5,3,3,3,7,3,3,3,3,5,8,6,4,4,2,2,9,10,1,12,0,0,0,0,0,0,
0,0,0,0,12,1,10,12,8,4,4,4,8,5,3,3,7,3,3,3,7,3,3,3,3,3,7,3,8,4,4,4,8,12,1,12,0,0,0,0,0,0,0,0,0,0,0,12,1,10,8,4,4,4,4,8,5,3,3,11,3,3,3,3,3,3,11,3,5,8,6,4,4,4,8,10,1,12,0,0,0,0,0,0,0,0,0,0,12,1,10,12,8,4,4,4,8,5,3,3,7,3,3,3,7,3,3,3,3,3,7,3,8,4,4,4,8,12,1,12,0,0,0,0,0,0,0,0,0,0,0,12,1,10,8,4,4,4,4,8,5,3,3,11,3,3,3,3,3,3,11,3,5,8,6,4,4,4,8,10,1,12,0,0,0,0,0,0,
0,0,0,0,12,12,1,10,8,4,4,6,8,3,3,7,3,3,3,3,1,5,3,3,3,3,1,3,8,4,4,4,8,1,12,12,0,0,0,0,0,0,0,0,0,0,12,12,1,12,8,4,4,4,6,8,3,3,3,3,11,11,3,3,11,11,3,7,3,3,8,4,4,4,8,12,1,12,0,0,0,0,0,0,0,0,0,0,12,12,1,10,8,4,4,6,8,3,3,7,3,3,3,3,1,5,3,3,3,3,1,3,8,4,4,4,8,1,12,12,0,0,0,0,0,0,0,0,0,0,12,12,1,12,8,4,4,4,6,8,3,3,3,3,11,11,3,3,11,11,3,7,3,3,8,4,4,4,8,12,1,12,0,0,0,0,0,0,
0,0,0,0,0,12,12,1,10,8,4,8,5,7,3,1,3,3,3,5,1,1,5,3,3,3,1,3,8,6,4,8,10,1,12,12,0,0,0,0,0,0,0,0,0,0,12,1,10,12,8,4,4,4,8,5,3,3,7,3,3,3,7,3,3,3,3,3,7,3,8,4,4,4,8,12,1,12,0,0,0,0,0,0,0,0,0,0,0,12,12,1,10,8,4,8,5,7,3,1,3,3,3,5,1,1,5,3,3,3,1,3,8,6,4,8,10,1,12,12,0,0,0,0,0,0,0,0,0,0,12,1,10,12,8,4,4,4,8,5,3,3,7,3,3,3,7,3,3,3,3,3,7,3,8,4,4,4,8,12,1,12,0,0,0,0,0,0,
0,0,0,0,0,12,12,1,10,8,4,8,3,1,3,1,3,3,5,1,4,4,1,1,1,1,1,5,5,8,8,1,12,12,1,12,0,0,0,0,0,0,0,0,0,0,12,12,1,10,8,4,4,6,8,3,3,7,3,3,3,3,1,5,3,3,3,3,1,3,8,4,4,4,8,1,12,12,0,0,0,0,0,0,0,0,0,0,0,12,12,1,10,8,4,8,3,1,3,1,3,3,5,1,4,4,1,1,1,1,1,5,5,8,8,1,12,12,1,12,0,0,0,0,0,0,0,0,0,0,12,12,1,10,8,4,4,6,8,3,3,7,3,3,3,3,1,5,3,3,3,3,1,3,8,4,4,4,8,1,12,12,0,0,0,0,0,0,
0,0,0,0,0,12,1,12,12,1,1,8,5,1,5,1,1,1,1,4,4,4,4,4,4,4,4,1,1,5,1,12,1,1,1,12,12,12,12,12,0,0,0,0,0,0,0,12,12,1,10,8,4,8,5,7,3,1,3,3,3,5,1,1,5,3,3,3,1,3,8,6,4,8,10,1,12,12,0,0,0,0,0,0,0,0,0,0,0,12,1,12,12,1,1,8,5,1,5,1,1,1,1,4,4,4,4,4,4,4,4,1,1,5,1,12,1,1,1,12,0,0,0,0,0,0,0,0,0,0,0,12,12,1,10,8,4,8,5,7,3,1,3,3,3,5,1,1,5,3,3,3,1,3,8,6,4,8,10,1,12,12,0,0,0,0,0,0,
0,0,0,0,0,12,12,1,1,12,12,1,5,1,1,4,4,4,4,4,4,4,4,4,1,1,4,4,1,1,1,12,12,12,12,12,13,14,1,12,0,0,0,0,0,0,0,12,12,1,10,8,4,8,3,1,3,1,3,3,5,1,4,4,1,1,1,1,1,5,5,8,8,1,12,12,1,12,0,0,0,0,0,0,0,0,0,12,12,12,12,1,1,12,12,1,5,1,1,4,4,4,4,4,4,4,4,4,1,1,4,4,1,1,1,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,12,12,1,10,8,4,8,3,1,3,1,3,3,5,1,4,4,1,1,1,1,1,5,5,8,8,1,12,12,1,12,0,0,0,0,0,0,
0,0,0,0,0,0,12,12,12,12,12,12,1,4,4,4,4,1,1,4,4,4,4,1,1,4,4,4,1,12,12,1,12,12,12,14,14,15,1,12,0,0,0,0,0,0,0,12,1,12,12,1,1,8,5,1,5,1,1,1,1,4,4,4,4,4,4,4,4,1,1,5,1,12,1,1,1,12,0,12,12,12,12,0,0,0,0,12,1,14,13,12,12,12,12,12,1,4,4,4,4,1,1,4,4,4,4,1,1,4,4,4,1,12,12,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,12,1,12,12,1,1,8,5,1,5,1,1,1,1,4,4,4,4,4,4,4,4,1,1,5,1,12,1,1,1,12,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,12,12,1,1,1,1,4,4,4,4,1,1,4,4,4,4,1,1,16,16,16,1,1,1,1,12,12,12,1,1,12,12,12,0,0,0,0,0,0,12,12,1,1,12,12,1,5,1,1,4,4,4,4,4,4,4,4,4,1,1,4,4,1,1,1,12,12,12,12,12,0,12,14,1,12,12,0,0,0,12,1,15,15,14,12,12,1,1,1,1,4,4,4,4,1,1,4,4,4,4,1,1,16,16,16,1,1,1,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,1,1,12,12,1,5,1,1,4,4,4,4,4,4,4,4,4,1,1,4,4,1,1,1,12,12,12,12,12,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,12,1,10,12,12,10,1,4,4,1,1,4,4,4,4,4,4,4,4,4,4,4,1,1,1,12,0,12,12,13,14,1,12,0,0,0,0,0,0,0,12,12,12,12,12,12,1,4,4,4,4,1,1,4,4,4,4,1,1,4,4,4,1,12,12,1,12,12,0,0,0,12,1,15,1,12,0,0,12,12,12,1,1,12,12,1,10,12,12,10,1,4,4,1,1,4,4,4,4,4,4,4,4,4,4,4,1,1,1,12,0,0,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,1,4,4,4,4,1,1,4,4,4,4,1,1,4,4,4,1,12,12,1,12,12,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,12,12,1,10,12,12,17,2,4,2,17,17,12,12,12,12,12,12,12,12,12,12,12,10,1,12,0,0,12,14,15,1,12,0,0,0,0,0,0,0,0,0,12,12,1,1,1,1,4,4,4,4,1,1,4,4,4,4,1,1,16,16,16,1,1,1,1,12,0,0,0,12,12,1,12,12,0,0,12,1,15,14,12,12,12,12,1,10,12,12,17,2,4,2,17,17,12,12,12,12,12,12,12,12,12,12,12,10,1,12,0,0,0,0,0,0,0,0,0,12,12,1,14,12,0,0,12,12,1,1,1,1,4,4,4,4,1,1,4,4,4,4,1,1,16,16,16,1,1,1,1,12,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,12,12,1,1,1,12,12,2,12,2,12,12,12,12,12,12,12,12,12,12,12,10,1,12,12,0,0,12,1,1,12,12,0,0,0,0,0,0,0,0,0,12,1,10,12,12,10,1,4,4,1,1,4,4,4,4,4,4,4,4,4,4,4,1,1,1,12,0,0,0,0,12,12,12,12,0,0,12,12,1,1,12,0,0,12,12,1,1,1,12,12,2,12,2,12,12,12,12,12,12,12,12,12,12,12,10,1,12,12,0,0,0,0,0,0,0,0,0,12,1,15,1,12,0,0,12,1,10,12,12,10,1,4,4,1,1,4,4,4,4,4,4,4,4,4,4,4,1,1,1,12,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,12,1,10,12,12,12,12,12,12,12,12,12,12,12,10,18,1,1,1,1,1,1,12,12,0,0,0,12,12,12,12,0,0,0,0,0,0,0,0,0,0,12,12,1,10,12,12,17,2,4,2,17,17,12,12,12,12,12,12,12,12,12,12,12,10,1,12,0,0,0,0,0,12,15,12,0,0,0,12,12,12,12,0,0,12,1,10,12,12,12,12,12,12,12,12,12,12,12,10,18,1,1,1,1,1,1,12,12,0,0,0,0,0,0,0,0,0,12,12,12,1,12,12,0,0,12,12,1,10,12,12,17,2,4,2,17,17,12,12,12,12,12,12,12,12,12,12,12,10,1,12,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,12,12,12,12,1,1,1,1,10,12,12,12,12,12,12,1,18,10,12,12,12,1,1,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,1,1,1,12,12,2,12,2,12,12,12,12,12,12,12,12,12,12,12,10,1,12,12,0,0,0,0,0,12,1,12,0,0,0,0,0,0,0,12,12,12,12,1,1,1,1,10,12,12,12,12,12,12,1,18,10,12,12,12,1,1,12,12,12,12,12,0,0,0,0,0,0,0,12,15,12,12,12,0,0,0,0,12,12,1,1,1,12,12,2,12,2,12,12,12,12,12,12,12,12,12,12,12,10,1,12,12,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,12,1,1,1,1,1,1,1,1,10,12,12,12,12,12,12,12,12,12,12,1,1,1,1,1,1,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,1,10,12,12,12,12,12,12,12,12,12,12,12,10,18,1,1,1,1,1,1,12,12,0,0,0,0,0,0,12,12,12,0,0,0,0,0,12,12,12,1,1,1,1,1,1,1,1,10,12,12,12,12,12,12,12,12,12,12,1,1,1,1,1,1,1,12,0,0,0,0,0,0,0,12,1,12,0,0,0,0,0,0,12,1,10,12,12,12,12,12,12,12,12,12,12,12,10,18,1,1,1,1,1,1,12,12,0,0,0,0,0,0,0,0,0,
0,0,12,12,12,12,12,12,1,2,2,2,17,12,10,1,1,1,1,10,12,12,12,12,1,1,1,10,12,17,2,2,2,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,1,1,1,1,10,12,12,12,12,12,12,1,18,10,12,12,12,1,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,1,1,1,2,2,2,17,12,10,1,1,1,1,10,12,12,12,12,1,1,1,10,12,17,2,2,2,1,12,0,0,0,0,0,0,0,12,12,12,0,12,12,12,12,0,12,12,1,1,1,1,10,12,12,12,12,12,12,1,18,10,12,12,12,1,1,12,12,0,0,0,0,0,0,0,0,0,0,
0,0,12,1,1,1,12,1,1,1,16,2,12,12,12,12,10,10,10,1,1,1,1,1,10,10,10,12,12,12,2,16,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,12,12,12,12,12,12,1,1,1,1,1,10,12,12,12,12,12,12,12,12,12,12,1,1,1,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,12,1,2,1,1,1,16,2,12,12,12,12,10,10,10,1,1,1,1,1,10,10,10,12,12,12,2,16,1,12,12,0,0,0,0,0,0,0,0,0,0,0,12,1,1,12,12,12,12,12,1,1,1,1,10,12,12,12,12,12,12,12,12,12,12,1,1,1,12,12,12,0,0,0,0,0,0,0,0,0,
0,0,12,1,2,2,1,2,2,2,1,1,10,12,12,12,12,12,12,12,10,10,10,12,12,12,12,12,12,10,1,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,12,1,1,1,1,1,1,17,12,10,1,1,1,1,10,12,12,12,12,1,1,1,10,12,17,1,1,12,12,12,0,0,0,0,0,0,0,0,0,0,12,12,1,2,2,9,2,1,1,10,12,12,12,12,12,12,12,10,10,10,12,12,12,12,12,12,10,1,1,12,12,0,0,0,0,0,0,0,0,0,0,0,12,12,1,2,1,12,12,1,1,17,12,10,1,1,1,1,10,12,12,12,12,1,1,1,10,12,17,1,1,12,12,12,0,0,0,0,0,0,0,
0,0,12,12,1,2,2,9,2,2,2,2,1,1,10,12,12,12,12,12,12,12,12,12,12,12,12,10,1,1,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,1,2,1,1,16,2,12,12,12,12,10,10,10,1,1,1,1,1,10,10,10,12,12,12,2,16,1,1,12,0,0,0,0,0,0,0,0,0,0,12,1,2,2,2,2,2,2,2,1,1,10,12,12,12,12,12,12,12,12,12,12,12,12,10,1,1,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,12,1,2,2,9,1,1,16,2,12,12,12,12,10,10,10,1,1,1,1,1,10,10,10,12,12,12,2,16,1,1,12,0,0,0,0,0,0,0,
0,0,0,12,1,2,2,2,2,2,2,2,2,10,1,18,12,12,12,12,12,12,12,12,12,12,18,1,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,1,1,2,2,2,10,12,12,12,12,12,12,12,10,10,10,12,12,12,12,12,12,10,2,2,2,1,12,0,0,0,0,0,0,0,0,0,0,12,1,2,2,2,2,2,2,2,17,10,1,18,12,12,12,12,12,12,12,12,12,12,18,1,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,1,2,2,9,1,2,2,2,10,12,12,12,12,12,12,12,10,10,10,12,12,12,12,12,12,10,2,2,2,1,12,0,0,0,0,0,0,0,
0,0,0,12,12,1,2,2,2,2,17,12,12,12,10,1,12,12,12,12,12,12,12,12,12,12,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,1,2,1,1,1,1,1,10,12,12,12,12,12,12,12,12,12,12,12,12,10,1,1,1,1,1,12,12,0,0,0,0,0,0,0,0,0,0,12,1,2,2,2,2,2,17,12,12,12,10,1,12,12,12,12,12,12,12,12,12,12,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,1,2,2,2,2,1,1,1,1,1,10,12,12,12,12,12,12,12,12,12,12,12,12,10,1,1,1,1,1,12,12,0,0,0,0,0,0,0,
0,0,0,0,12,1,2,2,17,12,12,12,12,12,10,1,17,12,12,12,12,12,12,12,12,17,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,1,2,2,2,2,2,2,1,12,12,12,12,12,12,12,12,12,12,12,18,1,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,12,12,1,2,2,17,12,12,12,12,12,10,1,17,12,12,12,12,12,12,12,12,17,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,1,2,2,2,2,2,2,17,12,10,1,18,12,12,12,12,12,12,12,12,12,12,18,1,12,12,12,12,12,12,0,0,0,0,0,0,0,0,
0,0,0,0,12,1,17,12,12,12,12,12,12,12,10,1,2,17,12,12,12,12,12,12,17,2,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,1,2,2,2,2,2,17,10,1,12,12,12,12,12,12,12,12,12,12,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,1,17,12,12,12,12,12,12,12,10,1,2,17,12,12,12,12,12,12,17,2,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,1,2,2,2,2,2,17,12,12,12,10,1,12,12,12,12,12,12,12,12,12,12,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,12,1,12,12,12,12,12,12,12,12,10,1,17,2,17,10,1,1,10,17,2,17,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,1,2,2,2,17,12,12,12,10,1,12,12,12,17,2,1,12,12,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,1,12,12,12,12,12,12,12,12,10,1,17,2,17,10,1,1,10,17,2,17,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,1,2,2,17,12,12,12,12,12,12,10,1,17,12,12,12,12,12,12,12,12,17,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,12,12,1,10,12,12,12,12,12,10,10,1,2,17,2,1,12,12,1,2,17,2,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,1,12,12,12,12,12,12,10,1,1,17,2,2,17,1,17,17,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,1,10,12,12,12,12,12,10,1,1,2,17,2,1,12,12,1,2,17,2,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,1,12,12,12,12,12,12,12,10,1,17,2,17,12,10,1,1,10,12,17,2,17,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,12,12,1,10,12,12,12,10,1,1,1,2,1,1,12,12,12,12,1,1,2,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,1,10,12,12,12,12,10,1,12,12,1,17,17,2,1,2,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,1,1,10,12,12,10,1,12,1,2,1,1,12,12,12,12,1,1,2,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,1,10,12,12,12,12,12,10,1,1,2,17,2,1,1,12,12,1,1,2,17,2,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,12,12,1,1,1,1,1,12,12,1,1,12,12,12,0,0,12,12,12,1,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,1,10,12,12,10,1,12,12,12,12,1,2,2,1,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,12,1,1,1,1,12,12,1,1,12,12,12,0,0,12,12,12,1,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,1,1,10,12,12,10,1,1,2,2,1,1,12,12,12,12,12,12,1,1,2,2,1,12,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,1,1,1,1,12,12,0,0,12,12,1,1,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,12,1,1,1,1,12,1,1,1,12,12,12,0,0,0,0,12,12,12,1,1,1,12,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,12,12,12,12,0,0,0,0,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,12,12,12,12,12,0,0,0,12,12,12,12,0,0,0,0,0,0,0,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,12,12,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,12,12,1,1,1,12,12,12,12,12,1,1,12,12,12,12,12,0,12,12,12,1,1,1,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,1,1,12,12,12,0,0,12,12,12,1,1,12,12,1,1,1,1,1,12,12,0,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,12,1,2,2,2,1,1,1,12,12,1,3,1,12,1,1,12,12,12,1,1,2,2,2,2,1,12,0,0,0,0,0,0,0,0,0,0,12,12,12,1,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,1,2,1,1,12,12,12,12,1,1,2,1,1,1,10,12,12,12,10,1,12,12,0,0,0,0,0,0,0,12,12,1,1,1,1,12,12,1,1,12,0,0,0,0,0,0,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,12,1,2,2,2,2,4,4,1,12,1,5,3,1,3,1,12,12,1,4,4,2,2,2,2,1,12,12,0,0,0,0,0,12,12,12,12,12,1,1,2,1,12,0,0,0,0,0,0,0,0,0,0,0,0,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,1,2,17,2,1,12,12,1,2,17,2,1,10,10,12,12,12,12,12,10,1,12,12,0,0,0,0,12,12,12,1,10,10,12,12,1,1,12,1,12,12,12,12,12,12,0,12,1,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,12,12,1,2,2,2,4,4,4,6,1,7,7,7,5,7,7,1,1,8,6,4,4,2,2,2,9,1,12,12,0,0,0,12,12,1,1,1,1,2,2,2,1,12,0,0,0,0,0,0,0,0,12,12,12,12,12,1,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,12,1,17,2,17,10,1,1,10,17,2,17,1,10,12,12,12,12,12,12,12,12,1,12,0,0,0,12,12,1,1,9,9,8,8,8,8,10,12,1,12,12,1,1,1,12,12,12,1,2,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,12,12,1,9,2,2,4,4,4,8,8,5,3,3,3,7,3,3,3,3,5,8,6,4,4,2,2,9,10,1,12,0,0,12,12,1,12,17,2,2,2,2,1,12,12,0,0,0,0,0,0,0,12,12,1,12,12,1,10,1,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,12,1,2,17,12,12,12,12,12,12,17,2,1,10,12,12,12,12,12,12,12,17,1,12,0,0,0,12,1,2,2,2,2,4,4,4,4,8,1,12,12,1,1,1,10,1,12,12,1,2,16,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,12,1,10,8,4,4,4,4,8,5,3,3,11,3,3,3,3,3,3,11,3,5,8,6,4,4,4,8,10,1,12,0,12,12,1,10,12,12,2,2,2,9,2,1,12,12,12,0,0,0,0,0,12,1,12,1,1,10,12,12,10,1,12,12,12,12,0,0,0,0,0,0,0,0,0,12,1,17,12,12,12,12,12,12,12,12,17,1,10,12,12,12,12,12,17,2,2,1,12,0,0,0,12,1,2,2,2,2,4,4,4,4,4,8,1,1,12,1,1,12,10,1,12,1,2,2,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,12,12,1,12,8,4,4,4,6,8,3,3,3,3,11,11,3,3,11,11,3,7,3,3,8,4,4,4,8,12,1,12,0,12,1,10,12,12,12,17,2,2,2,2,1,1,1,12,0,0,12,12,12,12,1,12,10,10,8,8,8,8,9,1,1,1,12,12,0,0,0,0,0,0,0,12,12,1,12,12,12,12,12,12,12,12,12,12,1,10,12,12,12,17,2,2,2,2,1,12,12,0,0,12,1,2,2,2,4,4,4,4,4,6,8,5,1,12,1,4,12,12,1,1,1,17,12,10,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,12,1,10,12,8,4,4,4,8,5,3,3,7,3,3,3,7,3,3,3,3,3,7,3,8,4,4,4,8,12,1,12,0,12,1,12,12,12,12,12,2,2,2,2,1,2,1,12,12,12,12,1,12,12,12,1,8,8,4,4,4,4,2,2,2,2,1,12,0,0,0,0,0,12,12,12,1,18,12,12,12,12,12,12,12,12,12,12,18,1,10,2,2,2,2,2,2,2,2,1,12,0,0,12,1,2,2,4,4,6,8,8,8,8,5,1,1,1,16,4,12,12,1,1,1,12,12,12,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,12,12,1,10,8,4,4,6,8,3,3,7,3,3,3,3,1,5,3,3,3,3,1,3,8,4,4,4,8,1,12,12,0,12,1,12,12,12,12,12,17,2,2,1,16,2,1,12,1,12,1,10,1,12,12,1,4,4,4,4,4,4,2,2,2,2,1,12,0,0,0,12,12,12,1,1,10,12,12,12,12,12,12,12,12,12,12,12,12,10,1,1,2,2,2,2,9,2,2,1,12,12,0,12,12,1,4,4,6,8,3,3,3,3,5,1,4,4,16,4,12,12,1,12,1,10,12,12,10,1,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,12,12,1,10,8,4,8,5,7,3,1,3,3,3,5,1,1,5,3,3,3,1,3,8,6,4,8,10,1,12,12,0,12,1,12,12,12,12,12,12,2,2,1,2,2,1,1,10,1,10,12,1,12,1,8,8,8,6,4,4,4,4,2,2,2,1,12,0,0,12,12,1,1,10,12,12,12,12,12,12,10,10,10,12,12,12,12,12,12,12,10,1,1,2,2,2,1,2,2,1,12,0,0,12,1,4,6,8,5,3,7,1,1,1,4,4,4,16,4,12,12,1,12,12,1,10,12,12,18,1,1,1,1,1,1,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,12,12,1,10,8,4,8,3,1,3,1,3,3,5,1,4,4,1,1,1,1,1,5,5,8,8,1,12,12,1,12,0,12,1,10,12,12,12,12,12,2,1,10,12,17,1,1,12,1,12,12,1,1,5,5,3,5,8,8,6,4,4,4,2,1,12,12,0,12,12,1,16,2,12,12,12,10,10,10,1,1,1,1,1,10,10,10,12,12,12,12,2,16,1,1,1,12,1,1,1,12,0,0,12,12,1,8,5,3,7,3,3,3,1,4,4,4,4,4,12,12,1,12,12,1,10,12,12,12,12,17,2,17,2,2,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,12,1,12,12,1,1,8,5,1,5,1,1,1,1,4,4,4,4,4,4,4,4,1,1,5,1,12,1,1,1,12,0,12,12,1,10,12,12,12,12,10,1,12,12,12,1,1,12,1,12,10,1,4,1,1,1,7,3,5,8,8,4,4,4,1,12,0,0,12,1,2,2,2,17,12,10,1,1,1,12,12,12,12,10,1,1,1,1,10,12,17,2,2,2,1,12,12,12,12,12,12,0,0,0,12,12,1,3,11,3,3,3,3,1,4,4,1,4,4,12,12,1,12,12,1,10,12,12,12,12,12,17,2,17,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,12,12,1,1,12,12,1,5,1,1,4,4,4,4,4,4,4,4,4,4,4,4,4,1,1,1,12,12,12,12,12,0,12,12,1,10,10,10,10,10,1,10,12,12,10,1,1,12,12,17,1,4,4,1,5,3,3,3,3,3,5,8,4,4,1,12,0,0,12,1,1,1,1,1,1,1,12,12,12,12,12,12,12,12,12,12,10,1,1,1,1,1,1,1,1,12,0,0,0,0,0,0,0,12,12,12,1,3,3,11,3,3,3,1,4,4,4,4,4,12,12,1,12,12,12,1,12,12,12,12,12,12,17,2,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,12,12,12,12,12,12,1,4,4,4,4,4,4,4,4,4,4,4,1,4,4,4,1,12,12,1,12,12,0,0,0,12,1,1,1,1,1,1,1,18,12,12,12,1,1,10,12,12,2,4,4,4,4,1,1,1,7,3,3,3,8,6,1,12,12,0,0,12,12,12,12,12,1,1,12,12,12,12,12,18,12,12,12,12,12,12,10,1,1,1,1,12,12,12,12,0,0,0,0,0,0,0,12,1,1,7,3,3,11,3,3,5,1,4,4,4,4,4,12,18,1,18,12,12,1,10,12,12,12,12,12,10,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,12,12,1,1,1,1,4,4,4,4,1,4,4,4,4,4,4,4,16,16,16,1,1,1,1,12,0,0,0,12,1,2,2,17,2,17,12,12,12,12,10,1,10,12,12,2,4,4,4,4,4,1,3,3,3,7,3,3,5,1,12,12,12,12,0,0,0,12,12,1,1,1,1,1,1,1,1,1,12,12,12,12,12,12,12,12,12,12,10,1,12,0,0,0,0,0,0,0,0,0,12,1,3,7,3,3,3,3,5,1,4,4,4,4,4,4,12,12,12,12,12,12,1,10,12,12,12,12,12,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,12,1,10,12,12,10,1,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,1,1,12,0,0,0,12,12,1,17,2,17,12,12,12,12,12,10,1,12,12,12,12,2,4,4,4,4,1,3,3,3,3,3,11,3,7,1,1,1,12,0,0,12,12,1,10,12,12,12,12,12,12,12,18,12,12,12,2,12,2,12,12,1,1,1,12,12,0,0,0,0,0,0,0,0,0,12,12,1,5,7,3,3,7,1,1,4,4,4,4,4,4,12,12,12,12,12,12,1,10,12,12,12,12,12,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,12,12,1,10,12,12,17,2,4,2,17,17,12,12,12,12,12,12,12,12,12,12,12,10,1,12,0,0,0,0,12,1,2,17,12,12,12,12,12,12,10,1,12,12,12,2,17,4,1,4,4,1,5,3,3,3,11,3,3,7,5,3,1,12,0,0,12,1,10,12,12,12,12,12,12,12,12,12,12,12,17,17,2,4,2,17,12,12,10,1,12,12,0,0,0,0,0,0,0,12,12,1,3,7,3,3,11,3,3,5,1,4,4,4,4,4,17,12,12,12,12,10,1,12,12,12,12,12,12,10,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,12,12,1,1,1,12,12,2,12,2,12,12,12,18,12,12,12,12,12,12,12,10,1,12,12,0,0,0,0,12,12,1,10,12,12,12,12,12,12,1,10,12,12,12,12,17,4,4,4,4,4,1,5,3,3,11,3,3,7,3,1,12,12,0,0,12,1,1,1,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,10,12,12,10,1,12,0,0,0,0,0,0,0,12,1,3,5,7,3,3,11,3,3,3,5,1,4,4,1,4,17,2,12,12,12,1,10,12,12,12,12,12,12,17,2,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,12,1,10,12,12,12,12,12,12,12,12,12,12,1,1,1,1,1,1,1,1,1,12,12,0,0,0,0,0,0,12,12,1,12,12,12,12,12,10,1,12,12,12,12,12,12,4,4,4,4,4,4,1,1,7,3,3,7,5,1,12,12,0,0,0,12,1,1,1,1,16,16,16,4,4,4,4,4,4,4,1,4,4,4,4,1,1,1,1,12,12,0,0,0,0,0,0,0,12,1,1,1,7,3,11,3,3,3,3,3,1,4,4,4,4,2,12,12,12,12,1,10,12,12,12,12,12,17,2,17,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,12,12,12,12,1,1,1,1,10,12,12,12,12,12,12,18,12,12,12,12,12,1,1,12,12,12,12,12,0,0,0,0,12,12,1,12,12,12,12,12,10,1,12,12,12,12,12,12,4,4,4,4,4,4,1,5,3,3,3,3,7,3,1,12,0,0,0,12,12,1,12,12,1,4,4,4,1,4,4,4,4,4,4,4,4,4,4,4,1,12,12,12,12,12,12,0,0,0,0,0,12,12,12,12,1,5,3,3,7,3,3,3,1,4,4,4,4,4,2,12,12,10,1,10,12,12,12,12,17,2,17,2,2,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,12,1,1,1,1,1,1,1,1,10,12,12,12,12,12,12,12,12,12,12,1,1,1,1,1,1,1,12,0,0,0,12,12,1,10,12,12,12,12,12,10,1,12,12,18,1,18,12,4,4,4,4,4,1,5,3,3,11,3,3,7,1,1,12,0,12,12,12,12,12,1,1,1,4,4,4,4,4,4,4,4,4,4,4,4,4,1,1,5,1,12,12,1,1,12,12,0,0,0,0,0,12,12,1,6,8,3,3,3,7,1,1,1,4,4,4,4,2,12,12,10,1,1,12,12,12,18,1,1,1,1,1,1,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,1,2,2,2,17,12,10,1,1,1,1,10,12,12,12,12,1,1,1,10,12,17,2,2,2,1,12,0,0,0,12,1,2,17,12,12,12,12,12,12,1,12,12,12,1,12,12,4,4,4,4,4,1,3,3,3,11,3,3,1,12,12,12,0,12,1,1,1,12,1,5,1,1,4,4,4,4,4,4,4,4,1,1,1,1,5,1,5,8,1,1,12,12,1,12,0,0,0,0,0,12,1,4,4,8,5,3,3,3,3,3,5,1,4,4,1,17,12,12,1,1,10,12,12,10,1,10,10,10,10,10,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,1,1,1,12,1,1,1,16,2,12,12,12,12,10,10,10,1,1,1,1,1,10,10,10,12,12,12,2,16,1,12,12,0,0,12,12,1,17,2,17,12,12,12,12,12,10,1,12,12,1,12,12,4,4,1,4,4,1,3,3,3,3,11,3,1,12,12,0,0,12,1,12,12,1,8,8,5,5,1,1,1,1,1,4,4,1,5,3,3,1,3,1,3,8,4,8,10,1,12,12,0,0,0,0,0,12,1,4,4,4,8,8,5,3,7,1,1,1,4,1,10,12,1,12,1,1,12,12,12,1,10,12,12,12,12,10,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,1,2,2,1,2,2,2,1,1,10,12,12,12,12,12,12,12,10,10,10,12,12,12,12,12,12,10,1,1,12,12,0,0,0,12,1,2,2,17,2,17,12,12,12,12,10,1,12,12,1,12,12,4,4,4,4,4,1,3,3,3,7,3,5,8,1,12,12,0,12,12,1,10,8,4,6,8,3,1,3,3,3,5,1,1,5,3,3,3,1,3,7,5,8,4,8,10,1,12,12,0,0,0,0,12,12,1,2,4,4,4,6,8,8,5,3,5,5,1,1,12,12,1,12,1,1,17,12,10,1,2,12,12,12,12,12,10,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,1,2,2,9,2,2,2,2,1,1,10,12,12,12,12,12,12,12,12,12,12,12,12,10,1,1,12,12,12,0,0,0,0,12,1,1,1,1,1,1,1,18,12,12,10,1,12,12,1,12,12,4,16,4,4,4,1,1,1,7,3,5,8,6,4,1,12,0,12,12,1,8,4,4,4,8,3,1,3,3,3,3,5,1,3,3,3,3,7,3,3,8,6,4,4,8,10,1,12,12,0,0,0,12,1,2,2,2,4,4,4,4,6,8,8,8,1,12,1,12,10,1,10,1,1,2,2,1,2,2,12,12,12,12,12,12,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,12,1,2,2,2,2,2,2,2,2,10,1,18,12,12,12,12,12,12,12,12,12,12,18,1,12,12,12,0,0,0,0,0,0,12,12,12,12,12,12,12,12,1,10,12,12,10,1,12,1,12,12,4,16,4,4,1,5,3,3,3,3,8,6,4,4,1,12,12,12,1,12,8,4,4,4,8,3,7,3,3,3,3,3,7,3,3,3,7,3,3,5,8,4,4,4,8,12,10,1,12,0,0,0,12,1,2,2,2,2,4,4,4,4,4,4,1,12,12,1,10,1,12,1,12,1,2,16,1,2,2,17,12,12,12,12,12,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,12,12,1,2,2,2,2,17,12,12,12,10,1,12,12,12,12,12,12,12,12,12,12,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,1,12,12,12,1,1,1,12,12,4,16,1,1,1,5,8,8,8,8,6,4,4,2,2,1,12,12,1,12,8,4,4,4,8,3,3,7,3,11,11,3,3,11,11,3,3,3,3,8,6,4,4,4,8,12,1,12,12,0,0,0,12,1,2,2,2,2,4,4,4,4,8,8,1,12,12,12,1,12,12,12,12,1,2,1,2,2,2,2,12,12,12,12,12,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,12,1,2,2,17,12,12,12,12,12,10,1,17,12,12,12,12,12,12,12,12,17,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,1,10,12,17,1,1,1,12,12,4,1,12,1,5,8,6,4,4,4,4,4,2,2,2,1,12,12,1,10,8,4,4,4,6,8,5,3,11,3,3,3,3,3,3,11,3,3,5,8,4,4,4,4,8,10,1,12,0,0,0,0,12,12,1,1,1,9,8,8,8,8,10,10,12,1,12,12,12,12,0,0,12,1,1,1,2,2,2,2,17,12,12,12,10,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,12,1,17,12,12,12,12,12,12,12,10,1,2,17,12,12,12,12,12,12,17,2,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,1,2,2,1,12,1,10,12,1,1,12,1,1,8,4,4,4,4,4,2,2,2,2,1,12,12,1,10,9,2,2,4,4,6,8,5,3,3,3,3,7,3,3,3,5,8,8,4,4,4,2,2,9,1,12,12,0,0,0,0,0,12,12,12,12,1,10,12,12,10,1,1,12,1,12,0,0,0,0,0,12,12,12,1,2,9,2,2,2,12,12,10,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,12,1,12,12,12,12,12,12,12,12,10,1,17,2,17,10,1,1,10,17,2,17,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,1,16,2,1,12,12,1,10,1,1,1,12,12,1,8,4,4,4,4,2,2,2,2,1,12,12,12,1,9,2,2,2,4,4,6,8,1,1,7,7,5,7,7,7,1,6,4,4,4,2,2,2,1,12,12,0,0,0,0,0,0,0,0,0,12,12,1,1,10,1,12,12,1,12,12,0,0,0,0,0,0,0,12,12,1,2,2,2,2,17,12,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,12,12,1,10,12,12,12,12,12,10,10,1,2,17,2,1,12,12,1,2,17,2,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,1,2,1,12,12,12,1,1,1,12,12,1,12,10,8,8,8,8,9,9,1,1,12,12,0,12,12,1,2,2,2,2,4,4,1,12,12,1,3,1,3,5,1,12,1,4,4,2,2,2,2,1,12,0,0,0,0,0,0,0,0,0,0,0,12,12,12,1,12,12,12,12,12,0,0,0,0,0,0,0,0,12,1,2,2,2,1,1,1,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,12,12,1,10,12,12,12,10,1,1,1,2,1,1,12,12,12,12,1,1,2,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,1,1,12,0,12,12,12,12,12,12,1,12,1,1,12,12,10,10,1,12,12,12,0,0,0,12,1,2,2,2,2,1,1,12,12,12,1,1,12,1,3,1,12,12,1,1,1,2,2,2,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,12,1,2,1,1,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,12,12,1,1,1,1,1,12,12,1,1,12,12,12,0,0,12,12,12,1,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,12,12,0,0,0,0,0,0,12,1,1,12,12,1,1,1,1,12,12,0,0,0,0,0,12,12,1,1,1,1,12,12,12,0,12,12,12,12,12,1,1,12,12,12,12,12,1,1,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,1,1,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,12,12,12,12,12,12,0,0,0,0,0,0,0,12,12,12,12,0,0,0,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
};