aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.4.3/libgcc/config/libbid/bid_convert_data.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.4.3/libgcc/config/libbid/bid_convert_data.c')
-rw-r--r--gcc-4.4.3/libgcc/config/libbid/bid_convert_data.c2108
1 files changed, 2108 insertions, 0 deletions
diff --git a/gcc-4.4.3/libgcc/config/libbid/bid_convert_data.c b/gcc-4.4.3/libgcc/config/libbid/bid_convert_data.c
new file mode 100644
index 000000000..fca394cb9
--- /dev/null
+++ b/gcc-4.4.3/libgcc/config/libbid/bid_convert_data.c
@@ -0,0 +1,2108 @@
+/* Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+
+This file is part of GCC.
+
+GCC is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 3, or (at your option) any later
+version.
+
+GCC is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+for more details.
+
+Under Section 7 of GPL version 3, you are granted additional
+permissions described in the GCC Runtime Library Exception, version
+3.1, as published by the Free Software Foundation.
+
+You should have received a copy of the GNU General Public License and
+a copy of the GCC Runtime Library Exception along with this program;
+see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+<http://www.gnu.org/licenses/>. */
+
+#include "bid_internal.h"
+
+// convert_table[j][k][i] = digit i (base 10^8) of k*2^(26+7*j)
+const UINT32 convert_table[5][128][2] = {
+ {{0, 0}
+ , {67108864, 0}
+ , {34217728, 1}
+ , {1326592, 2}
+ , {68435456, 2}
+ ,
+ {35544320, 3}
+ , {2653184, 4}
+ , {69762048, 4}
+ , {36870912, 5}
+ , {3979776, 6}
+ ,
+ {71088640, 6}
+ , {38197504, 7}
+ , {5306368, 8}
+ , {72415232, 8}
+ , {39524096, 9}
+ ,
+ {6632960, 10}
+ , {73741824, 10}
+ , {40850688, 11}
+ , {7959552, 12}
+ , {75068416, 12}
+ ,
+ {42177280, 13}
+ , {9286144, 14}
+ , {76395008, 14}
+ , {43503872, 15}
+ , {10612736, 16}
+ ,
+ {77721600, 16}
+ , {44830464, 17}
+ , {11939328, 18}
+ , {79048192, 18}
+ , {46157056, 19}
+ ,
+ {13265920, 20}
+ , {80374784, 20}
+ , {47483648, 21}
+ , {14592512, 22}
+ , {81701376, 22}
+ ,
+ {48810240, 23}
+ , {15919104, 24}
+ , {83027968, 24}
+ , {50136832, 25}
+ , {17245696, 26}
+ ,
+ {84354560, 26}
+ , {51463424, 27}
+ , {18572288, 28}
+ , {85681152, 28}
+ , {52790016, 29}
+ ,
+ {19898880, 30}
+ , {87007744, 30}
+ , {54116608, 31}
+ , {21225472, 32}
+ , {88334336, 32}
+ ,
+ {55443200, 33}
+ , {22552064, 34}
+ , {89660928, 34}
+ , {56769792, 35}
+ , {23878656, 36}
+ ,
+ {90987520, 36}
+ , {58096384, 37}
+ , {25205248, 38}
+ , {92314112, 38}
+ , {59422976, 39}
+ ,
+ {26531840, 40}
+ , {93640704, 40}
+ , {60749568, 41}
+ , {27858432, 42}
+ , {94967296, 42}
+ ,
+ {62076160, 43}
+ , {29185024, 44}
+ , {96293888, 44}
+ , {63402752, 45}
+ , {30511616, 46}
+ ,
+ {97620480, 46}
+ , {64729344, 47}
+ , {31838208, 48}
+ , {98947072, 48}
+ , {66055936, 49}
+ ,
+ {33164800, 50}
+ , {273664, 51}
+ , {67382528, 51}
+ , {34491392, 52}
+ , {1600256, 53}
+ ,
+ {68709120, 53}
+ , {35817984, 54}
+ , {2926848, 55}
+ , {70035712, 55}
+ , {37144576, 56}
+ ,
+ {4253440, 57}
+ , {71362304, 57}
+ , {38471168, 58}
+ , {5580032, 59}
+ , {72688896, 59}
+ ,
+ {39797760, 60}
+ , {6906624, 61}
+ , {74015488, 61}
+ , {41124352, 62}
+ , {8233216, 63}
+ ,
+ {75342080, 63}
+ , {42450944, 64}
+ , {9559808, 65}
+ , {76668672, 65}
+ , {43777536, 66}
+ ,
+ {10886400, 67}
+ , {77995264, 67}
+ , {45104128, 68}
+ , {12212992, 69}
+ , {79321856, 69}
+ ,
+ {46430720, 70}
+ , {13539584, 71}
+ , {80648448, 71}
+ , {47757312, 72}
+ , {14866176, 73}
+ ,
+ {81975040, 73}
+ , {49083904, 74}
+ , {16192768, 75}
+ , {83301632, 75}
+ , {50410496, 76}
+ ,
+ {17519360, 77}
+ , {84628224, 77}
+ , {51737088, 78}
+ , {18845952, 79}
+ , {85954816, 79}
+ ,
+ {53063680, 80}
+ , {20172544, 81}
+ , {87281408, 81}
+ , {54390272, 82}
+ , {21499136, 83}
+ ,
+ {88608000, 83}
+ , {55716864, 84}
+ , {22825728, 85}
+ ,
+ }
+ ,
+
+ {{0, 0}
+ , {89934592, 85}
+ , {79869184, 171}
+ , {69803776, 257}
+ , {59738368, 343}
+ ,
+ {49672960, 429}
+ , {39607552, 515}
+ , {29542144, 601}
+ , {19476736, 687}
+ , {9411328, 773}
+ ,
+ {99345920, 858}
+ , {89280512, 944}
+ , {79215104, 1030}
+ , {69149696, 1116}
+ , {59084288, 1202}
+ ,
+ {49018880, 1288}
+ , {38953472, 1374}
+ , {28888064, 1460}
+ , {18822656, 1546}
+ , {8757248, 1632}
+ ,
+ {98691840, 1717}
+ , {88626432, 1803}
+ , {78561024, 1889}
+ , {68495616, 1975}
+ , {58430208, 2061}
+ ,
+ {48364800, 2147}
+ , {38299392, 2233}
+ , {28233984, 2319}
+ , {18168576, 2405}
+ , {8103168, 2491}
+ ,
+ {98037760, 2576}
+ , {87972352, 2662}
+ , {77906944, 2748}
+ , {67841536, 2834}
+ , {57776128, 2920}
+ ,
+ {47710720, 3006}
+ , {37645312, 3092}
+ , {27579904, 3178}
+ , {17514496, 3264}
+ , {7449088, 3350}
+ ,
+ {97383680, 3435}
+ , {87318272, 3521}
+ , {77252864, 3607}
+ , {67187456, 3693}
+ , {57122048, 3779}
+ ,
+ {47056640, 3865}
+ , {36991232, 3951}
+ , {26925824, 4037}
+ , {16860416, 4123}
+ , {6795008, 4209}
+ ,
+ {96729600, 4294}
+ , {86664192, 4380}
+ , {76598784, 4466}
+ , {66533376, 4552}
+ , {56467968, 4638}
+ ,
+ {46402560, 4724}
+ , {36337152, 4810}
+ , {26271744, 4896}
+ , {16206336, 4982}
+ , {6140928, 5068}
+ ,
+ {96075520, 5153}
+ , {86010112, 5239}
+ , {75944704, 5325}
+ , {65879296, 5411}
+ , {55813888, 5497}
+ ,
+ {45748480, 5583}
+ , {35683072, 5669}
+ , {25617664, 5755}
+ , {15552256, 5841}
+ , {5486848, 5927}
+ ,
+ {95421440, 6012}
+ , {85356032, 6098}
+ , {75290624, 6184}
+ , {65225216, 6270}
+ , {55159808, 6356}
+ ,
+ {45094400, 6442}
+ , {35028992, 6528}
+ , {24963584, 6614}
+ , {14898176, 6700}
+ , {4832768, 6786}
+ ,
+ {94767360, 6871}
+ , {84701952, 6957}
+ , {74636544, 7043}
+ , {64571136, 7129}
+ , {54505728, 7215}
+ ,
+ {44440320, 7301}
+ , {34374912, 7387}
+ , {24309504, 7473}
+ , {14244096, 7559}
+ , {4178688, 7645}
+ ,
+ {94113280, 7730}
+ , {84047872, 7816}
+ , {73982464, 7902}
+ , {63917056, 7988}
+ , {53851648, 8074}
+ ,
+ {43786240, 8160}
+ , {33720832, 8246}
+ , {23655424, 8332}
+ , {13590016, 8418}
+ , {3524608, 8504}
+ ,
+ {93459200, 8589}
+ , {83393792, 8675}
+ , {73328384, 8761}
+ , {63262976, 8847}
+ , {53197568, 8933}
+ ,
+ {43132160, 9019}
+ , {33066752, 9105}
+ , {23001344, 9191}
+ , {12935936, 9277}
+ , {2870528, 9363}
+ ,
+ {92805120, 9448}
+ , {82739712, 9534}
+ , {72674304, 9620}
+ , {62608896, 9706}
+ , {52543488, 9792}
+ ,
+ {42478080, 9878}
+ , {32412672, 9964}
+ , {22347264, 10050}
+ , {12281856, 10136}
+ , {2216448, 10222}
+ ,
+ {92151040, 10307}
+ , {82085632, 10393}
+ , {72020224, 10479}
+ , {61954816, 10565}
+ , {51889408, 10651}
+ ,
+ {41824000, 10737}
+ , {31758592, 10823}
+ , {21693184, 10909}
+ ,
+ }
+ ,
+
+ {{0, 0}
+ , {11627776, 10995}
+ , {23255552, 21990}
+ , {34883328, 32985}
+ , {46511104, 43980}
+ ,
+ {58138880, 54975}
+ , {69766656, 65970}
+ , {81394432, 76965}
+ , {93022208, 87960}
+ , {4649984, 98956}
+ ,
+ {16277760, 109951}
+ , {27905536, 120946}
+ , {39533312, 131941}
+ , {51161088, 142936}
+ , {62788864, 153931}
+ ,
+ {74416640, 164926}
+ , {86044416, 175921}
+ , {97672192, 186916}
+ , {9299968, 197912}
+ , {20927744, 208907}
+ ,
+ {32555520, 219902}
+ , {44183296, 230897}
+ , {55811072, 241892}
+ , {67438848, 252887}
+ , {79066624, 263882}
+ ,
+ {90694400, 274877}
+ , {2322176, 285873}
+ , {13949952, 296868}
+ , {25577728, 307863}
+ , {37205504, 318858}
+ ,
+ {48833280, 329853}
+ , {60461056, 340848}
+ , {72088832, 351843}
+ , {83716608, 362838}
+ , {95344384, 373833}
+ ,
+ {6972160, 384829}
+ , {18599936, 395824}
+ , {30227712, 406819}
+ , {41855488, 417814}
+ , {53483264, 428809}
+ ,
+ {65111040, 439804}
+ , {76738816, 450799}
+ , {88366592, 461794}
+ , {99994368, 472789}
+ , {11622144, 483785}
+ ,
+ {23249920, 494780}
+ , {34877696, 505775}
+ , {46505472, 516770}
+ , {58133248, 527765}
+ , {69761024, 538760}
+ ,
+ {81388800, 549755}
+ , {93016576, 560750}
+ , {4644352, 571746}
+ , {16272128, 582741}
+ , {27899904, 593736}
+ ,
+ {39527680, 604731}
+ , {51155456, 615726}
+ , {62783232, 626721}
+ , {74411008, 637716}
+ , {86038784, 648711}
+ ,
+ {97666560, 659706}
+ , {9294336, 670702}
+ , {20922112, 681697}
+ , {32549888, 692692}
+ , {44177664, 703687}
+ ,
+ {55805440, 714682}
+ , {67433216, 725677}
+ , {79060992, 736672}
+ , {90688768, 747667}
+ , {2316544, 758663}
+ ,
+ {13944320, 769658}
+ , {25572096, 780653}
+ , {37199872, 791648}
+ , {48827648, 802643}
+ , {60455424, 813638}
+ ,
+ {72083200, 824633}
+ , {83710976, 835628}
+ , {95338752, 846623}
+ , {6966528, 857619}
+ , {18594304, 868614}
+ ,
+ {30222080, 879609}
+ , {41849856, 890604}
+ , {53477632, 901599}
+ , {65105408, 912594}
+ , {76733184, 923589}
+ ,
+ {88360960, 934584}
+ , {99988736, 945579}
+ , {11616512, 956575}
+ , {23244288, 967570}
+ , {34872064, 978565}
+ ,
+ {46499840, 989560}
+ , {58127616, 1000555}
+ , {69755392, 1011550}
+ , {81383168, 1022545}
+ , {93010944, 1033540}
+ ,
+ {4638720, 1044536}
+ , {16266496, 1055531}
+ , {27894272, 1066526}
+ , {39522048, 1077521}
+ , {51149824, 1088516}
+ ,
+ {62777600, 1099511}
+ , {74405376, 1110506}
+ , {86033152, 1121501}
+ , {97660928, 1132496}
+ , {9288704, 1143492}
+ ,
+ {20916480, 1154487}
+ , {32544256, 1165482}
+ , {44172032, 1176477}
+ , {55799808, 1187472}
+ , {67427584, 1198467}
+ ,
+ {79055360, 1209462}
+ , {90683136, 1220457}
+ , {2310912, 1231453}
+ , {13938688, 1242448}
+ , {25566464, 1253443}
+ ,
+ {37194240, 1264438}
+ , {48822016, 1275433}
+ , {60449792, 1286428}
+ , {72077568, 1297423}
+ , {83705344, 1308418}
+ ,
+ {95333120, 1319413}
+ , {6960896, 1330409}
+ , {18588672, 1341404}
+ , {30216448, 1352399}
+ , {41844224, 1363394}
+ ,
+ {53472000, 1374389}
+ , {65099776, 1385384}
+ , {76727552, 1396379}
+ ,
+ }
+ ,
+
+ {{0, 0}
+ , {88355328, 1407374}
+ , {76710656, 2814749}
+ , {65065984, 4222124}
+ , {53421312, 5629499}
+ ,
+ {41776640, 7036874}
+ , {30131968, 8444249}
+ , {18487296, 9851624}
+ , {6842624, 11258999}
+ , {95197952, 12666373}
+ ,
+ {83553280, 14073748}
+ , {71908608, 15481123}
+ , {60263936, 16888498}
+ , {48619264, 18295873}
+ , {36974592, 19703248}
+ ,
+ {25329920, 21110623}
+ , {13685248, 22517998}
+ , {2040576, 23925373}
+ , {90395904, 25332747}
+ , {78751232, 26740122}
+ ,
+ {67106560, 28147497}
+ , {55461888, 29554872}
+ , {43817216, 30962247}
+ , {32172544, 32369622}
+ , {20527872, 33776997}
+ ,
+ {8883200, 35184372}
+ , {97238528, 36591746}
+ , {85593856, 37999121}
+ , {73949184, 39406496}
+ , {62304512, 40813871}
+ ,
+ {50659840, 42221246}
+ , {39015168, 43628621}
+ , {27370496, 45035996}
+ , {15725824, 46443371}
+ , {4081152, 47850746}
+ ,
+ {92436480, 49258120}
+ , {80791808, 50665495}
+ , {69147136, 52072870}
+ , {57502464, 53480245}
+ , {45857792, 54887620}
+ ,
+ {34213120, 56294995}
+ , {22568448, 57702370}
+ , {10923776, 59109745}
+ , {99279104, 60517119}
+ , {87634432, 61924494}
+ ,
+ {75989760, 63331869}
+ , {64345088, 64739244}
+ , {52700416, 66146619}
+ , {41055744, 67553994}
+ , {29411072, 68961369}
+ ,
+ {17766400, 70368744}
+ , {6121728, 71776119}
+ , {94477056, 73183493}
+ , {82832384, 74590868}
+ , {71187712, 75998243}
+ ,
+ {59543040, 77405618}
+ , {47898368, 78812993}
+ , {36253696, 80220368}
+ , {24609024, 81627743}
+ , {12964352, 83035118}
+ ,
+ {1319680, 84442493}
+ , {89675008, 85849867}
+ , {78030336, 87257242}
+ , {66385664, 88664617}
+ , {54740992, 90071992}
+ ,
+ {43096320, 91479367}
+ , {31451648, 92886742}
+ , {19806976, 94294117}
+ , {8162304, 95701492}
+ , {96517632, 97108866}
+ ,
+ {84872960, 98516241}
+ , {73228288, 99923616}
+ , {61583616, 1330991}
+ , {49938944, 2738366}
+ , {38294272, 4145741}
+ ,
+ {26649600, 5553116}
+ , {15004928, 6960491}
+ , {3360256, 8367866}
+ , {91715584, 9775240}
+ , {80070912, 11182615}
+ ,
+ {68426240, 12589990}
+ , {56781568, 13997365}
+ , {45136896, 15404740}
+ , {33492224, 16812115}
+ , {21847552, 18219490}
+ ,
+ {10202880, 19626865}
+ , {98558208, 21034239}
+ , {86913536, 22441614}
+ , {75268864, 23848989}
+ , {63624192, 25256364}
+ ,
+ {51979520, 26663739}
+ , {40334848, 28071114}
+ , {28690176, 29478489}
+ , {17045504, 30885864}
+ , {5400832, 32293239}
+ ,
+ {93756160, 33700613}
+ , {82111488, 35107988}
+ , {70466816, 36515363}
+ , {58822144, 37922738}
+ , {47177472, 39330113}
+ ,
+ {35532800, 40737488}
+ , {23888128, 42144863}
+ , {12243456, 43552238}
+ , {598784, 44959613}
+ , {88954112, 46366987}
+ ,
+ {77309440, 47774362}
+ , {65664768, 49181737}
+ , {54020096, 50589112}
+ , {42375424, 51996487}
+ , {30730752, 53403862}
+ ,
+ {19086080, 54811237}
+ , {7441408, 56218612}
+ , {95796736, 57625986}
+ , {84152064, 59033361}
+ , {72507392, 60440736}
+ ,
+ {60862720, 61848111}
+ , {49218048, 63255486}
+ , {37573376, 64662861}
+ , {25928704, 66070236}
+ , {14284032, 67477611}
+ ,
+ {2639360, 68884986}
+ , {90994688, 70292360}
+ , {79350016, 71699735}
+ , {67705344, 73107110}
+ , {56060672, 74514485}
+ ,
+ {44416000, 75921860}
+ , {32771328, 77329235}
+ , {21126656, 78736610}
+ ,
+ }
+ ,
+
+ {{0, 0}
+ , {9481984, 80143985}
+ , {18963968, 60287970}
+ , {28445952, 40431955}
+ , {37927936, 20575940}
+ ,
+ {47409920, 719925}
+ , {56891904, 80863910}
+ , {66373888, 61007895}
+ , {75855872, 41151880}
+ , {85337856, 21295865}
+ ,
+ {94819840, 1439850}
+ , {4301824, 81583836}
+ , {13783808, 61727821}
+ , {23265792, 41871806}
+ , {32747776, 22015791}
+ ,
+ {42229760, 2159776}
+ , {51711744, 82303761}
+ , {61193728, 62447746}
+ , {70675712, 42591731}
+ , {80157696, 22735716}
+ ,
+ {89639680, 2879701}
+ , {99121664, 83023686}
+ , {8603648, 63167672}
+ , {18085632, 43311657}
+ , {27567616, 23455642}
+ ,
+ {37049600, 3599627}
+ , {46531584, 83743612}
+ , {56013568, 63887597}
+ , {65495552, 44031582}
+ , {74977536, 24175567}
+ ,
+ {84459520, 4319552}
+ , {93941504, 84463537}
+ , {3423488, 64607523}
+ , {12905472, 44751508}
+ , {22387456, 24895493}
+ ,
+ {31869440, 5039478}
+ , {41351424, 85183463}
+ , {50833408, 65327448}
+ , {60315392, 45471433}
+ , {69797376, 25615418}
+ ,
+ {79279360, 5759403}
+ , {88761344, 85903388}
+ , {98243328, 66047373}
+ , {7725312, 46191359}
+ , {17207296, 26335344}
+ ,
+ {26689280, 6479329}
+ , {36171264, 86623314}
+ , {45653248, 66767299}
+ , {55135232, 46911284}
+ , {64617216, 27055269}
+ ,
+ {74099200, 7199254}
+ , {83581184, 87343239}
+ , {93063168, 67487224}
+ , {2545152, 47631210}
+ , {12027136, 27775195}
+ ,
+ {21509120, 7919180}
+ , {30991104, 88063165}
+ , {40473088, 68207150}
+ , {49955072, 48351135}
+ , {59437056, 28495120}
+ ,
+ {68919040, 8639105}
+ , {78401024, 88783090}
+ , {87883008, 68927075}
+ , {97364992, 49071060}
+ , {6846976, 29215046}
+ ,
+ {16328960, 9359031}
+ , {25810944, 89503016}
+ , {35292928, 69647001}
+ , {44774912, 49790986}
+ , {54256896, 29934971}
+ ,
+ {63738880, 10078956}
+ , {73220864, 90222941}
+ , {82702848, 70366926}
+ , {92184832, 50510911}
+ , {1666816, 30654897}
+ ,
+ {11148800, 10798882}
+ , {20630784, 90942867}
+ , {30112768, 71086852}
+ , {39594752, 51230837}
+ , {49076736, 31374822}
+ ,
+ {58558720, 11518807}
+ , {68040704, 91662792}
+ , {77522688, 71806777}
+ , {87004672, 51950762}
+ , {96486656, 32094747}
+ ,
+ {5968640, 12238733}
+ , {15450624, 92382718}
+ , {24932608, 72526703}
+ , {34414592, 52670688}
+ , {43896576, 32814673}
+ ,
+ {53378560, 12958658}
+ , {62860544, 93102643}
+ , {72342528, 73246628}
+ , {81824512, 53390613}
+ , {91306496, 33534598}
+ ,
+ {788480, 13678584}
+ , {10270464, 93822569}
+ , {19752448, 73966554}
+ , {29234432, 54110539}
+ , {38716416, 34254524}
+ ,
+ {48198400, 14398509}
+ , {57680384, 94542494}
+ , {67162368, 74686479}
+ , {76644352, 54830464}
+ , {86126336, 34974449}
+ ,
+ {95608320, 15118434}
+ , {5090304, 95262420}
+ , {14572288, 75406405}
+ , {24054272, 55550390}
+ , {33536256, 35694375}
+ ,
+ {43018240, 15838360}
+ , {52500224, 95982345}
+ , {61982208, 76126330}
+ , {71464192, 56270315}
+ , {80946176, 36414300}
+ ,
+ {90428160, 16558285}
+ , {99910144, 96702270}
+ , {9392128, 76846256}
+ , {18874112, 56990241}
+ , {28356096, 37134226}
+ ,
+ {37838080, 17278211}
+ , {47320064, 97422196}
+ , {56802048, 77566181}
+ , {66284032, 57710166}
+ , {75766016, 37854151}
+ ,
+ {85248000, 17998136}
+ , {94729984, 98142121}
+ , {4211968, 78286107}
+ ,
+ }
+ ,
+};
+
+// for j>=min_j[i+1], there is k s.t. convert_table[i][j][k]>0
+// int min_j[] = { 0, 0, 0, 3 };
+
+// for even k, ((packed_10000_zeros[k>>3])>>(k&7))&3)=greatest(i) s.t. 10^i divides k
+const UINT8 packed_10000_zeros[] = {
+
+ 0x3, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20,
+ 0x40, 0x0, 0x1,
+ 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x2, 0x4, 0x10, 0x40,
+ 0x0, 0x1, 0x4,
+ 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0,
+ 0x1, 0x4, 0x10,
+ 0x40, 0x0, 0x2, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1,
+ 0x4, 0x20, 0x40,
+ 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x2, 0x4,
+ 0x10, 0x40, 0x0,
+ 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10,
+ 0x40, 0x0, 0x1,
+ 0x4, 0x10, 0x40, 0x0, 0x2, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40,
+ 0x0, 0x1, 0x4,
+ 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0,
+ 0x3, 0x4, 0x10,
+ 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1,
+ 0x4, 0x10, 0x40,
+ 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x2, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4,
+ 0x10, 0x40, 0x0,
+ 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10,
+ 0x40, 0x0, 0x2,
+ 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40,
+ 0x0, 0x1, 0x4,
+ 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x2, 0x4, 0x10, 0x40, 0x0,
+ 0x1, 0x4, 0x10,
+ 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1,
+ 0x4, 0x10, 0x40,
+ 0x0, 0x2, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4,
+ 0x20, 0x40, 0x0,
+ 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x3, 0x4, 0x10,
+ 0x40, 0x0, 0x1,
+ 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40,
+ 0x0, 0x1, 0x4,
+ 0x10, 0x40, 0x0, 0x2, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0,
+ 0x1, 0x4, 0x20,
+ 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x2,
+ 0x4, 0x10, 0x40,
+ 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4,
+ 0x10, 0x40, 0x0,
+ 0x1, 0x4, 0x10, 0x40, 0x0, 0x2, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10,
+ 0x40, 0x0, 0x1,
+ 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40,
+ 0x0, 0x2, 0x4,
+ 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0,
+ 0x1, 0x4, 0x10,
+ 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x3, 0x4, 0x10, 0x40, 0x0, 0x1,
+ 0x4, 0x10, 0x40,
+ 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4,
+ 0x10, 0x40, 0x0,
+ 0x2, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20,
+ 0x40, 0x0, 0x1,
+ 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x2, 0x4, 0x10, 0x40,
+ 0x0, 0x1, 0x4,
+ 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0,
+ 0x1, 0x4, 0x10,
+ 0x40, 0x0, 0x2, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1,
+ 0x4, 0x20, 0x40,
+ 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x2, 0x4,
+ 0x10, 0x40, 0x0,
+ 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10,
+ 0x40, 0x0, 0x1,
+ 0x4, 0x10, 0x40, 0x0, 0x3, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40,
+ 0x0, 0x1, 0x4,
+ 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0,
+ 0x2, 0x4, 0x10,
+ 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1,
+ 0x4, 0x10, 0x40,
+ 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x2, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4,
+ 0x10, 0x40, 0x0,
+ 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10,
+ 0x40, 0x0, 0x2,
+ 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40,
+ 0x0, 0x1, 0x4,
+ 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x2, 0x4, 0x10, 0x40, 0x0,
+ 0x1, 0x4, 0x10,
+ 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1,
+ 0x4, 0x10, 0x40,
+ 0x0, 0x3, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4,
+ 0x20, 0x40, 0x0,
+ 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x2, 0x4, 0x10,
+ 0x40, 0x0, 0x1,
+ 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40,
+ 0x0, 0x1, 0x4,
+ 0x10, 0x40, 0x0, 0x2, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0,
+ 0x1, 0x4, 0x20,
+ 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x2,
+ 0x4, 0x10, 0x40,
+ 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4,
+ 0x10, 0x40, 0x0,
+ 0x1, 0x4, 0x10, 0x40, 0x0, 0x2, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10,
+ 0x40, 0x0, 0x1,
+ 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40,
+ 0x0, 0x3, 0x4,
+ 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0,
+ 0x1, 0x4, 0x10,
+ 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x2, 0x4, 0x10, 0x40, 0x0, 0x1,
+ 0x4, 0x10, 0x40,
+ 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4,
+ 0x10, 0x40, 0x0,
+ 0x2, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20,
+ 0x40, 0x0, 0x1,
+ 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x2, 0x4, 0x10, 0x40,
+ 0x0, 0x1, 0x4,
+ 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0,
+ 0x1, 0x4, 0x10,
+ 0x40, 0x0, 0x2, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1,
+ 0x4, 0x20, 0x40,
+ 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x3, 0x4,
+ 0x10, 0x40, 0x0,
+ 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10,
+ 0x40, 0x0, 0x1,
+ 0x4, 0x10, 0x40, 0x0, 0x2, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40,
+ 0x0, 0x1, 0x4,
+ 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0,
+ 0x2, 0x4, 0x10,
+ 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1,
+ 0x4, 0x10, 0x40,
+ 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x2, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4,
+ 0x10, 0x40, 0x0,
+ 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10,
+ 0x40, 0x0, 0x2,
+ 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40,
+ 0x0, 0x1, 0x4,
+ 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x3, 0x4, 0x10, 0x40, 0x0,
+ 0x1, 0x4, 0x10,
+ 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1,
+ 0x4, 0x10, 0x40,
+ 0x0, 0x2, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4,
+ 0x20, 0x40, 0x0,
+ 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x2, 0x4, 0x10,
+ 0x40, 0x0, 0x1,
+ 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40,
+ 0x0, 0x1, 0x4,
+ 0x10, 0x40, 0x0, 0x2, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0,
+ 0x1, 0x4, 0x20,
+ 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x2,
+ 0x4, 0x10, 0x40,
+ 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4,
+ 0x10, 0x40, 0x0,
+ 0x1, 0x4, 0x10, 0x40, 0x0, 0x3, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10,
+ 0x40, 0x0, 0x1,
+ 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40,
+ 0x0, 0x2, 0x4,
+ 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0,
+ 0x1, 0x4, 0x10,
+ 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x2, 0x4, 0x10, 0x40, 0x0, 0x1,
+ 0x4, 0x10, 0x40,
+ 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4,
+ 0x10, 0x40, 0x0,
+ 0x2, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x20,
+ 0x40, 0x0, 0x1,
+ 0x4, 0x10, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0, 0x2, 0x4, 0x10, 0x40,
+ 0x0, 0x1, 0x4,
+ 0x10, 0x40, 0x0, 0x1, 0x4, 0x20, 0x40, 0x0, 0x1, 0x4, 0x10, 0x40, 0x0,
+ 0x1, 0x4, 0x10,
+ 0x40, 0x0,
+};
+
+
+const SINT8 factors[1024][2] = {
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 1}
+ , {1, 0}
+ , {0, 0}
+ , {3, 0}
+ , {0, 0}
+ , {1, 1}
+ ,
+ {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 1}
+ , {4, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 1}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {3, 0}
+ , {0, 2}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 1}
+ ,
+ {0, 0}
+ , {5, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 1}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {3, 1}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 1}
+ , {1, 0}
+ , {0, 0}
+ , {4, 0}
+ , {0, 0}
+ , {1, 2}
+ ,
+ {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 1}
+ , {3, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 1}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {6, 0}
+ , {0, 1}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 1}
+ ,
+ {0, 0}
+ , {3, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 2}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {4, 1}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 1}
+ , {1, 0}
+ , {0, 0}
+ , {3, 0}
+ , {0, 0}
+ , {1, 1}
+ ,
+ {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 1}
+ , {5, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 2}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {3, 0}
+ , {0, 1}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 1}
+ ,
+ {0, 0}
+ , {4, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 1}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {3, 1}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 3}
+ , {1, 0}
+ , {0, 0}
+ , {7, 0}
+ , {0, 0}
+ , {1, 1}
+ ,
+ {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 1}
+ , {3, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 1}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {4, 0}
+ , {0, 1}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 2}
+ ,
+ {0, 0}
+ , {3, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 1}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {5, 1}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 1}
+ , {1, 0}
+ , {0, 0}
+ , {3, 0}
+ , {0, 0}
+ , {1, 1}
+ ,
+ {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 2}
+ , {4, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 1}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {3, 0}
+ , {0, 1}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 1}
+ ,
+ {0, 0}
+ , {6, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 1}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {3, 2}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 1}
+ , {1, 0}
+ , {0, 0}
+ , {4, 0}
+ , {0, 0}
+ , {1, 1}
+ ,
+ {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 1}
+ , {3, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 1}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {5, 0}
+ , {0, 2}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 1}
+ ,
+ {0, 0}
+ , {3, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 1}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {4, 1}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 1}
+ , {1, 0}
+ , {0, 0}
+ , {3, 0}
+ , {0, 0}
+ , {1, 3}
+ ,
+ {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 1}
+ , {8, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 1}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {3, 0}
+ , {0, 1}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 1}
+ ,
+ {0, 0}
+ , {4, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 2}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {3, 1}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 1}
+ , {1, 0}
+ , {0, 0}
+ , {5, 0}
+ , {0, 0}
+ , {1, 1}
+ ,
+ {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 1}
+ , {3, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 2}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {4, 0}
+ , {0, 1}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 1}
+ ,
+ {0, 0}
+ , {3, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 1}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {6, 1}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 2}
+ , {1, 0}
+ , {0, 0}
+ , {3, 0}
+ , {0, 0}
+ , {1, 1}
+ ,
+ {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 1}
+ , {4, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 1}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {3, 0}
+ , {0, 1}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 2}
+ ,
+ {0, 0}
+ , {5, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 1}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {3, 1}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 1}
+ , {1, 0}
+ , {0, 0}
+ , {4, 0}
+ , {0, 0}
+ , {1, 1}
+ ,
+ {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 3}
+ , {3, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 1}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {7, 0}
+ , {0, 1}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 1}
+ ,
+ {0, 0}
+ , {3, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 1}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {4, 2}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 1}
+ , {1, 0}
+ , {0, 0}
+ , {3, 0}
+ , {0, 0}
+ , {1, 1}
+ ,
+ {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 1}
+ , {5, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 1}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {3, 0}
+ , {0, 2}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 1}
+ ,
+ {0, 0}
+ , {4, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 1}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {3, 1}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 1}
+ , {1, 0}
+ , {0, 0}
+ , {6, 0}
+ , {0, 0}
+ , {1, 2}
+ ,
+ {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 1}
+ , {3, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 1}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {4, 0}
+ , {0, 1}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 1}
+ ,
+ {0, 0}
+ , {3, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 2}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {5, 1}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 1}
+ , {1, 0}
+ , {0, 0}
+ , {3, 0}
+ , {0, 0}
+ , {1, 1}
+ ,
+ {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 1}
+ , {4, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 3}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {3, 0}
+ , {0, 1}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 1}
+ ,
+ {0, 0}
+ , {9, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 1}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {3, 1}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 2}
+ , {1, 0}
+ , {0, 0}
+ , {4, 0}
+ , {0, 0}
+ , {1, 1}
+ ,
+ {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 1}
+ , {3, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 1}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {5, 0}
+ , {0, 1}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 2}
+ ,
+ {0, 0}
+ , {3, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 1}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {4, 1}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 1}
+ , {1, 0}
+ , {0, 0}
+ , {3, 0}
+ , {0, 0}
+ , {1, 1}
+ ,
+ {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 2}
+ , {6, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 1}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {3, 0}
+ , {0, 1}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 1}
+ ,
+ {0, 0}
+ , {4, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 1}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {3, 2}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 1}
+ , {1, 0}
+ , {0, 0}
+ , {5, 0}
+ , {0, 0}
+ , {1, 1}
+ ,
+ {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 1}
+ , {3, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 1}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {4, 0}
+ , {0, 4}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 1}
+ ,
+ {0, 0}
+ , {3, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 1}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {7, 1}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 1}
+ , {1, 0}
+ , {0, 0}
+ , {3, 0}
+ , {0, 0}
+ , {1, 2}
+ ,
+ {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 1}
+ , {4, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 1}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {3, 0}
+ , {0, 1}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 1}
+ ,
+ {0, 0}
+ , {5, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 2}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {3, 1}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 1}
+ , {1, 0}
+ , {0, 0}
+ , {4, 0}
+ , {0, 0}
+ , {1, 1}
+ ,
+ {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 1}
+ , {3, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 2}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {6, 0}
+ , {0, 1}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 1}
+ ,
+ {0, 0}
+ , {3, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 1}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {4, 1}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 2}
+ , {1, 0}
+ , {0, 0}
+ , {3, 0}
+ , {0, 0}
+ , {1, 1}
+ ,
+ {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 1}
+ , {5, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 1}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {3, 0}
+ , {0, 1}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 3}
+ ,
+ {0, 0}
+ , {4, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 1}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {3, 1}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 1}
+ , {1, 0}
+ , {0, 0}
+ , {8, 0}
+ , {0, 0}
+ , {1, 1}
+ ,
+ {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 2}
+ , {3, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 1}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {4, 0}
+ , {0, 1}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 1}
+ ,
+ {0, 0}
+ , {3, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 1}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {5, 2}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 1}
+ , {1, 0}
+ , {0, 0}
+ , {3, 0}
+ , {0, 0}
+ , {1, 1}
+ ,
+ {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 1}
+ , {4, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 1}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {3, 0}
+ , {0, 2}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 1}
+ ,
+ {0, 0}
+ , {6, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 1}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {3, 1}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 1}
+ , {1, 0}
+ , {0, 0}
+ , {4, 0}
+ , {0, 0}
+ , {1, 2}
+ ,
+ {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 1}
+ , {3, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 1}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {5, 0}
+ , {0, 1}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 1}
+ ,
+ {0, 0}
+ , {3, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 3}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {4, 1}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 1}
+ , {1, 0}
+ , {0, 0}
+ , {3, 0}
+ , {0, 0}
+ , {1, 1}
+ ,
+ {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 1}
+ , {7, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 2}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {3, 0}
+ , {0, 1}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 1}
+ ,
+ {0, 0}
+ , {4, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 1}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {3, 1}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 2}
+ , {1, 0}
+ , {0, 0}
+ , {5, 0}
+ , {0, 0}
+ , {1, 1}
+ ,
+ {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 1}
+ , {3, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 1}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {4, 0}
+ , {0, 1}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 2}
+ ,
+ {0, 0}
+ , {3, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 1}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {6, 1}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 1}
+ , {1, 0}
+ , {0, 0}
+ , {3, 0}
+ , {0, 0}
+ , {1, 1}
+ ,
+ {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 2}
+ , {4, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 1}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {3, 0}
+ , {0, 1}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 1}
+ ,
+ {0, 0}
+ , {5, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 1}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {3, 3}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 0}
+ , {0, 1}
+ , {1, 0}
+ , {0, 0}
+ , {4, 0}
+ , {0, 0}
+ , {1, 1}
+ ,
+ {0, 0}
+ , {2, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 1}
+ , {3, 0}
+ , {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {2, 1}
+ ,
+ {0, 0}
+ , {1, 0}
+ , {0, 0}
+ , {10, 0}
+ ,
+};