-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathzobristrands.h
318 lines (313 loc) · 27.6 KB
/
zobristrands.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
#pragma once
#include "types.h"
namespace {
std::vector<U64> zobrist_rands =
{
U64(67240961), U64(671088643), U64(136445952), U64(268599298), U64(4194353), U64(33595393),
U64(75530496), U64(33554460), U64(4374528), U64(1069057), U64(16810116), U64(270532613),
U64(559105), U64(33687808), U64(3221225477), U64(538969152), U64(68173888), U64(8422416),
U64(2624512), U64(4194404), U64(2147549504), U64(34607360), U64(1074036736), U64(75563072),
U64(1075855360), U64(5696), U64(33562881), U64(101187585), U64(2098181), U64(536871682),
U64(75497760), U64(201392640), U64(201326594), U64(1343552), U64(1114240), U64(277381120),
U64(302008320), U64(1075838993), U64(4202628), U64(50339848), U64(24600), U64(263192),
U64(268967936), U64(35684416), U64(3221225512), U64(1082146880), U64(134228096), U64(276824577),
U64(4227332), U64(201330704), U64(2101250), U64(135266816), U64(2164260868), U64(16496),
U64(545521680), U64(524302), U64(269484033), U64(17696), U64(301989898), U64(397312),
U64(266784), U64(553682944), U64(3670080), U64(1050768), U64(537968640), U64(268444928),
U64(268435840), U64(268444736), U64(8388684), U64(8396805), U64(67674112), U64(268702208),
U64(12845058), U64(19005444), U64(18972672), U64(1074003976), U64(805322784), U64(1073766656),
U64(536903698), U64(150999044), U64(1074085888), U64(8454528), U64(786436), U64(536875044),
U64(671678464), U64(19402752), U64(536903840), U64(100663432), U64(273154176), U64(538001408),
U64(131656), U64(268437696), U64(2149589248), U64(3221225490), U64(116736), U64(1057312),
U64(17973248), U64(269517312), U64(1074003969), U64(90128), U64(8421377), U64(136380417),
U64(268533762), U64(2155890688), U64(3674112), U64(16777221), U64(8929344), U64(2147549189),
U64(2181054496), U64(269516928), U64(269484052), U64(269500416), U64(49160), U64(5153),
U64(671219776), U64(67111200), U64(553648385), U64(142615040), U64(1056800), U64(33562640),
U64(12308), U64(3221233665), U64(268568704), U64(16793634), U64(1077954560), U64(4458512),
U64(2147631168), U64(67117320), U64(2147618820), U64(1207975938), U64(35200), U64(541065360),
U64(1048664), U64(33816592), U64(536977408), U64(67115009), U64(1075847172), U64(1066496),
U64(2156396544), U64(134234242), U64(201359368), U64(2359840), U64(536908800), U64(100990976),
U64(4456704), U64(6291492), U64(536903714), U64(536904712), U64(671416320), U64(134217744),
U64(557186), U64(2138368), U64(8401024), U64(603997184), U64(132672), U64(1610613056),
U64(271057408), U64(1300), U64(1074036800), U64(67109128), U64(2147488258), U64(2155876353),
U64(1046), U64(8454400), U64(273219584), U64(2113552), U64(33620482), U64(12582928),
U64(75503616), U64(1073741827), U64(2131970), U64(1065024), U64(4202562), U64(4260097),
U64(2214592784), U64(540864), U64(17826336), U64(4194386), U64(134218243), U64(671613440),
U64(557184), U64(224), U64(69222528), U64(539033601), U64(8394753), U64(138428417),
U64(1310752), U64(4148), U64(4194436), U64(2147489824), U64(2151677968), U64(68157449),
U64(2415919232), U64(1207959564), U64(570425857), U64(530), U64(1065988), U64(12368),
U64(2147483976), U64(1074269184), U64(131201), U64(537396240), U64(805306504), U64(134222344),
U64(570556672), U64(6291464), U64(8523780), U64(135304), U64(2149580928), U64(67129346),
U64(134489088), U64(3147778), U64(1082392640), U64(2151743496), U64(3221227552), U64(299010),
U64(1049633), U64(25664), U64(541068288), U64(1074790434), U64(268468230), U64(4260032),
U64(65573), U64(37750792), U64(2151678080), U64(1074298896), U64(8396896), U64(10494464),
U64(2118), U64(285343748), U64(136314952), U64(270598272), U64(538574848), U64(1050648),
U64(201852928), U64(2148859904), U64(1208000512), U64(393346), U64(4361), U64(83886104),
U64(100667904), U64(1073741956), U64(33554505), U64(655617), U64(1581056), U64(2164588544),
U64(402677760), U64(570556417), U64(1074010112), U64(1073750208), U64(12648450), U64(136347652),
U64(671155200), U64(2230280), U64(134250880), U64(33625088), U64(134217735), U64(2151684096),
U64(67716), U64(81954), U64(1115138), U64(1048640), U64(2147502088), U64(2281766914),
U64(134381696), U64(8454720), U64(536871696), U64(21233672), U64(10489984), U64(8650758),
U64(4218884), U64(537067528), U64(12591232), U64(538968084), U64(18874896), U64(8398856),
U64(2164260876), U64(136316936), U64(134219072), U64(545326080), U64(16777736), U64(8390152),
U64(538968130), U64(167773184), U64(524824), U64(1140862976), U64(50339968), U64(4202624),
U64(67141637), U64(2214985728), U64(267296), U64(1065089), U64(33824770), U64(33556864),
U64(4202560), U64(134218820), U64(1074036744), U64(403177984), U64(67633665), U64(71434242),
U64(13316), U64(545269760), U64(134217990), U64(2148007938), U64(134357024), U64(536870933),
U64(1134592), U64(335937536), U64(135593984), U64(1073752320), U64(17858576), U64(537396228),
U64(2670592), U64(35651716), U64(1610874884), U64(67127312), U64(541069824), U64(33816608),
U64(268698632), U64(671096896), U64(546045952), U64(8912902), U64(536875018), U64(4196369),
U64(17301888), U64(1073881344), U64(328736), U64(34349056), U64(2415992832), U64(33619971),
U64(2415919176), U64(526856), U64(204864), U64(2214627328), U64(197), U64(268437568),
U64(67125249), U64(805373952), U64(2245120), U64(270472), U64(12585984), U64(24642),
U64(134221857), U64(2147483776), U64(302518272), U64(570687488), U64(37750016), U64(131212),
U64(73988), U64(196868), U64(1082130504), U64(1081857), U64(2148532608), U64(134349058),
U64(75792384), U64(67117328), U64(1074794560), U64(537018624), U64(537987072), U64(134227008),
U64(2147500052), U64(204802), U64(151060481), U64(32786), U64(16789536), U64(18892800),
U64(133392), U64(4456450), U64(8389256), U64(269041664), U64(262284), U64(164128),
U64(100663329), U64(8429696), U64(1131008), U64(1073762305), U64(2121), U64(4259843),
U64(536870936), U64(34084864), U64(38012928), U64(268765184), U64(2147549760), U64(311297),
U64(25165968), U64(134480904), U64(2101260), U64(4235296), U64(279616), U64(2049),
U64(2113604), U64(2148532744), U64(2147614976), U64(69214720), U64(1053056), U64(2148007969),
U64(1077936272), U64(1573120), U64(20740), U64(132256), U64(302006280), U64(2147614978),
U64(134285440), U64(16826376), U64(138429440), U64(138936324), U64(301989893), U64(33570836),
U64(2363392), U64(1075847232), U64(65800), U64(524353), U64(805372416), U64(262673),
U64(134259712), U64(8390400), U64(2147491972), U64(16466), U64(115712), U64(82560),
U64(33685776), U64(570425364), U64(268706816), U64(68157700), U64(268437505), U64(35667970),
U64(4718856), U64(25427976), U64(70688), U64(1207967744), U64(2130178), U64(4262912),
U64(2147516425), U64(84025344), U64(33558016), U64(537166848), U64(1114145), U64(8396832),
U64(268505216), U64(2151825408), U64(67665921), U64(2164326408), U64(1050144), U64(135004161),
U64(134873600), U64(134480008), U64(3221233680), U64(16957440), U64(268699776), U64(2156397056),
U64(530496), U64(69210368), U64(1073774656), U64(150996480), U64(1128), U64(19398784),
U64(538968096), U64(1090521092), U64(8455424), U64(17307648), U64(2088), U64(33882240),
U64(2684358658), U64(67112964), U64(1082163200), U64(67387424), U64(268468233), U64(2688),
U64(16793857), U64(34669056), U64(75497730), U64(1207960578), U64(8388804), U64(1067008),
U64(136224), U64(33558720), U64(2156003336), U64(2164523520), U64(196611), U64(67178560),
U64(2752512), U64(17334336), U64(17072256), U64(100696192), U64(2359456), U64(8396820),
U64(8519713), U64(279044), U64(458756), U64(142608400), U64(1140854788), U64(1075839112),
U64(268468260), U64(285229064), U64(136314881), U64(1073741984), U64(17026), U64(65825),
U64(545275904), U64(33751042), U64(37752864), U64(8650764), U64(2162816), U64(134227968),
U64(2147586048), U64(2113536), U64(141376), U64(268468512), U64(10248), U64(9961600),
U64(2147614816), U64(270542848), U64(6664), U64(67108964), U64(570426624), U64(167772176),
U64(98320), U64(8430080), U64(1077936386), U64(268476448), U64(1074266241), U64(570433600),
U64(2281963521), U64(2147501056), U64(134742020), U64(2151686656), U64(20972548), U64(2099216),
U64(1078003712), U64(524564), U64(545260544), U64(524545), U64(33554721), U64(9046016),
U64(70272), U64(1083424), U64(1073746180), U64(278540), U64(67272960), U64(33816656),
U64(136315424), U64(1573122), U64(553713728), U64(33689608), U64(67125257), U64(1118216),
U64(2164269056), U64(2149842948), U64(285212744), U64(1081364), U64(524324), U64(4195856),
U64(1090584577), U64(1074798594), U64(67129472), U64(1179784), U64(1073776768), U64(1081360),
U64(1343496), U64(1075445760), U64(537067584), U64(8394760), U64(16793609), U64(607232),
U64(537133188), U64(81968), U64(67141636), U64(672000), U64(1077938304), U64(2416443392),
U64(33619970), U64(2177), U64(1073889312), U64(1073742980), U64(4198688), U64(269485058),
U64(537002144), U64(65617), U64(2164294144), U64(2281768960), U64(537018370), U64(25444352),
U64(65568), U64(41943120), U64(4196608), U64(75501584), U64(67125265), U64(6293760),
U64(1073807425), U64(16842824), U64(1114116), U64(268705794), U64(134218245), U64(268443904),
U64(536870960), U64(50348096), U64(2147614754), U64(1074012192), U64(69680), U64(134218370),
U64(532996), U64(1342308416), U64(2098177), U64(8368), U64(8389144), U64(268701728),
U64(1073742090), U64(1074005056), U64(2147485826), U64(8782336), U64(268574848), U64(5140),
U64(272646145), U64(1610616960), U64(8388868), U64(33620128), U64(8194), U64(67108912),
U64(536875140), U64(8716), U64(526976), U64(21233728), U64(33570818), U64(536891424),
U64(134267136), U64(537428992), U64(671088768), U64(537985152), U64(528389), U64(2164264968),
U64(1073784832), U64(6272), U64(3145988), U64(136315040), U64(33554436), U64(2149580868),
U64(2147549280), U64(302522368), U64(5374976), U64(553713666), U64(135266400), U64(536872452),
U64(65546), U64(480), U64(1075839041), U64(135331842), U64(134226440), U64(16712),
U64(1082654720), U64(2232832), U64(12808), U64(4194496), U64(536936448), U64(167804929),
U64(12599298), U64(17039618), U64(67634177), U64(570425352), U64(2684420104), U64(268517376),
U64(1048904), U64(524417), U64(8536068), U64(3600), U64(16789512), U64(135266322),
U64(536904256), U64(16408), U64(2147486240), U64(2156142592), U64(2181038338), U64(536904768),
U64(71385088), U64(75780), U64(134235648), U64(167772680), U64(138545152), U64(20979776),
U64(268468288), U64(2164260880), U64(8388928), U64(1077940288), U64(16777284), U64(8617984),
U64(1114192), U64(16785448), U64(268443905), U64(17965056), U64(570425409), U64(557216),
U64(570558464), U64(2195458), U64(2415936512), U64(134284289), U64(65952), U64(402653952),
U64(283136), U64(18875424), U64(147461), U64(142671936), U64(67109132), U64(8454209),
U64(2293762), U64(4196928), U64(268503056), U64(538198016), U64(10617344), U64(67129345),
U64(12305), U64(5247232), U64(1081504), U64(266512), U64(16782337), U64(570460160),
U64(262468), U64(263744), U64(1051712), U64(2148536322), U64(1077936260), U64(4329504),
U64(276856834), U64(16851072), U64(67117064), U64(168034320), U64(3105), U64(134251524),
U64(134221824), U64(2638080), U64(263233), U64(134226560), U64(37750786), U64(536879184),
U64(1073905666), U64(536905856), U64(276860928), U64(8388652), U64(10754), U64(134348848),
U64(10518530), U64(2147746560), U64(2097221), U64(34078786), U64(2147647504), U64(138415104),
U64(4268033), U64(1074790417), U64(2147484675), U64(1048579), U64(5316608), U64(268961793),
U64(364544), U64(16777800), U64(269488192), U64(69214210), U64(25), U64(1075875840),
U64(34635777), U64(4227336), U64(536940576), U64(67639296), U64(69206144), U64(268452098),
U64(99072), U64(553910304), U64(8913664), U64(138448896), U64(1611137025), U64(4261904),
U64(671350792), U64(786690), U64(401410), U64(151044096), U64(272629778), U64(151781376),
U64(2899968), U64(2148139012), U64(604274688), U64(536922112), U64(5832704), U64(2164785154),
U64(5259266), U64(8389904), U64(268435463), U64(1075871745), U64(537395728), U64(75499008),
U64(671612929), U64(8441856), U64(538050560), U64(71368832), U64(2147549220), U64(402661888),
U64(3221487680), U64(8389728), U64(4456580), U64(540802), U64(268437768), U64(134254848),
U64(285212801), U64(1179908), U64(1074791456), U64(268501058), U64(25174048), U64(2102272),
U64(2097158), U64(268435498), U64(270532737), U64(2147762177), U64(2097), U64(21004304),
U64(2684362768), U64(69730432), U64(1060880), U64(9506816), U64(524344), U64(69238816),
U64(262248), U64(1075855392), U64(8425474), U64(1074135041), U64(1073744128), U64(537396226),
U64(1054721), U64(75501600), U64(2155872259), U64(16818177), U64(134218304), U64(34111520),
U64(3211776), U64(150016), U64(134303744), U64(268574752), U64(2148794372), U64(134242305),
U64(4853760), U64(67698692), U64(71565344), U64(688), U64(49156), U64(10249),
U64(228), U64(4458752), U64(8260), U64(854016), U64(69210114), U64(2561),
U64(67371528), U64(147840), U64(1078231040), U64(2684387329), U64(272630800), U64(4461056),
U64(2113824), U64(2097680), U64(1073759236), U64(1073774660), U64(524361), U64(18752),
U64(134217920), U64(402655488), U64(268443696), U64(541067296), U64(270540864), U64(4219904),
U64(262220), U64(3221241984), U64(25166112), U64(8388769), U64(603980064), U64(2156396545),
U64(269533184), U64(2193), U64(33816672), U64(34078976), U64(37748993), U64(16777258),
U64(285474944), U64(19136768), U64(4618), U64(131348), U64(1611169792), U64(663584),
U64(536872976), U64(16777552), U64(1074004098), U64(2360064), U64(2181046528), U64(10747908),
U64(138412160), U64(2097444), U64(4292), U64(17104928), U64(18884608), U64(268436864),
U64(2151694337), U64(12713986), U64(25305088), U64(1048604), U64(1090535680), U64(98316),
U64(1572960), U64(201328656), U64(538968069), U64(16908432), U64(1090519312), U64(2105864),
U64(603988224), U64(285278208), U64(134218257), U64(35651604), U64(4980744), U64(536871178),
U64(68485120), U64(16552), U64(2416443456), U64(1107427392), U64(1048648), U64(6149),
U64(4460672), U64(25166082), U64(5380), U64(18890752), U64(2147517696), U64(83886368),
U64(2164785156), U64(1091043392), U64(37748866), U64(16901), U64(166400), U64(2151678464),
U64(671350784), U64(1073754120), U64(16794144), U64(536905984), U64(2181039616), U64(2214602752),
U64(2415921153), U64(335548544), U64(9469968), U64(8388741), U64(136323088), U64(2147487777),
U64(6291466), U64(8458), U64(537952257), U64(553910273), U64(539033604), U64(2156134401),
U64(33290), U64(335581184), U64(1140853248), U64(2147488784), U64(2148007972), U64(335577344),
U64(1073782784), U64(1082655232), U64(335560720), U64(17321984), U64(2113540), U64(537403904),
U64(2147536896), U64(41), U64(8659200), U64(1122816), U64(2151678208), U64(402432),
U64(8390728), U64(150994948), U64(67109088), U64(269488130), U64(2392072), U64(2148796416),
U64(4196361), U64(8913921), U64(1078067201), U64(536879232), U64(1090555904), U64(138413568),
U64(67700736), U64(10498048), U64(16859264), U64(537198848), U64(536887301), U64(268697984),
U64(536880136), U64(3221295104), U64(285212768), U64(2147483717), U64(67633192), U64(1082195970),
U64(2130048), U64(553811968), U64(4203136), U64(263200), U64(1342373888), U64(67142176),
U64(1311746), U64(335675904), U64(2147491841), U64(1107320832), U64(134480001), U64(277086272),
U64(2147647496), U64(165896), U64(136355840), U64(134217733), U64(2368), U64(532768),
U64(139396), U64(2148008008), U64(3221227521), U64(83888132), U64(134230080), U64(12582945),
U64(536873220), U64(33556608), U64(537133062), U64(1074266752), U64(537657376), U64(68160512),
U64(67313664), U64(272632064), U64(2214592513), U64(2684354818), U64(4194497), U64(2415921160),
U64(1073807496), U64(38014976), U64(138412164), U64(805306388), U64(1090520192), U64(16781600),
U64(2147483654), U64(2244640), U64(16457), U64(2113), U64(138477584), U64(1315840),
U64(25183232), U64(9699840), U64(33588480), U64(38273056), U64(2149583360), U64(4194434),
U64(2415919113), U64(820224), U64(268476672), U64(257), U64(136380420), U64(2148536352),
U64(1073775108), U64(32836), U64(17563652), U64(553911296), U64(671092738), U64(11010176),
U64(1090584580), U64(134250688), U64(268961800), U64(1610612996), U64(1794), U64(2148536324),
U64(4194306), U64(268438592), U64(34078852), U64(2281734176), U64(2147893248), U64(35088),
U64(8388688), U64(10370), U64(336076800), U64(73808), U64(148544), U64(2097154),
U64(134357000), U64(537403392), U64(1207959872), U64(268443672), U64(2134080), U64(536592),
U64(538976384), U64(6152), U64(83887120), U64(37748992), U64(67256576), U64(5275650),
U64(4456488), U64(2147616768), U64(1073776642), U64(2148532227), U64(285278240), U64(327824),
U64(136462336), U64(134479872), U64(136314884), U64(67665936), U64(538443792), U64(2148270081),
U64(19458), U64(34056), U64(34209800), U64(1310849), U64(131396), U64(136446208),
U64(2281701890), U64(25186304), U64(537018880), U64(268439872), U64(100671504), U64(400),
U64(2098178), U64(1314817), U64(50397696), U64(1090650240), U64(273170432), U64(1073873416),
U64(268468752), U64(1048628), U64(2147614800), U64(100663816), U64(548880), U64(268436481),
U64(17825928), U64(17825804), U64(537006144), U64(1074003985), U64(9437192), U64(134873088),
U64(545292296), U64(536871008), U64(536915968), U64(536880144), U64(67141634), U64(35653664),
U64(525058), U64(42074120), U64(8520705), U64(1077952520), U64(545292544), U64(541589512),
U64(268445704), U64(134218114), U64(4194369), U64(21004296), U64(336101376), U64(1140883460),
U64(67112980), U64(8421392), U64(34078768), U64(10878976), U64(604045824), U64(1091043329),
U64(139520), U64(269484066), U64(4104), U64(172032), U64(2215116801), U64(2107904),
U64(268484616), U64(20988160), U64(268505089), U64(16783392), U64(67109008), U64(541065352),
U64(393249), U64(135266432), U64(269485056), U64(33636608), U64(1342251008), U64(573696),
U64(268501121), U64(285212737), U64(671219720), U64(2147500100), U64(34603026), U64(537493504),
U64(1073741849), U64(8782080), U64(135012352), U64(3221225732), U64(527104), U64(34865153),
U64(37749248), U64(36176896), U64(1074302976), U64(2149711876), U64(536871360), U64(402654464),
U64(328000), U64(268705800), U64(4292612), U64(8913032), U64(1140981888), U64(603996162),
U64(8392834), U64(69271554), U64(2147488257), U64(34099200), U64(8945792), U64(1073746184),
U64(201328642), U64(277086224), U64(2149581064), U64(1073872913), U64(540681), U64(12910592),
U64(1090650112), U64(1074004482), U64(134251024), U64(272662544), U64(3221291072), U64(2147614992),
U64(67117572), U64(2156011520), U64(168296480), U64(35799040), U64(1049856), U64(35661824),
U64(83918864), U64(537659392), U64(541073472), U64(525329), U64(1114114), U64(268963872),
U64(2148549120), U64(33587520), U64(1073808416), U64(1078198528), U64(268485632), U64(1138688),
U64(2415919616), U64(538181696), U64(2214858752), U64(21233665), U64(270533760), U64(134283281),
U64(589864), U64(10489857), U64(604000256), U64(655456), U64(167773192), U64(83890184),
U64(100664324), U64(541186), U64(1075970176), U64(67174410), U64(270600192), U64(536888322),
U64(1075839042), U64(34615296), U64(2164262944), U64(2102276), U64(1073763328), U64(1073745984),
U64(37879809), U64(539525120), U64(1073807488), U64(536903720), U64(1077936152), U64(557059),
U64(285213248), U64(1342177796), U64(134299656), U64(648), U64(134365312), U64(2416181504),
U64(1082662912), U64(2181562368), U64(557062), U64(12582980), U64(1048772), U64(34996224),
U64(4212744), U64(536875392), U64(83008), U64(134234177), U64(35659808), U64(4202528),
U64(2228292), U64(67158144), U64(8982528), U64(77826), U64(16810000), U64(67720),
U64(671613184), U64(142606880), U64(4194948), U64(3153928), U64(266880), U64(268517408),
U64(213024), U64(151011456), U64(163968), U64(136315936), U64(16908293), U64(2147504128),
U64(268566568), U64(1107828736), U64(142622976), U64(537460738), U64(138944512), U64(2147566080),
U64(545523712), U64(3221520384), U64(4329488), U64(5243200), U64(34669568), U64(168034816),
U64(268705792), U64(2097292), U64(35651848), U64(98307), U64(537395272), U64(10487810),
U64(1310721), U64(2181087232), U64(75497474), U64(8217), U64(6295553), U64(536888320),
U64(2147745928), U64(2115712), U64(276825088), U64(1049640), U64(402657288), U64(786692),
U64(6293568), U64(67403792), U64(16810368), U64(269500417), U64(8422408), U64(285215232),
U64(302121024), U64(10485825), U64(50348160), U64(270536832), U64(2134048), U64(262282),
U64(69861376), U64(1074792480), U64(18911232), U64(17956864), U64(1077936128), U64(2147491976),
U64(69226496), U64(2684424192), U64(4194438), U64(268722176), U64(1073754368), U64(9226),
U64(68157712), U64(269500928), U64(1051392), U64(17072128), U64(8527936), U64(2147483912),
U64(1073809412), U64(16777352), U64(142608416), U64(34976), U64(2785280), U64(5767169),
U64(1073946624), U64(1073741880), U64(2113608), U64(2147516428), U64(2155872516), U64(1048838),
U64(2151710724), U64(134219265), U64(10376), U64(34086976), U64(1067016), U64(71304448),
U64(33571074), U64(276828161), U64(538968584), U64(33562888), U64(536888328), U64(131589),
U64(2149597216), U64(69214464), U64(33686017), U64(8667648), U64(138412040), U64(32866),
U64(8486920), U64(16777504), U64(268435712), U64(33619986), U64(33588224), U64(167772544),
U64(33554693), U64(1074397696), U64(16924928), U64(552), U64(402784384), U64(1073751056),
U64(536871492), U64(16777505), U64(21118976), U64(2214641664), U64(8388706), U64(1073754624),
U64(41975824), U64(67395584), U64(66051), U64(541593600), U64(2148597764), U64(2164224),
U64(537135106), U64(1049121), U64(16412), U64(134254624), U64(17301512), U64(2149580872),
U64(198658), U64(276832320), U64(135266324), U64(33687568), U64(5242882), U64(67125824),
U64(9175042), U64(100663424), U64(1073747984), U64(69698), U64(268961024), U64(268961792),
U64(134488072), U64(1082400768), U64(134217740), U64(4735232), U64(590852), U64(50333697),
U64(276828672), U64(2155905024), U64(167809024), U64(5570560), U64(276824193), U64(143130656),
U64(805306448), U64(131618), U64(4735040), U64(68683776), U64(9700352), U64(1090523168),
U64(136318977), U64(279568), U64(134226688), U64(671088649), U64(1122304), U64(262212),
U64(539107328), U64(100696072), U64(2684387584), U64(536879109), U64(20971585), U64(2214596624),
U64(805316608), U64(196704), U64(277087232), U64(16778560), U64(16812036), U64(2155888640),
U64(2053), U64(268435544), U64(2151776256), U64(553684992), U64(17301648), U64(268437008),
U64(276826368), U64(134217989), U64(67620), U64(71569408), U64(1075904576), U64(272630528),
U64(553648168), U64(8324), U64(33558532), U64(1065473), U64(201326722), U64(8396833),
U64(67897344), U64(536887312), U64(9191424), U64(9470464), U64(537133344), U64(2151678336),
U64(134758432), U64(16777266), U64(8389138), U64(1073873412), U64(74272), U64(393472),
U64(8454664), U64(1314816), U64(268443720), U64(21004320), U64(792), U64(285216772),
U64(270663682), U64(16783364), U64(1075843080), U64(37756936), U64(134742560), U64(131713),
U64(2147557380), U64(536870949), U64(67207169), U64(553665536), U64(106504), U64(32802),
U64(2416443396), U64(2147549256), U64(16785666), U64(8325), U64(67145730), U64(34080896),
U64(263428), U64(33620226), U64(1107427329), U64(328200), U64(671617024), U64(2149580812),
U64(16787458), U64(67240464), U64(268460033), U64(2359296), U64(8454416), U64(8388705),
U64(134220804), U64(1073840192), U64(411648), U64(2155872262), U64(142607361), U64(2214600720),
U64(1610614816), U64(34340865), U64(9044096), U64(9437344), U64(803328), U64(786449),
U64(2147500164), U64(134351360), U64(2164785153), U64(327728), U64(134219264), U64(84017216),
U64(133760), U64(8650884), U64(135397376), U64(5242890), U64(4227088), U64(134348866),
U64(2148795392), U64(671096832), U64(537149441), U64(525600), U64(328712), U64(2181050368),
U64(35129344), U64(4227137), U64(268505090), U64(402661408), U64(1074004240), U64(67111168),
U64(268468352), U64(1573024), U64(204928), U64(36960), U64(65712), U64(17080320),
U64(132130), U64(1073889284), U64(570425601), U64(134283332), U64(1179688), U64(2147491864),
U64(134545664), U64(1074004100), U64(1107361824), U64(35652160), U64(33555074), U64(553912320),
U64(37748737), U64(25166088), U64(16845056), U64(545261056), U64(2147483650), U64(805371968),
U64(67113224), U64(335544577), U64(172034), U64(8978560), U64(4457480), U64(1076365312),
U64(2181040384), U64(1048641), U64(536880130), U64(2181046272), U64(150995584), U64(16),
U64(1082130592), U64(135300), U64(537134112), U64(269484161), U64(101187616), U64(1075839233),
U64(4718640), U64(537559040), U64(25165832), U64(8405072), U64(33555474), U64(5243009),
U64(133380), U64(2134032), U64(1107296528), U64(1073742868), U64(17041416), U64(18448),
U64(3329), U64(20987912), U64(536969218), U64(2113794), U64(3221225504), U64(1090),
U64(540804), U64(268566576), U64(335609858), U64(33554950), U64(33558624), U64(2100224),
U64(2416001024), U64(538050576), U64(268435592), U64(553649154), U64(3221225478), U64(67109444),
U64(138674688), U64(12583936), U64(545263680), U64(9175041), U64(3336), U64(50331808),
U64(8576), U64(270353), U64(819264), U64(3408128), U64(2281718784), U64(272662528),
U64(526720), U64(167805440), U64(134219844), U64(8454464), U64(41944064), U64(4198496),
U64(136321024), U64(1181824), U64(19406848), U64(262916), U64(2147747844), U64(67142152),
U64(69468160), U64(131145), U64(2151698432), U64(33816840), U64(134217880), U64(268435649),
U64(38011904), U64(16777220), U64(335561216), U64(1073889344), U64(16781322), U64(9437444),
U64(67125282), U64(53256), U64(277020672), U64(2098305), U64(33556528), U64(8389776),
U64(34603044), U64(150995464), U64(9437312), U64(402685984), U64(558592), U64(1074282560),
U64(1073743880), U64(33563656), U64(2149585920), U64(134234244), U64(18358272), U64(2147615264),
U64(148992), U64(3221258496), U64(34304), U64(1075839000), U64(2281701388), U64(151261184),
U64(1073741964), U64(135413760), U64(8652808), U64(17043520), U64(536928256), U64(2214592552),
U64(33622024), U64(268697680), U64(270599168), U64(2228264), U64(67142658), U64(143261696),
U64(2434), U64(16674), U64(34896), U64(134385664), U64(37376), U64(296976),
U64(1207960580), U64(2105380), U64(21008384), U64(1140851968), U64(18350082), U64(537460744),
U64(1056928), U64(2684362753), U64(1342179328), U64(101187600), U64(268436226), U64(65736),
U64(541065224), U64(657416), U64(167772160), U64(134873216), U64(70), U64(301990146),
U64(2147551296), U64(163843), U64(50372608), U64(33816577), U64(335546384), U64(403210240),
U64(33624096), U64(33718528), U64(1075904528), U64(393488), U64(67174688), U64(806912),
U64(788512), U64(590848), U64(201326672), U64(67240065), U64(16781568), U64(69641),
U64(67244064), U64(2415920144), U64(570426432), U64(1207959552), U64(4194466), U64(285278210),
U64(2113542), U64(570429696), U64(49184), U64(132240), U64(589896), U64(268435617),
U64(42048), U64(1082146944), U64(16785444), U64(134225954), U64(1073774600), U64(33572865),
U64(10880), U64(2151690240), U64(168034560), U64(10488320), U64(8834), U64(134221960),
U64(37781512), U64(536938500), U64(142611456), U64(272630144), U64(136841216), U64(537133216),
U64(2260996), U64(33563168), U64(135268480), U64(8456448), U64(67244036), U64(69210240),
U64(1048674), U64(134221888), U64(1196048), U64(142606356), U64(2148573184), U64(2121730),
U64(9224), U64(17301522), U64(268437524), U64(2415919136), U64(16386), U64(67371266),
U64(32805), U64(285212704), U64(1074266117), U64(286752), U64(88), U64(1610613762),
U64(8454336), U64(2155905152), U64(2129932), U64(603979904), U64(2281963776), U64(268509192),
U64(524316), U64(25174017), U64(2149712128), U64(1181184), U64(2149599232), U64(8391744),
U64(134252552), U64(1114752), U64(4456705), U64(268568064), U64(5505026), U64(798720),
U64(1082165248), U64(167772200), U64(2293764), U64(41975809), U64(138432512), U64(100667393),
U64(9044000), U64(34603536), U64(17170688), U64(1073807368), U64(1318944)
};
}