~ubuntu-branches/ubuntu/precise/gnome-games/precise-proposed

« back to all changes in this revision

Viewing changes to glchess/src/chess-bitboard.vala

  • Committer: Package Import Robot
  • Author(s): Rodrigo Moya
  • Date: 2011-05-30 13:32:04 UTC
  • mfrom: (1.3.4)
  • mto: (163.1.3 precise)
  • mto: This revision was merged to the branch mainline in revision 143.
  • Revision ID: package-import@ubuntu.com-20110530133204-celaq1v1dsxc48q1
Tags: upstream-3.0.2
ImportĀ upstreamĀ versionĀ 3.0.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
public class BitBoard
 
2
{
 
3
    /* Bitboard for each location */
 
4
    public static const int64 set_location_masks[] =
 
5
    {
 
6
        0x0000000000000001, 0x0000000000000002, 0x0000000000000004, 0x0000000000000008,
 
7
        0x0000000000000010, 0x0000000000000020, 0x0000000000000040, 0x0000000000000080,
 
8
        0x0000000000000100, 0x0000000000000200, 0x0000000000000400, 0x0000000000000800,
 
9
        0x0000000000001000, 0x0000000000002000, 0x0000000000004000, 0x0000000000008000,
 
10
        0x0000000000010000, 0x0000000000020000, 0x0000000000040000, 0x0000000000080000,
 
11
        0x0000000000100000, 0x0000000000200000, 0x0000000000400000, 0x0000000000800000,
 
12
        0x0000000001000000, 0x0000000002000000, 0x0000000004000000, 0x0000000008000000,
 
13
        0x0000000010000000, 0x0000000020000000, 0x0000000040000000, 0x0000000080000000,
 
14
        0x0000000100000000, 0x0000000200000000, 0x0000000400000000, 0x0000000800000000,
 
15
        0x0000001000000000, 0x0000002000000000, 0x0000004000000000, 0x0000008000000000,
 
16
        0x0000010000000000, 0x0000020000000000, 0x0000040000000000, 0x0000080000000000,
 
17
        0x0000100000000000, 0x0000200000000000, 0x0000400000000000, 0x0000800000000000,
 
18
        0x0001000000000000, 0x0002000000000000, 0x0004000000000000, 0x0008000000000000,
 
19
        0x0010000000000000, 0x0020000000000000, 0x0040000000000000, 0x0080000000000000,
 
20
        0x0100000000000000, 0x0200000000000000, 0x0400000000000000, 0x0800000000000000,
 
21
        0x1000000000000000, 0x2000000000000000, 0x4000000000000000, 0x8000000000000000
 
22
    };
 
23
 
 
24
    /* Mask to clear the given location */
 
25
    public static const int64 clear_location_masks[] =
 
26
    {
 
27
        0xfffffffffffffffe, 0xfffffffffffffffd, 0xfffffffffffffffb, 0xfffffffffffffff7,
 
28
        0xffffffffffffffef, 0xffffffffffffffdf, 0xffffffffffffffbf, 0xffffffffffffff7f,
 
29
        0xfffffffffffffeff, 0xfffffffffffffdff, 0xfffffffffffffbff, 0xfffffffffffff7ff,
 
30
        0xffffffffffffefff, 0xffffffffffffdfff, 0xffffffffffffbfff, 0xffffffffffff7fff,
 
31
        0xfffffffffffeffff, 0xfffffffffffdffff, 0xfffffffffffbffff, 0xfffffffffff7ffff,
 
32
        0xffffffffffefffff, 0xffffffffffdfffff, 0xffffffffffbfffff, 0xffffffffff7fffff,
 
33
        0xfffffffffeffffff, 0xfffffffffdffffff, 0xfffffffffbffffff, 0xfffffffff7ffffff,
 
34
        0xffffffffefffffff, 0xffffffffdfffffff, 0xffffffffbfffffff, 0xffffffff7fffffff,
 
35
        0xfffffffeffffffff, 0xfffffffdffffffff, 0xfffffffbffffffff, 0xfffffff7ffffffff,
 
36
        0xffffffefffffffff, 0xffffffdfffffffff, 0xffffffbfffffffff, 0xffffff7fffffffff,
 
37
        0xfffffeffffffffff, 0xfffffdffffffffff, 0xfffffbffffffffff, 0xfffff7ffffffffff,
 
38
        0xffffefffffffffff, 0xffffdfffffffffff, 0xffffbfffffffffff, 0xffff7fffffffffff,
 
39
        0xfffeffffffffffff, 0xfffdffffffffffff, 0xfffbffffffffffff, 0xfff7ffffffffffff,
 
40
        0xffefffffffffffff, 0xffdfffffffffffff, 0xffbfffffffffffff, 0xff7fffffffffffff,
 
41
        0xfeffffffffffffff, 0xfdffffffffffffff, 0xfbffffffffffffff, 0xf7ffffffffffffff,
 
42
        0xefffffffffffffff, 0xdfffffffffffffff, 0xbfffffffffffffff, 0x7fffffffffffffff
 
43
    };
 
44
 
 
45
    /* Locations moved over for each move */
 
46
    public static const int64 over_masks[] =
 
47
    {
 
48
        0x0000000000000000, 0x0000000000000000, 0x0000000000000002, 0x0000000000000006,
 
49
        0x000000000000000e, 0x000000000000001e, 0x000000000000003e, 0x000000000000007e,
 
50
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
51
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
52
        0x0000000000000100, 0x0000000000000000, 0x0000000000000200, 0x0000000000000000,
 
53
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
54
        0x0000000000010100, 0x0000000000000000, 0x0000000000000000, 0x0000000000040200,
 
55
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
56
        0x0000000001010100, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
57
        0x0000000008040200, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
58
        0x0000000101010100, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
59
        0x0000000000000000, 0x0000001008040200, 0x0000000000000000, 0x0000000000000000,
 
60
        0x0000010101010100, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
61
        0x0000000000000000, 0x0000000000000000, 0x0000201008040200, 0x0000000000000000,
 
62
        0x0001010101010100, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
63
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0040201008040200,
 
64
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000004,
 
65
        0x000000000000000c, 0x000000000000001c, 0x000000000000003c, 0x000000000000007c,
 
66
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
67
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
68
        0x0000000000000000, 0x0000000000000200, 0x0000000000000000, 0x0000000000000400,
 
69
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
70
        0x0000000000000000, 0x0000000000020200, 0x0000000000000000, 0x0000000000000000,
 
71
        0x0000000000080400, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
72
        0x0000000000000000, 0x0000000002020200, 0x0000000000000000, 0x0000000000000000,
 
73
        0x0000000000000000, 0x0000000010080400, 0x0000000000000000, 0x0000000000000000,
 
74
        0x0000000000000000, 0x0000000202020200, 0x0000000000000000, 0x0000000000000000,
 
75
        0x0000000000000000, 0x0000000000000000, 0x0000002010080400, 0x0000000000000000,
 
76
        0x0000000000000000, 0x0000020202020200, 0x0000000000000000, 0x0000000000000000,
 
77
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000402010080400,
 
78
        0x0000000000000000, 0x0002020202020200, 0x0000000000000000, 0x0000000000000000,
 
79
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
80
        0x0000000000000002, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
81
        0x0000000000000008, 0x0000000000000018, 0x0000000000000038, 0x0000000000000078,
 
82
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
83
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
84
        0x0000000000000200, 0x0000000000000000, 0x0000000000000400, 0x0000000000000000,
 
85
        0x0000000000000800, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
86
        0x0000000000000000, 0x0000000000000000, 0x0000000000040400, 0x0000000000000000,
 
87
        0x0000000000000000, 0x0000000000100800, 0x0000000000000000, 0x0000000000000000,
 
88
        0x0000000000000000, 0x0000000000000000, 0x0000000004040400, 0x0000000000000000,
 
89
        0x0000000000000000, 0x0000000000000000, 0x0000000020100800, 0x0000000000000000,
 
90
        0x0000000000000000, 0x0000000000000000, 0x0000000404040400, 0x0000000000000000,
 
91
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000004020100800,
 
92
        0x0000000000000000, 0x0000000000000000, 0x0000040404040400, 0x0000000000000000,
 
93
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
94
        0x0000000000000000, 0x0000000000000000, 0x0004040404040400, 0x0000000000000000,
 
95
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
96
        0x0000000000000006, 0x0000000000000004, 0x0000000000000000, 0x0000000000000000,
 
97
        0x0000000000000000, 0x0000000000000010, 0x0000000000000030, 0x0000000000000070,
 
98
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
99
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
100
        0x0000000000000000, 0x0000000000000400, 0x0000000000000000, 0x0000000000000800,
 
101
        0x0000000000000000, 0x0000000000001000, 0x0000000000000000, 0x0000000000000000,
 
102
        0x0000000000020400, 0x0000000000000000, 0x0000000000000000, 0x0000000000080800,
 
103
        0x0000000000000000, 0x0000000000000000, 0x0000000000201000, 0x0000000000000000,
 
104
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000008080800,
 
105
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000040201000,
 
106
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000808080800,
 
107
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
108
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000080808080800,
 
109
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
110
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0008080808080800,
 
111
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
112
        0x000000000000000e, 0x000000000000000c, 0x0000000000000008, 0x0000000000000000,
 
113
        0x0000000000000000, 0x0000000000000000, 0x0000000000000020, 0x0000000000000060,
 
114
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
115
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
116
        0x0000000000000000, 0x0000000000000000, 0x0000000000000800, 0x0000000000000000,
 
117
        0x0000000000001000, 0x0000000000000000, 0x0000000000002000, 0x0000000000000000,
 
118
        0x0000000000000000, 0x0000000000040800, 0x0000000000000000, 0x0000000000000000,
 
119
        0x0000000000101000, 0x0000000000000000, 0x0000000000000000, 0x0000000000402000,
 
120
        0x0000000002040800, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
121
        0x0000000010101000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
122
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
123
        0x0000001010101000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
124
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
125
        0x0000101010101000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
126
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
127
        0x0010101010101000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
128
        0x000000000000001e, 0x000000000000001c, 0x0000000000000018, 0x0000000000000010,
 
129
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000040,
 
130
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
131
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
132
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000001000,
 
133
        0x0000000000000000, 0x0000000000002000, 0x0000000000000000, 0x0000000000004000,
 
134
        0x0000000000000000, 0x0000000000000000, 0x0000000000081000, 0x0000000000000000,
 
135
        0x0000000000000000, 0x0000000000202000, 0x0000000000000000, 0x0000000000000000,
 
136
        0x0000000000000000, 0x0000000004081000, 0x0000000000000000, 0x0000000000000000,
 
137
        0x0000000000000000, 0x0000000020202000, 0x0000000000000000, 0x0000000000000000,
 
138
        0x0000000204081000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
139
        0x0000000000000000, 0x0000002020202000, 0x0000000000000000, 0x0000000000000000,
 
140
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
141
        0x0000000000000000, 0x0000202020202000, 0x0000000000000000, 0x0000000000000000,
 
142
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
143
        0x0000000000000000, 0x0020202020202000, 0x0000000000000000, 0x0000000000000000,
 
144
        0x000000000000003e, 0x000000000000003c, 0x0000000000000038, 0x0000000000000030,
 
145
        0x0000000000000020, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
146
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
147
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
148
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
149
        0x0000000000002000, 0x0000000000000000, 0x0000000000004000, 0x0000000000000000,
 
150
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000102000,
 
151
        0x0000000000000000, 0x0000000000000000, 0x0000000000404000, 0x0000000000000000,
 
152
        0x0000000000000000, 0x0000000000000000, 0x0000000008102000, 0x0000000000000000,
 
153
        0x0000000000000000, 0x0000000000000000, 0x0000000040404000, 0x0000000000000000,
 
154
        0x0000000000000000, 0x0000000408102000, 0x0000000000000000, 0x0000000000000000,
 
155
        0x0000000000000000, 0x0000000000000000, 0x0000004040404000, 0x0000000000000000,
 
156
        0x0000020408102000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
157
        0x0000000000000000, 0x0000000000000000, 0x0000404040404000, 0x0000000000000000,
 
158
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
159
        0x0000000000000000, 0x0000000000000000, 0x0040404040404000, 0x0000000000000000,
 
160
        0x000000000000007e, 0x000000000000007c, 0x0000000000000078, 0x0000000000000070,
 
161
        0x0000000000000060, 0x0000000000000040, 0x0000000000000000, 0x0000000000000000,
 
162
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
163
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
164
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
165
        0x0000000000000000, 0x0000000000004000, 0x0000000000000000, 0x0000000000008000,
 
166
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
167
        0x0000000000204000, 0x0000000000000000, 0x0000000000000000, 0x0000000000808000,
 
168
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000010204000,
 
169
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000080808000,
 
170
        0x0000000000000000, 0x0000000000000000, 0x0000000810204000, 0x0000000000000000,
 
171
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000008080808000,
 
172
        0x0000000000000000, 0x0000040810204000, 0x0000000000000000, 0x0000000000000000,
 
173
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000808080808000,
 
174
        0x0002040810204000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
175
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0080808080808000,
 
176
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
177
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
178
        0x0000000000000000, 0x0000000000000000, 0x0000000000000200, 0x0000000000000600,
 
179
        0x0000000000000e00, 0x0000000000001e00, 0x0000000000003e00, 0x0000000000007e00,
 
180
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
181
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
182
        0x0000000000010000, 0x0000000000000000, 0x0000000000020000, 0x0000000000000000,
 
183
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
184
        0x0000000001010000, 0x0000000000000000, 0x0000000000000000, 0x0000000004020000,
 
185
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
186
        0x0000000101010000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
187
        0x0000000804020000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
188
        0x0000010101010000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
189
        0x0000000000000000, 0x0000100804020000, 0x0000000000000000, 0x0000000000000000,
 
190
        0x0001010101010000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
191
        0x0000000000000000, 0x0000000000000000, 0x0020100804020000, 0x0000000000000000,
 
192
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
193
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
194
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000400,
 
195
        0x0000000000000c00, 0x0000000000001c00, 0x0000000000003c00, 0x0000000000007c00,
 
196
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
197
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
198
        0x0000000000000000, 0x0000000000020000, 0x0000000000000000, 0x0000000000040000,
 
199
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
200
        0x0000000000000000, 0x0000000002020000, 0x0000000000000000, 0x0000000000000000,
 
201
        0x0000000008040000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
202
        0x0000000000000000, 0x0000000202020000, 0x0000000000000000, 0x0000000000000000,
 
203
        0x0000000000000000, 0x0000001008040000, 0x0000000000000000, 0x0000000000000000,
 
204
        0x0000000000000000, 0x0000020202020000, 0x0000000000000000, 0x0000000000000000,
 
205
        0x0000000000000000, 0x0000000000000000, 0x0000201008040000, 0x0000000000000000,
 
206
        0x0000000000000000, 0x0002020202020000, 0x0000000000000000, 0x0000000000000000,
 
207
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0040201008040000,
 
208
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
209
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
210
        0x0000000000000200, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
211
        0x0000000000000800, 0x0000000000001800, 0x0000000000003800, 0x0000000000007800,
 
212
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
213
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
214
        0x0000000000020000, 0x0000000000000000, 0x0000000000040000, 0x0000000000000000,
 
215
        0x0000000000080000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
216
        0x0000000000000000, 0x0000000000000000, 0x0000000004040000, 0x0000000000000000,
 
217
        0x0000000000000000, 0x0000000010080000, 0x0000000000000000, 0x0000000000000000,
 
218
        0x0000000000000000, 0x0000000000000000, 0x0000000404040000, 0x0000000000000000,
 
219
        0x0000000000000000, 0x0000000000000000, 0x0000002010080000, 0x0000000000000000,
 
220
        0x0000000000000000, 0x0000000000000000, 0x0000040404040000, 0x0000000000000000,
 
221
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000402010080000,
 
222
        0x0000000000000000, 0x0000000000000000, 0x0004040404040000, 0x0000000000000000,
 
223
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
224
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
225
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
226
        0x0000000000000600, 0x0000000000000400, 0x0000000000000000, 0x0000000000000000,
 
227
        0x0000000000000000, 0x0000000000001000, 0x0000000000003000, 0x0000000000007000,
 
228
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
229
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
230
        0x0000000000000000, 0x0000000000040000, 0x0000000000000000, 0x0000000000080000,
 
231
        0x0000000000000000, 0x0000000000100000, 0x0000000000000000, 0x0000000000000000,
 
232
        0x0000000002040000, 0x0000000000000000, 0x0000000000000000, 0x0000000008080000,
 
233
        0x0000000000000000, 0x0000000000000000, 0x0000000020100000, 0x0000000000000000,
 
234
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000808080000,
 
235
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000004020100000,
 
236
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000080808080000,
 
237
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
238
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0008080808080000,
 
239
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
240
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
241
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
242
        0x0000000000000e00, 0x0000000000000c00, 0x0000000000000800, 0x0000000000000000,
 
243
        0x0000000000000000, 0x0000000000000000, 0x0000000000002000, 0x0000000000006000,
 
244
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
245
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
246
        0x0000000000000000, 0x0000000000000000, 0x0000000000080000, 0x0000000000000000,
 
247
        0x0000000000100000, 0x0000000000000000, 0x0000000000200000, 0x0000000000000000,
 
248
        0x0000000000000000, 0x0000000004080000, 0x0000000000000000, 0x0000000000000000,
 
249
        0x0000000010100000, 0x0000000000000000, 0x0000000000000000, 0x0000000040200000,
 
250
        0x0000000204080000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
251
        0x0000001010100000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
252
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
253
        0x0000101010100000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
254
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
255
        0x0010101010100000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
256
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
257
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
258
        0x0000000000001e00, 0x0000000000001c00, 0x0000000000001800, 0x0000000000001000,
 
259
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000004000,
 
260
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
261
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
262
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000100000,
 
263
        0x0000000000000000, 0x0000000000200000, 0x0000000000000000, 0x0000000000400000,
 
264
        0x0000000000000000, 0x0000000000000000, 0x0000000008100000, 0x0000000000000000,
 
265
        0x0000000000000000, 0x0000000020200000, 0x0000000000000000, 0x0000000000000000,
 
266
        0x0000000000000000, 0x0000000408100000, 0x0000000000000000, 0x0000000000000000,
 
267
        0x0000000000000000, 0x0000002020200000, 0x0000000000000000, 0x0000000000000000,
 
268
        0x0000020408100000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
269
        0x0000000000000000, 0x0000202020200000, 0x0000000000000000, 0x0000000000000000,
 
270
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
271
        0x0000000000000000, 0x0020202020200000, 0x0000000000000000, 0x0000000000000000,
 
272
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
273
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
274
        0x0000000000003e00, 0x0000000000003c00, 0x0000000000003800, 0x0000000000003000,
 
275
        0x0000000000002000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
276
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
277
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
278
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
279
        0x0000000000200000, 0x0000000000000000, 0x0000000000400000, 0x0000000000000000,
 
280
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000010200000,
 
281
        0x0000000000000000, 0x0000000000000000, 0x0000000040400000, 0x0000000000000000,
 
282
        0x0000000000000000, 0x0000000000000000, 0x0000000810200000, 0x0000000000000000,
 
283
        0x0000000000000000, 0x0000000000000000, 0x0000004040400000, 0x0000000000000000,
 
284
        0x0000000000000000, 0x0000040810200000, 0x0000000000000000, 0x0000000000000000,
 
285
        0x0000000000000000, 0x0000000000000000, 0x0000404040400000, 0x0000000000000000,
 
286
        0x0002040810200000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
287
        0x0000000000000000, 0x0000000000000000, 0x0040404040400000, 0x0000000000000000,
 
288
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
289
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
290
        0x0000000000007e00, 0x0000000000007c00, 0x0000000000007800, 0x0000000000007000,
 
291
        0x0000000000006000, 0x0000000000004000, 0x0000000000000000, 0x0000000000000000,
 
292
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
293
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
294
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
295
        0x0000000000000000, 0x0000000000400000, 0x0000000000000000, 0x0000000000800000,
 
296
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
297
        0x0000000020400000, 0x0000000000000000, 0x0000000000000000, 0x0000000080800000,
 
298
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000001020400000,
 
299
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000008080800000,
 
300
        0x0000000000000000, 0x0000000000000000, 0x0000081020400000, 0x0000000000000000,
 
301
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000808080800000,
 
302
        0x0000000000000000, 0x0004081020400000, 0x0000000000000000, 0x0000000000000000,
 
303
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0080808080800000,
 
304
        0x0000000000000100, 0x0000000000000000, 0x0000000000000200, 0x0000000000000000,
 
305
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
306
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
307
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
308
        0x0000000000000000, 0x0000000000000000, 0x0000000000020000, 0x0000000000060000,
 
309
        0x00000000000e0000, 0x00000000001e0000, 0x00000000003e0000, 0x00000000007e0000,
 
310
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
311
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
312
        0x0000000001000000, 0x0000000000000000, 0x0000000002000000, 0x0000000000000000,
 
313
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
314
        0x0000000101000000, 0x0000000000000000, 0x0000000000000000, 0x0000000402000000,
 
315
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
316
        0x0000010101000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
317
        0x0000080402000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
318
        0x0001010101000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
319
        0x0000000000000000, 0x0010080402000000, 0x0000000000000000, 0x0000000000000000,
 
320
        0x0000000000000000, 0x0000000000000200, 0x0000000000000000, 0x0000000000000400,
 
321
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
322
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
323
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
324
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000040000,
 
325
        0x00000000000c0000, 0x00000000001c0000, 0x00000000003c0000, 0x00000000007c0000,
 
326
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
327
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
328
        0x0000000000000000, 0x0000000002000000, 0x0000000000000000, 0x0000000004000000,
 
329
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
330
        0x0000000000000000, 0x0000000202000000, 0x0000000000000000, 0x0000000000000000,
 
331
        0x0000000804000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
332
        0x0000000000000000, 0x0000020202000000, 0x0000000000000000, 0x0000000000000000,
 
333
        0x0000000000000000, 0x0000100804000000, 0x0000000000000000, 0x0000000000000000,
 
334
        0x0000000000000000, 0x0002020202000000, 0x0000000000000000, 0x0000000000000000,
 
335
        0x0000000000000000, 0x0000000000000000, 0x0020100804000000, 0x0000000000000000,
 
336
        0x0000000000000200, 0x0000000000000000, 0x0000000000000400, 0x0000000000000000,
 
337
        0x0000000000000800, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
338
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
339
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
340
        0x0000000000020000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
341
        0x0000000000080000, 0x0000000000180000, 0x0000000000380000, 0x0000000000780000,
 
342
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
343
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
344
        0x0000000002000000, 0x0000000000000000, 0x0000000004000000, 0x0000000000000000,
 
345
        0x0000000008000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
346
        0x0000000000000000, 0x0000000000000000, 0x0000000404000000, 0x0000000000000000,
 
347
        0x0000000000000000, 0x0000001008000000, 0x0000000000000000, 0x0000000000000000,
 
348
        0x0000000000000000, 0x0000000000000000, 0x0000040404000000, 0x0000000000000000,
 
349
        0x0000000000000000, 0x0000000000000000, 0x0000201008000000, 0x0000000000000000,
 
350
        0x0000000000000000, 0x0000000000000000, 0x0004040404000000, 0x0000000000000000,
 
351
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0040201008000000,
 
352
        0x0000000000000000, 0x0000000000000400, 0x0000000000000000, 0x0000000000000800,
 
353
        0x0000000000000000, 0x0000000000001000, 0x0000000000000000, 0x0000000000000000,
 
354
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
355
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
356
        0x0000000000060000, 0x0000000000040000, 0x0000000000000000, 0x0000000000000000,
 
357
        0x0000000000000000, 0x0000000000100000, 0x0000000000300000, 0x0000000000700000,
 
358
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
359
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
360
        0x0000000000000000, 0x0000000004000000, 0x0000000000000000, 0x0000000008000000,
 
361
        0x0000000000000000, 0x0000000010000000, 0x0000000000000000, 0x0000000000000000,
 
362
        0x0000000204000000, 0x0000000000000000, 0x0000000000000000, 0x0000000808000000,
 
363
        0x0000000000000000, 0x0000000000000000, 0x0000002010000000, 0x0000000000000000,
 
364
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000080808000000,
 
365
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000402010000000,
 
366
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0008080808000000,
 
367
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
368
        0x0000000000000000, 0x0000000000000000, 0x0000000000000800, 0x0000000000000000,
 
369
        0x0000000000001000, 0x0000000000000000, 0x0000000000002000, 0x0000000000000000,
 
370
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
371
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
372
        0x00000000000e0000, 0x00000000000c0000, 0x0000000000080000, 0x0000000000000000,
 
373
        0x0000000000000000, 0x0000000000000000, 0x0000000000200000, 0x0000000000600000,
 
374
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
375
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
376
        0x0000000000000000, 0x0000000000000000, 0x0000000008000000, 0x0000000000000000,
 
377
        0x0000000010000000, 0x0000000000000000, 0x0000000020000000, 0x0000000000000000,
 
378
        0x0000000000000000, 0x0000000408000000, 0x0000000000000000, 0x0000000000000000,
 
379
        0x0000001010000000, 0x0000000000000000, 0x0000000000000000, 0x0000004020000000,
 
380
        0x0000020408000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
381
        0x0000101010000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
382
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
383
        0x0010101010000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
384
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000001000,
 
385
        0x0000000000000000, 0x0000000000002000, 0x0000000000000000, 0x0000000000004000,
 
386
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
387
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
388
        0x00000000001e0000, 0x00000000001c0000, 0x0000000000180000, 0x0000000000100000,
 
389
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000400000,
 
390
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
391
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
392
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000010000000,
 
393
        0x0000000000000000, 0x0000000020000000, 0x0000000000000000, 0x0000000040000000,
 
394
        0x0000000000000000, 0x0000000000000000, 0x0000000810000000, 0x0000000000000000,
 
395
        0x0000000000000000, 0x0000002020000000, 0x0000000000000000, 0x0000000000000000,
 
396
        0x0000000000000000, 0x0000040810000000, 0x0000000000000000, 0x0000000000000000,
 
397
        0x0000000000000000, 0x0000202020000000, 0x0000000000000000, 0x0000000000000000,
 
398
        0x0002040810000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
399
        0x0000000000000000, 0x0020202020000000, 0x0000000000000000, 0x0000000000000000,
 
400
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
401
        0x0000000000002000, 0x0000000000000000, 0x0000000000004000, 0x0000000000000000,
 
402
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
403
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
404
        0x00000000003e0000, 0x00000000003c0000, 0x0000000000380000, 0x0000000000300000,
 
405
        0x0000000000200000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
406
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
407
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
408
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
409
        0x0000000020000000, 0x0000000000000000, 0x0000000040000000, 0x0000000000000000,
 
410
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000001020000000,
 
411
        0x0000000000000000, 0x0000000000000000, 0x0000004040000000, 0x0000000000000000,
 
412
        0x0000000000000000, 0x0000000000000000, 0x0000081020000000, 0x0000000000000000,
 
413
        0x0000000000000000, 0x0000000000000000, 0x0000404040000000, 0x0000000000000000,
 
414
        0x0000000000000000, 0x0004081020000000, 0x0000000000000000, 0x0000000000000000,
 
415
        0x0000000000000000, 0x0000000000000000, 0x0040404040000000, 0x0000000000000000,
 
416
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
417
        0x0000000000000000, 0x0000000000004000, 0x0000000000000000, 0x0000000000008000,
 
418
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
419
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
420
        0x00000000007e0000, 0x00000000007c0000, 0x0000000000780000, 0x0000000000700000,
 
421
        0x0000000000600000, 0x0000000000400000, 0x0000000000000000, 0x0000000000000000,
 
422
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
423
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
424
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
425
        0x0000000000000000, 0x0000000040000000, 0x0000000000000000, 0x0000000080000000,
 
426
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
427
        0x0000002040000000, 0x0000000000000000, 0x0000000000000000, 0x0000008080000000,
 
428
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000102040000000,
 
429
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000808080000000,
 
430
        0x0000000000000000, 0x0000000000000000, 0x0008102040000000, 0x0000000000000000,
 
431
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0080808080000000,
 
432
        0x0000000000010100, 0x0000000000000000, 0x0000000000000000, 0x0000000000020400,
 
433
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
434
        0x0000000000010000, 0x0000000000000000, 0x0000000000020000, 0x0000000000000000,
 
435
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
436
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
437
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
438
        0x0000000000000000, 0x0000000000000000, 0x0000000002000000, 0x0000000006000000,
 
439
        0x000000000e000000, 0x000000001e000000, 0x000000003e000000, 0x000000007e000000,
 
440
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
441
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
442
        0x0000000100000000, 0x0000000000000000, 0x0000000200000000, 0x0000000000000000,
 
443
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
444
        0x0000010100000000, 0x0000000000000000, 0x0000000000000000, 0x0000040200000000,
 
445
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
446
        0x0001010100000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
447
        0x0008040200000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
448
        0x0000000000000000, 0x0000000000020200, 0x0000000000000000, 0x0000000000000000,
 
449
        0x0000000000040800, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
450
        0x0000000000000000, 0x0000000000020000, 0x0000000000000000, 0x0000000000040000,
 
451
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
452
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
453
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
454
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000004000000,
 
455
        0x000000000c000000, 0x000000001c000000, 0x000000003c000000, 0x000000007c000000,
 
456
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
457
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
458
        0x0000000000000000, 0x0000000200000000, 0x0000000000000000, 0x0000000400000000,
 
459
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
460
        0x0000000000000000, 0x0000020200000000, 0x0000000000000000, 0x0000000000000000,
 
461
        0x0000080400000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
462
        0x0000000000000000, 0x0002020200000000, 0x0000000000000000, 0x0000000000000000,
 
463
        0x0000000000000000, 0x0010080400000000, 0x0000000000000000, 0x0000000000000000,
 
464
        0x0000000000000000, 0x0000000000000000, 0x0000000000040400, 0x0000000000000000,
 
465
        0x0000000000000000, 0x0000000000081000, 0x0000000000000000, 0x0000000000000000,
 
466
        0x0000000000020000, 0x0000000000000000, 0x0000000000040000, 0x0000000000000000,
 
467
        0x0000000000080000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
468
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
469
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
470
        0x0000000002000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
471
        0x0000000008000000, 0x0000000018000000, 0x0000000038000000, 0x0000000078000000,
 
472
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
473
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
474
        0x0000000200000000, 0x0000000000000000, 0x0000000400000000, 0x0000000000000000,
 
475
        0x0000000800000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
476
        0x0000000000000000, 0x0000000000000000, 0x0000040400000000, 0x0000000000000000,
 
477
        0x0000000000000000, 0x0000100800000000, 0x0000000000000000, 0x0000000000000000,
 
478
        0x0000000000000000, 0x0000000000000000, 0x0004040400000000, 0x0000000000000000,
 
479
        0x0000000000000000, 0x0000000000000000, 0x0020100800000000, 0x0000000000000000,
 
480
        0x0000000000040200, 0x0000000000000000, 0x0000000000000000, 0x0000000000080800,
 
481
        0x0000000000000000, 0x0000000000000000, 0x0000000000102000, 0x0000000000000000,
 
482
        0x0000000000000000, 0x0000000000040000, 0x0000000000000000, 0x0000000000080000,
 
483
        0x0000000000000000, 0x0000000000100000, 0x0000000000000000, 0x0000000000000000,
 
484
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
485
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
486
        0x0000000006000000, 0x0000000004000000, 0x0000000000000000, 0x0000000000000000,
 
487
        0x0000000000000000, 0x0000000010000000, 0x0000000030000000, 0x0000000070000000,
 
488
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
489
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
490
        0x0000000000000000, 0x0000000400000000, 0x0000000000000000, 0x0000000800000000,
 
491
        0x0000000000000000, 0x0000001000000000, 0x0000000000000000, 0x0000000000000000,
 
492
        0x0000020400000000, 0x0000000000000000, 0x0000000000000000, 0x0000080800000000,
 
493
        0x0000000000000000, 0x0000000000000000, 0x0000201000000000, 0x0000000000000000,
 
494
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0008080800000000,
 
495
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0040201000000000,
 
496
        0x0000000000000000, 0x0000000000080400, 0x0000000000000000, 0x0000000000000000,
 
497
        0x0000000000101000, 0x0000000000000000, 0x0000000000000000, 0x0000000000204000,
 
498
        0x0000000000000000, 0x0000000000000000, 0x0000000000080000, 0x0000000000000000,
 
499
        0x0000000000100000, 0x0000000000000000, 0x0000000000200000, 0x0000000000000000,
 
500
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
501
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
502
        0x000000000e000000, 0x000000000c000000, 0x0000000008000000, 0x0000000000000000,
 
503
        0x0000000000000000, 0x0000000000000000, 0x0000000020000000, 0x0000000060000000,
 
504
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
505
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
506
        0x0000000000000000, 0x0000000000000000, 0x0000000800000000, 0x0000000000000000,
 
507
        0x0000001000000000, 0x0000000000000000, 0x0000002000000000, 0x0000000000000000,
 
508
        0x0000000000000000, 0x0000040800000000, 0x0000000000000000, 0x0000000000000000,
 
509
        0x0000101000000000, 0x0000000000000000, 0x0000000000000000, 0x0000402000000000,
 
510
        0x0002040800000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
511
        0x0010101000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
512
        0x0000000000000000, 0x0000000000000000, 0x0000000000100800, 0x0000000000000000,
 
513
        0x0000000000000000, 0x0000000000202000, 0x0000000000000000, 0x0000000000000000,
 
514
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000100000,
 
515
        0x0000000000000000, 0x0000000000200000, 0x0000000000000000, 0x0000000000400000,
 
516
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
517
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
518
        0x000000001e000000, 0x000000001c000000, 0x0000000018000000, 0x0000000010000000,
 
519
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000040000000,
 
520
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
521
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
522
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000001000000000,
 
523
        0x0000000000000000, 0x0000002000000000, 0x0000000000000000, 0x0000004000000000,
 
524
        0x0000000000000000, 0x0000000000000000, 0x0000081000000000, 0x0000000000000000,
 
525
        0x0000000000000000, 0x0000202000000000, 0x0000000000000000, 0x0000000000000000,
 
526
        0x0000000000000000, 0x0004081000000000, 0x0000000000000000, 0x0000000000000000,
 
527
        0x0000000000000000, 0x0020202000000000, 0x0000000000000000, 0x0000000000000000,
 
528
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000201000,
 
529
        0x0000000000000000, 0x0000000000000000, 0x0000000000404000, 0x0000000000000000,
 
530
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
531
        0x0000000000200000, 0x0000000000000000, 0x0000000000400000, 0x0000000000000000,
 
532
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
533
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
534
        0x000000003e000000, 0x000000003c000000, 0x0000000038000000, 0x0000000030000000,
 
535
        0x0000000020000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
536
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
537
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
538
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
539
        0x0000002000000000, 0x0000000000000000, 0x0000004000000000, 0x0000000000000000,
 
540
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000102000000000,
 
541
        0x0000000000000000, 0x0000000000000000, 0x0000404000000000, 0x0000000000000000,
 
542
        0x0000000000000000, 0x0000000000000000, 0x0008102000000000, 0x0000000000000000,
 
543
        0x0000000000000000, 0x0000000000000000, 0x0040404000000000, 0x0000000000000000,
 
544
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
545
        0x0000000000402000, 0x0000000000000000, 0x0000000000000000, 0x0000000000808000,
 
546
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
547
        0x0000000000000000, 0x0000000000400000, 0x0000000000000000, 0x0000000000800000,
 
548
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
549
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
550
        0x000000007e000000, 0x000000007c000000, 0x0000000078000000, 0x0000000070000000,
 
551
        0x0000000060000000, 0x0000000040000000, 0x0000000000000000, 0x0000000000000000,
 
552
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
553
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
554
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
555
        0x0000000000000000, 0x0000004000000000, 0x0000000000000000, 0x0000008000000000,
 
556
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
557
        0x0000204000000000, 0x0000000000000000, 0x0000000000000000, 0x0000808000000000,
 
558
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0010204000000000,
 
559
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0080808000000000,
 
560
        0x0000000001010100, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
561
        0x0000000002040800, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
562
        0x0000000001010000, 0x0000000000000000, 0x0000000000000000, 0x0000000002040000,
 
563
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
564
        0x0000000001000000, 0x0000000000000000, 0x0000000002000000, 0x0000000000000000,
 
565
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
566
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
567
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
568
        0x0000000000000000, 0x0000000000000000, 0x0000000200000000, 0x0000000600000000,
 
569
        0x0000000e00000000, 0x0000001e00000000, 0x0000003e00000000, 0x0000007e00000000,
 
570
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
571
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
572
        0x0000010000000000, 0x0000000000000000, 0x0000020000000000, 0x0000000000000000,
 
573
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
574
        0x0001010000000000, 0x0000000000000000, 0x0000000000000000, 0x0004020000000000,
 
575
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
576
        0x0000000000000000, 0x0000000002020200, 0x0000000000000000, 0x0000000000000000,
 
577
        0x0000000000000000, 0x0000000004081000, 0x0000000000000000, 0x0000000000000000,
 
578
        0x0000000000000000, 0x0000000002020000, 0x0000000000000000, 0x0000000000000000,
 
579
        0x0000000004080000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
580
        0x0000000000000000, 0x0000000002000000, 0x0000000000000000, 0x0000000004000000,
 
581
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
582
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
583
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
584
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000400000000,
 
585
        0x0000000c00000000, 0x0000001c00000000, 0x0000003c00000000, 0x0000007c00000000,
 
586
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
587
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
588
        0x0000000000000000, 0x0000020000000000, 0x0000000000000000, 0x0000040000000000,
 
589
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
590
        0x0000000000000000, 0x0002020000000000, 0x0000000000000000, 0x0000000000000000,
 
591
        0x0008040000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
592
        0x0000000000000000, 0x0000000000000000, 0x0000000004040400, 0x0000000000000000,
 
593
        0x0000000000000000, 0x0000000000000000, 0x0000000008102000, 0x0000000000000000,
 
594
        0x0000000000000000, 0x0000000000000000, 0x0000000004040000, 0x0000000000000000,
 
595
        0x0000000000000000, 0x0000000008100000, 0x0000000000000000, 0x0000000000000000,
 
596
        0x0000000002000000, 0x0000000000000000, 0x0000000004000000, 0x0000000000000000,
 
597
        0x0000000008000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
598
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
599
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
600
        0x0000000200000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
601
        0x0000000800000000, 0x0000001800000000, 0x0000003800000000, 0x0000007800000000,
 
602
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
603
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
604
        0x0000020000000000, 0x0000000000000000, 0x0000040000000000, 0x0000000000000000,
 
605
        0x0000080000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
606
        0x0000000000000000, 0x0000000000000000, 0x0004040000000000, 0x0000000000000000,
 
607
        0x0000000000000000, 0x0010080000000000, 0x0000000000000000, 0x0000000000000000,
 
608
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000008080800,
 
609
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000010204000,
 
610
        0x0000000004020000, 0x0000000000000000, 0x0000000000000000, 0x0000000008080000,
 
611
        0x0000000000000000, 0x0000000000000000, 0x0000000010200000, 0x0000000000000000,
 
612
        0x0000000000000000, 0x0000000004000000, 0x0000000000000000, 0x0000000008000000,
 
613
        0x0000000000000000, 0x0000000010000000, 0x0000000000000000, 0x0000000000000000,
 
614
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
615
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
616
        0x0000000600000000, 0x0000000400000000, 0x0000000000000000, 0x0000000000000000,
 
617
        0x0000000000000000, 0x0000001000000000, 0x0000003000000000, 0x0000007000000000,
 
618
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
619
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
620
        0x0000000000000000, 0x0000040000000000, 0x0000000000000000, 0x0000080000000000,
 
621
        0x0000000000000000, 0x0000100000000000, 0x0000000000000000, 0x0000000000000000,
 
622
        0x0002040000000000, 0x0000000000000000, 0x0000000000000000, 0x0008080000000000,
 
623
        0x0000000000000000, 0x0000000000000000, 0x0020100000000000, 0x0000000000000000,
 
624
        0x0000000008040200, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
625
        0x0000000010101000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
626
        0x0000000000000000, 0x0000000008040000, 0x0000000000000000, 0x0000000000000000,
 
627
        0x0000000010100000, 0x0000000000000000, 0x0000000000000000, 0x0000000020400000,
 
628
        0x0000000000000000, 0x0000000000000000, 0x0000000008000000, 0x0000000000000000,
 
629
        0x0000000010000000, 0x0000000000000000, 0x0000000020000000, 0x0000000000000000,
 
630
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
631
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
632
        0x0000000e00000000, 0x0000000c00000000, 0x0000000800000000, 0x0000000000000000,
 
633
        0x0000000000000000, 0x0000000000000000, 0x0000002000000000, 0x0000006000000000,
 
634
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
635
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
636
        0x0000000000000000, 0x0000000000000000, 0x0000080000000000, 0x0000000000000000,
 
637
        0x0000100000000000, 0x0000000000000000, 0x0000200000000000, 0x0000000000000000,
 
638
        0x0000000000000000, 0x0004080000000000, 0x0000000000000000, 0x0000000000000000,
 
639
        0x0010100000000000, 0x0000000000000000, 0x0000000000000000, 0x0040200000000000,
 
640
        0x0000000000000000, 0x0000000010080400, 0x0000000000000000, 0x0000000000000000,
 
641
        0x0000000000000000, 0x0000000020202000, 0x0000000000000000, 0x0000000000000000,
 
642
        0x0000000000000000, 0x0000000000000000, 0x0000000010080000, 0x0000000000000000,
 
643
        0x0000000000000000, 0x0000000020200000, 0x0000000000000000, 0x0000000000000000,
 
644
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000010000000,
 
645
        0x0000000000000000, 0x0000000020000000, 0x0000000000000000, 0x0000000040000000,
 
646
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
647
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
648
        0x0000001e00000000, 0x0000001c00000000, 0x0000001800000000, 0x0000001000000000,
 
649
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000004000000000,
 
650
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
651
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
652
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000100000000000,
 
653
        0x0000000000000000, 0x0000200000000000, 0x0000000000000000, 0x0000400000000000,
 
654
        0x0000000000000000, 0x0000000000000000, 0x0008100000000000, 0x0000000000000000,
 
655
        0x0000000000000000, 0x0020200000000000, 0x0000000000000000, 0x0000000000000000,
 
656
        0x0000000000000000, 0x0000000000000000, 0x0000000020100800, 0x0000000000000000,
 
657
        0x0000000000000000, 0x0000000000000000, 0x0000000040404000, 0x0000000000000000,
 
658
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000020100000,
 
659
        0x0000000000000000, 0x0000000000000000, 0x0000000040400000, 0x0000000000000000,
 
660
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
661
        0x0000000020000000, 0x0000000000000000, 0x0000000040000000, 0x0000000000000000,
 
662
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
663
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
664
        0x0000003e00000000, 0x0000003c00000000, 0x0000003800000000, 0x0000003000000000,
 
665
        0x0000002000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
666
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
667
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
668
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
669
        0x0000200000000000, 0x0000000000000000, 0x0000400000000000, 0x0000000000000000,
 
670
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0010200000000000,
 
671
        0x0000000000000000, 0x0000000000000000, 0x0040400000000000, 0x0000000000000000,
 
672
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000040201000,
 
673
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000080808000,
 
674
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
675
        0x0000000040200000, 0x0000000000000000, 0x0000000000000000, 0x0000000080800000,
 
676
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
677
        0x0000000000000000, 0x0000000040000000, 0x0000000000000000, 0x0000000080000000,
 
678
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
679
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
680
        0x0000007e00000000, 0x0000007c00000000, 0x0000007800000000, 0x0000007000000000,
 
681
        0x0000006000000000, 0x0000004000000000, 0x0000000000000000, 0x0000000000000000,
 
682
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
683
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
684
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
685
        0x0000000000000000, 0x0000400000000000, 0x0000000000000000, 0x0000800000000000,
 
686
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
687
        0x0020400000000000, 0x0000000000000000, 0x0000000000000000, 0x0080800000000000,
 
688
        0x0000000101010100, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
689
        0x0000000000000000, 0x0000000204081000, 0x0000000000000000, 0x0000000000000000,
 
690
        0x0000000101010000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
691
        0x0000000204080000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
692
        0x0000000101000000, 0x0000000000000000, 0x0000000000000000, 0x0000000204000000,
 
693
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
694
        0x0000000100000000, 0x0000000000000000, 0x0000000200000000, 0x0000000000000000,
 
695
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
696
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
697
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
698
        0x0000000000000000, 0x0000000000000000, 0x0000020000000000, 0x0000060000000000,
 
699
        0x00000e0000000000, 0x00001e0000000000, 0x00003e0000000000, 0x00007e0000000000,
 
700
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
701
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
702
        0x0001000000000000, 0x0000000000000000, 0x0002000000000000, 0x0000000000000000,
 
703
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
704
        0x0000000000000000, 0x0000000202020200, 0x0000000000000000, 0x0000000000000000,
 
705
        0x0000000000000000, 0x0000000000000000, 0x0000000408102000, 0x0000000000000000,
 
706
        0x0000000000000000, 0x0000000202020000, 0x0000000000000000, 0x0000000000000000,
 
707
        0x0000000000000000, 0x0000000408100000, 0x0000000000000000, 0x0000000000000000,
 
708
        0x0000000000000000, 0x0000000202000000, 0x0000000000000000, 0x0000000000000000,
 
709
        0x0000000408000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
710
        0x0000000000000000, 0x0000000200000000, 0x0000000000000000, 0x0000000400000000,
 
711
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
712
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
713
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
714
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000040000000000,
 
715
        0x00000c0000000000, 0x00001c0000000000, 0x00003c0000000000, 0x00007c0000000000,
 
716
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
717
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
718
        0x0000000000000000, 0x0002000000000000, 0x0000000000000000, 0x0004000000000000,
 
719
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
720
        0x0000000000000000, 0x0000000000000000, 0x0000000404040400, 0x0000000000000000,
 
721
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000810204000,
 
722
        0x0000000000000000, 0x0000000000000000, 0x0000000404040000, 0x0000000000000000,
 
723
        0x0000000000000000, 0x0000000000000000, 0x0000000810200000, 0x0000000000000000,
 
724
        0x0000000000000000, 0x0000000000000000, 0x0000000404000000, 0x0000000000000000,
 
725
        0x0000000000000000, 0x0000000810000000, 0x0000000000000000, 0x0000000000000000,
 
726
        0x0000000200000000, 0x0000000000000000, 0x0000000400000000, 0x0000000000000000,
 
727
        0x0000000800000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
728
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
729
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
730
        0x0000020000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
731
        0x0000080000000000, 0x0000180000000000, 0x0000380000000000, 0x0000780000000000,
 
732
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
733
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
734
        0x0002000000000000, 0x0000000000000000, 0x0004000000000000, 0x0000000000000000,
 
735
        0x0008000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
736
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000808080800,
 
737
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
738
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000808080000,
 
739
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000001020400000,
 
740
        0x0000000402000000, 0x0000000000000000, 0x0000000000000000, 0x0000000808000000,
 
741
        0x0000000000000000, 0x0000000000000000, 0x0000001020000000, 0x0000000000000000,
 
742
        0x0000000000000000, 0x0000000400000000, 0x0000000000000000, 0x0000000800000000,
 
743
        0x0000000000000000, 0x0000001000000000, 0x0000000000000000, 0x0000000000000000,
 
744
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
745
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
746
        0x0000060000000000, 0x0000040000000000, 0x0000000000000000, 0x0000000000000000,
 
747
        0x0000000000000000, 0x0000100000000000, 0x0000300000000000, 0x0000700000000000,
 
748
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
749
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
750
        0x0000000000000000, 0x0004000000000000, 0x0000000000000000, 0x0008000000000000,
 
751
        0x0000000000000000, 0x0010000000000000, 0x0000000000000000, 0x0000000000000000,
 
752
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
753
        0x0000001010101000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
754
        0x0000000804020000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
755
        0x0000001010100000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
756
        0x0000000000000000, 0x0000000804000000, 0x0000000000000000, 0x0000000000000000,
 
757
        0x0000001010000000, 0x0000000000000000, 0x0000000000000000, 0x0000002040000000,
 
758
        0x0000000000000000, 0x0000000000000000, 0x0000000800000000, 0x0000000000000000,
 
759
        0x0000001000000000, 0x0000000000000000, 0x0000002000000000, 0x0000000000000000,
 
760
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
761
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
762
        0x00000e0000000000, 0x00000c0000000000, 0x0000080000000000, 0x0000000000000000,
 
763
        0x0000000000000000, 0x0000000000000000, 0x0000200000000000, 0x0000600000000000,
 
764
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
765
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
766
        0x0000000000000000, 0x0000000000000000, 0x0008000000000000, 0x0000000000000000,
 
767
        0x0010000000000000, 0x0000000000000000, 0x0020000000000000, 0x0000000000000000,
 
768
        0x0000001008040200, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
769
        0x0000000000000000, 0x0000002020202000, 0x0000000000000000, 0x0000000000000000,
 
770
        0x0000000000000000, 0x0000001008040000, 0x0000000000000000, 0x0000000000000000,
 
771
        0x0000000000000000, 0x0000002020200000, 0x0000000000000000, 0x0000000000000000,
 
772
        0x0000000000000000, 0x0000000000000000, 0x0000001008000000, 0x0000000000000000,
 
773
        0x0000000000000000, 0x0000002020000000, 0x0000000000000000, 0x0000000000000000,
 
774
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000001000000000,
 
775
        0x0000000000000000, 0x0000002000000000, 0x0000000000000000, 0x0000004000000000,
 
776
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
777
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
778
        0x00001e0000000000, 0x00001c0000000000, 0x0000180000000000, 0x0000100000000000,
 
779
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000400000000000,
 
780
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
781
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
782
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0010000000000000,
 
783
        0x0000000000000000, 0x0020000000000000, 0x0000000000000000, 0x0040000000000000,
 
784
        0x0000000000000000, 0x0000002010080400, 0x0000000000000000, 0x0000000000000000,
 
785
        0x0000000000000000, 0x0000000000000000, 0x0000004040404000, 0x0000000000000000,
 
786
        0x0000000000000000, 0x0000000000000000, 0x0000002010080000, 0x0000000000000000,
 
787
        0x0000000000000000, 0x0000000000000000, 0x0000004040400000, 0x0000000000000000,
 
788
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000002010000000,
 
789
        0x0000000000000000, 0x0000000000000000, 0x0000004040000000, 0x0000000000000000,
 
790
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
791
        0x0000002000000000, 0x0000000000000000, 0x0000004000000000, 0x0000000000000000,
 
792
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
793
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
794
        0x00003e0000000000, 0x00003c0000000000, 0x0000380000000000, 0x0000300000000000,
 
795
        0x0000200000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
796
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
797
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
798
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
799
        0x0020000000000000, 0x0000000000000000, 0x0040000000000000, 0x0000000000000000,
 
800
        0x0000000000000000, 0x0000000000000000, 0x0000004020100800, 0x0000000000000000,
 
801
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000008080808000,
 
802
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000004020100000,
 
803
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000008080800000,
 
804
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
805
        0x0000004020000000, 0x0000000000000000, 0x0000000000000000, 0x0000008080000000,
 
806
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
807
        0x0000000000000000, 0x0000004000000000, 0x0000000000000000, 0x0000008000000000,
 
808
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
809
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
810
        0x00007e0000000000, 0x00007c0000000000, 0x0000780000000000, 0x0000700000000000,
 
811
        0x0000600000000000, 0x0000400000000000, 0x0000000000000000, 0x0000000000000000,
 
812
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
813
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
814
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
815
        0x0000000000000000, 0x0040000000000000, 0x0000000000000000, 0x0080000000000000,
 
816
        0x0000010101010100, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
817
        0x0000000000000000, 0x0000000000000000, 0x0000020408102000, 0x0000000000000000,
 
818
        0x0000010101010000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
819
        0x0000000000000000, 0x0000020408100000, 0x0000000000000000, 0x0000000000000000,
 
820
        0x0000010101000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
821
        0x0000020408000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
822
        0x0000010100000000, 0x0000000000000000, 0x0000000000000000, 0x0000020400000000,
 
823
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
824
        0x0000010000000000, 0x0000000000000000, 0x0000020000000000, 0x0000000000000000,
 
825
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
826
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
827
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
828
        0x0000000000000000, 0x0000000000000000, 0x0002000000000000, 0x0006000000000000,
 
829
        0x000e000000000000, 0x001e000000000000, 0x003e000000000000, 0x007e000000000000,
 
830
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
831
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
832
        0x0000000000000000, 0x0000020202020200, 0x0000000000000000, 0x0000000000000000,
 
833
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000040810204000,
 
834
        0x0000000000000000, 0x0000020202020000, 0x0000000000000000, 0x0000000000000000,
 
835
        0x0000000000000000, 0x0000000000000000, 0x0000040810200000, 0x0000000000000000,
 
836
        0x0000000000000000, 0x0000020202000000, 0x0000000000000000, 0x0000000000000000,
 
837
        0x0000000000000000, 0x0000040810000000, 0x0000000000000000, 0x0000000000000000,
 
838
        0x0000000000000000, 0x0000020200000000, 0x0000000000000000, 0x0000000000000000,
 
839
        0x0000040800000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
840
        0x0000000000000000, 0x0000020000000000, 0x0000000000000000, 0x0000040000000000,
 
841
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
842
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
843
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
844
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0004000000000000,
 
845
        0x000c000000000000, 0x001c000000000000, 0x003c000000000000, 0x007c000000000000,
 
846
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
847
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
848
        0x0000000000000000, 0x0000000000000000, 0x0000040404040400, 0x0000000000000000,
 
849
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
850
        0x0000000000000000, 0x0000000000000000, 0x0000040404040000, 0x0000000000000000,
 
851
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000081020400000,
 
852
        0x0000000000000000, 0x0000000000000000, 0x0000040404000000, 0x0000000000000000,
 
853
        0x0000000000000000, 0x0000000000000000, 0x0000081020000000, 0x0000000000000000,
 
854
        0x0000000000000000, 0x0000000000000000, 0x0000040400000000, 0x0000000000000000,
 
855
        0x0000000000000000, 0x0000081000000000, 0x0000000000000000, 0x0000000000000000,
 
856
        0x0000020000000000, 0x0000000000000000, 0x0000040000000000, 0x0000000000000000,
 
857
        0x0000080000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
858
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
859
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
860
        0x0002000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
861
        0x0008000000000000, 0x0018000000000000, 0x0038000000000000, 0x0078000000000000,
 
862
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
863
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
864
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000080808080800,
 
865
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
866
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000080808080000,
 
867
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
868
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000080808000000,
 
869
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000102040000000,
 
870
        0x0000040200000000, 0x0000000000000000, 0x0000000000000000, 0x0000080800000000,
 
871
        0x0000000000000000, 0x0000000000000000, 0x0000102000000000, 0x0000000000000000,
 
872
        0x0000000000000000, 0x0000040000000000, 0x0000000000000000, 0x0000080000000000,
 
873
        0x0000000000000000, 0x0000100000000000, 0x0000000000000000, 0x0000000000000000,
 
874
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
875
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
876
        0x0006000000000000, 0x0004000000000000, 0x0000000000000000, 0x0000000000000000,
 
877
        0x0000000000000000, 0x0010000000000000, 0x0030000000000000, 0x0070000000000000,
 
878
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
879
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
880
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
881
        0x0000101010101000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
882
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
883
        0x0000101010100000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
884
        0x0000080402000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
885
        0x0000101010000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
886
        0x0000000000000000, 0x0000080400000000, 0x0000000000000000, 0x0000000000000000,
 
887
        0x0000101000000000, 0x0000000000000000, 0x0000000000000000, 0x0000204000000000,
 
888
        0x0000000000000000, 0x0000000000000000, 0x0000080000000000, 0x0000000000000000,
 
889
        0x0000100000000000, 0x0000000000000000, 0x0000200000000000, 0x0000000000000000,
 
890
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
891
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
892
        0x000e000000000000, 0x000c000000000000, 0x0008000000000000, 0x0000000000000000,
 
893
        0x0000000000000000, 0x0000000000000000, 0x0020000000000000, 0x0060000000000000,
 
894
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
895
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
896
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
897
        0x0000000000000000, 0x0000202020202000, 0x0000000000000000, 0x0000000000000000,
 
898
        0x0000100804020000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
899
        0x0000000000000000, 0x0000202020200000, 0x0000000000000000, 0x0000000000000000,
 
900
        0x0000000000000000, 0x0000100804000000, 0x0000000000000000, 0x0000000000000000,
 
901
        0x0000000000000000, 0x0000202020000000, 0x0000000000000000, 0x0000000000000000,
 
902
        0x0000000000000000, 0x0000000000000000, 0x0000100800000000, 0x0000000000000000,
 
903
        0x0000000000000000, 0x0000202000000000, 0x0000000000000000, 0x0000000000000000,
 
904
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000100000000000,
 
905
        0x0000000000000000, 0x0000200000000000, 0x0000000000000000, 0x0000400000000000,
 
906
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
907
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
908
        0x001e000000000000, 0x001c000000000000, 0x0018000000000000, 0x0010000000000000,
 
909
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0040000000000000,
 
910
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
911
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
912
        0x0000201008040200, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
913
        0x0000000000000000, 0x0000000000000000, 0x0000404040404000, 0x0000000000000000,
 
914
        0x0000000000000000, 0x0000201008040000, 0x0000000000000000, 0x0000000000000000,
 
915
        0x0000000000000000, 0x0000000000000000, 0x0000404040400000, 0x0000000000000000,
 
916
        0x0000000000000000, 0x0000000000000000, 0x0000201008000000, 0x0000000000000000,
 
917
        0x0000000000000000, 0x0000000000000000, 0x0000404040000000, 0x0000000000000000,
 
918
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000201000000000,
 
919
        0x0000000000000000, 0x0000000000000000, 0x0000404000000000, 0x0000000000000000,
 
920
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
921
        0x0000200000000000, 0x0000000000000000, 0x0000400000000000, 0x0000000000000000,
 
922
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
923
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
924
        0x003e000000000000, 0x003c000000000000, 0x0038000000000000, 0x0030000000000000,
 
925
        0x0020000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
926
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
927
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
928
        0x0000000000000000, 0x0000402010080400, 0x0000000000000000, 0x0000000000000000,
 
929
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000808080808000,
 
930
        0x0000000000000000, 0x0000000000000000, 0x0000402010080000, 0x0000000000000000,
 
931
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000808080800000,
 
932
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000402010000000,
 
933
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000808080000000,
 
934
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
935
        0x0000402000000000, 0x0000000000000000, 0x0000000000000000, 0x0000808000000000,
 
936
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
937
        0x0000000000000000, 0x0000400000000000, 0x0000000000000000, 0x0000800000000000,
 
938
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
939
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
940
        0x007e000000000000, 0x007c000000000000, 0x0078000000000000, 0x0070000000000000,
 
941
        0x0060000000000000, 0x0040000000000000, 0x0000000000000000, 0x0000000000000000,
 
942
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
943
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
944
        0x0001010101010100, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
945
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0002040810204000,
 
946
        0x0001010101010000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
947
        0x0000000000000000, 0x0000000000000000, 0x0002040810200000, 0x0000000000000000,
 
948
        0x0001010101000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
949
        0x0000000000000000, 0x0002040810000000, 0x0000000000000000, 0x0000000000000000,
 
950
        0x0001010100000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
951
        0x0002040800000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
952
        0x0001010000000000, 0x0000000000000000, 0x0000000000000000, 0x0002040000000000,
 
953
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
954
        0x0001000000000000, 0x0000000000000000, 0x0002000000000000, 0x0000000000000000,
 
955
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
956
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
957
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
958
        0x0000000000000000, 0x0000000000000000, 0x0200000000000000, 0x0600000000000000,
 
959
        0x0e00000000000000, 0x1e00000000000000, 0x3e00000000000000, 0x7e00000000000000,
 
960
        0x0000000000000000, 0x0002020202020200, 0x0000000000000000, 0x0000000000000000,
 
961
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
962
        0x0000000000000000, 0x0002020202020000, 0x0000000000000000, 0x0000000000000000,
 
963
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0004081020400000,
 
964
        0x0000000000000000, 0x0002020202000000, 0x0000000000000000, 0x0000000000000000,
 
965
        0x0000000000000000, 0x0000000000000000, 0x0004081020000000, 0x0000000000000000,
 
966
        0x0000000000000000, 0x0002020200000000, 0x0000000000000000, 0x0000000000000000,
 
967
        0x0000000000000000, 0x0004081000000000, 0x0000000000000000, 0x0000000000000000,
 
968
        0x0000000000000000, 0x0002020000000000, 0x0000000000000000, 0x0000000000000000,
 
969
        0x0004080000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
970
        0x0000000000000000, 0x0002000000000000, 0x0000000000000000, 0x0004000000000000,
 
971
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
972
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
973
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
974
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0400000000000000,
 
975
        0x0c00000000000000, 0x1c00000000000000, 0x3c00000000000000, 0x7c00000000000000,
 
976
        0x0000000000000000, 0x0000000000000000, 0x0004040404040400, 0x0000000000000000,
 
977
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
978
        0x0000000000000000, 0x0000000000000000, 0x0004040404040000, 0x0000000000000000,
 
979
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
980
        0x0000000000000000, 0x0000000000000000, 0x0004040404000000, 0x0000000000000000,
 
981
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0008102040000000,
 
982
        0x0000000000000000, 0x0000000000000000, 0x0004040400000000, 0x0000000000000000,
 
983
        0x0000000000000000, 0x0000000000000000, 0x0008102000000000, 0x0000000000000000,
 
984
        0x0000000000000000, 0x0000000000000000, 0x0004040000000000, 0x0000000000000000,
 
985
        0x0000000000000000, 0x0008100000000000, 0x0000000000000000, 0x0000000000000000,
 
986
        0x0002000000000000, 0x0000000000000000, 0x0004000000000000, 0x0000000000000000,
 
987
        0x0008000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
988
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
989
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
990
        0x0200000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
991
        0x0800000000000000, 0x1800000000000000, 0x3800000000000000, 0x7800000000000000,
 
992
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0008080808080800,
 
993
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
994
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0008080808080000,
 
995
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
996
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0008080808000000,
 
997
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
998
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0008080800000000,
 
999
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0010204000000000,
 
1000
        0x0004020000000000, 0x0000000000000000, 0x0000000000000000, 0x0008080000000000,
 
1001
        0x0000000000000000, 0x0000000000000000, 0x0010200000000000, 0x0000000000000000,
 
1002
        0x0000000000000000, 0x0004000000000000, 0x0000000000000000, 0x0008000000000000,
 
1003
        0x0000000000000000, 0x0010000000000000, 0x0000000000000000, 0x0000000000000000,
 
1004
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
1005
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
1006
        0x0600000000000000, 0x0400000000000000, 0x0000000000000000, 0x0000000000000000,
 
1007
        0x0000000000000000, 0x1000000000000000, 0x3000000000000000, 0x7000000000000000,
 
1008
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
1009
        0x0010101010101000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
1010
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
1011
        0x0010101010100000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
1012
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
1013
        0x0010101010000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
1014
        0x0008040200000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
1015
        0x0010101000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
1016
        0x0000000000000000, 0x0008040000000000, 0x0000000000000000, 0x0000000000000000,
 
1017
        0x0010100000000000, 0x0000000000000000, 0x0000000000000000, 0x0020400000000000,
 
1018
        0x0000000000000000, 0x0000000000000000, 0x0008000000000000, 0x0000000000000000,
 
1019
        0x0010000000000000, 0x0000000000000000, 0x0020000000000000, 0x0000000000000000,
 
1020
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
1021
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
1022
        0x0e00000000000000, 0x0c00000000000000, 0x0800000000000000, 0x0000000000000000,
 
1023
        0x0000000000000000, 0x0000000000000000, 0x2000000000000000, 0x6000000000000000,
 
1024
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
1025
        0x0000000000000000, 0x0020202020202000, 0x0000000000000000, 0x0000000000000000,
 
1026
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
1027
        0x0000000000000000, 0x0020202020200000, 0x0000000000000000, 0x0000000000000000,
 
1028
        0x0010080402000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
1029
        0x0000000000000000, 0x0020202020000000, 0x0000000000000000, 0x0000000000000000,
 
1030
        0x0000000000000000, 0x0010080400000000, 0x0000000000000000, 0x0000000000000000,
 
1031
        0x0000000000000000, 0x0020202000000000, 0x0000000000000000, 0x0000000000000000,
 
1032
        0x0000000000000000, 0x0000000000000000, 0x0010080000000000, 0x0000000000000000,
 
1033
        0x0000000000000000, 0x0020200000000000, 0x0000000000000000, 0x0000000000000000,
 
1034
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0010000000000000,
 
1035
        0x0000000000000000, 0x0020000000000000, 0x0000000000000000, 0x0040000000000000,
 
1036
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
1037
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
1038
        0x1e00000000000000, 0x1c00000000000000, 0x1800000000000000, 0x1000000000000000,
 
1039
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x4000000000000000,
 
1040
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
1041
        0x0000000000000000, 0x0000000000000000, 0x0040404040404000, 0x0000000000000000,
 
1042
        0x0020100804020000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
1043
        0x0000000000000000, 0x0000000000000000, 0x0040404040400000, 0x0000000000000000,
 
1044
        0x0000000000000000, 0x0020100804000000, 0x0000000000000000, 0x0000000000000000,
 
1045
        0x0000000000000000, 0x0000000000000000, 0x0040404040000000, 0x0000000000000000,
 
1046
        0x0000000000000000, 0x0000000000000000, 0x0020100800000000, 0x0000000000000000,
 
1047
        0x0000000000000000, 0x0000000000000000, 0x0040404000000000, 0x0000000000000000,
 
1048
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0020100000000000,
 
1049
        0x0000000000000000, 0x0000000000000000, 0x0040400000000000, 0x0000000000000000,
 
1050
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
1051
        0x0020000000000000, 0x0000000000000000, 0x0040000000000000, 0x0000000000000000,
 
1052
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
1053
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
1054
        0x3e00000000000000, 0x3c00000000000000, 0x3800000000000000, 0x3000000000000000,
 
1055
        0x2000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
1056
        0x0040201008040200, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
1057
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0080808080808000,
 
1058
        0x0000000000000000, 0x0040201008040000, 0x0000000000000000, 0x0000000000000000,
 
1059
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0080808080800000,
 
1060
        0x0000000000000000, 0x0000000000000000, 0x0040201008000000, 0x0000000000000000,
 
1061
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0080808080000000,
 
1062
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0040201000000000,
 
1063
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0080808000000000,
 
1064
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
1065
        0x0040200000000000, 0x0000000000000000, 0x0000000000000000, 0x0080800000000000,
 
1066
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
1067
        0x0000000000000000, 0x0040000000000000, 0x0000000000000000, 0x0080000000000000,
 
1068
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
1069
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
1070
        0x7e00000000000000, 0x7c00000000000000, 0x7800000000000000, 0x7000000000000000,
 
1071
        0x6000000000000000, 0x4000000000000000, 0x0000000000000000, 0x0000000000000000
 
1072
    };
 
1073
 
 
1074
    /* Allowed moves for each piece */
 
1075
    public static const int64 move_masks[] =
 
1076
    {
 
1077
        /* White Pawn */
 
1078
        0x0000000000000300, 0x0000000000000700, 0x0000000000000e00, 0x0000000000001c00,
 
1079
        0x0000000000003800, 0x0000000000007000, 0x000000000000e000, 0x000000000000c000,
 
1080
        0x0000000001030000, 0x0000000002070000, 0x00000000040e0000, 0x00000000081c0000,
 
1081
        0x0000000010380000, 0x0000000020700000, 0x0000000040e00000, 0x0000000080c00000,
 
1082
        0x0000000003000000, 0x0000000007000000, 0x000000000e000000, 0x000000001c000000,
 
1083
        0x0000000038000000, 0x0000000070000000, 0x00000000e0000000, 0x00000000c0000000,
 
1084
        0x0000000300000000, 0x0000000700000000, 0x0000000e00000000, 0x0000001c00000000,
 
1085
        0x0000003800000000, 0x0000007000000000, 0x000000e000000000, 0x000000c000000000,
 
1086
        0x0000030000000000, 0x0000070000000000, 0x00000e0000000000, 0x00001c0000000000,
 
1087
        0x0000380000000000, 0x0000700000000000, 0x0000e00000000000, 0x0000c00000000000,
 
1088
        0x0003000000000000, 0x0007000000000000, 0x000e000000000000, 0x001c000000000000,
 
1089
        0x0038000000000000, 0x0070000000000000, 0x00e0000000000000, 0x00c0000000000000,
 
1090
        0x0300000000000000, 0x0700000000000000, 0x0e00000000000000, 0x1c00000000000000,
 
1091
        0x3800000000000000, 0x7000000000000000, 0xe000000000000000, 0xc000000000000000,
 
1092
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
1093
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
1094
        /* White Rook */
 
1095
        0x01010101010101fe, 0x02020202020202fd, 0x04040404040404fb, 0x08080808080808f7,
 
1096
        0x10101010101010ef, 0x20202020202020df, 0x40404040404040bf, 0x808080808080807f,
 
1097
        0x010101010101fe01, 0x020202020202fd02, 0x040404040404fb04, 0x080808080808f708,
 
1098
        0x101010101010ef10, 0x202020202020df20, 0x404040404040bf40, 0x8080808080807f80,
 
1099
        0x0101010101fe0101, 0x0202020202fd0202, 0x0404040404fb0404, 0x0808080808f70808,
 
1100
        0x1010101010ef1010, 0x2020202020df2020, 0x4040404040bf4040, 0x80808080807f8080,
 
1101
        0x01010101fe010101, 0x02020202fd020202, 0x04040404fb040404, 0x08080808f7080808,
 
1102
        0x10101010ef101010, 0x20202020df202020, 0x40404040bf404040, 0x808080807f808080,
 
1103
        0x010101fe01010101, 0x020202fd02020202, 0x040404fb04040404, 0x080808f708080808,
 
1104
        0x101010ef10101010, 0x202020df20202020, 0x404040bf40404040, 0x8080807f80808080,
 
1105
        0x0101fe0101010101, 0x0202fd0202020202, 0x0404fb0404040404, 0x0808f70808080808,
 
1106
        0x1010ef1010101010, 0x2020df2020202020, 0x4040bf4040404040, 0x80807f8080808080,
 
1107
        0x01fe010101010101, 0x02fd020202020202, 0x04fb040404040404, 0x08f7080808080808,
 
1108
        0x10ef101010101010, 0x20df202020202020, 0x40bf404040404040, 0x807f808080808080,
 
1109
        0xfe01010101010101, 0xfd02020202020202, 0xfb04040404040404, 0xf708080808080808,
 
1110
        0xef10101010101010, 0xdf20202020202020, 0xbf40404040404040, 0x7f80808080808080,
 
1111
        /* White Knight */
 
1112
        0x0000000000020400, 0x0000000000050800, 0x00000000000a1100, 0x0000000000142200,
 
1113
        0x0000000000284400, 0x0000000000508800, 0x0000000000a01000, 0x0000000000402000,
 
1114
        0x0000000002040004, 0x0000000005080008, 0x000000000a110011, 0x0000000014220022,
 
1115
        0x0000000028440044, 0x0000000050880088, 0x00000000a0100010, 0x0000000040200020,
 
1116
        0x0000000204000402, 0x0000000508000805, 0x0000000a1100110a, 0x0000001422002214,
 
1117
        0x0000002844004428, 0x0000005088008850, 0x000000a0100010a0, 0x0000004020002040,
 
1118
        0x0000020400040200, 0x0000050800080500, 0x00000a1100110a00, 0x0000142200221400,
 
1119
        0x0000284400442800, 0x0000508800885000, 0x0000a0100010a000, 0x0000402000204000,
 
1120
        0x0002040004020000, 0x0005080008050000, 0x000a1100110a0000, 0x0014220022140000,
 
1121
        0x0028440044280000, 0x0050880088500000, 0x00a0100010a00000, 0x0040200020400000,
 
1122
        0x0204000402000000, 0x0508000805000000, 0x0a1100110a000000, 0x1422002214000000,
 
1123
        0x2844004428000000, 0x5088008850000000, 0xa0100010a0000000, 0x4020002040000000,
 
1124
        0x0400040200000000, 0x0800080500000000, 0x1100110a00000000, 0x2200221400000000,
 
1125
        0x4400442800000000, 0x8800885000000000, 0x100010a000000000, 0x2000204000000000,
 
1126
        0x0004020000000000, 0x0008050000000000, 0x00110a0000000000, 0x0022140000000000,
 
1127
        0x0044280000000000, 0x0088500000000000, 0x0010a00000000000, 0x0020400000000000,
 
1128
        /* White Bishop */
 
1129
        0x8040201008040200, 0x0080402010080500, 0x0000804020110a00, 0x0000008041221400,
 
1130
        0x0000000182442800, 0x0000010204885000, 0x000102040810a000, 0x0102040810204000,
 
1131
        0x4020100804020002, 0x8040201008050005, 0x00804020110a000a, 0x0000804122140014,
 
1132
        0x0000018244280028, 0x0001020488500050, 0x0102040810a000a0, 0x0204081020400040,
 
1133
        0x2010080402000204, 0x4020100805000508, 0x804020110a000a11, 0x0080412214001422,
 
1134
        0x0001824428002844, 0x0102048850005088, 0x02040810a000a010, 0x0408102040004020,
 
1135
        0x1008040200020408, 0x2010080500050810, 0x4020110a000a1120, 0x8041221400142241,
 
1136
        0x0182442800284482, 0x0204885000508804, 0x040810a000a01008, 0x0810204000402010,
 
1137
        0x0804020002040810, 0x1008050005081020, 0x20110a000a112040, 0x4122140014224180,
 
1138
        0x8244280028448201, 0x0488500050880402, 0x0810a000a0100804, 0x1020400040201008,
 
1139
        0x0402000204081020, 0x0805000508102040, 0x110a000a11204080, 0x2214001422418000,
 
1140
        0x4428002844820100, 0x8850005088040201, 0x10a000a010080402, 0x2040004020100804,
 
1141
        0x0200020408102040, 0x0500050810204080, 0x0a000a1120408000, 0x1400142241800000,
 
1142
        0x2800284482010000, 0x5000508804020100, 0xa000a01008040201, 0x4000402010080402,
 
1143
        0x0002040810204080, 0x0005081020408000, 0x000a112040800000, 0x0014224180000000,
 
1144
        0x0028448201000000, 0x0050880402010000, 0x00a0100804020100, 0x0040201008040201,
 
1145
        /* White Queen */
 
1146
        0x81412111090503fe, 0x02824222120a07fd, 0x0404844424150efb, 0x08080888492a1cf7,
 
1147
        0x10101011925438ef, 0x2020212224a870df, 0x404142444850e0bf, 0x8182848890a0c07f,
 
1148
        0x412111090503fe03, 0x824222120a07fd07, 0x04844424150efb0e, 0x080888492a1cf71c,
 
1149
        0x101011925438ef38, 0x20212224a870df70, 0x4142444850e0bfe0, 0x82848890a0c07fc0,
 
1150
        0x2111090503fe0305, 0x4222120a07fd070a, 0x844424150efb0e15, 0x0888492a1cf71c2a,
 
1151
        0x1011925438ef3854, 0x212224a870df70a8, 0x42444850e0bfe050, 0x848890a0c07fc0a0,
 
1152
        0x11090503fe030509, 0x22120a07fd070a12, 0x4424150efb0e1524, 0x88492a1cf71c2a49,
 
1153
        0x11925438ef385492, 0x2224a870df70a824, 0x444850e0bfe05048, 0x8890a0c07fc0a090,
 
1154
        0x090503fe03050911, 0x120a07fd070a1222, 0x24150efb0e152444, 0x492a1cf71c2a4988,
 
1155
        0x925438ef38549211, 0x24a870df70a82422, 0x4850e0bfe0504844, 0x90a0c07fc0a09088,
 
1156
        0x0503fe0305091121, 0x0a07fd070a122242, 0x150efb0e15244484, 0x2a1cf71c2a498808,
 
1157
        0x5438ef3854921110, 0xa870df70a8242221, 0x50e0bfe050484442, 0xa0c07fc0a0908884,
 
1158
        0x03fe030509112141, 0x07fd070a12224282, 0x0efb0e1524448404, 0x1cf71c2a49880808,
 
1159
        0x38ef385492111010, 0x70df70a824222120, 0xe0bfe05048444241, 0xc07fc0a090888482,
 
1160
        0xfe03050911214181, 0xfd070a1222428202, 0xfb0e152444840404, 0xf71c2a4988080808,
 
1161
        0xef38549211101010, 0xdf70a82422212020, 0xbfe0504844424140, 0x7fc0a09088848281,
 
1162
        /* White King */
 
1163
        0x0000000000000302, 0x0000000000000705, 0x0000000000000e0a, 0x0000000000001c14,
 
1164
        0x000000000000386c, 0x0000000000007050, 0x000000000000e0a0, 0x000000000000c040,
 
1165
        0x0000000000030203, 0x0000000000070507, 0x00000000000e0a0e, 0x00000000001c141c,
 
1166
        0x0000000000382838, 0x0000000000705070, 0x0000000000e0a0e0, 0x0000000000c040c0,
 
1167
        0x0000000003020300, 0x0000000007050700, 0x000000000e0a0e00, 0x000000001c141c00,
 
1168
        0x0000000038283800, 0x0000000070507000, 0x00000000e0a0e000, 0x00000000c040c000,
 
1169
        0x0000000302030000, 0x0000000705070000, 0x0000000e0a0e0000, 0x0000001c141c0000,
 
1170
        0x0000003828380000, 0x0000007050700000, 0x000000e0a0e00000, 0x000000c040c00000,
 
1171
        0x0000030203000000, 0x0000070507000000, 0x00000e0a0e000000, 0x00001c141c000000,
 
1172
        0x0000382838000000, 0x0000705070000000, 0x0000e0a0e0000000, 0x0000c040c0000000,
 
1173
        0x0003020300000000, 0x0007050700000000, 0x000e0a0e00000000, 0x001c141c00000000,
 
1174
        0x0038283800000000, 0x0070507000000000, 0x00e0a0e000000000, 0x00c040c000000000,
 
1175
        0x0302030000000000, 0x0705070000000000, 0x0e0a0e0000000000, 0x1c141c0000000000,
 
1176
        0x3828380000000000, 0x7050700000000000, 0xe0a0e00000000000, 0xc040c00000000000,
 
1177
        0x0203000000000000, 0x0507000000000000, 0x0a0e000000000000, 0x141c000000000000,
 
1178
        0x2838000000000000, 0x5070000000000000, 0xa0e0000000000000, 0x40c0000000000000,
 
1179
        /* Black Pawn */
 
1180
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
1181
        0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
 
1182
        0x0000000000000003, 0x0000000000000007, 0x000000000000000e, 0x000000000000001c,
 
1183
        0x0000000000000038, 0x0000000000000070, 0x00000000000000e0, 0x00000000000000c0,
 
1184
        0x0000000000000300, 0x0000000000000700, 0x0000000000000e00, 0x0000000000001c00,
 
1185
        0x0000000000003800, 0x0000000000007000, 0x000000000000e000, 0x000000000000c000,
 
1186
        0x0000000000030000, 0x0000000000070000, 0x00000000000e0000, 0x00000000001c0000,
 
1187
        0x0000000000380000, 0x0000000000700000, 0x0000000000e00000, 0x0000000000c00000,
 
1188
        0x0000000003000000, 0x0000000007000000, 0x000000000e000000, 0x000000001c000000,
 
1189
        0x0000000038000000, 0x0000000070000000, 0x00000000e0000000, 0x00000000c0000000,
 
1190
        0x0000000300000000, 0x0000000700000000, 0x0000000e00000000, 0x0000001c00000000,
 
1191
        0x0000003800000000, 0x0000007000000000, 0x000000e000000000, 0x000000c000000000,
 
1192
        0x0000030100000000, 0x0000070200000000, 0x00000e0400000000, 0x00001c0800000000,
 
1193
        0x0000381000000000, 0x0000702000000000, 0x0000e04000000000, 0x0000c08000000000,
 
1194
        0x0003000000000000, 0x0007000000000000, 0x000e000000000000, 0x001c000000000000,
 
1195
        0x0038000000000000, 0x0070000000000000, 0x00e0000000000000, 0x00c0000000000000,
 
1196
        /* Black Rook */
 
1197
        0x01010101010101fe, 0x02020202020202fd, 0x04040404040404fb, 0x08080808080808f7,
 
1198
        0x10101010101010ef, 0x20202020202020df, 0x40404040404040bf, 0x808080808080807f,
 
1199
        0x010101010101fe01, 0x020202020202fd02, 0x040404040404fb04, 0x080808080808f708,
 
1200
        0x101010101010ef10, 0x202020202020df20, 0x404040404040bf40, 0x8080808080807f80,
 
1201
        0x0101010101fe0101, 0x0202020202fd0202, 0x0404040404fb0404, 0x0808080808f70808,
 
1202
        0x1010101010ef1010, 0x2020202020df2020, 0x4040404040bf4040, 0x80808080807f8080,
 
1203
        0x01010101fe010101, 0x02020202fd020202, 0x04040404fb040404, 0x08080808f7080808,
 
1204
        0x10101010ef101010, 0x20202020df202020, 0x40404040bf404040, 0x808080807f808080,
 
1205
        0x010101fe01010101, 0x020202fd02020202, 0x040404fb04040404, 0x080808f708080808,
 
1206
        0x101010ef10101010, 0x202020df20202020, 0x404040bf40404040, 0x8080807f80808080,
 
1207
        0x0101fe0101010101, 0x0202fd0202020202, 0x0404fb0404040404, 0x0808f70808080808,
 
1208
        0x1010ef1010101010, 0x2020df2020202020, 0x4040bf4040404040, 0x80807f8080808080,
 
1209
        0x01fe010101010101, 0x02fd020202020202, 0x04fb040404040404, 0x08f7080808080808,
 
1210
        0x10ef101010101010, 0x20df202020202020, 0x40bf404040404040, 0x807f808080808080,
 
1211
        0xfe01010101010101, 0xfd02020202020202, 0xfb04040404040404, 0xf708080808080808,
 
1212
        0xef10101010101010, 0xdf20202020202020, 0xbf40404040404040, 0x7f80808080808080,
 
1213
        /* Black Knight */
 
1214
        0x0000000000020400, 0x0000000000050800, 0x00000000000a1100, 0x0000000000142200,
 
1215
        0x0000000000284400, 0x0000000000508800, 0x0000000000a01000, 0x0000000000402000,
 
1216
        0x0000000002040004, 0x0000000005080008, 0x000000000a110011, 0x0000000014220022,
 
1217
        0x0000000028440044, 0x0000000050880088, 0x00000000a0100010, 0x0000000040200020,
 
1218
        0x0000000204000402, 0x0000000508000805, 0x0000000a1100110a, 0x0000001422002214,
 
1219
        0x0000002844004428, 0x0000005088008850, 0x000000a0100010a0, 0x0000004020002040,
 
1220
        0x0000020400040200, 0x0000050800080500, 0x00000a1100110a00, 0x0000142200221400,
 
1221
        0x0000284400442800, 0x0000508800885000, 0x0000a0100010a000, 0x0000402000204000,
 
1222
        0x0002040004020000, 0x0005080008050000, 0x000a1100110a0000, 0x0014220022140000,
 
1223
        0x0028440044280000, 0x0050880088500000, 0x00a0100010a00000, 0x0040200020400000,
 
1224
        0x0204000402000000, 0x0508000805000000, 0x0a1100110a000000, 0x1422002214000000,
 
1225
        0x2844004428000000, 0x5088008850000000, 0xa0100010a0000000, 0x4020002040000000,
 
1226
        0x0400040200000000, 0x0800080500000000, 0x1100110a00000000, 0x2200221400000000,
 
1227
        0x4400442800000000, 0x8800885000000000, 0x100010a000000000, 0x2000204000000000,
 
1228
        0x0004020000000000, 0x0008050000000000, 0x00110a0000000000, 0x0022140000000000,
 
1229
        0x0044280000000000, 0x0088500000000000, 0x0010a00000000000, 0x0020400000000000,
 
1230
        /* Black Bishop */
 
1231
        0x8040201008040200, 0x0080402010080500, 0x0000804020110a00, 0x0000008041221400,
 
1232
        0x0000000182442800, 0x0000010204885000, 0x000102040810a000, 0x0102040810204000,
 
1233
        0x4020100804020002, 0x8040201008050005, 0x00804020110a000a, 0x0000804122140014,
 
1234
        0x0000018244280028, 0x0001020488500050, 0x0102040810a000a0, 0x0204081020400040,
 
1235
        0x2010080402000204, 0x4020100805000508, 0x804020110a000a11, 0x0080412214001422,
 
1236
        0x0001824428002844, 0x0102048850005088, 0x02040810a000a010, 0x0408102040004020,
 
1237
        0x1008040200020408, 0x2010080500050810, 0x4020110a000a1120, 0x8041221400142241,
 
1238
        0x0182442800284482, 0x0204885000508804, 0x040810a000a01008, 0x0810204000402010,
 
1239
        0x0804020002040810, 0x1008050005081020, 0x20110a000a112040, 0x4122140014224180,
 
1240
        0x8244280028448201, 0x0488500050880402, 0x0810a000a0100804, 0x1020400040201008,
 
1241
        0x0402000204081020, 0x0805000508102040, 0x110a000a11204080, 0x2214001422418000,
 
1242
        0x4428002844820100, 0x8850005088040201, 0x10a000a010080402, 0x2040004020100804,
 
1243
        0x0200020408102040, 0x0500050810204080, 0x0a000a1120408000, 0x1400142241800000,
 
1244
        0x2800284482010000, 0x5000508804020100, 0xa000a01008040201, 0x4000402010080402,
 
1245
        0x0002040810204080, 0x0005081020408000, 0x000a112040800000, 0x0014224180000000,
 
1246
        0x0028448201000000, 0x0050880402010000, 0x00a0100804020100, 0x0040201008040201,
 
1247
        /* Black Queen */
 
1248
        0x81412111090503fe, 0x02824222120a07fd, 0x0404844424150efb, 0x08080888492a1cf7,
 
1249
        0x10101011925438ef, 0x2020212224a870df, 0x404142444850e0bf, 0x8182848890a0c07f,
 
1250
        0x412111090503fe03, 0x824222120a07fd07, 0x04844424150efb0e, 0x080888492a1cf71c,
 
1251
        0x101011925438ef38, 0x20212224a870df70, 0x4142444850e0bfe0, 0x82848890a0c07fc0,
 
1252
        0x2111090503fe0305, 0x4222120a07fd070a, 0x844424150efb0e15, 0x0888492a1cf71c2a,
 
1253
        0x1011925438ef3854, 0x212224a870df70a8, 0x42444850e0bfe050, 0x848890a0c07fc0a0,
 
1254
        0x11090503fe030509, 0x22120a07fd070a12, 0x4424150efb0e1524, 0x88492a1cf71c2a49,
 
1255
        0x11925438ef385492, 0x2224a870df70a824, 0x444850e0bfe05048, 0x8890a0c07fc0a090,
 
1256
        0x090503fe03050911, 0x120a07fd070a1222, 0x24150efb0e152444, 0x492a1cf71c2a4988,
 
1257
        0x925438ef38549211, 0x24a870df70a82422, 0x4850e0bfe0504844, 0x90a0c07fc0a09088,
 
1258
        0x0503fe0305091121, 0x0a07fd070a122242, 0x150efb0e15244484, 0x2a1cf71c2a498808,
 
1259
        0x5438ef3854921110, 0xa870df70a8242221, 0x50e0bfe050484442, 0xa0c07fc0a0908884,
 
1260
        0x03fe030509112141, 0x07fd070a12224282, 0x0efb0e1524448404, 0x1cf71c2a49880808,
 
1261
        0x38ef385492111010, 0x70df70a824222120, 0xe0bfe05048444241, 0xc07fc0a090888482,
 
1262
        0xfe03050911214181, 0xfd070a1222428202, 0xfb0e152444840404, 0xf71c2a4988080808,
 
1263
        0xef38549211101010, 0xdf70a82422212020, 0xbfe0504844424140, 0x7fc0a09088848281,
 
1264
        /* Black King */
 
1265
        0x0000000000000302, 0x0000000000000705, 0x0000000000000e0a, 0x0000000000001c14,
 
1266
        0x0000000000003828, 0x0000000000007050, 0x000000000000e0a0, 0x000000000000c040,
 
1267
        0x0000000000030203, 0x0000000000070507, 0x00000000000e0a0e, 0x00000000001c141c,
 
1268
        0x0000000000382838, 0x0000000000705070, 0x0000000000e0a0e0, 0x0000000000c040c0,
 
1269
        0x0000000003020300, 0x0000000007050700, 0x000000000e0a0e00, 0x000000001c141c00,
 
1270
        0x0000000038283800, 0x0000000070507000, 0x00000000e0a0e000, 0x00000000c040c000,
 
1271
        0x0000000302030000, 0x0000000705070000, 0x0000000e0a0e0000, 0x0000001c141c0000,
 
1272
        0x0000003828380000, 0x0000007050700000, 0x000000e0a0e00000, 0x000000c040c00000,
 
1273
        0x0000030203000000, 0x0000070507000000, 0x00000e0a0e000000, 0x00001c141c000000,
 
1274
        0x0000382838000000, 0x0000705070000000, 0x0000e0a0e0000000, 0x0000c040c0000000,
 
1275
        0x0003020300000000, 0x0007050700000000, 0x000e0a0e00000000, 0x001c141c00000000,
 
1276
        0x0038283800000000, 0x0070507000000000, 0x00e0a0e000000000, 0x00c040c000000000,
 
1277
        0x0302030000000000, 0x0705070000000000, 0x0e0a0e0000000000, 0x1c141c0000000000,
 
1278
        0x3828380000000000, 0x7050700000000000, 0xe0a0e00000000000, 0xc040c00000000000,
 
1279
        0x0203000000000000, 0x0507000000000000, 0x0a0e000000000000, 0x141c000000000000,
 
1280
        0x6c38000000000000, 0x5070000000000000, 0xa0e0000000000000, 0x40c0000000000000
 
1281
    };
 
1282
 
 
1283
    public static string to_string (int64 mask)
 
1284
    {
 
1285
        var string = "+---+---+---+---+---+---+---+---+\n";
 
1286
        int rowCount = 0;
 
1287
        var colour = " ";
 
1288
        for (int rank = 7; rank >= 0; rank--)
 
1289
        {
 
1290
            for (int file = 0; file < 8; file++)
 
1291
            {
 
1292
                if ((mask & set_location_masks[rank * 8 + file]) != 0)
 
1293
                    string += "|[%s]".printf (colour);
 
1294
                else
 
1295
                    string += "| %s ".printf (colour);
 
1296
                rowCount++;
 
1297
                if (rowCount == 8)
 
1298
                {
 
1299
                    rowCount = 0;
 
1300
                    string += "|\n+---+---+---+---+---+---+---+---+\n";
 
1301
                }
 
1302
                else
 
1303
                {
 
1304
                    if (colour == " ")
 
1305
                        colour = ".";
 
1306
                    else
 
1307
                        colour = " ";
 
1308
                }
 
1309
            }
 
1310
        }
 
1311
 
 
1312
        return string;
 
1313
    }
 
1314
}
 
 
b'\\ No newline at end of file'