]>
Commit | Line | Data |
---|---|---|
f1717362 | 1 | /* Copyright (C) 2007-2016 Free Software Foundation, Inc. |
9b6b0236 | 2 | |
3 | This file is part of GCC. | |
4 | ||
5 | GCC is free software; you can redistribute it and/or modify it under | |
6 | the terms of the GNU General Public License as published by the Free | |
6bc9506f | 7 | Software Foundation; either version 3, or (at your option) any later |
9b6b0236 | 8 | version. |
9 | ||
9b6b0236 | 10 | GCC is distributed in the hope that it will be useful, but WITHOUT ANY |
11 | WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
12 | FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
13 | for more details. | |
14 | ||
6bc9506f | 15 | Under Section 7 of GPL version 3, you are granted additional |
16 | permissions described in the GCC Runtime Library Exception, version | |
17 | 3.1, as published by the Free Software Foundation. | |
18 | ||
19 | You should have received a copy of the GNU General Public License and | |
20 | a copy of the GCC Runtime Library Exception along with this program; | |
21 | see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | |
22 | <http://www.gnu.org/licenses/>. */ | |
9b6b0236 | 23 | |
24 | #include "bid_internal.h" | |
25 | ||
84d1fc49 | 26 | UINT64 Twoto60_m_10to18 = 152921504606846976LL; |
27 | UINT64 Twoto60 = 0x1000000000000000LL; | |
28 | UINT64 Inv_Tento9 = 2305843009LL; /* floor(2^61/10^9) */ | |
29 | UINT32 Twoto30_m_10to9 = 73741824; | |
30 | UINT32 Tento9 = 1000000000; | |
31 | UINT32 Tento6 = 1000000; | |
32 | UINT32 Tento3 = 1000; | |
9b6b0236 | 33 | |
84d1fc49 | 34 | const char midi_tbl[1000][3] = { |
9b6b0236 | 35 | "000", "001", "002", "003", "004", "005", "006", "007", "008", "009", |
36 | "010", "011", "012", "013", "014", "015", "016", "017", "018", "019", | |
37 | "020", "021", "022", "023", "024", "025", "026", "027", "028", "029", | |
38 | "030", "031", "032", "033", "034", "035", "036", "037", "038", "039", | |
39 | "040", "041", "042", "043", "044", "045", "046", "047", "048", "049", | |
40 | "050", "051", "052", "053", "054", "055", "056", "057", "058", "059", | |
41 | "060", "061", "062", "063", "064", "065", "066", "067", "068", "069", | |
42 | "070", "071", "072", "073", "074", "075", "076", "077", "078", "079", | |
43 | "080", "081", "082", "083", "084", "085", "086", "087", "088", "089", | |
44 | "090", "091", "092", "093", "094", "095", "096", "097", "098", "099", | |
45 | "100", "101", "102", "103", "104", "105", "106", "107", "108", "109", | |
46 | "110", "111", "112", "113", "114", "115", "116", "117", "118", "119", | |
47 | "120", "121", "122", "123", "124", "125", "126", "127", "128", "129", | |
48 | "130", "131", "132", "133", "134", "135", "136", "137", "138", "139", | |
49 | "140", "141", "142", "143", "144", "145", "146", "147", "148", "149", | |
50 | "150", "151", "152", "153", "154", "155", "156", "157", "158", "159", | |
51 | "160", "161", "162", "163", "164", "165", "166", "167", "168", "169", | |
52 | "170", "171", "172", "173", "174", "175", "176", "177", "178", "179", | |
53 | "180", "181", "182", "183", "184", "185", "186", "187", "188", "189", | |
54 | "190", "191", "192", "193", "194", "195", "196", "197", "198", "199", | |
55 | "200", "201", "202", "203", "204", "205", "206", "207", "208", "209", | |
56 | "210", "211", "212", "213", "214", "215", "216", "217", "218", "219", | |
57 | "220", "221", "222", "223", "224", "225", "226", "227", "228", "229", | |
58 | "230", "231", "232", "233", "234", "235", "236", "237", "238", "239", | |
59 | "240", "241", "242", "243", "244", "245", "246", "247", "248", "249", | |
60 | "250", "251", "252", "253", "254", "255", "256", "257", "258", "259", | |
61 | "260", "261", "262", "263", "264", "265", "266", "267", "268", "269", | |
62 | "270", "271", "272", "273", "274", "275", "276", "277", "278", "279", | |
63 | "280", "281", "282", "283", "284", "285", "286", "287", "288", "289", | |
64 | "290", "291", "292", "293", "294", "295", "296", "297", "298", "299", | |
65 | "300", "301", "302", "303", "304", "305", "306", "307", "308", "309", | |
66 | "310", "311", "312", "313", "314", "315", "316", "317", "318", "319", | |
67 | "320", "321", "322", "323", "324", "325", "326", "327", "328", "329", | |
68 | "330", "331", "332", "333", "334", "335", "336", "337", "338", "339", | |
69 | "340", "341", "342", "343", "344", "345", "346", "347", "348", "349", | |
70 | "350", "351", "352", "353", "354", "355", "356", "357", "358", "359", | |
71 | "360", "361", "362", "363", "364", "365", "366", "367", "368", "369", | |
72 | "370", "371", "372", "373", "374", "375", "376", "377", "378", "379", | |
73 | "380", "381", "382", "383", "384", "385", "386", "387", "388", "389", | |
74 | "390", "391", "392", "393", "394", "395", "396", "397", "398", "399", | |
75 | "400", "401", "402", "403", "404", "405", "406", "407", "408", "409", | |
76 | "410", "411", "412", "413", "414", "415", "416", "417", "418", "419", | |
77 | "420", "421", "422", "423", "424", "425", "426", "427", "428", "429", | |
78 | "430", "431", "432", "433", "434", "435", "436", "437", "438", "439", | |
79 | "440", "441", "442", "443", "444", "445", "446", "447", "448", "449", | |
80 | "450", "451", "452", "453", "454", "455", "456", "457", "458", "459", | |
81 | "460", "461", "462", "463", "464", "465", "466", "467", "468", "469", | |
82 | "470", "471", "472", "473", "474", "475", "476", "477", "478", "479", | |
83 | "480", "481", "482", "483", "484", "485", "486", "487", "488", "489", | |
84 | "490", "491", "492", "493", "494", "495", "496", "497", "498", "499", | |
85 | "500", "501", "502", "503", "504", "505", "506", "507", "508", "509", | |
86 | "510", "511", "512", "513", "514", "515", "516", "517", "518", "519", | |
87 | "520", "521", "522", "523", "524", "525", "526", "527", "528", "529", | |
88 | "530", "531", "532", "533", "534", "535", "536", "537", "538", "539", | |
89 | "540", "541", "542", "543", "544", "545", "546", "547", "548", "549", | |
90 | "550", "551", "552", "553", "554", "555", "556", "557", "558", "559", | |
91 | "560", "561", "562", "563", "564", "565", "566", "567", "568", "569", | |
92 | "570", "571", "572", "573", "574", "575", "576", "577", "578", "579", | |
93 | "580", "581", "582", "583", "584", "585", "586", "587", "588", "589", | |
94 | "590", "591", "592", "593", "594", "595", "596", "597", "598", "599", | |
95 | "600", "601", "602", "603", "604", "605", "606", "607", "608", "609", | |
96 | "610", "611", "612", "613", "614", "615", "616", "617", "618", "619", | |
97 | "620", "621", "622", "623", "624", "625", "626", "627", "628", "629", | |
98 | "630", "631", "632", "633", "634", "635", "636", "637", "638", "639", | |
99 | "640", "641", "642", "643", "644", "645", "646", "647", "648", "649", | |
100 | "650", "651", "652", "653", "654", "655", "656", "657", "658", "659", | |
101 | "660", "661", "662", "663", "664", "665", "666", "667", "668", "669", | |
102 | "670", "671", "672", "673", "674", "675", "676", "677", "678", "679", | |
103 | "680", "681", "682", "683", "684", "685", "686", "687", "688", "689", | |
104 | "690", "691", "692", "693", "694", "695", "696", "697", "698", "699", | |
105 | "700", "701", "702", "703", "704", "705", "706", "707", "708", "709", | |
106 | "710", "711", "712", "713", "714", "715", "716", "717", "718", "719", | |
107 | "720", "721", "722", "723", "724", "725", "726", "727", "728", "729", | |
108 | "730", "731", "732", "733", "734", "735", "736", "737", "738", "739", | |
109 | "740", "741", "742", "743", "744", "745", "746", "747", "748", "749", | |
110 | "750", "751", "752", "753", "754", "755", "756", "757", "758", "759", | |
111 | "760", "761", "762", "763", "764", "765", "766", "767", "768", "769", | |
112 | "770", "771", "772", "773", "774", "775", "776", "777", "778", "779", | |
113 | "780", "781", "782", "783", "784", "785", "786", "787", "788", "789", | |
114 | "790", "791", "792", "793", "794", "795", "796", "797", "798", "799", | |
115 | "800", "801", "802", "803", "804", "805", "806", "807", "808", "809", | |
116 | "810", "811", "812", "813", "814", "815", "816", "817", "818", "819", | |
117 | "820", "821", "822", "823", "824", "825", "826", "827", "828", "829", | |
118 | "830", "831", "832", "833", "834", "835", "836", "837", "838", "839", | |
119 | "840", "841", "842", "843", "844", "845", "846", "847", "848", "849", | |
120 | "850", "851", "852", "853", "854", "855", "856", "857", "858", "859", | |
121 | "860", "861", "862", "863", "864", "865", "866", "867", "868", "869", | |
122 | "870", "871", "872", "873", "874", "875", "876", "877", "878", "879", | |
123 | "880", "881", "882", "883", "884", "885", "886", "887", "888", "889", | |
124 | "890", "891", "892", "893", "894", "895", "896", "897", "898", "899", | |
125 | "900", "901", "902", "903", "904", "905", "906", "907", "908", "909", | |
126 | "910", "911", "912", "913", "914", "915", "916", "917", "918", "919", | |
127 | "920", "921", "922", "923", "924", "925", "926", "927", "928", "929", | |
128 | "930", "931", "932", "933", "934", "935", "936", "937", "938", "939", | |
129 | "940", "941", "942", "943", "944", "945", "946", "947", "948", "949", | |
130 | "950", "951", "952", "953", "954", "955", "956", "957", "958", "959", | |
131 | "960", "961", "962", "963", "964", "965", "966", "967", "968", "969", | |
132 | "970", "971", "972", "973", "974", "975", "976", "977", "978", "979", | |
133 | "980", "981", "982", "983", "984", "985", "986", "987", "988", "989", | |
134 | "990", "991", "992", "993", "994", "995", "996", "997", "998", "999" | |
135 | }; | |
136 | ||
84d1fc49 | 137 | const UINT64 mod10_18_tbl[9][128] = { |
9b6b0236 | 138 | // 2^59 = 576460752303423488, A and B breakdown, where data = A*10^18 + B |
139 | ||
84d1fc49 | 140 | { |
141 | 0LL, 0LL, 0LL, 576460752303423488LL, | |
142 | // 0*2^59, 1*2^59 | |
143 | 1LL, 152921504606846976LL, 1LL, 729382256910270464LL, | |
144 | // 2*2^59, 3*2^59 | |
145 | 2LL, 305843009213693952LL, 2LL, 882303761517117440LL, | |
146 | // 4*2^59, 5*2^59 | |
147 | 3LL, 458764513820540928LL, 4LL, 35225266123964416LL, | |
148 | // 6*2^59, 7*2^59 | |
149 | 4LL, 611686018427387904LL, 5LL, 188146770730811392LL, | |
150 | // 8*2^59, 9*2^59 | |
151 | 5LL, 764607523034234880LL, 6LL, 341068275337658368LL, | |
152 | // 10*2^59, 11*2^59 | |
153 | 6LL, 917529027641081856LL, 7LL, 493989779944505344LL, | |
154 | // 12*2^59, 13*2^59 | |
155 | 8LL, 70450532247928832LL, 8LL, 646911284551352320LL, | |
156 | // 14*2^59, 15*2^59 | |
157 | 9LL, 223372036854775808LL, 9LL, 799832789158199296LL, | |
158 | // 16*2^59, 17*2^59 | |
159 | 10LL, 376293541461622784LL, 10LL, 952754293765046272LL, | |
160 | // 18*2^59, 19*2^59 | |
161 | 11LL, 529215046068469760LL, 12LL, 105675798371893248LL, | |
162 | // 20*2^59, 21*2^59 | |
163 | 12LL, 682136550675316736LL, 13LL, 258597302978740224LL, | |
164 | // 22*2^59, 23*2^59 | |
165 | 13LL, 835058055282163712LL, 14LL, 411518807585587200LL, | |
166 | // 24*2^59, 25*2^59 | |
167 | 14LL, 987979559889010688LL, 15LL, 564440312192434176LL, | |
168 | // 26*2^59, 27*2^59 | |
169 | 16LL, 140901064495857664LL, 16LL, 717361816799281152LL, | |
170 | // 28*2^59, 29*2^59 | |
171 | 17LL, 293822569102704640LL, 17LL, 870283321406128128LL, | |
172 | // 30*2^59, 31*2^59 | |
173 | 18LL, 446744073709551616LL, 19LL, 23204826012975104LL, | |
174 | // 32*2^59, 33*2^59 | |
175 | 19LL, 599665578316398592LL, 20LL, 176126330619822080LL, | |
176 | // 34*2^59, 35*2^59 | |
177 | 20LL, 752587082923245568LL, 21LL, 329047835226669056LL, | |
178 | // 36*2^59, 37*2^59 | |
179 | 21LL, 905508587530092544LL, 22LL, 481969339833516032LL, | |
180 | // 38*2^59, 39*2^59 | |
181 | 23LL, 58430092136939520LL, 23LL, 634890844440363008LL, | |
182 | // 40*2^59, 41*2^59 | |
183 | 24LL, 211351596743786496LL, 24LL, 787812349047209984LL, | |
184 | // 42*2^59, 43*2^59 | |
185 | 25LL, 364273101350633472LL, 25LL, 940733853654056960LL, | |
186 | // 44*2^59, 45*2^59 | |
187 | 26LL, 517194605957480448LL, 27LL, 93655358260903936LL, | |
188 | // 46*2^59, 47*2^59 | |
189 | 27LL, 670116110564327424LL, 28LL, 246576862867750912LL, | |
190 | // 48*2^59, 49*2^59 | |
191 | 28LL, 823037615171174400LL, 29LL, 399498367474597888LL, | |
192 | // 50*2^59, 51*2^59 | |
193 | 29LL, 975959119778021376LL, 30LL, 552419872081444864LL, | |
194 | // 52*2^59, 53*2^59 | |
195 | 31LL, 128880624384868352LL, 31LL, 705341376688291840LL, | |
196 | // 54*2^59, 55*2^59 | |
197 | 32LL, 281802128991715328LL, 32LL, 858262881295138816LL, | |
198 | // 56*2^59, 57*2^59 | |
199 | 33LL, 434723633598562304LL, 34LL, 11184385901985792LL, | |
200 | // 58*2^59, 59*2^59 | |
201 | 34LL, 587645138205409280LL, 35LL, 164105890508832768LL, | |
202 | // 60*2^59, 61*2^59 | |
203 | 35LL, 740566642812256256LL, 36LL, 317027395115679744LL, | |
204 | // 62*2^59, 63*2^59 | |
205 | }, | |
9b6b0236 | 206 | |
207 | { | |
84d1fc49 | 208 | // 2^65 = 36*10^18 + 893488147419103232 |
209 | 0LL, 0LL, 36LL, 893488147419103232LL, | |
210 | // 0*2^65, 1*2^65 | |
211 | 73LL, 786976294838206464LL, 110LL, 680464442257309696LL, | |
212 | // 2*2^65, 3*2^65 | |
213 | 147LL, 573952589676412928LL, 184LL, 467440737095516160LL, | |
214 | // 4*2^65, 5*2^65 | |
215 | 221LL, 360928884514619392LL, 258LL, 254417031933722624LL, | |
216 | // 6*2^65, 7*2^65 | |
217 | 295LL, 147905179352825856LL, 332LL, 41393326771929088LL, | |
218 | // 8*2^65, 9*2^65 | |
219 | 368LL, 934881474191032320LL, 405LL, 828369621610135552LL, | |
220 | // 0*2^65, 1*2^65 | |
221 | 442LL, 721857769029238784LL, 479LL, 615345916448342016LL, | |
222 | // 2*2^65, 3*2^65 | |
223 | 516LL, 508834063867445248LL, 553LL, 402322211286548480LL, | |
224 | // 4*2^65, 5*2^65 | |
225 | 590LL, 295810358705651712LL, 627LL, 189298506124754944LL, | |
226 | // 6*2^65, 7*2^65 | |
227 | 664LL, 82786653543858176LL, 700LL, 976274800962961408LL, | |
228 | // 8*2^65, 9*2^65 | |
229 | 737LL, 869762948382064640LL, 774LL, 763251095801167872LL, | |
230 | // 0*2^65, 1*2^65 | |
231 | 811LL, 656739243220271104LL, 848LL, 550227390639374336LL, | |
232 | // 2*2^65, 3*2^65 | |
233 | 885LL, 443715538058477568LL, 922LL, 337203685477580800LL, | |
234 | // 4*2^65, 5*2^65 | |
235 | 959LL, 230691832896684032LL, 996LL, 124179980315787264LL, | |
236 | // 6*2^65, 7*2^65 | |
237 | 1033LL, 17668127734890496LL, 1069LL, 911156275153993728LL, | |
238 | // 8*2^65, 9*2^65 | |
239 | 1106LL, 804644422573096960LL, 1143LL, 698132569992200192LL, | |
240 | // 0*2^65, 1*2^65 | |
241 | 1180LL, 591620717411303424LL, 1217LL, 485108864830406656LL, | |
242 | // 2*2^65, 3*2^65 | |
243 | 1254LL, 378597012249509888LL, 1291LL, 272085159668613120LL, | |
244 | // 4*2^65, 5*2^65 | |
245 | 1328LL, 165573307087716352LL, 1365LL, 59061454506819584LL, | |
246 | // 6*2^65, 7*2^65 | |
247 | 1401LL, 952549601925922816LL, 1438LL, 846037749345026048LL, | |
248 | // 8*2^65, 9*2^65 | |
249 | 1475LL, 739525896764129280LL, 1512LL, 633014044183232512LL, | |
250 | // 0*2^65, 1*2^65 | |
251 | 1549LL, 526502191602335744LL, 1586LL, 419990339021438976LL, | |
252 | // 2*2^65, 3*2^65 | |
253 | 1623LL, 313478486440542208LL, 1660LL, 206966633859645440LL, | |
254 | // 4*2^65, 5*2^65 | |
255 | 1697LL, 100454781278748672LL, 1733LL, 993942928697851904LL, | |
256 | // 6*2^65, 7*2^65 | |
257 | 1770LL, 887431076116955136LL, 1807LL, 780919223536058368LL, | |
258 | // 8*2^65, 9*2^65 | |
259 | 1844LL, 674407370955161600LL, 1881LL, 567895518374264832LL, | |
260 | // 0*2^65, 1*2^65 | |
261 | 1918LL, 461383665793368064LL, 1955LL, 354871813212471296LL, | |
262 | // 2*2^65, 3*2^65 | |
263 | 1992LL, 248359960631574528LL, 2029LL, 141848108050677760LL, | |
264 | // 4*2^65, 5*2^65 | |
265 | 2066LL, 35336255469780992LL, 2102LL, 928824402888884224LL, | |
266 | // 6*2^65, 7*2^65 | |
267 | 2139LL, 822312550307987456LL, 2176LL, 715800697727090688LL, | |
268 | // 8*2^65, 9*2^65 | |
269 | 2213LL, 609288845146193920LL, 2250LL, 502776992565297152LL, | |
270 | // 0*2^65, 1*2^65 | |
271 | 2287LL, 396265139984400384LL, 2324LL, 289753287403503616LL, | |
272 | // 2*2^65, 3*2^65 | |
273 | }, | |
9b6b0236 | 274 | |
275 | { | |
84d1fc49 | 276 | 0LL, 0LL, 2361LL, 183241434822606848LL, |
277 | 4722LL, 366482869645213696LL, 7083LL, 549724304467820544LL, | |
278 | 9444LL, 732965739290427392LL, 11805LL, 916207174113034240LL, | |
279 | 14167LL, 99448608935641088LL, 16528LL, 282690043758247936LL, | |
280 | 18889LL, 465931478580854784LL, 21250LL, 649172913403461632LL, | |
281 | 23611LL, 832414348226068480LL, 25973LL, 15655783048675328LL, | |
282 | 28334LL, 198897217871282176LL, 30695LL, 382138652693889024LL, | |
283 | 33056LL, 565380087516495872LL, 35417LL, 748621522339102720LL, | |
284 | 37778LL, 931862957161709568LL, 40140LL, 115104391984316416LL, | |
285 | 42501LL, 298345826806923264LL, 44862LL, 481587261629530112LL, | |
286 | 47223LL, 664828696452136960LL, 49584LL, 848070131274743808LL, | |
287 | 51946LL, 31311566097350656LL, 54307LL, 214553000919957504LL, | |
288 | 56668LL, 397794435742564352LL, 59029LL, 581035870565171200LL, | |
289 | 61390LL, 764277305387778048LL, 63751LL, 947518740210384896LL, | |
290 | 66113LL, 130760175032991744LL, 68474LL, 314001609855598592LL, | |
291 | 70835LL, 497243044678205440LL, 73196LL, 680484479500812288LL, | |
292 | 75557LL, 863725914323419136LL, 77919LL, 46967349146025984LL, | |
293 | 80280LL, 230208783968632832LL, 82641LL, 413450218791239680LL, | |
294 | 85002LL, 596691653613846528LL, 87363LL, 779933088436453376LL, | |
295 | 89724LL, 963174523259060224LL, 92086LL, 146415958081667072LL, | |
296 | 94447LL, 329657392904273920LL, 96808LL, 512898827726880768LL, | |
297 | 99169LL, 696140262549487616LL, 101530LL, 879381697372094464LL, | |
298 | 103892LL, 62623132194701312LL, 106253LL, 245864567017308160LL, | |
299 | 108614LL, 429106001839915008LL, 110975LL, 612347436662521856LL, | |
300 | 113336LL, 795588871485128704LL, 115697LL, 978830306307735552LL, | |
301 | 118059LL, 162071741130342400LL, 120420LL, 345313175952949248LL, | |
302 | 122781LL, 528554610775556096LL, 125142LL, 711796045598162944LL, | |
303 | 127503LL, 895037480420769792LL, 129865LL, 78278915243376640LL, | |
304 | 132226LL, 261520350065983488LL, 134587LL, 444761784888590336LL, | |
305 | 136948LL, 628003219711197184LL, 139309LL, 811244654533804032LL, | |
306 | 141670LL, 994486089356410880LL, 144032LL, 177727524179017728LL, | |
307 | 146393LL, 360968959001624576LL, 148754LL, 544210393824231424LL, | |
308 | }, | |
9b6b0236 | 309 | |
310 | { | |
84d1fc49 | 311 | 0LL, 0LL, 151115LL, 727451828646838272LL, |
312 | 302231LL, 454903657293676544LL, 453347LL, 182355485940514816LL, | |
313 | 604462LL, 909807314587353088LL, 755578LL, 637259143234191360LL, | |
314 | 906694LL, 364710971881029632LL, 1057810LL, 92162800527867904LL, | |
315 | 1208925LL, 819614629174706176LL, 1360041LL, 547066457821544448LL, | |
316 | 1511157LL, 274518286468382720LL, 1662273LL, 1970115115220992LL, | |
317 | 1813388LL, 729421943762059264LL, 1964504LL, 456873772408897536LL, | |
318 | 2115620LL, 184325601055735808LL, 2266735LL, 911777429702574080LL, | |
319 | 2417851LL, 639229258349412352LL, 2568967LL, 366681086996250624LL, | |
320 | 2720083LL, 94132915643088896LL, 2871198LL, 821584744289927168LL, | |
321 | 3022314LL, 549036572936765440LL, 3173430LL, 276488401583603712LL, | |
322 | 3324546LL, 3940230230441984LL, 3475661LL, 731392058877280256LL, | |
323 | 3626777LL, 458843887524118528LL, 3777893LL, 186295716170956800LL, | |
324 | 3929008LL, 913747544817795072LL, 4080124LL, 641199373464633344LL, | |
325 | 4231240LL, 368651202111471616LL, 4382356LL, 96103030758309888LL, | |
326 | 4533471LL, 823554859405148160LL, 4684587LL, 551006688051986432LL, | |
327 | 4835703LL, 278458516698824704LL, 4986819LL, 5910345345662976LL, | |
328 | 5137934LL, 733362173992501248LL, 5289050LL, 460814002639339520LL, | |
329 | 5440166LL, 188265831286177792LL, 5591281LL, 915717659933016064LL, | |
330 | 5742397LL, 643169488579854336LL, 5893513LL, 370621317226692608LL, | |
331 | 6044629LL, 98073145873530880LL, 6195744LL, 825524974520369152LL, | |
332 | 6346860LL, 552976803167207424LL, 6497976LL, 280428631814045696LL, | |
333 | 6649092LL, 7880460460883968LL, 6800207LL, 735332289107722240LL, | |
334 | 6951323LL, 462784117754560512LL, 7102439LL, 190235946401398784LL, | |
335 | 7253554LL, 917687775048237056LL, 7404670LL, 645139603695075328LL, | |
336 | 7555786LL, 372591432341913600LL, 7706902LL, 100043260988751872LL, | |
337 | 7858017LL, 827495089635590144LL, 8009133LL, 554946918282428416LL, | |
338 | 8160249LL, 282398746929266688LL, 8311365LL, 9850575576104960LL, | |
339 | 8462480LL, 737302404222943232LL, 8613596LL, 464754232869781504LL, | |
340 | 8764712LL, 192206061516619776LL, 8915827LL, 919657890163458048LL, | |
341 | 9066943LL, 647109718810296320LL, 9218059LL, 374561547457134592LL, | |
342 | 9369175LL, 102013376103972864LL, 9520290LL, 829465204750811136LL, | |
343 | }, | |
9b6b0236 | 344 | |
345 | { | |
84d1fc49 | 346 | 0LL, 0LL, 9671406LL, 556917033397649408LL, |
347 | 19342813LL, 113834066795298816LL, 29014219LL, 670751100192948224LL, | |
348 | 38685626LL, 227668133590597632LL, 48357032LL, 784585166988247040LL, | |
349 | 58028439LL, 341502200385896448LL, 67699845LL, 898419233783545856LL, | |
350 | 77371252LL, 455336267181195264LL, 87042659LL, 12253300578844672LL, | |
351 | 96714065LL, 569170333976494080LL, 106385472LL, 126087367374143488LL, | |
352 | 116056878LL, 683004400771792896LL, 125728285LL, 239921434169442304LL, | |
353 | 135399691LL, 796838467567091712LL, 145071098LL, 353755500964741120LL, | |
354 | 154742504LL, 910672534362390528LL, 164413911LL, 467589567760039936LL, | |
355 | 174085318LL, 24506601157689344LL, 183756724LL, 581423634555338752LL, | |
356 | 193428131LL, 138340667952988160LL, 203099537LL, 695257701350637568LL, | |
357 | 212770944LL, 252174734748286976LL, 222442350LL, 809091768145936384LL, | |
358 | 232113757LL, 366008801543585792LL, 241785163LL, 922925834941235200LL, | |
359 | 251456570LL, 479842868338884608LL, 261127977LL, 36759901736534016LL, | |
360 | 270799383LL, 593676935134183424LL, 280470790LL, 150593968531832832LL, | |
361 | 290142196LL, 707511001929482240LL, 299813603LL, 264428035327131648LL, | |
362 | 309485009LL, 821345068724781056LL, 319156416LL, 378262102122430464LL, | |
363 | 328827822LL, 935179135520079872LL, 338499229LL, 492096168917729280LL, | |
364 | 348170636LL, 49013202315378688LL, 357842042LL, 605930235713028096LL, | |
365 | 367513449LL, 162847269110677504LL, 377184855LL, 719764302508326912LL, | |
366 | 386856262LL, 276681335905976320LL, 396527668LL, 833598369303625728LL, | |
367 | 406199075LL, 390515402701275136LL, 415870481LL, 947432436098924544LL, | |
368 | 425541888LL, 504349469496573952LL, 435213295LL, 61266502894223360LL, | |
369 | 444884701LL, 618183536291872768LL, 454556108LL, 175100569689522176LL, | |
370 | 464227514LL, 732017603087171584LL, 473898921LL, 288934636484820992LL, | |
371 | 483570327LL, 845851669882470400LL, 493241734LL, 402768703280119808LL, | |
372 | 502913140LL, 959685736677769216LL, 512584547LL, 516602770075418624LL, | |
373 | 522255954LL, 73519803473068032LL, 531927360LL, 630436836870717440LL, | |
374 | 541598767LL, 187353870268366848LL, 551270173LL, 744270903666016256LL, | |
375 | 560941580LL, 301187937063665664LL, 570612986LL, 858104970461315072LL, | |
376 | 580284393LL, 415022003858964480LL, 589955799LL, 971939037256613888LL, | |
377 | 599627206LL, 528856070654263296LL, 609298613LL, 85773104051912704LL, | |
378 | }, | |
9b6b0236 | 379 | |
380 | { | |
84d1fc49 | 381 | 0LL, 0LL, 618970019LL, 642690137449562112LL, |
382 | 1237940039LL, 285380274899124224LL, 1856910058LL, | |
383 | 928070412348686336LL, | |
384 | 2475880078LL, 570760549798248448LL, 3094850098LL, | |
385 | 213450687247810560LL, | |
386 | 3713820117LL, 856140824697372672LL, 4332790137LL, | |
387 | 498830962146934784LL, | |
388 | 4951760157LL, 141521099596496896LL, 5570730176LL, | |
389 | 784211237046059008LL, | |
390 | 6189700196LL, 426901374495621120LL, 6808670216LL, | |
391 | 69591511945183232LL, | |
392 | 7427640235LL, 712281649394745344LL, 8046610255LL, | |
393 | 354971786844307456LL, | |
394 | 8665580274LL, 997661924293869568LL, 9284550294LL, | |
395 | 640352061743431680LL, | |
396 | 9903520314LL, 283042199192993792LL, 10522490333LL, | |
397 | 925732336642555904LL, | |
398 | 11141460353LL, 568422474092118016LL, 11760430373LL, | |
399 | 211112611541680128LL, | |
400 | 12379400392LL, 853802748991242240LL, 12998370412LL, | |
401 | 496492886440804352LL, | |
402 | 13617340432LL, 139183023890366464LL, 14236310451LL, | |
403 | 781873161339928576LL, | |
404 | 14855280471LL, 424563298789490688LL, 15474250491LL, | |
405 | 67253436239052800LL, | |
406 | 16093220510LL, 709943573688614912LL, 16712190530LL, | |
407 | 352633711138177024LL, | |
408 | 17331160549LL, 995323848587739136LL, 17950130569LL, | |
409 | 638013986037301248LL, | |
410 | 18569100589LL, 280704123486863360LL, 19188070608LL, | |
411 | 923394260936425472LL, | |
412 | 19807040628LL, 566084398385987584LL, 20426010648LL, | |
413 | 208774535835549696LL, | |
414 | 21044980667LL, 851464673285111808LL, 21663950687LL, | |
415 | 494154810734673920LL, | |
416 | 22282920707LL, 136844948184236032LL, 22901890726LL, | |
417 | 779535085633798144LL, | |
418 | 23520860746LL, 422225223083360256LL, 24139830766LL, | |
419 | 64915360532922368LL, | |
420 | 24758800785LL, 707605497982484480LL, 25377770805LL, | |
421 | 350295635432046592LL, | |
422 | 25996740824LL, 992985772881608704LL, 26615710844LL, | |
423 | 635675910331170816LL, | |
424 | 27234680864LL, 278366047780732928LL, 27853650883LL, | |
425 | 921056185230295040LL, | |
426 | 28472620903LL, 563746322679857152LL, 29091590923LL, | |
427 | 206436460129419264LL, | |
428 | 29710560942LL, 849126597578981376LL, 30329530962LL, | |
429 | 491816735028543488LL, | |
430 | 30948500982LL, 134506872478105600LL, 31567471001LL, | |
431 | 777197009927667712LL, | |
432 | 32186441021LL, 419887147377229824LL, 32805411041LL, | |
433 | 62577284826791936LL, | |
434 | 33424381060LL, 705267422276354048LL, 34043351080LL, | |
435 | 347957559725916160LL, | |
436 | 34662321099LL, 990647697175478272LL, 35281291119LL, | |
437 | 633337834625040384LL, | |
438 | 35900261139LL, 276027972074602496LL, 36519231158LL, | |
439 | 918718109524164608LL, | |
440 | 37138201178LL, 561408246973726720LL, 37757171198LL, | |
441 | 204098384423288832LL, | |
442 | 38376141217LL, 846788521872850944LL, 38995111237LL, | |
443 | 489478659322413056LL, | |
444 | }, | |
9b6b0236 | 445 | |
446 | { | |
84d1fc49 | 447 | 0LL, 0LL, 39614081257LL, 132168796771975168LL, |
448 | 79228162514LL, 264337593543950336LL, 118842243771LL, | |
449 | 396506390315925504LL, | |
450 | 158456325028LL, 528675187087900672LL, 198070406285LL, | |
451 | 660843983859875840LL, | |
452 | 237684487542LL, 793012780631851008LL, 277298568799LL, | |
453 | 925181577403826176LL, | |
454 | 316912650057LL, 57350374175801344LL, 356526731314LL, | |
455 | 189519170947776512LL, | |
456 | 396140812571LL, 321687967719751680LL, 435754893828LL, | |
457 | 453856764491726848LL, | |
458 | 475368975085LL, 586025561263702016LL, 514983056342LL, | |
459 | 718194358035677184LL, | |
460 | 554597137599LL, 850363154807652352LL, 594211218856LL, | |
461 | 982531951579627520LL, | |
462 | 633825300114LL, 114700748351602688LL, 673439381371LL, | |
463 | 246869545123577856LL, | |
464 | 713053462628LL, 379038341895553024LL, 752667543885LL, | |
465 | 511207138667528192LL, | |
466 | 792281625142LL, 643375935439503360LL, 831895706399LL, | |
467 | 775544732211478528LL, | |
468 | 871509787656LL, 907713528983453696LL, 911123868914LL, | |
469 | 39882325755428864LL, | |
470 | 950737950171LL, 172051122527404032LL, 990352031428LL, | |
471 | 304219919299379200LL, | |
472 | 1029966112685LL, 436388716071354368LL, 1069580193942LL, | |
473 | 568557512843329536LL, | |
474 | 1109194275199LL, 700726309615304704LL, 1148808356456LL, | |
475 | 832895106387279872LL, | |
476 | 1188422437713LL, 965063903159255040LL, 1228036518971LL, | |
477 | 97232699931230208LL, | |
478 | 1267650600228LL, 229401496703205376LL, 1307264681485LL, | |
479 | 361570293475180544LL, | |
480 | 1346878762742LL, 493739090247155712LL, 1386492843999LL, | |
481 | 625907887019130880LL, | |
482 | 1426106925256LL, 758076683791106048LL, 1465721006513LL, | |
483 | 890245480563081216LL, | |
484 | 1505335087771LL, 22414277335056384LL, 1544949169028LL, | |
485 | 154583074107031552LL, | |
486 | 1584563250285LL, 286751870879006720LL, 1624177331542LL, | |
487 | 418920667650981888LL, | |
488 | 1663791412799LL, 551089464422957056LL, 1703405494056LL, | |
489 | 683258261194932224LL, | |
490 | 1743019575313LL, 815427057966907392LL, 1782633656570LL, | |
491 | 947595854738882560LL, | |
492 | 1822247737828LL, 79764651510857728LL, 1861861819085LL, | |
493 | 211933448282832896LL, | |
494 | 1901475900342LL, 344102245054808064LL, 1941089981599LL, | |
495 | 476271041826783232LL, | |
496 | 1980704062856LL, 608439838598758400LL, 2020318144113LL, | |
497 | 740608635370733568LL, | |
498 | 2059932225370LL, 872777432142708736LL, 2099546306628LL, | |
499 | 4946228914683904LL, | |
500 | 2139160387885LL, 137115025686659072LL, 2178774469142LL, | |
501 | 269283822458634240LL, | |
502 | 2218388550399LL, 401452619230609408LL, 2258002631656LL, | |
503 | 533621416002584576LL, | |
504 | 2297616712913LL, 665790212774559744LL, 2337230794170LL, | |
505 | 797959009546534912LL, | |
506 | 2376844875427LL, 930127806318510080LL, 2416458956685LL, | |
507 | 62296603090485248LL, | |
508 | 2456073037942LL, 194465399862460416LL, 2495687119199LL, | |
509 | 326634196634435584LL, | |
510 | }, | |
9b6b0236 | 511 | |
512 | { | |
84d1fc49 | 513 | 0LL, 0LL, 2535301200456LL, 458802993406410752LL, |
514 | 5070602400912LL, 917605986812821504LL, 7605903601369LL, | |
515 | 376408980219232256LL, | |
516 | 10141204801825LL, 835211973625643008LL, 12676506002282LL, | |
517 | 294014967032053760LL, | |
518 | 15211807202738LL, 752817960438464512LL, 17747108403195LL, | |
519 | 211620953844875264LL, | |
520 | 20282409603651LL, 670423947251286016LL, 22817710804108LL, | |
521 | 129226940657696768LL, | |
522 | 25353012004564LL, 588029934064107520LL, 27888313205021LL, | |
523 | 46832927470518272LL, | |
524 | 30423614405477LL, 505635920876929024LL, 32958915605933LL, | |
525 | 964438914283339776LL, | |
526 | 35494216806390LL, 423241907689750528LL, 38029518006846LL, | |
527 | 882044901096161280LL, | |
528 | 40564819207303LL, 340847894502572032LL, 43100120407759LL, | |
529 | 799650887908982784LL, | |
530 | 45635421608216LL, 258453881315393536LL, 48170722808672LL, | |
531 | 717256874721804288LL, | |
532 | 50706024009129LL, 176059868128215040LL, 53241325209585LL, | |
533 | 634862861534625792LL, | |
534 | 55776626410042LL, 93665854941036544LL, 58311927610498LL, | |
535 | 552468848347447296LL, | |
536 | 60847228810955LL, 11271841753858048LL, 63382530011411LL, | |
537 | 470074835160268800LL, | |
538 | 65917831211867LL, 928877828566679552LL, 68453132412324LL, | |
539 | 387680821973090304LL, | |
540 | 70988433612780LL, 846483815379501056LL, 73523734813237LL, | |
541 | 305286808785911808LL, | |
542 | 76059036013693LL, 764089802192322560LL, 78594337214150LL, | |
543 | 222892795598733312LL, | |
544 | 81129638414606LL, 681695789005144064LL, 83664939615063LL, | |
545 | 140498782411554816LL, | |
546 | 86200240815519LL, 599301775817965568LL, 88735542015976LL, | |
547 | 58104769224376320LL, | |
548 | 91270843216432LL, 516907762630787072LL, 93806144416888LL, | |
549 | 975710756037197824LL, | |
550 | 96341445617345LL, 434513749443608576LL, 98876746817801LL, | |
551 | 893316742850019328LL, | |
552 | 101412048018258LL, 352119736256430080LL, 103947349218714LL, | |
553 | 810922729662840832LL, | |
554 | 106482650419171LL, 269725723069251584LL, 109017951619627LL, | |
555 | 728528716475662336LL, | |
556 | 111553252820084LL, 187331709882073088LL, 114088554020540LL, | |
557 | 646134703288483840LL, | |
558 | 116623855220997LL, 104937696694894592LL, 119159156421453LL, | |
559 | 563740690101305344LL, | |
560 | 121694457621910LL, 22543683507716096LL, 124229758822366LL, | |
561 | 481346676914126848LL, | |
562 | 126765060022822LL, 940149670320537600LL, 129300361223279LL, | |
563 | 398952663726948352LL, | |
564 | 131835662423735LL, 857755657133359104LL, 134370963624192LL, | |
565 | 316558650539769856LL, | |
566 | 136906264824648LL, 775361643946180608LL, 139441566025105LL, | |
567 | 234164637352591360LL, | |
568 | 141976867225561LL, 692967630759002112LL, 144512168426018LL, | |
569 | 151770624165412864LL, | |
570 | 147047469626474LL, 610573617571823616LL, 149582770826931LL, | |
571 | 69376610978234368LL, | |
572 | 152118072027387LL, 528179604384645120LL, 154653373227843LL, | |
573 | 986982597791055872LL, | |
574 | 157188674428300LL, 445785591197466624LL, 159723975628756LL, | |
575 | 904588584603877376LL, | |
576 | }, | |
9b6b0236 | 577 | |
578 | { | |
84d1fc49 | 579 | 0LL, 0LL, 162259276829213LL, 363391578010288128LL, |
580 | 324518553658426LL, 726783156020576256LL, 486777830487640LL, | |
581 | 90174734030864384LL, | |
582 | 649037107316853LL, 453566312041152512LL, 811296384146066LL, | |
583 | 816957890051440640LL, | |
584 | 973555660975280LL, 180349468061728768LL, 1135814937804493LL, | |
585 | 543741046072016896LL, | |
586 | 1298074214633706LL, 907132624082305024LL, 1460333491462920LL, | |
587 | 270524202092593152LL, | |
588 | 1622592768292133LL, 633915780102881280LL, 1784852045121346LL, | |
589 | 997307358113169408LL, | |
590 | 1947111321950560LL, 360698936123457536LL, 2109370598779773LL, | |
591 | 724090514133745664LL, | |
592 | 2271629875608987LL, 87482092144033792LL, 2433889152438200LL, | |
593 | 450873670154321920LL, | |
594 | 2596148429267413LL, 814265248164610048LL, 2758407706096627LL, | |
595 | 177656826174898176LL, | |
596 | 2920666982925840LL, 541048404185186304LL, 3082926259755053LL, | |
597 | 904439982195474432LL, | |
598 | 3245185536584267LL, 267831560205762560LL, 3407444813413480LL, | |
599 | 631223138216050688LL, | |
600 | 3569704090242693LL, 994614716226338816LL, 3731963367071907LL, | |
601 | 358006294236626944LL, | |
602 | 3894222643901120LL, 721397872246915072LL, 4056481920730334LL, | |
603 | 84789450257203200LL, | |
604 | 4218741197559547LL, 448181028267491328LL, 4381000474388760LL, | |
605 | 811572606277779456LL, | |
606 | 4543259751217974LL, 174964184288067584LL, 4705519028047187LL, | |
607 | 538355762298355712LL, | |
608 | 4867778304876400LL, 901747340308643840LL, 5030037581705614LL, | |
609 | 265138918318931968LL, | |
610 | 5192296858534827LL, 628530496329220096LL, 5354556135364040LL, | |
611 | 991922074339508224LL, | |
612 | 5516815412193254LL, 355313652349796352LL, 5679074689022467LL, | |
613 | 718705230360084480LL, | |
614 | 5841333965851681LL, 82096808370372608LL, 6003593242680894LL, | |
615 | 445488386380660736LL, | |
616 | 6165852519510107LL, 808879964390948864LL, 6328111796339321LL, | |
617 | 172271542401236992LL, | |
618 | 6490371073168534LL, 535663120411525120LL, 6652630349997747LL, | |
619 | 899054698421813248LL, | |
620 | 6814889626826961LL, 262446276432101376LL, 6977148903656174LL, | |
621 | 625837854442389504LL, | |
622 | 7139408180485387LL, 989229432452677632LL, 7301667457314601LL, | |
623 | 352621010462965760LL, | |
624 | 7463926734143814LL, 716012588473253888LL, 7626186010973028LL, | |
625 | 79404166483542016LL, | |
626 | 7788445287802241LL, 442795744493830144LL, 7950704564631454LL, | |
627 | 806187322504118272LL, | |
628 | 8112963841460668LL, 169578900514406400LL, 8275223118289881LL, | |
629 | 532970478524694528LL, | |
630 | 8437482395119094LL, 896362056534982656LL, 8599741671948308LL, | |
631 | 259753634545270784LL, | |
632 | 8762000948777521LL, 623145212555558912LL, 8924260225606734LL, | |
633 | 986536790565847040LL, | |
634 | 9086519502435948LL, 349928368576135168LL, 9248778779265161LL, | |
635 | 713319946586423296LL, | |
636 | 9411038056094375LL, 76711524596711424LL, 9573297332923588LL, | |
637 | 440103102606999552LL, | |
638 | 9735556609752801LL, 803494680617287680LL, 9897815886582015LL, | |
639 | 166886258627575808LL, | |
640 | 10060075163411228LL, 530277836637863936LL, 10222334440240441LL, | |
641 | 893669414648152064LL} | |
9b6b0236 | 642 | }; |