URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [tags/] [gnu-dev/] [fsf-gcc-snapshot-1-mar-12/] [or1k-gcc/] [libgcc/] [config/] [libbid/] [bid_convert_data.c] - Rev 783
Compare with Previous | Blame | View Log
/* 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} , };