]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgcc/config/libbid/bid_convert_data.c
Update copyright years.
[thirdparty/gcc.git] / libgcc / config / libbid / bid_convert_data.c
CommitLineData
99dee823 1/* Copyright (C) 2007-2021 Free Software Foundation, Inc.
200359e8
L
2
3This file is part of GCC.
4
5GCC is free software; you can redistribute it and/or modify it under
6the terms of the GNU General Public License as published by the Free
748086b7 7Software Foundation; either version 3, or (at your option) any later
200359e8
L
8version.
9
200359e8
L
10GCC is distributed in the hope that it will be useful, but WITHOUT ANY
11WARRANTY; without even the implied warranty of MERCHANTABILITY or
12FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13for more details.
14
748086b7
JJ
15Under Section 7 of GPL version 3, you are granted additional
16permissions described in the GCC Runtime Library Exception, version
173.1, as published by the Free Software Foundation.
18
19You should have received a copy of the GNU General Public License and
20a copy of the GCC Runtime Library Exception along with this program;
21see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
22<http://www.gnu.org/licenses/>. */
200359e8
L
23
24#include "bid_internal.h"
25
b2a00c89
L
26// convert_table[j][k][i] = digit i (base 10^8) of k*2^(26+7*j)
27const UINT32 convert_table[5][128][2] = {
200359e8
L
28 {{0, 0}
29 , {67108864, 0}
30 , {34217728, 1}
31 , {1326592, 2}
32 , {68435456, 2}
33 ,
34 {35544320, 3}
35 , {2653184, 4}
36 , {69762048, 4}
37 , {36870912, 5}
38 , {3979776, 6}
39 ,
40 {71088640, 6}
41 , {38197504, 7}
42 , {5306368, 8}
43 , {72415232, 8}
44 , {39524096, 9}
45 ,
46 {6632960, 10}
47 , {73741824, 10}
48 , {40850688, 11}
49 , {7959552, 12}
50 , {75068416, 12}
51 ,
52 {42177280, 13}
53 , {9286144, 14}
54 , {76395008, 14}
55 , {43503872, 15}
56 , {10612736, 16}
57 ,
58 {77721600, 16}
59 , {44830464, 17}
60 , {11939328, 18}
61 , {79048192, 18}
62 , {46157056, 19}
63 ,
64 {13265920, 20}
65 , {80374784, 20}
66 , {47483648, 21}
67 , {14592512, 22}
68 , {81701376, 22}
69 ,
70 {48810240, 23}
71 , {15919104, 24}
72 , {83027968, 24}
73 , {50136832, 25}
74 , {17245696, 26}
75 ,
76 {84354560, 26}
77 , {51463424, 27}
78 , {18572288, 28}
79 , {85681152, 28}
80 , {52790016, 29}
81 ,
82 {19898880, 30}
83 , {87007744, 30}
84 , {54116608, 31}
85 , {21225472, 32}
86 , {88334336, 32}
87 ,
88 {55443200, 33}
89 , {22552064, 34}
90 , {89660928, 34}
91 , {56769792, 35}
92 , {23878656, 36}
93 ,
94 {90987520, 36}
95 , {58096384, 37}
96 , {25205248, 38}
97 , {92314112, 38}
98 , {59422976, 39}
99 ,
100 {26531840, 40}
101 , {93640704, 40}
102 , {60749568, 41}
103 , {27858432, 42}
104 , {94967296, 42}
105 ,
106 {62076160, 43}
107 , {29185024, 44}
108 , {96293888, 44}
109 , {63402752, 45}
110 , {30511616, 46}
111 ,
112 {97620480, 46}
113 , {64729344, 47}
114 , {31838208, 48}
115 , {98947072, 48}
116 , {66055936, 49}
117 ,
118 {33164800, 50}
119 , {273664, 51}
120 , {67382528, 51}
121 , {34491392, 52}
122 , {1600256, 53}
123 ,
124 {68709120, 53}
125 , {35817984, 54}
126 , {2926848, 55}
127 , {70035712, 55}
128 , {37144576, 56}
129 ,
130 {4253440, 57}
131 , {71362304, 57}
132 , {38471168, 58}
133 , {5580032, 59}
134 , {72688896, 59}
135 ,
136 {39797760, 60}
137 , {6906624, 61}
138 , {74015488, 61}
139 , {41124352, 62}
140 , {8233216, 63}
141 ,
142 {75342080, 63}
143 , {42450944, 64}
144 , {9559808, 65}
145 , {76668672, 65}
146 , {43777536, 66}
147 ,
148 {10886400, 67}
149 , {77995264, 67}
150 , {45104128, 68}
151 , {12212992, 69}
152 , {79321856, 69}
153 ,
154 {46430720, 70}
155 , {13539584, 71}
156 , {80648448, 71}
157 , {47757312, 72}
158 , {14866176, 73}
159 ,
160 {81975040, 73}
161 , {49083904, 74}
162 , {16192768, 75}
163 , {83301632, 75}
164 , {50410496, 76}
165 ,
166 {17519360, 77}
167 , {84628224, 77}
168 , {51737088, 78}
169 , {18845952, 79}
170 , {85954816, 79}
171 ,
172 {53063680, 80}
173 , {20172544, 81}
174 , {87281408, 81}
175 , {54390272, 82}
176 , {21499136, 83}
177 ,
178 {88608000, 83}
179 , {55716864, 84}
180 , {22825728, 85}
181 ,
182 }
183 ,
184
185 {{0, 0}
186 , {89934592, 85}
187 , {79869184, 171}
188 , {69803776, 257}
189 , {59738368, 343}
190 ,
191 {49672960, 429}
192 , {39607552, 515}
193 , {29542144, 601}
194 , {19476736, 687}
195 , {9411328, 773}
196 ,
197 {99345920, 858}
198 , {89280512, 944}
199 , {79215104, 1030}
200 , {69149696, 1116}
201 , {59084288, 1202}
202 ,
203 {49018880, 1288}
204 , {38953472, 1374}
205 , {28888064, 1460}
206 , {18822656, 1546}
207 , {8757248, 1632}
208 ,
209 {98691840, 1717}
210 , {88626432, 1803}
211 , {78561024, 1889}
212 , {68495616, 1975}
213 , {58430208, 2061}
214 ,
215 {48364800, 2147}
216 , {38299392, 2233}
217 , {28233984, 2319}
218 , {18168576, 2405}
219 , {8103168, 2491}
220 ,
221 {98037760, 2576}
222 , {87972352, 2662}
223 , {77906944, 2748}
224 , {67841536, 2834}
225 , {57776128, 2920}
226 ,
227 {47710720, 3006}
228 , {37645312, 3092}
229 , {27579904, 3178}
230 , {17514496, 3264}
231 , {7449088, 3350}
232 ,
233 {97383680, 3435}
234 , {87318272, 3521}
235 , {77252864, 3607}
236 , {67187456, 3693}
237 , {57122048, 3779}
238 ,
239 {47056640, 3865}
240 , {36991232, 3951}
241 , {26925824, 4037}
242 , {16860416, 4123}
243 , {6795008, 4209}
244 ,
245 {96729600, 4294}
246 , {86664192, 4380}
247 , {76598784, 4466}
248 , {66533376, 4552}
249 , {56467968, 4638}
250 ,
251 {46402560, 4724}
252 , {36337152, 4810}
253 , {26271744, 4896}
254 , {16206336, 4982}
255 , {6140928, 5068}
256 ,
257 {96075520, 5153}
258 , {86010112, 5239}
259 , {75944704, 5325}
260 , {65879296, 5411}
261 , {55813888, 5497}
262 ,
263 {45748480, 5583}
264 , {35683072, 5669}
265 , {25617664, 5755}
266 , {15552256, 5841}
267 , {5486848, 5927}
268 ,
269 {95421440, 6012}
270 , {85356032, 6098}
271 , {75290624, 6184}
272 , {65225216, 6270}
273 , {55159808, 6356}
274 ,
275 {45094400, 6442}
276 , {35028992, 6528}
277 , {24963584, 6614}
278 , {14898176, 6700}
279 , {4832768, 6786}
280 ,
281 {94767360, 6871}
282 , {84701952, 6957}
283 , {74636544, 7043}
284 , {64571136, 7129}
285 , {54505728, 7215}
286 ,
287 {44440320, 7301}
288 , {34374912, 7387}
289 , {24309504, 7473}
290 , {14244096, 7559}
291 , {4178688, 7645}
292 ,
293 {94113280, 7730}
294 , {84047872, 7816}
295 , {73982464, 7902}
296 , {63917056, 7988}
297 , {53851648, 8074}
298 ,
299 {43786240, 8160}
300 , {33720832, 8246}
301 , {23655424, 8332}
302 , {13590016, 8418}
303 , {3524608, 8504}
304 ,
305 {93459200, 8589}
306 , {83393792, 8675}
307 , {73328384, 8761}
308 , {63262976, 8847}
309 , {53197568, 8933}
310 ,
311 {43132160, 9019}
312 , {33066752, 9105}
313 , {23001344, 9191}
314 , {12935936, 9277}
315 , {2870528, 9363}
316 ,
317 {92805120, 9448}
318 , {82739712, 9534}
319 , {72674304, 9620}
320 , {62608896, 9706}
321 , {52543488, 9792}
322 ,
323 {42478080, 9878}
324 , {32412672, 9964}
325 , {22347264, 10050}
326 , {12281856, 10136}
327 , {2216448, 10222}
328 ,
329 {92151040, 10307}
330 , {82085632, 10393}
331 , {72020224, 10479}
332 , {61954816, 10565}
333 , {51889408, 10651}
334 ,
335 {41824000, 10737}
336 , {31758592, 10823}
337 , {21693184, 10909}
338 ,
339 }
340 ,
341
342 {{0, 0}
343 , {11627776, 10995}
344 , {23255552, 21990}
345 , {34883328, 32985}
346 , {46511104, 43980}
347 ,
348 {58138880, 54975}
349 , {69766656, 65970}
350 , {81394432, 76965}
351 , {93022208, 87960}
352 , {4649984, 98956}
353 ,
354 {16277760, 109951}
355 , {27905536, 120946}
356 , {39533312, 131941}
357 , {51161088, 142936}
358 , {62788864, 153931}
359 ,
360 {74416640, 164926}
361 , {86044416, 175921}
362 , {97672192, 186916}
363 , {9299968, 197912}
364 , {20927744, 208907}
365 ,
366 {32555520, 219902}
367 , {44183296, 230897}
368 , {55811072, 241892}
369 , {67438848, 252887}
370 , {79066624, 263882}
371 ,
372 {90694400, 274877}
373 , {2322176, 285873}
374 , {13949952, 296868}
375 , {25577728, 307863}
376 , {37205504, 318858}
377 ,
378 {48833280, 329853}
379 , {60461056, 340848}
380 , {72088832, 351843}
381 , {83716608, 362838}
382 , {95344384, 373833}
383 ,
384 {6972160, 384829}
385 , {18599936, 395824}
386 , {30227712, 406819}
387 , {41855488, 417814}
388 , {53483264, 428809}
389 ,
390 {65111040, 439804}
391 , {76738816, 450799}
392 , {88366592, 461794}
393 , {99994368, 472789}
394 , {11622144, 483785}
395 ,
396 {23249920, 494780}
397 , {34877696, 505775}
398 , {46505472, 516770}
399 , {58133248, 527765}
400 , {69761024, 538760}
401 ,
402 {81388800, 549755}
403 , {93016576, 560750}
404 , {4644352, 571746}
405 , {16272128, 582741}
406 , {27899904, 593736}
407 ,
408 {39527680, 604731}
409 , {51155456, 615726}
410 , {62783232, 626721}
411 , {74411008, 637716}
412 , {86038784, 648711}
413 ,
414 {97666560, 659706}
415 , {9294336, 670702}
416 , {20922112, 681697}
417 , {32549888, 692692}
418 , {44177664, 703687}
419 ,
420 {55805440, 714682}
421 , {67433216, 725677}
422 , {79060992, 736672}
423 , {90688768, 747667}
424 , {2316544, 758663}
425 ,
426 {13944320, 769658}
427 , {25572096, 780653}
428 , {37199872, 791648}
429 , {48827648, 802643}
430 , {60455424, 813638}
431 ,
432 {72083200, 824633}
433 , {83710976, 835628}
434 , {95338752, 846623}
435 , {6966528, 857619}
436 , {18594304, 868614}
437 ,
438 {30222080, 879609}
439 , {41849856, 890604}
440 , {53477632, 901599}
441 , {65105408, 912594}
442 , {76733184, 923589}
443 ,
444 {88360960, 934584}
445 , {99988736, 945579}
446 , {11616512, 956575}
447 , {23244288, 967570}
448 , {34872064, 978565}
449 ,
450 {46499840, 989560}
451 , {58127616, 1000555}
452 , {69755392, 1011550}
453 , {81383168, 1022545}
454 , {93010944, 1033540}
455 ,
456 {4638720, 1044536}
457 , {16266496, 1055531}
458 , {27894272, 1066526}
459 , {39522048, 1077521}
460 , {51149824, 1088516}
461 ,
462 {62777600, 1099511}
463 , {74405376, 1110506}
464 , {86033152, 1121501}
465 , {97660928, 1132496}
466 , {9288704, 1143492}
467 ,
468 {20916480, 1154487}
469 , {32544256, 1165482}
470 , {44172032, 1176477}
471 , {55799808, 1187472}
472 , {67427584, 1198467}
473 ,
474 {79055360, 1209462}
475 , {90683136, 1220457}
476 , {2310912, 1231453}
477 , {13938688, 1242448}
478 , {25566464, 1253443}
479 ,
480 {37194240, 1264438}
481 , {48822016, 1275433}
482 , {60449792, 1286428}
483 , {72077568, 1297423}
484 , {83705344, 1308418}
485 ,
486 {95333120, 1319413}
487 , {6960896, 1330409}
488 , {18588672, 1341404}
489 , {30216448, 1352399}
490 , {41844224, 1363394}
491 ,
492 {53472000, 1374389}
493 , {65099776, 1385384}
494 , {76727552, 1396379}
495 ,
496 }
497 ,
498
499 {{0, 0}
500 , {88355328, 1407374}
501 , {76710656, 2814749}
502 , {65065984, 4222124}
503 , {53421312, 5629499}
504 ,
505 {41776640, 7036874}
506 , {30131968, 8444249}
507 , {18487296, 9851624}
508 , {6842624, 11258999}
509 , {95197952, 12666373}
510 ,
511 {83553280, 14073748}
512 , {71908608, 15481123}
513 , {60263936, 16888498}
514 , {48619264, 18295873}
515 , {36974592, 19703248}
516 ,
517 {25329920, 21110623}
518 , {13685248, 22517998}
519 , {2040576, 23925373}
520 , {90395904, 25332747}
521 , {78751232, 26740122}
522 ,
523 {67106560, 28147497}
524 , {55461888, 29554872}
525 , {43817216, 30962247}
526 , {32172544, 32369622}
527 , {20527872, 33776997}
528 ,
529 {8883200, 35184372}
530 , {97238528, 36591746}
531 , {85593856, 37999121}
532 , {73949184, 39406496}
533 , {62304512, 40813871}
534 ,
535 {50659840, 42221246}
536 , {39015168, 43628621}
537 , {27370496, 45035996}
538 , {15725824, 46443371}
539 , {4081152, 47850746}
540 ,
541 {92436480, 49258120}
542 , {80791808, 50665495}
543 , {69147136, 52072870}
544 , {57502464, 53480245}
545 , {45857792, 54887620}
546 ,
547 {34213120, 56294995}
548 , {22568448, 57702370}
549 , {10923776, 59109745}
550 , {99279104, 60517119}
551 , {87634432, 61924494}
552 ,
553 {75989760, 63331869}
554 , {64345088, 64739244}
555 , {52700416, 66146619}
556 , {41055744, 67553994}
557 , {29411072, 68961369}
558 ,
559 {17766400, 70368744}
560 , {6121728, 71776119}
561 , {94477056, 73183493}
562 , {82832384, 74590868}
563 , {71187712, 75998243}
564 ,
565 {59543040, 77405618}
566 , {47898368, 78812993}
567 , {36253696, 80220368}
568 , {24609024, 81627743}
569 , {12964352, 83035118}
570 ,
571 {1319680, 84442493}
572 , {89675008, 85849867}
573 , {78030336, 87257242}
574 , {66385664, 88664617}
575 , {54740992, 90071992}
576 ,
577 {43096320, 91479367}
578 , {31451648, 92886742}
579 , {19806976, 94294117}
580 , {8162304, 95701492}
581 , {96517632, 97108866}
582 ,
583 {84872960, 98516241}
584 , {73228288, 99923616}
585 , {61583616, 1330991}
586 , {49938944, 2738366}
587 , {38294272, 4145741}
588 ,
589 {26649600, 5553116}
590 , {15004928, 6960491}
591 , {3360256, 8367866}
592 , {91715584, 9775240}
593 , {80070912, 11182615}
594 ,
595 {68426240, 12589990}
596 , {56781568, 13997365}
597 , {45136896, 15404740}
598 , {33492224, 16812115}
599 , {21847552, 18219490}
600 ,
601 {10202880, 19626865}
602 , {98558208, 21034239}
603 , {86913536, 22441614}
604 , {75268864, 23848989}
605 , {63624192, 25256364}
606 ,
607 {51979520, 26663739}
608 , {40334848, 28071114}
609 , {28690176, 29478489}
610 , {17045504, 30885864}
611 , {5400832, 32293239}
612 ,
613 {93756160, 33700613}
614 , {82111488, 35107988}
615 , {70466816, 36515363}
616 , {58822144, 37922738}
617 , {47177472, 39330113}
618 ,
619 {35532800, 40737488}
620 , {23888128, 42144863}
621 , {12243456, 43552238}
622 , {598784, 44959613}
623 , {88954112, 46366987}
624 ,
625 {77309440, 47774362}
626 , {65664768, 49181737}
627 , {54020096, 50589112}
628 , {42375424, 51996487}
629 , {30730752, 53403862}
630 ,
631 {19086080, 54811237}
632 , {7441408, 56218612}
633 , {95796736, 57625986}
634 , {84152064, 59033361}
635 , {72507392, 60440736}
636 ,
637 {60862720, 61848111}
638 , {49218048, 63255486}
639 , {37573376, 64662861}
640 , {25928704, 66070236}
641 , {14284032, 67477611}
642 ,
643 {2639360, 68884986}
644 , {90994688, 70292360}
645 , {79350016, 71699735}
646 , {67705344, 73107110}
647 , {56060672, 74514485}
648 ,
649 {44416000, 75921860}
650 , {32771328, 77329235}
651 , {21126656, 78736610}
652 ,
653 }
654 ,
655
656 {{0, 0}
657 , {9481984, 80143985}
658 , {18963968, 60287970}
659 , {28445952, 40431955}
660 , {37927936, 20575940}
661 ,
662 {47409920, 719925}
663 , {56891904, 80863910}
664 , {66373888, 61007895}
665 , {75855872, 41151880}
666 , {85337856, 21295865}
667 ,
668 {94819840, 1439850}
669 , {4301824, 81583836}
670 , {13783808, 61727821}
671 , {23265792, 41871806}
672 , {32747776, 22015791}
673 ,
674 {42229760, 2159776}
675 , {51711744, 82303761}
676 , {61193728, 62447746}
677 , {70675712, 42591731}
678 , {80157696, 22735716}
679 ,
680 {89639680, 2879701}
681 , {99121664, 83023686}
682 , {8603648, 63167672}
683 , {18085632, 43311657}
684 , {27567616, 23455642}
685 ,
686 {37049600, 3599627}
687 , {46531584, 83743612}
688 , {56013568, 63887597}
689 , {65495552, 44031582}
690 , {74977536, 24175567}
691 ,
692 {84459520, 4319552}
693 , {93941504, 84463537}
694 , {3423488, 64607523}
695 , {12905472, 44751508}
696 , {22387456, 24895493}
697 ,
698 {31869440, 5039478}
699 , {41351424, 85183463}
700 , {50833408, 65327448}
701 , {60315392, 45471433}
702 , {69797376, 25615418}
703 ,
704 {79279360, 5759403}
705 , {88761344, 85903388}
706 , {98243328, 66047373}
707 , {7725312, 46191359}
708 , {17207296, 26335344}
709 ,
710 {26689280, 6479329}
711 , {36171264, 86623314}
712 , {45653248, 66767299}
713 , {55135232, 46911284}
714 , {64617216, 27055269}
715 ,
716 {74099200, 7199254}
717 , {83581184, 87343239}
718 , {93063168, 67487224}
719 , {2545152, 47631210}
720 , {12027136, 27775195}
721 ,
722 {21509120, 7919180}
723 , {30991104, 88063165}
724 , {40473088, 68207150}
725 , {49955072, 48351135}
726 , {59437056, 28495120}
727 ,
728 {68919040, 8639105}
729 , {78401024, 88783090}
730 , {87883008, 68927075}
731 , {97364992, 49071060}
732 , {6846976, 29215046}
733 ,
734 {16328960, 9359031}
735 , {25810944, 89503016}
736 , {35292928, 69647001}
737 , {44774912, 49790986}
738 , {54256896, 29934971}
739 ,
740 {63738880, 10078956}
741 , {73220864, 90222941}
742 , {82702848, 70366926}
743 , {92184832, 50510911}
744 , {1666816, 30654897}
745 ,
746 {11148800, 10798882}
747 , {20630784, 90942867}
748 , {30112768, 71086852}
749 , {39594752, 51230837}
750 , {49076736, 31374822}
751 ,
752 {58558720, 11518807}
753 , {68040704, 91662792}
754 , {77522688, 71806777}
755 , {87004672, 51950762}
756 , {96486656, 32094747}
757 ,
758 {5968640, 12238733}
759 , {15450624, 92382718}
760 , {24932608, 72526703}
761 , {34414592, 52670688}
762 , {43896576, 32814673}
763 ,
764 {53378560, 12958658}
765 , {62860544, 93102643}
766 , {72342528, 73246628}
767 , {81824512, 53390613}
768 , {91306496, 33534598}
769 ,
770 {788480, 13678584}
771 , {10270464, 93822569}
772 , {19752448, 73966554}
773 , {29234432, 54110539}
774 , {38716416, 34254524}
775 ,
776 {48198400, 14398509}
777 , {57680384, 94542494}
778 , {67162368, 74686479}
779 , {76644352, 54830464}
780 , {86126336, 34974449}
781 ,
782 {95608320, 15118434}
783 , {5090304, 95262420}
784 , {14572288, 75406405}
785 , {24054272, 55550390}
786 , {33536256, 35694375}
787 ,
788 {43018240, 15838360}
789 , {52500224, 95982345}
790 , {61982208, 76126330}
791 , {71464192, 56270315}
792 , {80946176, 36414300}
793 ,
794 {90428160, 16558285}
795 , {99910144, 96702270}
796 , {9392128, 76846256}
797 , {18874112, 56990241}
798 , {28356096, 37134226}
799 ,
800 {37838080, 17278211}
801 , {47320064, 97422196}
802 , {56802048, 77566181}
803 , {66284032, 57710166}
804 , {75766016, 37854151}
805 ,
806 {85248000, 17998136}
807 , {94729984, 98142121}
808 , {4211968, 78286107}
809 ,
810 }
811 ,
812};
813
b2a00c89 814// for j>=min_j[i+1], there is k s.t. convert_table[i][j][k]>0
200359e8
L
815// int min_j[] = { 0, 0, 0, 3 };
816
b2a00c89
L
817// for even k, ((packed_10000_zeros[k>>3])>>(k&7))&3)=greatest(i) s.t. 10^i divides k
818const UINT8 packed_10000_zeros[] = {
200359e8
L
819
820 0x3, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20,
b2a00c89 821 0x40, 0x0, 0x1,
200359e8 822 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x2, 0x4, 0x10, 0x40,
b2a00c89 823 0x0, 0x1, 0x4,
200359e8 824 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0,
b2a00c89 825 0x1, 0x4, 0x10,
200359e8 826 0x40, 0x0, 0x2, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1,
b2a00c89 827 0x4, 0x20, 0x40,
200359e8 828 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x2, 0x4,
b2a00c89 829 0x10, 0x40, 0x0,
200359e8 830 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10,
b2a00c89 831 0x40, 0x0, 0x1,
200359e8 832 0x4, 0x10, 0x40, 0x0, 0x2, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40,
b2a00c89 833 0x0, 0x1, 0x4,
200359e8 834 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0,
b2a00c89 835 0x3, 0x4, 0x10,
200359e8 836 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1,
b2a00c89 837 0x4, 0x10, 0x40,
200359e8 838 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x2, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4,
b2a00c89 839 0x10, 0x40, 0x0,
200359e8 840 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10,
b2a00c89 841 0x40, 0x0, 0x2,
200359e8 842 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40,
b2a00c89 843 0x0, 0x1, 0x4,
200359e8 844 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x2, 0x4, 0x10, 0x40, 0x0,
b2a00c89 845 0x1, 0x4, 0x10,
200359e8 846 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1,
b2a00c89 847 0x4, 0x10, 0x40,
200359e8 848 0x0, 0x2, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4,
b2a00c89 849 0x20, 0x40, 0x0,
200359e8 850 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x3, 0x4, 0x10,
b2a00c89 851 0x40, 0x0, 0x1,
200359e8 852 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40,
b2a00c89 853 0x0, 0x1, 0x4,
200359e8 854 0x10, 0x40, 0x0, 0x2, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0,
b2a00c89 855 0x1, 0x4, 0x20,
200359e8 856 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x2,
b2a00c89 857 0x4, 0x10, 0x40,
200359e8 858 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4,
b2a00c89 859 0x10, 0x40, 0x0,
200359e8 860 0x1, 0x4, 0x10, 0x40, 0x0, 0x2, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10,
b2a00c89 861 0x40, 0x0, 0x1,
200359e8 862 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40,
b2a00c89 863 0x0, 0x2, 0x4,
200359e8 864 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0,
b2a00c89 865 0x1, 0x4, 0x10,
200359e8 866 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x3, 0x4, 0x10, 0x40, 0x0, 0x1,
b2a00c89 867 0x4, 0x10, 0x40,
200359e8 868 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4,
b2a00c89 869 0x10, 0x40, 0x0,
200359e8 870 0x2, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20,
b2a00c89 871 0x40, 0x0, 0x1,
200359e8 872 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x2, 0x4, 0x10, 0x40,
b2a00c89 873 0x0, 0x1, 0x4,
200359e8 874 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0,
b2a00c89 875 0x1, 0x4, 0x10,
200359e8 876 0x40, 0x0, 0x2, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1,
b2a00c89 877 0x4, 0x20, 0x40,
200359e8 878 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x2, 0x4,
b2a00c89 879 0x10, 0x40, 0x0,
200359e8 880 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10,
b2a00c89 881 0x40, 0x0, 0x1,
200359e8 882 0x4, 0x10, 0x40, 0x0, 0x3, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40,
b2a00c89 883 0x0, 0x1, 0x4,
200359e8 884 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0,
b2a00c89 885 0x2, 0x4, 0x10,
200359e8 886 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1,
b2a00c89 887 0x4, 0x10, 0x40,
200359e8 888 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x2, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4,
b2a00c89 889 0x10, 0x40, 0x0,
200359e8 890 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10,
b2a00c89 891 0x40, 0x0, 0x2,
200359e8 892 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40,
b2a00c89 893 0x0, 0x1, 0x4,
200359e8 894 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x2, 0x4, 0x10, 0x40, 0x0,
b2a00c89 895 0x1, 0x4, 0x10,
200359e8 896 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1,
b2a00c89 897 0x4, 0x10, 0x40,
200359e8 898 0x0, 0x3, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4,
b2a00c89 899 0x20, 0x40, 0x0,
200359e8 900 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x2, 0x4, 0x10,
b2a00c89 901 0x40, 0x0, 0x1,
200359e8 902 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40,
b2a00c89 903 0x0, 0x1, 0x4,
200359e8 904 0x10, 0x40, 0x0, 0x2, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0,
b2a00c89 905 0x1, 0x4, 0x20,
200359e8 906 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x2,
b2a00c89 907 0x4, 0x10, 0x40,
200359e8 908 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4,
b2a00c89 909 0x10, 0x40, 0x0,
200359e8 910 0x1, 0x4, 0x10, 0x40, 0x0, 0x2, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10,
b2a00c89 911 0x40, 0x0, 0x1,
200359e8 912 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40,
b2a00c89 913 0x0, 0x3, 0x4,
200359e8 914 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0,
b2a00c89 915 0x1, 0x4, 0x10,
200359e8 916 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x2, 0x4, 0x10, 0x40, 0x0, 0x1,
b2a00c89 917 0x4, 0x10, 0x40,
200359e8 918 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4,
b2a00c89 919 0x10, 0x40, 0x0,
200359e8 920 0x2, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20,
b2a00c89 921 0x40, 0x0, 0x1,
200359e8 922 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x2, 0x4, 0x10, 0x40,
b2a00c89 923 0x0, 0x1, 0x4,
200359e8 924 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0,
b2a00c89 925 0x1, 0x4, 0x10,
200359e8 926 0x40, 0x0, 0x2, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1,
b2a00c89 927 0x4, 0x20, 0x40,
200359e8 928 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x3, 0x4,
b2a00c89 929 0x10, 0x40, 0x0,
200359e8 930 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10,
b2a00c89 931 0x40, 0x0, 0x1,
200359e8 932 0x4, 0x10, 0x40, 0x0, 0x2, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40,
b2a00c89 933 0x0, 0x1, 0x4,
200359e8 934 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0,
b2a00c89 935 0x2, 0x4, 0x10,
200359e8 936 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1,
b2a00c89 937 0x4, 0x10, 0x40,
200359e8 938 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x2, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4,
b2a00c89 939 0x10, 0x40, 0x0,
200359e8 940 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10,
b2a00c89 941 0x40, 0x0, 0x2,
200359e8 942 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40,
b2a00c89 943 0x0, 0x1, 0x4,
200359e8 944 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x3, 0x4, 0x10, 0x40, 0x0,
b2a00c89 945 0x1, 0x4, 0x10,
200359e8 946 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1,
b2a00c89 947 0x4, 0x10, 0x40,
200359e8 948 0x0, 0x2, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4,
b2a00c89 949 0x20, 0x40, 0x0,
200359e8 950 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x2, 0x4, 0x10,
b2a00c89 951 0x40, 0x0, 0x1,
200359e8 952 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40,
b2a00c89 953 0x0, 0x1, 0x4,
200359e8 954 0x10, 0x40, 0x0, 0x2, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0,
b2a00c89 955 0x1, 0x4, 0x20,
200359e8 956 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x2,
b2a00c89 957 0x4, 0x10, 0x40,
200359e8 958 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4,
b2a00c89 959 0x10, 0x40, 0x0,
200359e8 960 0x1, 0x4, 0x10, 0x40, 0x0, 0x3, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10,
b2a00c89 961 0x40, 0x0, 0x1,
200359e8 962 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40,
b2a00c89 963 0x0, 0x2, 0x4,
200359e8 964 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0,
b2a00c89 965 0x1, 0x4, 0x10,
200359e8 966 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x2, 0x4, 0x10, 0x40, 0x0, 0x1,
b2a00c89 967 0x4, 0x10, 0x40,
200359e8 968 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4,
b2a00c89 969 0x10, 0x40, 0x0,
200359e8 970 0x2, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20,
b2a00c89 971 0x40, 0x0, 0x1,
200359e8 972 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x2, 0x4, 0x10, 0x40,
b2a00c89 973 0x0, 0x1, 0x4,
200359e8 974 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0,
b2a00c89 975 0x1, 0x4, 0x10,
200359e8
L
976 0x40, 0x0,
977};
978
979
b2a00c89 980const SINT8 factors[1024][2] = {
200359e8
L
981 {0, 0}
982 , {1, 0}
983 , {0, 0}
984 , {2, 0}
985 , {0, 1}
986 , {1, 0}
987 , {0, 0}
988 , {3, 0}
989 , {0, 0}
990 , {1, 1}
991 ,
992 {0, 0}
993 , {2, 0}
994 , {0, 0}
995 , {1, 0}
996 , {0, 1}
997 , {4, 0}
998 , {0, 0}
999 , {1, 0}
1000 , {0, 0}
1001 , {2, 1}
1002 ,
1003 {0, 0}
1004 , {1, 0}
1005 , {0, 0}
1006 , {3, 0}
1007 , {0, 2}
1008 , {1, 0}
1009 , {0, 0}
1010 , {2, 0}
1011 , {0, 0}
1012 , {1, 1}
1013 ,
1014 {0, 0}
1015 , {5, 0}
1016 , {0, 0}
1017 , {1, 0}
1018 , {0, 1}
1019 , {2, 0}
1020 , {0, 0}
1021 , {1, 0}
1022 , {0, 0}
1023 , {3, 1}
1024 ,
1025 {0, 0}
1026 , {1, 0}
1027 , {0, 0}
1028 , {2, 0}
1029 , {0, 1}
1030 , {1, 0}
1031 , {0, 0}
1032 , {4, 0}
1033 , {0, 0}
1034 , {1, 2}
1035 ,
1036 {0, 0}
1037 , {2, 0}
1038 , {0, 0}
1039 , {1, 0}
1040 , {0, 1}
1041 , {3, 0}
1042 , {0, 0}
1043 , {1, 0}
1044 , {0, 0}
1045 , {2, 1}
1046 ,
1047 {0, 0}
1048 , {1, 0}
1049 , {0, 0}
1050 , {6, 0}
1051 , {0, 1}
1052 , {1, 0}
1053 , {0, 0}
1054 , {2, 0}
1055 , {0, 0}
1056 , {1, 1}
1057 ,
1058 {0, 0}
1059 , {3, 0}
1060 , {0, 0}
1061 , {1, 0}
1062 , {0, 2}
1063 , {2, 0}
1064 , {0, 0}
1065 , {1, 0}
1066 , {0, 0}
1067 , {4, 1}
1068 ,
1069 {0, 0}
1070 , {1, 0}
1071 , {0, 0}
1072 , {2, 0}
1073 , {0, 1}
1074 , {1, 0}
1075 , {0, 0}
1076 , {3, 0}
1077 , {0, 0}
1078 , {1, 1}
1079 ,
1080 {0, 0}
1081 , {2, 0}
1082 , {0, 0}
1083 , {1, 0}
1084 , {0, 1}
1085 , {5, 0}
1086 , {0, 0}
1087 , {1, 0}
1088 , {0, 0}
1089 , {2, 2}
1090 ,
1091 {0, 0}
1092 , {1, 0}
1093 , {0, 0}
1094 , {3, 0}
1095 , {0, 1}
1096 , {1, 0}
1097 , {0, 0}
1098 , {2, 0}
1099 , {0, 0}
1100 , {1, 1}
1101 ,
1102 {0, 0}
1103 , {4, 0}
1104 , {0, 0}
1105 , {1, 0}
1106 , {0, 1}
1107 , {2, 0}
1108 , {0, 0}
1109 , {1, 0}
1110 , {0, 0}
1111 , {3, 1}
1112 ,
1113 {0, 0}
1114 , {1, 0}
1115 , {0, 0}
1116 , {2, 0}
1117 , {0, 3}
1118 , {1, 0}
1119 , {0, 0}
1120 , {7, 0}
1121 , {0, 0}
1122 , {1, 1}
1123 ,
1124 {0, 0}
1125 , {2, 0}
1126 , {0, 0}
1127 , {1, 0}
1128 , {0, 1}
1129 , {3, 0}
1130 , {0, 0}
1131 , {1, 0}
1132 , {0, 0}
1133 , {2, 1}
1134 ,
1135 {0, 0}
1136 , {1, 0}
1137 , {0, 0}
1138 , {4, 0}
1139 , {0, 1}
1140 , {1, 0}
1141 , {0, 0}
1142 , {2, 0}
1143 , {0, 0}
1144 , {1, 2}
1145 ,
1146 {0, 0}
1147 , {3, 0}
1148 , {0, 0}
1149 , {1, 0}
1150 , {0, 1}
1151 , {2, 0}
1152 , {0, 0}
1153 , {1, 0}
1154 , {0, 0}
1155 , {5, 1}
1156 ,
1157 {0, 0}
1158 , {1, 0}
1159 , {0, 0}
1160 , {2, 0}
1161 , {0, 1}
1162 , {1, 0}
1163 , {0, 0}
1164 , {3, 0}
1165 , {0, 0}
1166 , {1, 1}
1167 ,
1168 {0, 0}
1169 , {2, 0}
1170 , {0, 0}
1171 , {1, 0}
1172 , {0, 2}
1173 , {4, 0}
1174 , {0, 0}
1175 , {1, 0}
1176 , {0, 0}
1177 , {2, 1}
1178 ,
1179 {0, 0}
1180 , {1, 0}
1181 , {0, 0}
1182 , {3, 0}
1183 , {0, 1}
1184 , {1, 0}
1185 , {0, 0}
1186 , {2, 0}
1187 , {0, 0}
1188 , {1, 1}
1189 ,
1190 {0, 0}
1191 , {6, 0}
1192 , {0, 0}
1193 , {1, 0}
1194 , {0, 1}
1195 , {2, 0}
1196 , {0, 0}
1197 , {1, 0}
1198 , {0, 0}
1199 , {3, 2}
1200 ,
1201 {0, 0}
1202 , {1, 0}
1203 , {0, 0}
1204 , {2, 0}
1205 , {0, 1}
1206 , {1, 0}
1207 , {0, 0}
1208 , {4, 0}
1209 , {0, 0}
1210 , {1, 1}
1211 ,
1212 {0, 0}
1213 , {2, 0}
1214 , {0, 0}
1215 , {1, 0}
1216 , {0, 1}
1217 , {3, 0}
1218 , {0, 0}
1219 , {1, 0}
1220 , {0, 0}
1221 , {2, 1}
1222 ,
1223 {0, 0}
1224 , {1, 0}
1225 , {0, 0}
1226 , {5, 0}
1227 , {0, 2}
1228 , {1, 0}
1229 , {0, 0}
1230 , {2, 0}
1231 , {0, 0}
1232 , {1, 1}
1233 ,
1234 {0, 0}
1235 , {3, 0}
1236 , {0, 0}
1237 , {1, 0}
1238 , {0, 1}
1239 , {2, 0}
1240 , {0, 0}
1241 , {1, 0}
1242 , {0, 0}
1243 , {4, 1}
1244 ,
1245 {0, 0}
1246 , {1, 0}
1247 , {0, 0}
1248 , {2, 0}
1249 , {0, 1}
1250 , {1, 0}
1251 , {0, 0}
1252 , {3, 0}
1253 , {0, 0}
1254 , {1, 3}
1255 ,
1256 {0, 0}
1257 , {2, 0}
1258 , {0, 0}
1259 , {1, 0}
1260 , {0, 1}
1261 , {8, 0}
1262 , {0, 0}
1263 , {1, 0}
1264 , {0, 0}
1265 , {2, 1}
1266 ,
1267 {0, 0}
1268 , {1, 0}
1269 , {0, 0}
1270 , {3, 0}
1271 , {0, 1}
1272 , {1, 0}
1273 , {0, 0}
1274 , {2, 0}
1275 , {0, 0}
1276 , {1, 1}
1277 ,
1278 {0, 0}
1279 , {4, 0}
1280 , {0, 0}
1281 , {1, 0}
1282 , {0, 2}
1283 , {2, 0}
1284 , {0, 0}
1285 , {1, 0}
1286 , {0, 0}
1287 , {3, 1}
1288 ,
1289 {0, 0}
1290 , {1, 0}
1291 , {0, 0}
1292 , {2, 0}
1293 , {0, 1}
1294 , {1, 0}
1295 , {0, 0}
1296 , {5, 0}
1297 , {0, 0}
1298 , {1, 1}
1299 ,
1300 {0, 0}
1301 , {2, 0}
1302 , {0, 0}
1303 , {1, 0}
1304 , {0, 1}
1305 , {3, 0}
1306 , {0, 0}
1307 , {1, 0}
1308 , {0, 0}
1309 , {2, 2}
1310 ,
1311 {0, 0}
1312 , {1, 0}
1313 , {0, 0}
1314 , {4, 0}
1315 , {0, 1}
1316 , {1, 0}
1317 , {0, 0}
1318 , {2, 0}
1319 , {0, 0}
1320 , {1, 1}
1321 ,
1322 {0, 0}
1323 , {3, 0}
1324 , {0, 0}
1325 , {1, 0}
1326 , {0, 1}
1327 , {2, 0}
1328 , {0, 0}
1329 , {1, 0}
1330 , {0, 0}
1331 , {6, 1}
1332 ,
1333 {0, 0}
1334 , {1, 0}
1335 , {0, 0}
1336 , {2, 0}
1337 , {0, 2}
1338 , {1, 0}
1339 , {0, 0}
1340 , {3, 0}
1341 , {0, 0}
1342 , {1, 1}
1343 ,
1344 {0, 0}
1345 , {2, 0}
1346 , {0, 0}
1347 , {1, 0}
1348 , {0, 1}
1349 , {4, 0}
1350 , {0, 0}
1351 , {1, 0}
1352 , {0, 0}
1353 , {2, 1}
1354 ,
1355 {0, 0}
1356 , {1, 0}
1357 , {0, 0}
1358 , {3, 0}
1359 , {0, 1}
1360 , {1, 0}
1361 , {0, 0}
1362 , {2, 0}
1363 , {0, 0}
1364 , {1, 2}
1365 ,
1366 {0, 0}
1367 , {5, 0}
1368 , {0, 0}
1369 , {1, 0}
1370 , {0, 1}
1371 , {2, 0}
1372 , {0, 0}
1373 , {1, 0}
1374 , {0, 0}
1375 , {3, 1}
1376 ,
1377 {0, 0}
1378 , {1, 0}
1379 , {0, 0}
1380 , {2, 0}
1381 , {0, 1}
1382 , {1, 0}
1383 , {0, 0}
1384 , {4, 0}
1385 , {0, 0}
1386 , {1, 1}
1387 ,
1388 {0, 0}
1389 , {2, 0}
1390 , {0, 0}
1391 , {1, 0}
1392 , {0, 3}
1393 , {3, 0}
1394 , {0, 0}
1395 , {1, 0}
1396 , {0, 0}
1397 , {2, 1}
1398 ,
1399 {0, 0}
1400 , {1, 0}
1401 , {0, 0}
1402 , {7, 0}
1403 , {0, 1}
1404 , {1, 0}
1405 , {0, 0}
1406 , {2, 0}
1407 , {0, 0}
1408 , {1, 1}
1409 ,
1410 {0, 0}
1411 , {3, 0}
1412 , {0, 0}
1413 , {1, 0}
1414 , {0, 1}
1415 , {2, 0}
1416 , {0, 0}
1417 , {1, 0}
1418 , {0, 0}
1419 , {4, 2}
1420 ,
1421 {0, 0}
1422 , {1, 0}
1423 , {0, 0}
1424 , {2, 0}
1425 , {0, 1}
1426 , {1, 0}
1427 , {0, 0}
1428 , {3, 0}
1429 , {0, 0}
1430 , {1, 1}
1431 ,
1432 {0, 0}
1433 , {2, 0}
1434 , {0, 0}
1435 , {1, 0}
1436 , {0, 1}
1437 , {5, 0}
1438 , {0, 0}
1439 , {1, 0}
1440 , {0, 0}
1441 , {2, 1}
1442 ,
1443 {0, 0}
1444 , {1, 0}
1445 , {0, 0}
1446 , {3, 0}
1447 , {0, 2}
1448 , {1, 0}
1449 , {0, 0}
1450 , {2, 0}
1451 , {0, 0}
1452 , {1, 1}
1453 ,
1454 {0, 0}
1455 , {4, 0}
1456 , {0, 0}
1457 , {1, 0}
1458 , {0, 1}
1459 , {2, 0}
1460 , {0, 0}
1461 , {1, 0}
1462 , {0, 0}
1463 , {3, 1}
1464 ,
1465 {0, 0}
1466 , {1, 0}
1467 , {0, 0}
1468 , {2, 0}
1469 , {0, 1}
1470 , {1, 0}
1471 , {0, 0}
1472 , {6, 0}
1473 , {0, 0}
1474 , {1, 2}
1475 ,
1476 {0, 0}
1477 , {2, 0}
1478 , {0, 0}
1479 , {1, 0}
1480 , {0, 1}
1481 , {3, 0}
1482 , {0, 0}
1483 , {1, 0}
1484 , {0, 0}
1485 , {2, 1}
1486 ,
1487 {0, 0}
1488 , {1, 0}
1489 , {0, 0}
1490 , {4, 0}
1491 , {0, 1}
1492 , {1, 0}
1493 , {0, 0}
1494 , {2, 0}
1495 , {0, 0}
1496 , {1, 1}
1497 ,
1498 {0, 0}
1499 , {3, 0}
1500 , {0, 0}
1501 , {1, 0}
1502 , {0, 2}
1503 , {2, 0}
1504 , {0, 0}
1505 , {1, 0}
1506 , {0, 0}
1507 , {5, 1}
1508 ,
1509 {0, 0}
1510 , {1, 0}
1511 , {0, 0}
1512 , {2, 0}
1513 , {0, 1}
1514 , {1, 0}
1515 , {0, 0}
1516 , {3, 0}
1517 , {0, 0}
1518 , {1, 1}
1519 ,
1520 {0, 0}
1521 , {2, 0}
1522 , {0, 0}
1523 , {1, 0}
1524 , {0, 1}
1525 , {4, 0}
1526 , {0, 0}
1527 , {1, 0}
1528 , {0, 0}
1529 , {2, 3}
1530 ,
1531 {0, 0}
1532 , {1, 0}
1533 , {0, 0}
1534 , {3, 0}
1535 , {0, 1}
1536 , {1, 0}
1537 , {0, 0}
1538 , {2, 0}
1539 , {0, 0}
1540 , {1, 1}
1541 ,
1542 {0, 0}
1543 , {9, 0}
1544 , {0, 0}
1545 , {1, 0}
1546 , {0, 1}
1547 , {2, 0}
1548 , {0, 0}
1549 , {1, 0}
1550 , {0, 0}
1551 , {3, 1}
1552 ,
1553 {0, 0}
1554 , {1, 0}
1555 , {0, 0}
1556 , {2, 0}
1557 , {0, 2}
1558 , {1, 0}
1559 , {0, 0}
1560 , {4, 0}
1561 , {0, 0}
1562 , {1, 1}
1563 ,
1564 {0, 0}
1565 , {2, 0}
1566 , {0, 0}
1567 , {1, 0}
1568 , {0, 1}
1569 , {3, 0}
1570 , {0, 0}
1571 , {1, 0}
1572 , {0, 0}
1573 , {2, 1}
1574 ,
1575 {0, 0}
1576 , {1, 0}
1577 , {0, 0}
1578 , {5, 0}
1579 , {0, 1}
1580 , {1, 0}
1581 , {0, 0}
1582 , {2, 0}
1583 , {0, 0}
1584 , {1, 2}
1585 ,
1586 {0, 0}
1587 , {3, 0}
1588 , {0, 0}
1589 , {1, 0}
1590 , {0, 1}
1591 , {2, 0}
1592 , {0, 0}
1593 , {1, 0}
1594 , {0, 0}
1595 , {4, 1}
1596 ,
1597 {0, 0}
1598 , {1, 0}
1599 , {0, 0}
1600 , {2, 0}
1601 , {0, 1}
1602 , {1, 0}
1603 , {0, 0}
1604 , {3, 0}
1605 , {0, 0}
1606 , {1, 1}
1607 ,
1608 {0, 0}
1609 , {2, 0}
1610 , {0, 0}
1611 , {1, 0}
1612 , {0, 2}
1613 , {6, 0}
1614 , {0, 0}
1615 , {1, 0}
1616 , {0, 0}
1617 , {2, 1}
1618 ,
1619 {0, 0}
1620 , {1, 0}
1621 , {0, 0}
1622 , {3, 0}
1623 , {0, 1}
1624 , {1, 0}
1625 , {0, 0}
1626 , {2, 0}
1627 , {0, 0}
1628 , {1, 1}
1629 ,
1630 {0, 0}
1631 , {4, 0}
1632 , {0, 0}
1633 , {1, 0}
1634 , {0, 1}
1635 , {2, 0}
1636 , {0, 0}
1637 , {1, 0}
1638 , {0, 0}
1639 , {3, 2}
1640 ,
1641 {0, 0}
1642 , {1, 0}
1643 , {0, 0}
1644 , {2, 0}
1645 , {0, 1}
1646 , {1, 0}
1647 , {0, 0}
1648 , {5, 0}
1649 , {0, 0}
1650 , {1, 1}
1651 ,
1652 {0, 0}
1653 , {2, 0}
1654 , {0, 0}
1655 , {1, 0}
1656 , {0, 1}
1657 , {3, 0}
1658 , {0, 0}
1659 , {1, 0}
1660 , {0, 0}
1661 , {2, 1}
1662 ,
1663 {0, 0}
1664 , {1, 0}
1665 , {0, 0}
1666 , {4, 0}
1667 , {0, 4}
1668 , {1, 0}
1669 , {0, 0}
1670 , {2, 0}
1671 , {0, 0}
1672 , {1, 1}
1673 ,
1674 {0, 0}
1675 , {3, 0}
1676 , {0, 0}
1677 , {1, 0}
1678 , {0, 1}
1679 , {2, 0}
1680 , {0, 0}
1681 , {1, 0}
1682 , {0, 0}
1683 , {7, 1}
1684 ,
1685 {0, 0}
1686 , {1, 0}
1687 , {0, 0}
1688 , {2, 0}
1689 , {0, 1}
1690 , {1, 0}
1691 , {0, 0}
1692 , {3, 0}
1693 , {0, 0}
1694 , {1, 2}
1695 ,
1696 {0, 0}
1697 , {2, 0}
1698 , {0, 0}
1699 , {1, 0}
1700 , {0, 1}
1701 , {4, 0}
1702 , {0, 0}
1703 , {1, 0}
1704 , {0, 0}
1705 , {2, 1}
1706 ,
1707 {0, 0}
1708 , {1, 0}
1709 , {0, 0}
1710 , {3, 0}
1711 , {0, 1}
1712 , {1, 0}
1713 , {0, 0}
1714 , {2, 0}
1715 , {0, 0}
1716 , {1, 1}
1717 ,
1718 {0, 0}
1719 , {5, 0}
1720 , {0, 0}
1721 , {1, 0}
1722 , {0, 2}
1723 , {2, 0}
1724 , {0, 0}
1725 , {1, 0}
1726 , {0, 0}
1727 , {3, 1}
1728 ,
1729 {0, 0}
1730 , {1, 0}
1731 , {0, 0}
1732 , {2, 0}
1733 , {0, 1}
1734 , {1, 0}
1735 , {0, 0}
1736 , {4, 0}
1737 , {0, 0}
1738 , {1, 1}
1739 ,
1740 {0, 0}
1741 , {2, 0}
1742 , {0, 0}
1743 , {1, 0}
1744 , {0, 1}
1745 , {3, 0}
1746 , {0, 0}
1747 , {1, 0}
1748 , {0, 0}
1749 , {2, 2}
1750 ,
1751 {0, 0}
1752 , {1, 0}
1753 , {0, 0}
1754 , {6, 0}
1755 , {0, 1}
1756 , {1, 0}
1757 , {0, 0}
1758 , {2, 0}
1759 , {0, 0}
1760 , {1, 1}
1761 ,
1762 {0, 0}
1763 , {3, 0}
1764 , {0, 0}
1765 , {1, 0}
1766 , {0, 1}
1767 , {2, 0}
1768 , {0, 0}
1769 , {1, 0}
1770 , {0, 0}
1771 , {4, 1}
1772 ,
1773 {0, 0}
1774 , {1, 0}
1775 , {0, 0}
1776 , {2, 0}
1777 , {0, 2}
1778 , {1, 0}
1779 , {0, 0}
1780 , {3, 0}
1781 , {0, 0}
1782 , {1, 1}
1783 ,
1784 {0, 0}
1785 , {2, 0}
1786 , {0, 0}
1787 , {1, 0}
1788 , {0, 1}
1789 , {5, 0}
1790 , {0, 0}
1791 , {1, 0}
1792 , {0, 0}
1793 , {2, 1}
1794 ,
1795 {0, 0}
1796 , {1, 0}
1797 , {0, 0}
1798 , {3, 0}
1799 , {0, 1}
1800 , {1, 0}
1801 , {0, 0}
1802 , {2, 0}
1803 , {0, 0}
1804 , {1, 3}
1805 ,
1806 {0, 0}
1807 , {4, 0}
1808 , {0, 0}
1809 , {1, 0}
1810 , {0, 1}
1811 , {2, 0}
1812 , {0, 0}
1813 , {1, 0}
1814 , {0, 0}
1815 , {3, 1}
1816 ,
1817 {0, 0}
1818 , {1, 0}
1819 , {0, 0}
1820 , {2, 0}
1821 , {0, 1}
1822 , {1, 0}
1823 , {0, 0}
1824 , {8, 0}
1825 , {0, 0}
1826 , {1, 1}
1827 ,
1828 {0, 0}
1829 , {2, 0}
1830 , {0, 0}
1831 , {1, 0}
1832 , {0, 2}
1833 , {3, 0}
1834 , {0, 0}
1835 , {1, 0}
1836 , {0, 0}
1837 , {2, 1}
1838 ,
1839 {0, 0}
1840 , {1, 0}
1841 , {0, 0}
1842 , {4, 0}
1843 , {0, 1}
1844 , {1, 0}
1845 , {0, 0}
1846 , {2, 0}
1847 , {0, 0}
1848 , {1, 1}
1849 ,
1850 {0, 0}
1851 , {3, 0}
1852 , {0, 0}
1853 , {1, 0}
1854 , {0, 1}
1855 , {2, 0}
1856 , {0, 0}
1857 , {1, 0}
1858 , {0, 0}
1859 , {5, 2}
1860 ,
1861 {0, 0}
1862 , {1, 0}
1863 , {0, 0}
1864 , {2, 0}
1865 , {0, 1}
1866 , {1, 0}
1867 , {0, 0}
1868 , {3, 0}
1869 , {0, 0}
1870 , {1, 1}
1871 ,
1872 {0, 0}
1873 , {2, 0}
1874 , {0, 0}
1875 , {1, 0}
1876 , {0, 1}
1877 , {4, 0}
1878 , {0, 0}
1879 , {1, 0}
1880 , {0, 0}
1881 , {2, 1}
1882 ,
1883 {0, 0}
1884 , {1, 0}
1885 , {0, 0}
1886 , {3, 0}
1887 , {0, 2}
1888 , {1, 0}
1889 , {0, 0}
1890 , {2, 0}
1891 , {0, 0}
1892 , {1, 1}
1893 ,
1894 {0, 0}
1895 , {6, 0}
1896 , {0, 0}
1897 , {1, 0}
1898 , {0, 1}
1899 , {2, 0}
1900 , {0, 0}
1901 , {1, 0}
1902 , {0, 0}
1903 , {3, 1}
1904 ,
1905 {0, 0}
1906 , {1, 0}
1907 , {0, 0}
1908 , {2, 0}
1909 , {0, 1}
1910 , {1, 0}
1911 , {0, 0}
1912 , {4, 0}
1913 , {0, 0}
1914 , {1, 2}
1915 ,
1916 {0, 0}
1917 , {2, 0}
1918 , {0, 0}
1919 , {1, 0}
1920 , {0, 1}
1921 , {3, 0}
1922 , {0, 0}
1923 , {1, 0}
1924 , {0, 0}
1925 , {2, 1}
1926 ,
1927 {0, 0}
1928 , {1, 0}
1929 , {0, 0}
1930 , {5, 0}
1931 , {0, 1}
1932 , {1, 0}
1933 , {0, 0}
1934 , {2, 0}
1935 , {0, 0}
1936 , {1, 1}
1937 ,
1938 {0, 0}
1939 , {3, 0}
1940 , {0, 0}
1941 , {1, 0}
1942 , {0, 3}
1943 , {2, 0}
1944 , {0, 0}
1945 , {1, 0}
1946 , {0, 0}
1947 , {4, 1}
1948 ,
1949 {0, 0}
1950 , {1, 0}
1951 , {0, 0}
1952 , {2, 0}
1953 , {0, 1}
1954 , {1, 0}
1955 , {0, 0}
1956 , {3, 0}
1957 , {0, 0}
1958 , {1, 1}
1959 ,
1960 {0, 0}
1961 , {2, 0}
1962 , {0, 0}
1963 , {1, 0}
1964 , {0, 1}
1965 , {7, 0}
1966 , {0, 0}
1967 , {1, 0}
1968 , {0, 0}
1969 , {2, 2}
1970 ,
1971 {0, 0}
1972 , {1, 0}
1973 , {0, 0}
1974 , {3, 0}
1975 , {0, 1}
1976 , {1, 0}
1977 , {0, 0}
1978 , {2, 0}
1979 , {0, 0}
1980 , {1, 1}
1981 ,
1982 {0, 0}
1983 , {4, 0}
1984 , {0, 0}
1985 , {1, 0}
1986 , {0, 1}
1987 , {2, 0}
1988 , {0, 0}
1989 , {1, 0}
1990 , {0, 0}
1991 , {3, 1}
1992 ,
1993 {0, 0}
1994 , {1, 0}
1995 , {0, 0}
1996 , {2, 0}
1997 , {0, 2}
1998 , {1, 0}
1999 , {0, 0}
2000 , {5, 0}
2001 , {0, 0}
2002 , {1, 1}
2003 ,
2004 {0, 0}
2005 , {2, 0}
2006 , {0, 0}
2007 , {1, 0}
2008 , {0, 1}
2009 , {3, 0}
2010 , {0, 0}
2011 , {1, 0}
2012 , {0, 0}
2013 , {2, 1}
2014 ,
2015 {0, 0}
2016 , {1, 0}
2017 , {0, 0}
2018 , {4, 0}
2019 , {0, 1}
2020 , {1, 0}
2021 , {0, 0}
2022 , {2, 0}
2023 , {0, 0}
2024 , {1, 2}
2025 ,
2026 {0, 0}
2027 , {3, 0}
2028 , {0, 0}
2029 , {1, 0}
2030 , {0, 1}
2031 , {2, 0}
2032 , {0, 0}
2033 , {1, 0}
2034 , {0, 0}
2035 , {6, 1}
2036 ,
2037 {0, 0}
2038 , {1, 0}
2039 , {0, 0}
2040 , {2, 0}
2041 , {0, 1}
2042 , {1, 0}
2043 , {0, 0}
2044 , {3, 0}
2045 , {0, 0}
2046 , {1, 1}
2047 ,
2048 {0, 0}
2049 , {2, 0}
2050 , {0, 0}
2051 , {1, 0}
2052 , {0, 2}
2053 , {4, 0}
2054 , {0, 0}
2055 , {1, 0}
2056 , {0, 0}
2057 , {2, 1}
2058 ,
2059 {0, 0}
2060 , {1, 0}
2061 , {0, 0}
2062 , {3, 0}
2063 , {0, 1}
2064 , {1, 0}
2065 , {0, 0}
2066 , {2, 0}
2067 , {0, 0}
2068 , {1, 1}
2069 ,
2070 {0, 0}
2071 , {5, 0}
2072 , {0, 0}
2073 , {1, 0}
2074 , {0, 1}
2075 , {2, 0}
2076 , {0, 0}
2077 , {1, 0}
2078 , {0, 0}
2079 , {3, 3}
2080 ,
2081 {0, 0}
2082 , {1, 0}
2083 , {0, 0}
2084 , {2, 0}
2085 , {0, 1}
2086 , {1, 0}
2087 , {0, 0}
2088 , {4, 0}
2089 , {0, 0}
2090 , {1, 1}
2091 ,
2092 {0, 0}
2093 , {2, 0}
2094 , {0, 0}
2095 , {1, 0}
2096 , {0, 1}
2097 , {3, 0}
2098 , {0, 0}
2099 , {1, 0}
2100 , {0, 0}
2101 , {2, 1}
2102 ,
2103 {0, 0}
2104 , {1, 0}
2105 , {0, 0}
2106 , {10, 0}
2107 ,
2108};