1 | // Translated from C to Rust. The original C code can be found at |
2 | // https://github.com/ulfjack/ryu and carries the following license: |
3 | // |
4 | // Copyright 2018 Ulf Adams |
5 | // |
6 | // The contents of this file may be used under the terms of the Apache License, |
7 | // Version 2.0. |
8 | // |
9 | // (See accompanying file LICENSE-Apache or copy at |
10 | // http://www.apache.org/licenses/LICENSE-2.0) |
11 | // |
12 | // Alternatively, the contents of this file may be used under the terms of |
13 | // the Boost Software License, Version 1.0. |
14 | // (See accompanying file LICENSE-Boost or copy at |
15 | // https://www.boost.org/LICENSE_1_0.txt) |
16 | // |
17 | // Unless required by applicable law or agreed to in writing, this software |
18 | // is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
19 | // KIND, either express or implied. |
20 | |
21 | const DOUBLE_POW5_INV_TABLE_SIZE: usize = 342; |
22 | const DOUBLE_POW5_TABLE_SIZE: usize = 326; |
23 | |
24 | pub static DOUBLE_POW5_INV_SPLIT: [(u64, u64); DOUBLE_POW5_INV_TABLE_SIZE] = [ |
25 | (1, 2305843009213693952), |
26 | (11068046444225730970, 1844674407370955161), |
27 | (5165088340638674453, 1475739525896764129), |
28 | (7821419487252849886, 1180591620717411303), |
29 | (8824922364862649494, 1888946593147858085), |
30 | (7059937891890119595, 1511157274518286468), |
31 | (13026647942995916322, 1208925819614629174), |
32 | (9774590264567735146, 1934281311383406679), |
33 | (11509021026396098440, 1547425049106725343), |
34 | (16585914450600699399, 1237940039285380274), |
35 | (15469416676735388068, 1980704062856608439), |
36 | (16064882156130220778, 1584563250285286751), |
37 | (9162556910162266299, 1267650600228229401), |
38 | (7281393426775805432, 2028240960365167042), |
39 | (16893161185646375315, 1622592768292133633), |
40 | (2446482504291369283, 1298074214633706907), |
41 | (7603720821608101175, 2076918743413931051), |
42 | (2393627842544570617, 1661534994731144841), |
43 | (16672297533003297786, 1329227995784915872), |
44 | (11918280793837635165, 2126764793255865396), |
45 | (5845275820328197809, 1701411834604692317), |
46 | (15744267100488289217, 1361129467683753853), |
47 | (3054734472329800808, 2177807148294006166), |
48 | (17201182836831481939, 1742245718635204932), |
49 | (6382248639981364905, 1393796574908163946), |
50 | (2832900194486363201, 2230074519853062314), |
51 | (5955668970331000884, 1784059615882449851), |
52 | (1075186361522890384, 1427247692705959881), |
53 | (12788344622662355584, 2283596308329535809), |
54 | (13920024512871794791, 1826877046663628647), |
55 | (3757321980813615186, 1461501637330902918), |
56 | (10384555214134712795, 1169201309864722334), |
57 | (5547241898389809503, 1870722095783555735), |
58 | (4437793518711847602, 1496577676626844588), |
59 | (10928932444453298728, 1197262141301475670), |
60 | (17486291911125277965, 1915619426082361072), |
61 | (6610335899416401726, 1532495540865888858), |
62 | (12666966349016942027, 1225996432692711086), |
63 | (12888448528943286597, 1961594292308337738), |
64 | (17689456452638449924, 1569275433846670190), |
65 | (14151565162110759939, 1255420347077336152), |
66 | (7885109000409574610, 2008672555323737844), |
67 | (9997436015069570011, 1606938044258990275), |
68 | (7997948812055656009, 1285550435407192220), |
69 | (12796718099289049614, 2056880696651507552), |
70 | (2858676849947419045, 1645504557321206042), |
71 | (13354987924183666206, 1316403645856964833), |
72 | (17678631863951955605, 2106245833371143733), |
73 | (3074859046935833515, 1684996666696914987), |
74 | (13527933681774397782, 1347997333357531989), |
75 | (10576647446613305481, 2156795733372051183), |
76 | (15840015586774465031, 1725436586697640946), |
77 | (8982663654677661702, 1380349269358112757), |
78 | (18061610662226169046, 2208558830972980411), |
79 | (10759939715039024913, 1766847064778384329), |
80 | (12297300586773130254, 1413477651822707463), |
81 | (15986332124095098083, 2261564242916331941), |
82 | (9099716884534168143, 1809251394333065553), |
83 | (14658471137111155161, 1447401115466452442), |
84 | (4348079280205103483, 1157920892373161954), |
85 | (14335624477811986218, 1852673427797059126), |
86 | (7779150767507678651, 1482138742237647301), |
87 | (2533971799264232598, 1185710993790117841), |
88 | (15122401323048503126, 1897137590064188545), |
89 | (12097921058438802501, 1517710072051350836), |
90 | (5988988032009131678, 1214168057641080669), |
91 | (16961078480698431330, 1942668892225729070), |
92 | (13568862784558745064, 1554135113780583256), |
93 | (7165741412905085728, 1243308091024466605), |
94 | (11465186260648137165, 1989292945639146568), |
95 | (16550846638002330379, 1591434356511317254), |
96 | (16930026125143774626, 1273147485209053803), |
97 | (4951948911778577463, 2037035976334486086), |
98 | (272210314680951647, 1629628781067588869), |
99 | (3907117066486671641, 1303703024854071095), |
100 | (6251387306378674625, 2085924839766513752), |
101 | (16069156289328670670, 1668739871813211001), |
102 | (9165976216721026213, 1334991897450568801), |
103 | (7286864317269821294, 2135987035920910082), |
104 | (16897537898041588005, 1708789628736728065), |
105 | (13518030318433270404, 1367031702989382452), |
106 | (6871453250525591353, 2187250724783011924), |
107 | (9186511415162383406, 1749800579826409539), |
108 | (11038557946871817048, 1399840463861127631), |
109 | (10282995085511086630, 2239744742177804210), |
110 | (8226396068408869304, 1791795793742243368), |
111 | (13959814484210916090, 1433436634993794694), |
112 | (11267656730511734774, 2293498615990071511), |
113 | (5324776569667477496, 1834798892792057209), |
114 | (7949170070475892320, 1467839114233645767), |
115 | (17427382500606444826, 1174271291386916613), |
116 | (5747719112518849781, 1878834066219066582), |
117 | (15666221734240810795, 1503067252975253265), |
118 | (12532977387392648636, 1202453802380202612), |
119 | (5295368560860596524, 1923926083808324180), |
120 | (4236294848688477220, 1539140867046659344), |
121 | (7078384693692692099, 1231312693637327475), |
122 | (11325415509908307358, 1970100309819723960), |
123 | (9060332407926645887, 1576080247855779168), |
124 | (14626963555825137356, 1260864198284623334), |
125 | (12335095245094488799, 2017382717255397335), |
126 | (9868076196075591040, 1613906173804317868), |
127 | (15273158586344293478, 1291124939043454294), |
128 | (13369007293925138595, 2065799902469526871), |
129 | (7005857020398200553, 1652639921975621497), |
130 | (16672732060544291412, 1322111937580497197), |
131 | (11918976037903224966, 2115379100128795516), |
132 | (5845832015580669650, 1692303280103036413), |
133 | (12055363241948356366, 1353842624082429130), |
134 | (841837113407818570, 2166148198531886609), |
135 | (4362818505468165179, 1732918558825509287), |
136 | (14558301248600263113, 1386334847060407429), |
137 | (12225235553534690011, 2218135755296651887), |
138 | (2401490813343931363, 1774508604237321510), |
139 | (1921192650675145090, 1419606883389857208), |
140 | (17831303500047873437, 2271371013423771532), |
141 | (6886345170554478103, 1817096810739017226), |
142 | (1819727321701672159, 1453677448591213781), |
143 | (16213177116328979020, 1162941958872971024), |
144 | (14873036941900635463, 1860707134196753639), |
145 | (15587778368262418694, 1488565707357402911), |
146 | (8780873879868024632, 1190852565885922329), |
147 | (2981351763563108441, 1905364105417475727), |
148 | (13453127855076217722, 1524291284333980581), |
149 | (7073153469319063855, 1219433027467184465), |
150 | (11317045550910502167, 1951092843947495144), |
151 | (12742985255470312057, 1560874275157996115), |
152 | (10194388204376249646, 1248699420126396892), |
153 | (1553625868034358140, 1997919072202235028), |
154 | (8621598323911307159, 1598335257761788022), |
155 | (17965325103354776697, 1278668206209430417), |
156 | (13987124906400001422, 2045869129935088668), |
157 | (121653480894270168, 1636695303948070935), |
158 | (97322784715416134, 1309356243158456748), |
159 | (14913111714512307107, 2094969989053530796), |
160 | (8241140556867935363, 1675975991242824637), |
161 | (17660958889720079260, 1340780792994259709), |
162 | (17189487779326395846, 2145249268790815535), |
163 | (13751590223461116677, 1716199415032652428), |
164 | (18379969808252713988, 1372959532026121942), |
165 | (14650556434236701088, 2196735251241795108), |
166 | (652398703163629901, 1757388200993436087), |
167 | (11589965406756634890, 1405910560794748869), |
168 | (7475898206584884855, 2249456897271598191), |
169 | (2291369750525997561, 1799565517817278553), |
170 | (9211793429904618695, 1439652414253822842), |
171 | (18428218302589300235, 2303443862806116547), |
172 | (7363877012587619542, 1842755090244893238), |
173 | (13269799239553916280, 1474204072195914590), |
174 | (10615839391643133024, 1179363257756731672), |
175 | (2227947767661371545, 1886981212410770676), |
176 | (16539753473096738529, 1509584969928616540), |
177 | (13231802778477390823, 1207667975942893232), |
178 | (6413489186596184024, 1932268761508629172), |
179 | (16198837793502678189, 1545815009206903337), |
180 | (5580372605318321905, 1236652007365522670), |
181 | (8928596168509315048, 1978643211784836272), |
182 | (18210923379033183008, 1582914569427869017), |
183 | (7190041073742725760, 1266331655542295214), |
184 | (436019273762630246, 2026130648867672343), |
185 | (7727513048493924843, 1620904519094137874), |
186 | (9871359253537050198, 1296723615275310299), |
187 | (4726128361433549347, 2074757784440496479), |
188 | (7470251503888749801, 1659806227552397183), |
189 | (13354898832594820487, 1327844982041917746), |
190 | (13989140502667892133, 2124551971267068394), |
191 | (14880661216876224029, 1699641577013654715), |
192 | (11904528973500979224, 1359713261610923772), |
193 | (4289851098633925465, 2175541218577478036), |
194 | (18189276137874781665, 1740432974861982428), |
195 | (3483374466074094362, 1392346379889585943), |
196 | (1884050330976640656, 2227754207823337509), |
197 | (5196589079523222848, 1782203366258670007), |
198 | (15225317707844309248, 1425762693006936005), |
199 | (5913764258841343181, 2281220308811097609), |
200 | (8420360221814984868, 1824976247048878087), |
201 | (17804334621677718864, 1459980997639102469), |
202 | (17932816512084085415, 1167984798111281975), |
203 | (10245762345624985047, 1868775676978051161), |
204 | (4507261061758077715, 1495020541582440929), |
205 | (7295157664148372495, 1196016433265952743), |
206 | (7982903447895485668, 1913626293225524389), |
207 | (10075671573058298858, 1530901034580419511), |
208 | (4371188443704728763, 1224720827664335609), |
209 | (14372599139411386667, 1959553324262936974), |
210 | (15187428126271019657, 1567642659410349579), |
211 | (15839291315758726049, 1254114127528279663), |
212 | (3206773216762499739, 2006582604045247462), |
213 | (13633465017635730761, 1605266083236197969), |
214 | (14596120828850494932, 1284212866588958375), |
215 | (4907049252451240275, 2054740586542333401), |
216 | (236290587219081897, 1643792469233866721), |
217 | (14946427728742906810, 1315033975387093376), |
218 | (16535586736504830250, 2104054360619349402), |
219 | (5849771759720043554, 1683243488495479522), |
220 | (15747863852001765813, 1346594790796383617), |
221 | (10439186904235184007, 2154551665274213788), |
222 | (15730047152871967852, 1723641332219371030), |
223 | (12584037722297574282, 1378913065775496824), |
224 | (9066413911450387881, 2206260905240794919), |
225 | (10942479943902220628, 1765008724192635935), |
226 | (8753983955121776503, 1412006979354108748), |
227 | (10317025513452932081, 2259211166966573997), |
228 | (874922781278525018, 1807368933573259198), |
229 | (8078635854506640661, 1445895146858607358), |
230 | (13841606313089133175, 1156716117486885886), |
231 | (14767872471458792434, 1850745787979017418), |
232 | (746251532941302978, 1480596630383213935), |
233 | (597001226353042382, 1184477304306571148), |
234 | (15712597221132509104, 1895163686890513836), |
235 | (8880728962164096960, 1516130949512411069), |
236 | (10793931984473187891, 1212904759609928855), |
237 | (17270291175157100626, 1940647615375886168), |
238 | (2748186495899949531, 1552518092300708935), |
239 | (2198549196719959625, 1242014473840567148), |
240 | (18275073973719576693, 1987223158144907436), |
241 | (10930710364233751031, 1589778526515925949), |
242 | (12433917106128911148, 1271822821212740759), |
243 | (8826220925580526867, 2034916513940385215), |
244 | (7060976740464421494, 1627933211152308172), |
245 | (16716827836597268165, 1302346568921846537), |
246 | (11989529279587987770, 2083754510274954460), |
247 | (9591623423670390216, 1667003608219963568), |
248 | (15051996368420132820, 1333602886575970854), |
249 | (13015147745246481542, 2133764618521553367), |
250 | (3033420566713364587, 1707011694817242694), |
251 | (6116085268112601993, 1365609355853794155), |
252 | (9785736428980163188, 2184974969366070648), |
253 | (15207286772667951197, 1747979975492856518), |
254 | (1097782973908629988, 1398383980394285215), |
255 | (1756452758253807981, 2237414368630856344), |
256 | (5094511021344956708, 1789931494904685075), |
257 | (4075608817075965366, 1431945195923748060), |
258 | (6520974107321544586, 2291112313477996896), |
259 | (1527430471115325346, 1832889850782397517), |
260 | (12289990821117991246, 1466311880625918013), |
261 | (17210690286378213644, 1173049504500734410), |
262 | (9090360384495590213, 1876879207201175057), |
263 | (18340334751822203140, 1501503365760940045), |
264 | (14672267801457762512, 1201202692608752036), |
265 | (16096930852848599373, 1921924308174003258), |
266 | (1809498238053148529, 1537539446539202607), |
267 | (12515645034668249793, 1230031557231362085), |
268 | (1578287981759648052, 1968050491570179337), |
269 | (12330676829633449412, 1574440393256143469), |
270 | (13553890278448669853, 1259552314604914775), |
271 | (3239480371808320148, 2015283703367863641), |
272 | (17348979556414297411, 1612226962694290912), |
273 | (6500486015647617283, 1289781570155432730), |
274 | (10400777625036187652, 2063650512248692368), |
275 | (15699319729512770768, 1650920409798953894), |
276 | (16248804598352126938, 1320736327839163115), |
277 | (7551343283653851484, 2113178124542660985), |
278 | (6041074626923081187, 1690542499634128788), |
279 | (12211557331022285596, 1352433999707303030), |
280 | (1091747655926105338, 2163894399531684849), |
281 | (4562746939482794594, 1731115519625347879), |
282 | (7339546366328145998, 1384892415700278303), |
283 | (8053925371383123274, 2215827865120445285), |
284 | (6443140297106498619, 1772662292096356228), |
285 | (12533209867169019542, 1418129833677084982), |
286 | (5295740528502789974, 2269007733883335972), |
287 | (15304638867027962949, 1815206187106668777), |
288 | (4865013464138549713, 1452164949685335022), |
289 | (14960057215536570740, 1161731959748268017), |
290 | (9178696285890871890, 1858771135597228828), |
291 | (14721654658196518159, 1487016908477783062), |
292 | (4398626097073393881, 1189613526782226450), |
293 | (7037801755317430209, 1903381642851562320), |
294 | (5630241404253944167, 1522705314281249856), |
295 | (814844308661245011, 1218164251424999885), |
296 | (1303750893857992017, 1949062802279999816), |
297 | (15800395974054034906, 1559250241823999852), |
298 | (5261619149759407279, 1247400193459199882), |
299 | (12107939454356961969, 1995840309534719811), |
300 | (5997002748743659252, 1596672247627775849), |
301 | (8486951013736837725, 1277337798102220679), |
302 | (2511075177753209390, 2043740476963553087), |
303 | (13076906586428298482, 1634992381570842469), |
304 | (14150874083884549109, 1307993905256673975), |
305 | (4194654460505726958, 2092790248410678361), |
306 | (18113118827372222859, 1674232198728542688), |
307 | (3422448617672047318, 1339385758982834151), |
308 | (16543964232501006678, 2143017214372534641), |
309 | (9545822571258895019, 1714413771498027713), |
310 | (15015355686490936662, 1371531017198422170), |
311 | (5577825024675947042, 2194449627517475473), |
312 | (11840957649224578280, 1755559702013980378), |
313 | (16851463748863483271, 1404447761611184302), |
314 | (12204946739213931940, 2247116418577894884), |
315 | (13453306206113055875, 1797693134862315907), |
316 | (3383947335406624054, 1438154507889852726), |
317 | (16482362180876329456, 2301047212623764361), |
318 | (9496540929959153242, 1840837770099011489), |
319 | (11286581558709232917, 1472670216079209191), |
320 | (5339916432225476010, 1178136172863367353), |
321 | (4854517476818851293, 1885017876581387765), |
322 | (3883613981455081034, 1508014301265110212), |
323 | (14174937629389795797, 1206411441012088169), |
324 | (11611853762797942306, 1930258305619341071), |
325 | (5600134195496443521, 1544206644495472857), |
326 | (15548153800622885787, 1235365315596378285), |
327 | (6430302007287065643, 1976584504954205257), |
328 | (16212288050055383484, 1581267603963364205), |
329 | (12969830440044306787, 1265014083170691364), |
330 | (9683682259845159889, 2024022533073106183), |
331 | (15125643437359948558, 1619218026458484946), |
332 | (8411165935146048523, 1295374421166787957), |
333 | (17147214310975587960, 2072599073866860731), |
334 | (10028422634038560045, 1658079259093488585), |
335 | (8022738107230848036, 1326463407274790868), |
336 | (9147032156827446534, 2122341451639665389), |
337 | (11006974540203867551, 1697873161311732311), |
338 | (5116230817421183718, 1358298529049385849), |
339 | (15564666937357714594, 2173277646479017358), |
340 | (1383687105660440706, 1738622117183213887), |
341 | (12174996128754083534, 1390897693746571109), |
342 | (8411947361780802685, 2225436309994513775), |
343 | (6729557889424642148, 1780349047995611020), |
344 | (5383646311539713719, 1424279238396488816), |
345 | (1235136468979721303, 2278846781434382106), |
346 | (15745504434151418335, 1823077425147505684), |
347 | (16285752362063044992, 1458461940118004547), |
348 | (5649904260166615347, 1166769552094403638), |
349 | (5350498001524674232, 1866831283351045821), |
350 | (591049586477829062, 1493465026680836657), |
351 | (11540886113407994219, 1194772021344669325), |
352 | (18673707743239135, 1911635234151470921), |
353 | (14772334225162232601, 1529308187321176736), |
354 | (8128518565387875758, 1223446549856941389), |
355 | (1937583260394870242, 1957514479771106223), |
356 | (8928764237799716840, 1566011583816884978), |
357 | (14521709019723594119, 1252809267053507982), |
358 | (8477339172590109297, 2004494827285612772), |
359 | (17849917782297818407, 1603595861828490217), |
360 | (6901236596354434079, 1282876689462792174), |
361 | (18420676183650915173, 2052602703140467478), |
362 | (3668494502695001169, 1642082162512373983), |
363 | (10313493231639821582, 1313665730009899186), |
364 | (9122891541139893884, 2101865168015838698), |
365 | (14677010862395735754, 1681492134412670958), |
366 | (673562245690857633, 1345193707530136767), |
367 | ]; |
368 | |
369 | pub static DOUBLE_POW5_SPLIT: [(u64, u64); DOUBLE_POW5_TABLE_SIZE] = [ |
370 | (0, 1152921504606846976), |
371 | (0, 1441151880758558720), |
372 | (0, 1801439850948198400), |
373 | (0, 2251799813685248000), |
374 | (0, 1407374883553280000), |
375 | (0, 1759218604441600000), |
376 | (0, 2199023255552000000), |
377 | (0, 1374389534720000000), |
378 | (0, 1717986918400000000), |
379 | (0, 2147483648000000000), |
380 | (0, 1342177280000000000), |
381 | (0, 1677721600000000000), |
382 | (0, 2097152000000000000), |
383 | (0, 1310720000000000000), |
384 | (0, 1638400000000000000), |
385 | (0, 2048000000000000000), |
386 | (0, 1280000000000000000), |
387 | (0, 1600000000000000000), |
388 | (0, 2000000000000000000), |
389 | (0, 1250000000000000000), |
390 | (0, 1562500000000000000), |
391 | (0, 1953125000000000000), |
392 | (0, 1220703125000000000), |
393 | (0, 1525878906250000000), |
394 | (0, 1907348632812500000), |
395 | (0, 1192092895507812500), |
396 | (0, 1490116119384765625), |
397 | (4611686018427387904, 1862645149230957031), |
398 | (9799832789158199296, 1164153218269348144), |
399 | (12249790986447749120, 1455191522836685180), |
400 | (15312238733059686400, 1818989403545856475), |
401 | (14528612397897220096, 2273736754432320594), |
402 | (13692068767113150464, 1421085471520200371), |
403 | (12503399940464050176, 1776356839400250464), |
404 | (15629249925580062720, 2220446049250313080), |
405 | (9768281203487539200, 1387778780781445675), |
406 | (7598665485932036096, 1734723475976807094), |
407 | (274959820560269312, 2168404344971008868), |
408 | (9395221924704944128, 1355252715606880542), |
409 | (2520655369026404352, 1694065894508600678), |
410 | (12374191248137781248, 2117582368135750847), |
411 | (14651398557727195136, 1323488980084844279), |
412 | (13702562178731606016, 1654361225106055349), |
413 | (3293144668132343808, 2067951531382569187), |
414 | (18199116482078572544, 1292469707114105741), |
415 | (8913837547316051968, 1615587133892632177), |
416 | (15753982952572452864, 2019483917365790221), |
417 | (12152082354571476992, 1262177448353618888), |
418 | (15190102943214346240, 1577721810442023610), |
419 | (9764256642163156992, 1972152263052529513), |
420 | (17631875447420442880, 1232595164407830945), |
421 | (8204786253993389888, 1540743955509788682), |
422 | (1032610780636961552, 1925929944387235853), |
423 | (2951224747111794922, 1203706215242022408), |
424 | (3689030933889743652, 1504632769052528010), |
425 | (13834660704216955373, 1880790961315660012), |
426 | (17870034976990372916, 1175494350822287507), |
427 | (17725857702810578241, 1469367938527859384), |
428 | (3710578054803671186, 1836709923159824231), |
429 | (26536550077201078, 2295887403949780289), |
430 | (11545800389866720434, 1434929627468612680), |
431 | (14432250487333400542, 1793662034335765850), |
432 | (8816941072311974870, 2242077542919707313), |
433 | (17039803216263454053, 1401298464324817070), |
434 | (12076381983474541759, 1751623080406021338), |
435 | (5872105442488401391, 2189528850507526673), |
436 | (15199280947623720629, 1368455531567204170), |
437 | (9775729147674874978, 1710569414459005213), |
438 | (16831347453020981627, 2138211768073756516), |
439 | (1296220121283337709, 1336382355046097823), |
440 | (15455333206886335848, 1670477943807622278), |
441 | (10095794471753144002, 2088097429759527848), |
442 | (6309871544845715001, 1305060893599704905), |
443 | (12499025449484531656, 1631326116999631131), |
444 | (11012095793428276666, 2039157646249538914), |
445 | (11494245889320060820, 1274473528905961821), |
446 | (532749306367912313, 1593091911132452277), |
447 | (5277622651387278295, 1991364888915565346), |
448 | (7910200175544436838, 1244603055572228341), |
449 | (14499436237857933952, 1555753819465285426), |
450 | (8900923260467641632, 1944692274331606783), |
451 | (12480606065433357876, 1215432671457254239), |
452 | (10989071563364309441, 1519290839321567799), |
453 | (9124653435777998898, 1899113549151959749), |
454 | (8008751406574943263, 1186945968219974843), |
455 | (5399253239791291175, 1483682460274968554), |
456 | (15972438586593889776, 1854603075343710692), |
457 | (759402079766405302, 1159126922089819183), |
458 | (14784310654990170340, 1448908652612273978), |
459 | (9257016281882937117, 1811135815765342473), |
460 | (16182956370781059300, 2263919769706678091), |
461 | (7808504722524468110, 1414949856066673807), |
462 | (5148944884728197234, 1768687320083342259), |
463 | (1824495087482858639, 2210859150104177824), |
464 | (1140309429676786649, 1381786968815111140), |
465 | (1425386787095983311, 1727233711018888925), |
466 | (6393419502297367043, 2159042138773611156), |
467 | (13219259225790630210, 1349401336733506972), |
468 | (16524074032238287762, 1686751670916883715), |
469 | (16043406521870471799, 2108439588646104644), |
470 | (803757039314269066, 1317774742903815403), |
471 | (14839754354425000045, 1647218428629769253), |
472 | (4714634887749086344, 2059023035787211567), |
473 | (9864175832484260821, 1286889397367007229), |
474 | (16941905809032713930, 1608611746708759036), |
475 | (2730638187581340797, 2010764683385948796), |
476 | (10930020904093113806, 1256727927116217997), |
477 | (18274212148543780162, 1570909908895272496), |
478 | (4396021111970173586, 1963637386119090621), |
479 | (5053356204195052443, 1227273366324431638), |
480 | (15540067292098591362, 1534091707905539547), |
481 | (14813398096695851299, 1917614634881924434), |
482 | (13870059828862294966, 1198509146801202771), |
483 | (12725888767650480803, 1498136433501503464), |
484 | (15907360959563101004, 1872670541876879330), |
485 | (14553786618154326031, 1170419088673049581), |
486 | (4357175217410743827, 1463023860841311977), |
487 | (10058155040190817688, 1828779826051639971), |
488 | (7961007781811134206, 2285974782564549964), |
489 | (14199001900486734687, 1428734239102843727), |
490 | (13137066357181030455, 1785917798878554659), |
491 | (11809646928048900164, 2232397248598193324), |
492 | (16604401366885338411, 1395248280373870827), |
493 | (16143815690179285109, 1744060350467338534), |
494 | (10956397575869330579, 2180075438084173168), |
495 | (6847748484918331612, 1362547148802608230), |
496 | (17783057643002690323, 1703183936003260287), |
497 | (17617136035325974999, 2128979920004075359), |
498 | (17928239049719816230, 1330612450002547099), |
499 | (17798612793722382384, 1663265562503183874), |
500 | (13024893955298202172, 2079081953128979843), |
501 | (5834715712847682405, 1299426220705612402), |
502 | (16516766677914378815, 1624282775882015502), |
503 | (11422586310538197711, 2030353469852519378), |
504 | (11750802462513761473, 1268970918657824611), |
505 | (10076817059714813937, 1586213648322280764), |
506 | (12596021324643517422, 1982767060402850955), |
507 | (5566670318688504437, 1239229412751781847), |
508 | (2346651879933242642, 1549036765939727309), |
509 | (7545000868343941206, 1936295957424659136), |
510 | (4715625542714963254, 1210184973390411960), |
511 | (5894531928393704067, 1512731216738014950), |
512 | (16591536947346905892, 1890914020922518687), |
513 | (17287239619732898039, 1181821263076574179), |
514 | (16997363506238734644, 1477276578845717724), |
515 | (2799960309088866689, 1846595723557147156), |
516 | (10973347230035317489, 1154122327223216972), |
517 | (13716684037544146861, 1442652909029021215), |
518 | (12534169028502795672, 1803316136286276519), |
519 | (11056025267201106687, 2254145170357845649), |
520 | (18439230838069161439, 1408840731473653530), |
521 | (13825666510731675991, 1761050914342066913), |
522 | (3447025083132431277, 2201313642927583642), |
523 | (6766076695385157452, 1375821026829739776), |
524 | (8457595869231446815, 1719776283537174720), |
525 | (10571994836539308519, 2149720354421468400), |
526 | (6607496772837067824, 1343575221513417750), |
527 | (17482743002901110588, 1679469026891772187), |
528 | (17241742735199000331, 2099336283614715234), |
529 | (15387775227926763111, 1312085177259197021), |
530 | (5399660979626290177, 1640106471573996277), |
531 | (11361262242960250625, 2050133089467495346), |
532 | (11712474920277544544, 1281333180917184591), |
533 | (10028907631919542777, 1601666476146480739), |
534 | (7924448521472040567, 2002083095183100924), |
535 | (14176152362774801162, 1251301934489438077), |
536 | (3885132398186337741, 1564127418111797597), |
537 | (9468101516160310080, 1955159272639746996), |
538 | (15140935484454969608, 1221974545399841872), |
539 | (479425281859160394, 1527468181749802341), |
540 | (5210967620751338397, 1909335227187252926), |
541 | (17091912818251750210, 1193334516992033078), |
542 | (12141518985959911954, 1491668146240041348), |
543 | (15176898732449889943, 1864585182800051685), |
544 | (11791404716994875166, 1165365739250032303), |
545 | (10127569877816206054, 1456707174062540379), |
546 | (8047776328842869663, 1820883967578175474), |
547 | (836348374198811271, 2276104959472719343), |
548 | (7440246761515338900, 1422565599670449589), |
549 | (13911994470321561530, 1778206999588061986), |
550 | (8166621051047176104, 2222758749485077483), |
551 | (2798295147690791113, 1389224218428173427), |
552 | (17332926989895652603, 1736530273035216783), |
553 | (17054472718942177850, 2170662841294020979), |
554 | (8353202440125167204, 1356664275808763112), |
555 | (10441503050156459005, 1695830344760953890), |
556 | (3828506775840797949, 2119787930951192363), |
557 | (86973725686804766, 1324867456844495227), |
558 | (13943775212390669669, 1656084321055619033), |
559 | (3594660960206173375, 2070105401319523792), |
560 | (2246663100128858359, 1293815875824702370), |
561 | (12031700912015848757, 1617269844780877962), |
562 | (5816254103165035138, 2021587305976097453), |
563 | (5941001823691840913, 1263492066235060908), |
564 | (7426252279614801142, 1579365082793826135), |
565 | (4671129331091113523, 1974206353492282669), |
566 | (5225298841145639904, 1233878970932676668), |
567 | (6531623551432049880, 1542348713665845835), |
568 | (3552843420862674446, 1927935892082307294), |
569 | (16055585193321335241, 1204959932551442058), |
570 | (10846109454796893243, 1506199915689302573), |
571 | (18169322836923504458, 1882749894611628216), |
572 | (11355826773077190286, 1176718684132267635), |
573 | (9583097447919099954, 1470898355165334544), |
574 | (11978871809898874942, 1838622943956668180), |
575 | (14973589762373593678, 2298278679945835225), |
576 | (2440964573842414192, 1436424174966147016), |
577 | (3051205717303017741, 1795530218707683770), |
578 | (13037379183483547984, 2244412773384604712), |
579 | (8148361989677217490, 1402757983365377945), |
580 | (14797138505523909766, 1753447479206722431), |
581 | (13884737113477499304, 2191809349008403039), |
582 | (15595489723564518921, 1369880843130251899), |
583 | (14882676136028260747, 1712351053912814874), |
584 | (9379973133180550126, 2140438817391018593), |
585 | (17391698254306313589, 1337774260869386620), |
586 | (3292878744173340370, 1672217826086733276), |
587 | (4116098430216675462, 2090272282608416595), |
588 | (266718509671728212, 1306420176630260372), |
589 | (333398137089660265, 1633025220787825465), |
590 | (5028433689789463235, 2041281525984781831), |
591 | (10060300083759496378, 1275800953740488644), |
592 | (12575375104699370472, 1594751192175610805), |
593 | (1884160825592049379, 1993438990219513507), |
594 | (17318501580490888525, 1245899368887195941), |
595 | (7813068920331446945, 1557374211108994927), |
596 | (5154650131986920777, 1946717763886243659), |
597 | (915813323278131534, 1216698602428902287), |
598 | (14979824709379828129, 1520873253036127858), |
599 | (9501408849870009354, 1901091566295159823), |
600 | (12855909558809837702, 1188182228934474889), |
601 | (2234828893230133415, 1485227786168093612), |
602 | (2793536116537666769, 1856534732710117015), |
603 | (8663489100477123587, 1160334207943823134), |
604 | (1605989338741628675, 1450417759929778918), |
605 | (11230858710281811652, 1813022199912223647), |
606 | (9426887369424876662, 2266277749890279559), |
607 | (12809333633531629769, 1416423593681424724), |
608 | (16011667041914537212, 1770529492101780905), |
609 | (6179525747111007803, 2213161865127226132), |
610 | (13085575628799155685, 1383226165704516332), |
611 | (16356969535998944606, 1729032707130645415), |
612 | (15834525901571292854, 2161290883913306769), |
613 | (2979049660840976177, 1350806802445816731), |
614 | (17558870131333383934, 1688508503057270913), |
615 | (8113529608884566205, 2110635628821588642), |
616 | (9682642023980241782, 1319147268013492901), |
617 | (16714988548402690132, 1648934085016866126), |
618 | (11670363648648586857, 2061167606271082658), |
619 | (11905663298832754689, 1288229753919426661), |
620 | (1047021068258779650, 1610287192399283327), |
621 | (15143834390605638274, 2012858990499104158), |
622 | (4853210475701136017, 1258036869061940099), |
623 | (1454827076199032118, 1572546086327425124), |
624 | (1818533845248790147, 1965682607909281405), |
625 | (3442426662494187794, 1228551629943300878), |
626 | (13526405364972510550, 1535689537429126097), |
627 | (3072948650933474476, 1919611921786407622), |
628 | (15755650962115585259, 1199757451116504763), |
629 | (15082877684217093670, 1499696813895630954), |
630 | (9630225068416591280, 1874621017369538693), |
631 | (8324733676974063502, 1171638135855961683), |
632 | (5794231077790191473, 1464547669819952104), |
633 | (7242788847237739342, 1830684587274940130), |
634 | (18276858095901949986, 2288355734093675162), |
635 | (16034722328366106645, 1430222333808546976), |
636 | (1596658836748081690, 1787777917260683721), |
637 | (6607509564362490017, 2234722396575854651), |
638 | (1823850468512862308, 1396701497859909157), |
639 | (6891499104068465790, 1745876872324886446), |
640 | (17837745916940358045, 2182346090406108057), |
641 | (4231062170446641922, 1363966306503817536), |
642 | (5288827713058302403, 1704957883129771920), |
643 | (6611034641322878003, 2131197353912214900), |
644 | (13355268687681574560, 1331998346195134312), |
645 | (16694085859601968200, 1664997932743917890), |
646 | (11644235287647684442, 2081247415929897363), |
647 | (4971804045566108824, 1300779634956185852), |
648 | (6214755056957636030, 1625974543695232315), |
649 | (3156757802769657134, 2032468179619040394), |
650 | (6584659645158423613, 1270292612261900246), |
651 | (17454196593302805324, 1587865765327375307), |
652 | (17206059723201118751, 1984832206659219134), |
653 | (6142101308573311315, 1240520129162011959), |
654 | (3065940617289251240, 1550650161452514949), |
655 | (8444111790038951954, 1938312701815643686), |
656 | (665883850346957067, 1211445438634777304), |
657 | (832354812933696334, 1514306798293471630), |
658 | (10263815553021896226, 1892883497866839537), |
659 | (17944099766707154901, 1183052186166774710), |
660 | (13206752671529167818, 1478815232708468388), |
661 | (16508440839411459773, 1848519040885585485), |
662 | (12623618533845856310, 1155324400553490928), |
663 | (15779523167307320387, 1444155500691863660), |
664 | (1277659885424598868, 1805194375864829576), |
665 | (1597074856780748586, 2256492969831036970), |
666 | (5609857803915355770, 1410308106144398106), |
667 | (16235694291748970521, 1762885132680497632), |
668 | (1847873790976661535, 2203606415850622041), |
669 | (12684136165428883219, 1377254009906638775), |
670 | (11243484188358716120, 1721567512383298469), |
671 | (219297180166231438, 2151959390479123087), |
672 | (7054589765244976505, 1344974619049451929), |
673 | (13429923224983608535, 1681218273811814911), |
674 | (12175718012802122765, 2101522842264768639), |
675 | (14527352785642408584, 1313451776415480399), |
676 | (13547504963625622826, 1641814720519350499), |
677 | (12322695186104640628, 2052268400649188124), |
678 | (16925056528170176201, 1282667750405742577), |
679 | (7321262604930556539, 1603334688007178222), |
680 | (18374950293017971482, 2004168360008972777), |
681 | (4566814905495150320, 1252605225005607986), |
682 | (14931890668723713708, 1565756531257009982), |
683 | (9441491299049866327, 1957195664071262478), |
684 | (1289246043478778550, 1223247290044539049), |
685 | (6223243572775861092, 1529059112555673811), |
686 | (3167368447542438461, 1911323890694592264), |
687 | (1979605279714024038, 1194577431684120165), |
688 | (7086192618069917952, 1493221789605150206), |
689 | (18081112809442173248, 1866527237006437757), |
690 | (13606538515115052232, 1166579523129023598), |
691 | (7784801107039039482, 1458224403911279498), |
692 | (507629346944023544, 1822780504889099373), |
693 | (5246222702107417334, 2278475631111374216), |
694 | (3278889188817135834, 1424047269444608885), |
695 | (8710297504448807696, 1780059086805761106), |
696 | ]; |
697 | |