Windows msbuild triggers too much to rebuild.
[mono.git] / mono / metadata / number-formatter.h
1 #ifndef _MONO_METADATA_NUMBER_FORMATTER_H_
2 #define _MONO_METADATA_NUMBER_FORMATTER_H_ 1
3
4 static const guint64 Formatter_MantissaBitsTable [] = {
5         4556951262222748432ULL, 9113902524445496865ULL, 1822780504889099373ULL, 
6         3645561009778198746ULL, 7291122019556397492ULL, 14582244039112794984ULL, 
7         2916448807822558996ULL, 5832897615645117993ULL, 11665795231290235987ULL, 
8         2333159046258047197ULL, 4666318092516094394ULL, 9332636185032188789ULL, 
9         1866527237006437757ULL, 3733054474012875515ULL, 7466108948025751031ULL, 
10         14932217896051502063ULL, 2986443579210300412ULL, 5972887158420600825ULL, 
11         11945774316841201651ULL, 2389154863368240330ULL, 4778309726736480660ULL, 
12         9556619453472961320ULL, 1911323890694592264ULL, 3822647781389184528ULL, 
13         7645295562778369056ULL, 15290591125556738113ULL, 3058118225111347622ULL, 
14         6116236450222695245ULL, 12232472900445390490ULL, 2446494580089078098ULL, 
15         4892989160178156196ULL, 9785978320356312392ULL, 1957195664071262478ULL, 
16         3914391328142524957ULL, 7828782656285049914ULL, 15657565312570099828ULL, 
17         3131513062514019965ULL, 6263026125028039931ULL, 12526052250056079862ULL, 
18         2505210450011215972ULL, 5010420900022431944ULL, 10020841800044863889ULL, 
19         2004168360008972777ULL, 4008336720017945555ULL, 8016673440035891111ULL, 
20         16033346880071782223ULL, 3206669376014356444ULL, 6413338752028712889ULL, 
21         12826677504057425779ULL, 2565335500811485155ULL, 5130671001622970311ULL, 
22         10261342003245940623ULL, 2052268400649188124ULL, 4104536801298376249ULL, 
23         8209073602596752498ULL, 16418147205193504997ULL, 3283629441038700999ULL, 
24         6567258882077401998ULL, 13134517764154803997ULL, 2626903552830960799ULL, 
25         5253807105661921599ULL, 10507614211323843198ULL, 2101522842264768639ULL, 
26         4203045684529537279ULL, 8406091369059074558ULL, 16812182738118149117ULL, 
27         3362436547623629823ULL, 6724873095247259646ULL, 13449746190494519293ULL, 
28         2689949238098903858ULL, 5379898476197807717ULL, 10759796952395615435ULL, 
29         2151959390479123087ULL, 4303918780958246174ULL, 8607837561916492348ULL, 
30         17215675123832984696ULL, 3443135024766596939ULL, 6886270049533193878ULL, 
31         13772540099066387756ULL, 2754508019813277551ULL, 5509016039626555102ULL, 
32         11018032079253110205ULL, 2203606415850622041ULL, 4407212831701244082ULL, 
33         8814425663402488164ULL, 17628851326804976328ULL, 3525770265360995265ULL, 
34         7051540530721990531ULL, 14103081061443981063ULL, 2820616212288796212ULL, 
35         5641232424577592425ULL, 11282464849155184850ULL, 2256492969831036970ULL, 
36         4512985939662073940ULL, 9025971879324147880ULL, 18051943758648295760ULL, 
37         3610388751729659152ULL, 7220777503459318304ULL, 14441555006918636608ULL, 
38         2888311001383727321ULL, 5776622002767454643ULL, 11553244005534909286ULL, 
39         2310648801106981857ULL, 4621297602213963714ULL, 9242595204427927429ULL, 
40         1848519040885585485ULL, 3697038081771170971ULL, 7394076163542341943ULL, 
41         14788152327084683887ULL, 2957630465416936777ULL, 5915260930833873554ULL, 
42         11830521861667747109ULL, 2366104372333549421ULL, 4732208744667098843ULL, 
43         9464417489334197687ULL, 1892883497866839537ULL, 3785766995733679075ULL, 
44         7571533991467358150ULL, 15143067982934716300ULL, 3028613596586943260ULL, 
45         6057227193173886520ULL, 12114454386347773040ULL, 2422890877269554608ULL, 
46         4845781754539109216ULL, 9691563509078218432ULL, 1938312701815643686ULL, 
47         3876625403631287372ULL, 7753250807262574745ULL, 15506501614525149491ULL, 
48         3101300322905029898ULL, 6202600645810059796ULL, 12405201291620119593ULL, 
49         2481040258324023918ULL, 4962080516648047837ULL, 9924161033296095674ULL, 
50         1984832206659219134ULL, 3969664413318438269ULL, 7939328826636876539ULL, 
51         15878657653273753079ULL, 3175731530654750615ULL, 6351463061309501231ULL, 
52         12702926122619002463ULL, 2540585224523800492ULL, 5081170449047600985ULL, 
53         10162340898095201970ULL, 2032468179619040394ULL, 4064936359238080788ULL, 
54         8129872718476161576ULL, 16259745436952323153ULL, 3251949087390464630ULL, 
55         6503898174780929261ULL, 13007796349561858522ULL, 2601559269912371704ULL, 
56         5203118539824743409ULL, 10406237079649486818ULL, 2081247415929897363ULL, 
57         4162494831859794727ULL, 8324989663719589454ULL, 16649979327439178909ULL, 
58         3329995865487835781ULL, 6659991730975671563ULL, 13319983461951343127ULL, 
59         2663996692390268625ULL, 5327993384780537250ULL, 10655986769561074501ULL, 
60         2131197353912214900ULL, 4262394707824429800ULL, 8524789415648859601ULL, 
61         17049578831297719202ULL, 3409915766259543840ULL, 6819831532519087681ULL, 
62         13639663065038175362ULL, 2727932613007635072ULL, 5455865226015270144ULL, 
63         10911730452030540289ULL, 2182346090406108057ULL, 4364692180812216115ULL, 
64         8729384361624432231ULL, 17458768723248864463ULL, 3491753744649772892ULL, 
65         6983507489299545785ULL, 13967014978599091570ULL, 2793402995719818314ULL, 
66         5586805991439636628ULL, 11173611982879273256ULL, 2234722396575854651ULL, 
67         4469444793151709302ULL, 8938889586303418605ULL, 17877779172606837210ULL, 
68         3575555834521367442ULL, 7151111669042734884ULL, 14302223338085469768ULL, 
69         2860444667617093953ULL, 5720889335234187907ULL, 11441778670468375814ULL, 
70         2288355734093675162ULL, 4576711468187350325ULL, 9153422936374700651ULL, 
71         1830684587274940130ULL, 3661369174549880260ULL, 7322738349099760521ULL, 
72         14645476698199521043ULL, 2929095339639904208ULL, 5858190679279808417ULL, 
73         11716381358559616834ULL, 2343276271711923366ULL, 4686552543423846733ULL, 
74         9373105086847693467ULL, 1874621017369538693ULL, 3749242034739077387ULL, 
75         7498484069478154774ULL, 14996968138956309548ULL, 2999393627791261909ULL, 
76         5998787255582523819ULL, 11997574511165047638ULL, 2399514902233009527ULL, 
77         4799029804466019055ULL, 9598059608932038110ULL, 1919611921786407622ULL, 
78         3839223843572815244ULL, 7678447687145630488ULL, 15356895374291260977ULL, 
79         3071379074858252195ULL, 6142758149716504390ULL, 12285516299433008781ULL, 
80         2457103259886601756ULL, 4914206519773203512ULL, 9828413039546407025ULL, 
81         1965682607909281405ULL, 3931365215818562810ULL, 7862730431637125620ULL, 
82         15725460863274251240ULL, 3145092172654850248ULL, 6290184345309700496ULL, 
83         12580368690619400992ULL, 2516073738123880198ULL, 5032147476247760397ULL, 
84         10064294952495520794ULL, 2012858990499104158ULL, 4025717980998208317ULL, 
85         8051435961996416635ULL, 16102871923992833270ULL, 3220574384798566654ULL, 
86         6441148769597133308ULL, 12882297539194266616ULL, 2576459507838853323ULL, 
87         5152919015677706646ULL, 10305838031355413293ULL, 2061167606271082658ULL, 
88         4122335212542165317ULL, 8244670425084330634ULL, 16489340850168661269ULL, 
89         3297868170033732253ULL, 6595736340067464507ULL, 13191472680134929015ULL, 
90         2638294536026985803ULL, 5276589072053971606ULL, 10553178144107943212ULL, 
91         2110635628821588642ULL, 4221271257643177284ULL, 8442542515286354569ULL, 
92         16885085030572709139ULL, 3377017006114541827ULL, 6754034012229083655ULL, 
93         13508068024458167311ULL, 2701613604891633462ULL, 5403227209783266924ULL, 
94         10806454419566533849ULL, 2161290883913306769ULL, 4322581767826613539ULL, 
95         8645163535653227079ULL, 17290327071306454158ULL, 3458065414261290831ULL, 
96         6916130828522581663ULL, 13832261657045163327ULL, 2766452331409032665ULL, 
97         5532904662818065330ULL, 11065809325636130661ULL, 2213161865127226132ULL, 
98         4426323730254452264ULL, 8852647460508904529ULL, 17705294921017809058ULL, 
99         3541058984203561811ULL, 7082117968407123623ULL, 14164235936814247246ULL, 
100         2832847187362849449ULL, 5665694374725698898ULL, 11331388749451397797ULL, 
101         2266277749890279559ULL, 4532555499780559119ULL, 9065110999561118238ULL, 
102         1813022199912223647ULL, 3626044399824447295ULL, 7252088799648894590ULL, 
103         14504177599297789180ULL, 2900835519859557836ULL, 5801671039719115672ULL, 
104         11603342079438231344ULL, 2320668415887646268ULL, 4641336831775292537ULL, 
105         9282673663550585075ULL, 1856534732710117015ULL, 3713069465420234030ULL, 
106         7426138930840468060ULL, 14852277861680936121ULL, 2970455572336187224ULL, 
107         5940911144672374448ULL, 11881822289344748896ULL, 2376364457868949779ULL, 
108         4752728915737899558ULL, 9505457831475799117ULL, 1901091566295159823ULL, 
109         3802183132590319647ULL, 7604366265180639294ULL, 15208732530361278588ULL, 
110         3041746506072255717ULL, 6083493012144511435ULL, 12166986024289022870ULL, 
111         2433397204857804574ULL, 4866794409715609148ULL, 9733588819431218296ULL, 
112         1946717763886243659ULL, 3893435527772487318ULL, 7786871055544974637ULL, 
113         15573742111089949274ULL, 3114748422217989854ULL, 6229496844435979709ULL, 
114         12458993688871959419ULL, 2491798737774391883ULL, 4983597475548783767ULL, 
115         9967194951097567535ULL, 1993438990219513507ULL, 3986877980439027014ULL, 
116         7973755960878054028ULL, 15947511921756108056ULL, 3189502384351221611ULL, 
117         6379004768702443222ULL, 12758009537404886445ULL, 2551601907480977289ULL, 
118         5103203814961954578ULL, 10206407629923909156ULL, 2041281525984781831ULL, 
119         4082563051969563662ULL, 8165126103939127325ULL, 16330252207878254650ULL, 
120         3266050441575650930ULL, 6532100883151301860ULL, 13064201766302603720ULL, 
121         2612840353260520744ULL, 5225680706521041488ULL, 10451361413042082976ULL, 
122         2090272282608416595ULL, 4180544565216833190ULL, 8361089130433666380ULL, 
123         16722178260867332761ULL, 3344435652173466552ULL, 6688871304346933104ULL, 
124         13377742608693866209ULL, 2675548521738773241ULL, 5351097043477546483ULL, 
125         10702194086955092967ULL, 2140438817391018593ULL, 4280877634782037187ULL, 
126         8561755269564074374ULL, 17123510539128148748ULL, 3424702107825629749ULL, 
127         6849404215651259499ULL, 13698808431302518998ULL, 2739761686260503799ULL, 
128         5479523372521007599ULL, 10959046745042015198ULL, 2191809349008403039ULL, 
129         4383618698016806079ULL, 8767237396033612159ULL, 17534474792067224318ULL, 
130         3506894958413444863ULL, 7013789916826889727ULL, 14027579833653779454ULL, 
131         2805515966730755890ULL, 5611031933461511781ULL, 11222063866923023563ULL, 
132         2244412773384604712ULL, 4488825546769209425ULL, 8977651093538418850ULL, 
133         17955302187076837701ULL, 3591060437415367540ULL, 7182120874830735080ULL, 
134         14364241749661470161ULL, 2872848349932294032ULL, 5745696699864588064ULL, 
135         11491393399729176129ULL, 2298278679945835225ULL, 4596557359891670451ULL, 
136         9193114719783340903ULL, 1838622943956668180ULL, 3677245887913336361ULL, 
137         7354491775826672722ULL, 14708983551653345445ULL, 2941796710330669089ULL, 
138         5883593420661338178ULL, 11767186841322676356ULL, 2353437368264535271ULL, 
139         4706874736529070542ULL, 9413749473058141084ULL, 1882749894611628216ULL, 
140         3765499789223256433ULL, 7530999578446512867ULL, 15061999156893025735ULL, 
141         3012399831378605147ULL, 6024799662757210294ULL, 12049599325514420588ULL, 
142         2409919865102884117ULL, 4819839730205768235ULL, 9639679460411536470ULL, 
143         1927935892082307294ULL, 3855871784164614588ULL, 7711743568329229176ULL, 
144         15423487136658458353ULL, 3084697427331691670ULL, 6169394854663383341ULL, 
145         12338789709326766682ULL, 2467757941865353336ULL, 4935515883730706673ULL, 
146         9871031767461413346ULL, 1974206353492282669ULL, 3948412706984565338ULL, 
147         7896825413969130677ULL, 15793650827938261354ULL, 3158730165587652270ULL, 
148         6317460331175304541ULL, 12634920662350609083ULL, 2526984132470121816ULL, 
149         5053968264940243633ULL, 10107936529880487266ULL, 2021587305976097453ULL, 
150         4043174611952194906ULL, 8086349223904389813ULL, 16172698447808779626ULL, 
151         3234539689561755925ULL, 6469079379123511850ULL, 12938158758247023701ULL, 
152         2587631751649404740ULL, 5175263503298809480ULL, 10350527006597618960ULL, 
153         2070105401319523792ULL, 4140210802639047584ULL, 8280421605278095168ULL, 
154         16560843210556190337ULL, 3312168642111238067ULL, 6624337284222476135ULL, 
155         13248674568444952270ULL, 2649734913688990454ULL, 5299469827377980908ULL, 
156         10598939654755961816ULL, 2119787930951192363ULL, 4239575861902384726ULL, 
157         8479151723804769452ULL, 16958303447609538905ULL, 3391660689521907781ULL, 
158         6783321379043815562ULL, 13566642758087631124ULL, 2713328551617526224ULL, 
159         5426657103235052449ULL, 10853314206470104899ULL, 2170662841294020979ULL, 
160         4341325682588041959ULL, 8682651365176083919ULL, 17365302730352167839ULL, 
161         3473060546070433567ULL, 6946121092140867135ULL, 13892242184281734271ULL, 
162         2778448436856346854ULL, 5556896873712693708ULL, 11113793747425387417ULL, 
163         2222758749485077483ULL, 4445517498970154966ULL, 8891034997940309933ULL, 
164         17782069995880619867ULL, 3556413999176123973ULL, 7112827998352247947ULL, 
165         14225655996704495894ULL, 2845131199340899178ULL, 5690262398681798357ULL, 
166         11380524797363596715ULL, 2276104959472719343ULL, 4552209918945438686ULL, 
167         9104419837890877372ULL, 1820883967578175474ULL, 3641767935156350948ULL, 
168         7283535870312701897ULL, 14567071740625403795ULL, 2913414348125080759ULL, 
169         5826828696250161518ULL, 11653657392500323036ULL, 2330731478500064607ULL, 
170         4661462957000129214ULL, 9322925914000258429ULL, 1864585182800051685ULL, 
171         3729170365600103371ULL, 7458340731200206743ULL, 14916681462400413486ULL, 
172         2983336292480082697ULL, 5966672584960165394ULL, 11933345169920330789ULL, 
173         2386669033984066157ULL, 4773338067968132315ULL, 9546676135936264631ULL, 
174         1909335227187252926ULL, 3818670454374505852ULL, 7637340908749011705ULL, 
175         15274681817498023410ULL, 3054936363499604682ULL, 6109872726999209364ULL, 
176         12219745453998418728ULL, 2443949090799683745ULL, 4887898181599367491ULL, 
177         9775796363198734982ULL, 1955159272639746996ULL, 3910318545279493993ULL, 
178         7820637090558987986ULL, 15641274181117975972ULL, 3128254836223595194ULL, 
179         6256509672447190388ULL, 12513019344894380777ULL, 2502603868978876155ULL, 
180         5005207737957752311ULL, 10010415475915504622ULL, 2002083095183100924ULL, 
181         4004166190366201848ULL, 8008332380732403697ULL, 16016664761464807395ULL, 
182         3203332952292961479ULL, 6406665904585922958ULL, 12813331809171845916ULL, 
183         2562666361834369183ULL, 5125332723668738366ULL, 10250665447337476733ULL, 
184         2050133089467495346ULL, 4100266178934990693ULL, 8200532357869981386ULL, 
185         16401064715739962772ULL, 3280212943147992554ULL, 6560425886295985109ULL, 
186         13120851772591970218ULL, 2624170354518394043ULL, 5248340709036788087ULL, 
187         10496681418073576174ULL, 2099336283614715234ULL, 4198672567229430469ULL, 
188         8397345134458860939ULL, 16794690268917721879ULL, 3358938053783544375ULL, 
189         6717876107567088751ULL, 13435752215134177503ULL, 2687150443026835500ULL, 
190         5374300886053671001ULL, 10748601772107342002ULL, 2149720354421468400ULL, 
191         4299440708842936801ULL, 8598881417685873602ULL, 17197762835371747204ULL, 
192         3439552567074349440ULL, 6879105134148698881ULL, 13758210268297397763ULL, 
193         2751642053659479552ULL, 5503284107318959105ULL, 11006568214637918210ULL, 
194         2201313642927583642ULL, 4402627285855167284ULL, 8805254571710334568ULL, 
195         17610509143420669137ULL, 3522101828684133827ULL, 7044203657368267654ULL, 
196         14088407314736535309ULL, 2817681462947307061ULL, 5635362925894614123ULL, 
197         11270725851789228247ULL, 2254145170357845649ULL, 4508290340715691299ULL, 
198         9016580681431382598ULL, 18033161362862765196ULL, 3606632272572553039ULL, 
199         7213264545145106078ULL, 14426529090290212157ULL, 2885305818058042431ULL, 
200         5770611636116084862ULL, 11541223272232169725ULL, 2308244654446433945ULL, 
201         4616489308892867890ULL, 9232978617785735780ULL, 1846595723557147156ULL, 
202         3693191447114294312ULL, 7386382894228588624ULL, 14772765788457177249ULL, 
203         2954553157691435449ULL, 5909106315382870899ULL, 11818212630765741799ULL, 
204         2363642526153148359ULL, 4727285052306296719ULL, 9454570104612593439ULL, 
205         1890914020922518687ULL, 3781828041845037375ULL, 7563656083690074751ULL, 
206         15127312167380149503ULL, 3025462433476029900ULL, 6050924866952059801ULL, 
207         12101849733904119602ULL, 2420369946780823920ULL, 4840739893561647841ULL, 
208         9681479787123295682ULL, 1936295957424659136ULL, 3872591914849318272ULL, 
209         7745183829698636545ULL, 15490367659397273091ULL, 3098073531879454618ULL, 
210         6196147063758909236ULL, 12392294127517818473ULL, 2478458825503563694ULL, 
211         4956917651007127389ULL, 9913835302014254778ULL, 1982767060402850955ULL, 
212         3965534120805701911ULL, 7931068241611403822ULL, 15862136483222807645ULL, 
213         3172427296644561529ULL, 6344854593289123058ULL, 12689709186578246116ULL, 
214         2537941837315649223ULL, 5075883674631298446ULL, 10151767349262596893ULL, 
215         2030353469852519378ULL, 4060706939705038757ULL, 8121413879410077514ULL, 
216         16242827758820155028ULL, 3248565551764031005ULL, 6497131103528062011ULL, 
217         12994262207056124023ULL, 2598852441411224804ULL, 5197704882822449609ULL, 
218         10395409765644899218ULL, 2079081953128979843ULL, 4158163906257959687ULL, 
219         8316327812515919374ULL, 16632655625031838749ULL, 3326531125006367749ULL, 
220         6653062250012735499ULL, 13306124500025470999ULL, 2661224900005094199ULL, 
221         5322449800010188399ULL, 10644899600020376799ULL, 2128979920004075359ULL, 
222         4257959840008150719ULL, 8515919680016301439ULL, 17031839360032602879ULL, 
223         3406367872006520575ULL, 6812735744013041151ULL, 13625471488026082303ULL, 
224         2725094297605216460ULL, 5450188595210432921ULL, 10900377190420865842ULL, 
225         2180075438084173168ULL, 4360150876168346337ULL, 8720301752336692674ULL, 
226         17440603504673385348ULL, 3488120700934677069ULL, 6976241401869354139ULL, 
227         13952482803738708279ULL, 2790496560747741655ULL, 5580993121495483311ULL, 
228         11161986242990966623ULL, 2232397248598193324ULL, 4464794497196386649ULL, 
229         8929588994392773298ULL, 17859177988785546597ULL, 3571835597757109319ULL, 
230         7143671195514218638ULL, 14287342391028437277ULL, 2857468478205687455ULL, 
231         5714936956411374911ULL, 11429873912822749822ULL, 2285974782564549964ULL, 
232         4571949565129099928ULL, 9143899130258199857ULL, 1828779826051639971ULL, 
233         3657559652103279943ULL, 7315119304206559886ULL, 14630238608413119772ULL, 
234         2926047721682623954ULL, 5852095443365247908ULL, 11704190886730495817ULL, 
235         2340838177346099163ULL, 4681676354692198327ULL, 9363352709384396654ULL, 
236         1872670541876879330ULL, 3745341083753758661ULL, 7490682167507517323ULL, 
237         14981364335015034646ULL, 2996272867003006929ULL, 5992545734006013858ULL, 
238         11985091468012027717ULL, 2397018293602405543ULL, 4794036587204811087ULL, 
239         9588073174409622174ULL, 1917614634881924434ULL, 3835229269763848869ULL, 
240         7670458539527697739ULL, 15340917079055395478ULL, 3068183415811079095ULL, 
241         6136366831622158191ULL, 12272733663244316382ULL, 2454546732648863276ULL, 
242         4909093465297726553ULL, 9818186930595453106ULL, 1963637386119090621ULL, 
243         3927274772238181242ULL, 7854549544476362484ULL, 15709099088952724969ULL, 
244         3141819817790544993ULL, 6283639635581089987ULL, 12567279271162179975ULL, 
245         2513455854232435995ULL, 5026911708464871990ULL, 10053823416929743980ULL, 
246         2010764683385948796ULL, 4021529366771897592ULL, 8043058733543795184ULL, 
247         16086117467087590369ULL, 3217223493417518073ULL, 6434446986835036147ULL, 
248         12868893973670072295ULL, 2573778794734014459ULL, 5147557589468028918ULL, 
249         10295115178936057836ULL, 2059023035787211567ULL, 4118046071574423134ULL, 
250         8236092143148846269ULL, 16472184286297692538ULL, 3294436857259538507ULL, 
251         6588873714519077015ULL, 13177747429038154030ULL, 2635549485807630806ULL, 
252         5271098971615261612ULL, 10542197943230523224ULL, 2108439588646104644ULL, 
253         4216879177292209289ULL, 8433758354584418579ULL, 16867516709168837158ULL, 
254         3373503341833767431ULL, 6747006683667534863ULL, 13494013367335069727ULL, 
255         2698802673467013945ULL, 5397605346934027890ULL, 10795210693868055781ULL, 
256         2159042138773611156ULL, 4318084277547222312ULL, 8636168555094444625ULL, 
257         17272337110188889250ULL, 3454467422037777850ULL, 6908934844075555700ULL, 
258         13817869688151111400ULL, 2763573937630222280ULL, 5527147875260444560ULL, 
259         11054295750520889120ULL, 2210859150104177824ULL, 4421718300208355648ULL, 
260         8843436600416711296ULL, 17686873200833422592ULL, 3537374640166684518ULL, 
261         7074749280333369037ULL, 14149498560666738074ULL, 2829899712133347614ULL, 
262         5659799424266695229ULL, 11319598848533390459ULL, 2263919769706678091ULL, 
263         4527839539413356183ULL, 9055679078826712367ULL, 1811135815765342473ULL, 
264         3622271631530684947ULL, 7244543263061369894ULL, 14489086526122739788ULL, 
265         2897817305224547957ULL, 5795634610449095915ULL, 11591269220898191830ULL, 
266         2318253844179638366ULL, 4636507688359276732ULL, 9273015376718553464ULL, 
267         1854603075343710692ULL, 3709206150687421385ULL, 7418412301374842771ULL, 
268         14836824602749685542ULL, 2967364920549937108ULL, 5934729841099874217ULL, 
269         11869459682199748434ULL, 2373891936439949686ULL, 4747783872879899373ULL, 
270         9495567745759798747ULL, 1899113549151959749ULL, 3798227098303919498ULL, 
271         7596454196607838997ULL, 15192908393215677995ULL, 3038581678643135599ULL, 
272         6077163357286271198ULL, 12154326714572542396ULL, 2430865342914508479ULL, 
273         4861730685829016958ULL, 9723461371658033917ULL, 1944692274331606783ULL, 
274         3889384548663213566ULL, 7778769097326427133ULL, 15557538194652854267ULL, 
275         3111507638930570853ULL, 6223015277861141707ULL, 12446030555722283414ULL, 
276         2489206111144456682ULL, 4978412222288913365ULL, 9956824444577826731ULL, 
277         1991364888915565346ULL, 3982729777831130692ULL, 7965459555662261385ULL, 
278         15930919111324522770ULL, 3186183822264904554ULL, 6372367644529809108ULL, 
279         12744735289059618216ULL, 2548947057811923643ULL, 5097894115623847286ULL, 
280         10195788231247694572ULL, 2039157646249538914ULL, 4078315292499077829ULL, 
281         8156630584998155658ULL, 16313261169996311316ULL, 3262652233999262263ULL, 
282         6525304467998524526ULL, 13050608935997049053ULL, 2610121787199409810ULL, 
283         5220243574398819621ULL, 10440487148797639242ULL, 2088097429759527848ULL, 
284         4176194859519055697ULL, 8352389719038111394ULL, 16704779438076222788ULL, 
285         3340955887615244557ULL, 6681911775230489115ULL, 13363823550460978230ULL, 
286         2672764710092195646ULL, 5345529420184391292ULL, 10691058840368782584ULL, 
287         2138211768073756516ULL, 4276423536147513033ULL, 8552847072295026067ULL, 
288         17105694144590052135ULL, 3421138828918010427ULL, 6842277657836020854ULL, 
289         13684555315672041708ULL, 2736911063134408341ULL, 5473822126268816683ULL, 
290         10947644252537633366ULL, 2189528850507526673ULL, 4379057701015053346ULL, 
291         8758115402030106693ULL, 17516230804060213386ULL, 3503246160812042677ULL, 
292         7006492321624085354ULL, 14012984643248170709ULL, 2802596928649634141ULL, 
293         5605193857299268283ULL, 11210387714598536567ULL, 2242077542919707313ULL, 
294         4484155085839414626ULL, 8968310171678829253ULL, 17936620343357658507ULL, 
295         3587324068671531701ULL, 7174648137343063403ULL, 14349296274686126806ULL, 
296         2869859254937225361ULL, 5739718509874450722ULL, 11479437019748901445ULL, 
297         2295887403949780289ULL, 4591774807899560578ULL, 9183549615799121156ULL, 
298         1836709923159824231ULL, 3673419846319648462ULL, 7346839692639296924ULL, 
299         14693679385278593849ULL, 2938735877055718769ULL, 5877471754111437539ULL, 
300         11754943508222875079ULL, 2350988701644575015ULL, 4701977403289150031ULL, 
301         9403954806578300063ULL, 1880790961315660012ULL, 3761581922631320025ULL, 
302         7523163845262640050ULL, 15046327690525280101ULL, 3009265538105056020ULL, 
303         6018531076210112040ULL, 12037062152420224081ULL, 2407412430484044816ULL, 
304         4814824860968089632ULL, 9629649721936179265ULL, 1925929944387235853ULL, 
305         3851859888774471706ULL, 7703719777548943412ULL, 15407439555097886824ULL, 
306         3081487911019577364ULL, 6162975822039154729ULL, 12325951644078309459ULL, 
307         2465190328815661891ULL, 4930380657631323783ULL, 9860761315262647567ULL, 
308         1972152263052529513ULL, 3944304526105059027ULL, 7888609052210118054ULL, 
309         15777218104420236108ULL, 3155443620884047221ULL, 6310887241768094443ULL, 
310         12621774483536188886ULL, 2524354896707237777ULL, 5048709793414475554ULL, 
311         10097419586828951109ULL, 2019483917365790221ULL, 4038967834731580443ULL, 
312         8077935669463160887ULL, 16155871338926321774ULL, 3231174267785264354ULL, 
313         6462348535570528709ULL, 12924697071141057419ULL, 2584939414228211483ULL, 
314         5169878828456422967ULL, 10339757656912845935ULL, 2067951531382569187ULL, 
315         4135903062765138374ULL, 8271806125530276748ULL, 16543612251060553497ULL, 
316         3308722450212110699ULL, 6617444900424221398ULL, 13234889800848442797ULL, 
317         2646977960169688559ULL, 5293955920339377119ULL, 10587911840678754238ULL, 
318         2117582368135750847ULL, 4235164736271501695ULL, 8470329472543003390ULL, 
319         16940658945086006781ULL, 3388131789017201356ULL, 6776263578034402712ULL, 
320         13552527156068805425ULL, 2710505431213761085ULL, 5421010862427522170ULL, 
321         10842021724855044340ULL, 2168404344971008868ULL, 4336808689942017736ULL, 
322         8673617379884035472ULL, 17347234759768070944ULL, 3469446951953614188ULL, 
323         6938893903907228377ULL, 13877787807814456755ULL, 2775557561562891351ULL, 
324         5551115123125782702ULL, 11102230246251565404ULL, 2220446049250313080ULL, 
325         4440892098500626161ULL, 8881784197001252323ULL, 17763568394002504646ULL, 
326         3552713678800500929ULL, 7105427357601001858ULL, 14210854715202003717ULL, 
327         2842170943040400743ULL, 5684341886080801486ULL, 11368683772161602973ULL, 
328         2273736754432320594ULL, 4547473508864641189ULL, 9094947017729282379ULL, 
329         1818989403545856475ULL, 3637978807091712951ULL, 7275957614183425903ULL, 
330         14551915228366851806ULL, 2910383045673370361ULL, 5820766091346740722ULL, 
331         11641532182693481445ULL, 2328306436538696289ULL, 4656612873077392578ULL, 
332         9313225746154785156ULL, 1862645149230957031ULL, 3725290298461914062ULL, 
333         7450580596923828125ULL, 14901161193847656250ULL, 2980232238769531250ULL, 
334         5960464477539062500ULL, 11920928955078125000ULL, 2384185791015625000ULL, 
335         4768371582031250000ULL, 9536743164062500000ULL, 1907348632812500000ULL, 
336         3814697265625000000ULL, 7629394531250000000ULL, 15258789062500000000ULL, 
337         3051757812500000000ULL, 6103515625000000000ULL, 12207031250000000000ULL, 
338         2441406250000000000ULL, 4882812500000000000ULL, 9765625000000000000ULL, 
339         1953125000000000000ULL, 3906250000000000000ULL, 7812500000000000000ULL, 
340         15625000000000000000ULL, 3125000000000000000ULL, 6250000000000000000ULL, 
341         12500000000000000000ULL, 2500000000000000000ULL, 5000000000000000000ULL, 
342         10000000000000000000ULL, 2000000000000000000ULL, 4000000000000000000ULL, 
343         8000000000000000000ULL, 16000000000000000000ULL, 3200000000000000000ULL, 
344         6400000000000000000ULL, 12800000000000000000ULL, 2560000000000000000ULL, 
345         5120000000000000000ULL, 10240000000000000000ULL, 2048000000000000000ULL, 
346         4096000000000000000ULL, 8192000000000000000ULL, 16384000000000000000ULL, 
347         3276800000000000000ULL, 6553600000000000000ULL, 13107200000000000000ULL, 
348         2621440000000000000ULL, 5242880000000000000ULL, 10485760000000000000ULL, 
349         2097152000000000000ULL, 4194304000000000000ULL, 8388608000000000000ULL, 
350         16777216000000000000ULL, 3355443200000000000ULL, 6710886400000000000ULL, 
351         13421772800000000000ULL, 2684354560000000000ULL, 5368709120000000000ULL, 
352         10737418240000000000ULL, 2147483648000000000ULL, 4294967296000000000ULL, 
353         8589934592000000000ULL, 17179869184000000000ULL, 3435973836800000000ULL, 
354         6871947673600000000ULL, 13743895347200000000ULL, 2748779069440000000ULL, 
355         5497558138880000000ULL, 10995116277760000000ULL, 2199023255552000000ULL, 
356         4398046511104000000ULL, 8796093022208000000ULL, 17592186044416000000ULL, 
357         3518437208883200000ULL, 7036874417766400000ULL, 14073748835532800000ULL, 
358         2814749767106560000ULL, 5629499534213120000ULL, 11258999068426240000ULL, 
359         2251799813685248000ULL, 4503599627370496000ULL, 9007199254740992000ULL, 
360         18014398509481984000ULL, 3602879701896396800ULL, 7205759403792793600ULL, 
361         14411518807585587200ULL, 2882303761517117440ULL, 5764607523034234880ULL, 
362         11529215046068469760ULL, 2305843009213693952ULL, 4611686018427387904ULL, 
363         9223372036854775808ULL, 1844674407370955161ULL, 3689348814741910323ULL, 
364         7378697629483820646ULL, 14757395258967641292ULL, 2951479051793528258ULL, 
365         5902958103587056517ULL, 11805916207174113034ULL, 2361183241434822606ULL, 
366         4722366482869645213ULL, 9444732965739290427ULL, 1888946593147858085ULL, 
367         3777893186295716170ULL, 7555786372591432341ULL, 15111572745182864683ULL, 
368         3022314549036572936ULL, 6044629098073145873ULL, 12089258196146291747ULL, 
369         2417851639229258349ULL, 4835703278458516698ULL, 9671406556917033397ULL, 
370         1934281311383406679ULL, 3868562622766813359ULL, 7737125245533626718ULL, 
371         15474250491067253436ULL, 3094850098213450687ULL, 6189700196426901374ULL, 
372         12379400392853802748ULL, 2475880078570760549ULL, 4951760157141521099ULL, 
373         9903520314283042199ULL, 1980704062856608439ULL, 3961408125713216879ULL, 
374         7922816251426433759ULL, 15845632502852867518ULL, 3169126500570573503ULL, 
375         6338253001141147007ULL, 12676506002282294014ULL, 2535301200456458802ULL, 
376         5070602400912917605ULL, 10141204801825835211ULL, 2028240960365167042ULL, 
377         4056481920730334084ULL, 8112963841460668169ULL, 16225927682921336339ULL, 
378         3245185536584267267ULL, 6490371073168534535ULL, 12980742146337069071ULL, 
379         2596148429267413814ULL, 5192296858534827628ULL, 10384593717069655257ULL, 
380         2076918743413931051ULL, 4153837486827862102ULL, 8307674973655724205ULL, 
381         16615349947311448411ULL, 3323069989462289682ULL, 6646139978924579364ULL, 
382         13292279957849158729ULL, 2658455991569831745ULL, 5316911983139663491ULL, 
383         10633823966279326983ULL, 2126764793255865396ULL, 4253529586511730793ULL, 
384         8507059173023461586ULL, 17014118346046923173ULL, 3402823669209384634ULL, 
385         6805647338418769269ULL, 13611294676837538538ULL, 2722258935367507707ULL, 
386         5444517870735015415ULL, 10889035741470030830ULL, 2177807148294006166ULL, 
387         4355614296588012332ULL, 8711228593176024664ULL, 17422457186352049329ULL, 
388         3484491437270409865ULL, 6968982874540819731ULL, 13937965749081639463ULL, 
389         2787593149816327892ULL, 5575186299632655785ULL, 11150372599265311570ULL, 
390         2230074519853062314ULL, 4460149039706124628ULL, 8920298079412249256ULL, 
391         17840596158824498513ULL, 3568119231764899702ULL, 7136238463529799405ULL, 
392         14272476927059598810ULL, 2854495385411919762ULL, 5708990770823839524ULL, 
393         11417981541647679048ULL, 2283596308329535809ULL, 4567192616659071619ULL, 
394         9134385233318143238ULL, 1826877046663628647ULL, 3653754093327257295ULL, 
395         7307508186654514591ULL, 14615016373309029182ULL, 2923003274661805836ULL, 
396         5846006549323611672ULL, 11692013098647223345ULL, 2338402619729444669ULL, 
397         4676805239458889338ULL, 9353610478917778676ULL, 1870722095783555735ULL, 
398         3741444191567111470ULL, 7482888383134222941ULL, 14965776766268445882ULL, 
399         2993155353253689176ULL, 5986310706507378352ULL, 11972621413014756705ULL, 
400         2394524282602951341ULL, 4789048565205902682ULL, 9578097130411805364ULL, 
401         1915619426082361072ULL, 3831238852164722145ULL, 7662477704329444291ULL, 
402         15324955408658888583ULL, 3064991081731777716ULL, 6129982163463555433ULL, 
403         12259964326927110866ULL, 2451992865385422173ULL, 4903985730770844346ULL, 
404         9807971461541688693ULL, 1961594292308337738ULL, 3923188584616675477ULL, 
405         7846377169233350954ULL, 15692754338466701909ULL, 3138550867693340381ULL, 
406         6277101735386680763ULL, 12554203470773361527ULL, 2510840694154672305ULL, 
407         5021681388309344611ULL, 10043362776618689222ULL, 2008672555323737844ULL, 
408         4017345110647475688ULL, 8034690221294951377ULL, 16069380442589902755ULL, 
409         3213876088517980551ULL, 6427752177035961102ULL, 12855504354071922204ULL, 
410         2571100870814384440ULL, 5142201741628768881ULL, 10284403483257537763ULL, 
411         2056880696651507552ULL, 4113761393303015105ULL, 8227522786606030210ULL, 
412         16455045573212060421ULL, 3291009114642412084ULL, 6582018229284824168ULL, 
413         13164036458569648337ULL, 2632807291713929667ULL, 5265614583427859334ULL, 
414         10531229166855718669ULL, 2106245833371143733ULL, 4212491666742287467ULL, 
415         8424983333484574935ULL, 16849966666969149871ULL, 3369993333393829974ULL, 
416         6739986666787659948ULL, 13479973333575319897ULL, 2695994666715063979ULL, 
417         5391989333430127958ULL, 10783978666860255917ULL, 2156795733372051183ULL, 
418         4313591466744102367ULL, 8627182933488204734ULL, 17254365866976409468ULL, 
419         3450873173395281893ULL, 6901746346790563787ULL, 13803492693581127574ULL, 
420         2760698538716225514ULL, 5521397077432451029ULL, 11042794154864902059ULL, 
421         2208558830972980411ULL, 4417117661945960823ULL, 8834235323891921647ULL, 
422         17668470647783843295ULL, 3533694129556768659ULL, 7067388259113537318ULL, 
423         14134776518227074636ULL, 2826955303645414927ULL, 5653910607290829854ULL, 
424         11307821214581659709ULL, 2261564242916331941ULL, 4523128485832663883ULL, 
425         9046256971665327767ULL, 18092513943330655534ULL, 3618502788666131106ULL, 
426         7237005577332262213ULL, 14474011154664524427ULL, 2894802230932904885ULL, 
427         5789604461865809771ULL, 11579208923731619542ULL, 2315841784746323908ULL, 
428         4631683569492647816ULL, 9263367138985295633ULL, 1852673427797059126ULL, 
429         3705346855594118253ULL, 7410693711188236507ULL, 14821387422376473014ULL, 
430         2964277484475294602ULL, 5928554968950589205ULL, 11857109937901178411ULL, 
431         2371421987580235682ULL, 4742843975160471364ULL, 9485687950320942729ULL, 
432         1897137590064188545ULL, 3794275180128377091ULL, 7588550360256754183ULL, 
433         15177100720513508366ULL, 3035420144102701673ULL, 6070840288205403346ULL, 
434         12141680576410806693ULL, 2428336115282161338ULL, 4856672230564322677ULL, 
435         9713344461128645354ULL, 1942668892225729070ULL, 3885337784451458141ULL, 
436         7770675568902916283ULL, 15541351137805832567ULL, 3108270227561166513ULL, 
437         6216540455122333026ULL, 12433080910244666053ULL, 2486616182048933210ULL, 
438         4973232364097866421ULL, 9946464728195732843ULL, 1989292945639146568ULL, 
439         3978585891278293137ULL, 7957171782556586274ULL, 15914343565113172548ULL, 
440         3182868713022634509ULL, 6365737426045269019ULL, 12731474852090538039ULL, 
441         2546294970418107607ULL, 5092589940836215215ULL, 10185179881672430431ULL, 
442         2037035976334486086ULL, 4074071952668972172ULL, 8148143905337944345ULL, 
443         16296287810675888690ULL, 3259257562135177738ULL, 6518515124270355476ULL, 
444         13037030248540710952ULL, 2607406049708142190ULL, 5214812099416284380ULL, 
445         10429624198832568761ULL, 2085924839766513752ULL, 4171849679533027504ULL, 
446         8343699359066055009ULL, 16687398718132110018ULL, 3337479743626422003ULL, 
447         6674959487252844007ULL, 13349918974505688014ULL, 2669983794901137602ULL, 
448         5339967589802275205ULL, 10679935179604550411ULL, 2135987035920910082ULL, 
449         4271974071841820164ULL, 8543948143683640329ULL, 17087896287367280659ULL, 
450         3417579257473456131ULL, 6835158514946912263ULL, 13670317029893824527ULL, 
451         2734063405978764905ULL, 5468126811957529810ULL, 10936253623915059621ULL, 
452         2187250724783011924ULL, 4374501449566023848ULL, 8749002899132047697ULL, 
453         17498005798264095394ULL, 3499601159652819078ULL, 6999202319305638157ULL, 
454         13998404638611276315ULL, 2799680927722255263ULL, 5599361855444510526ULL, 
455         11198723710889021052ULL, 2239744742177804210ULL, 4479489484355608421ULL, 
456         8958978968711216842ULL, 17917957937422433684ULL, 3583591587484486736ULL, 
457         7167183174968973473ULL, 14334366349937946947ULL, 2866873269987589389ULL, 
458         5733746539975178779ULL, 11467493079950357558ULL, 2293498615990071511ULL, 
459         4586997231980143023ULL, 9173994463960286046ULL, 1834798892792057209ULL, 
460         3669597785584114418ULL, 7339195571168228837ULL, 14678391142336457674ULL, 
461         2935678228467291534ULL, 5871356456934583069ULL, 11742712913869166139ULL, 
462         2348542582773833227ULL, 4697085165547666455ULL, 9394170331095332911ULL, 
463         1878834066219066582ULL, 3757668132438133164ULL, 7515336264876266329ULL, 
464         15030672529752532658ULL, 3006134505950506531ULL, 6012269011901013063ULL, 
465         12024538023802026126ULL, 2404907604760405225ULL, 4809815209520810450ULL, 
466         9619630419041620901ULL, 1923926083808324180ULL, 3847852167616648360ULL, 
467         7695704335233296721ULL, 15391408670466593442ULL, 3078281734093318688ULL, 
468         6156563468186637376ULL, 12313126936373274753ULL, 2462625387274654950ULL, 
469         4925250774549309901ULL, 9850501549098619803ULL, 1970100309819723960ULL, 
470         3940200619639447921ULL, 7880401239278895842ULL, 15760802478557791684ULL, 
471         3152160495711558336ULL, 6304320991423116673ULL, 12608641982846233347ULL, 
472         2521728396569246669ULL, 5043456793138493339ULL, 10086913586276986678ULL, 
473         2017382717255397335ULL, 4034765434510794671ULL, 8069530869021589342ULL, 
474         16139061738043178685ULL, 3227812347608635737ULL, 6455624695217271474ULL, 
475         12911249390434542948ULL, 2582249878086908589ULL, 5164499756173817179ULL, 
476         10328999512347634358ULL, 2065799902469526871ULL, 4131599804939053743ULL, 
477         8263199609878107486ULL, 16526399219756214973ULL, 3305279843951242994ULL, 
478         6610559687902485989ULL, 13221119375804971979ULL, 2644223875160994395ULL, 
479         5288447750321988791ULL, 10576895500643977583ULL, 2115379100128795516ULL, 
480         4230758200257591033ULL, 8461516400515182066ULL, 16923032801030364133ULL, 
481         3384606560206072826ULL, 6769213120412145653ULL, 13538426240824291306ULL, 
482         2707685248164858261ULL, 5415370496329716522ULL, 10830740992659433045ULL, 
483         2166148198531886609ULL, 4332296397063773218ULL, 8664592794127546436ULL, 
484         17329185588255092872ULL, 3465837117651018574ULL, 6931674235302037148ULL, 
485         13863348470604074297ULL, 2772669694120814859ULL, 5545339388241629719ULL, 
486         11090678776483259438ULL, 2218135755296651887ULL, 4436271510593303775ULL, 
487         8872543021186607550ULL, 17745086042373215101ULL, 3549017208474643020ULL, 
488         7098034416949286040ULL, 14196068833898572081ULL, 2839213766779714416ULL, 
489         5678427533559428832ULL, 11356855067118857664ULL, 2271371013423771532ULL, 
490         4542742026847543065ULL, 9085484053695086131ULL, 1817096810739017226ULL, 
491         3634193621478034452ULL, 7268387242956068905ULL, 14536774485912137810ULL, 
492         2907354897182427562ULL, 5814709794364855124ULL, 11629419588729710248ULL, 
493         2325883917745942049ULL, 4651767835491884099ULL, 9303535670983768199ULL, 
494         1860707134196753639ULL, 3721414268393507279ULL, 7442828536787014559ULL, 
495         14885657073574029118ULL, 2977131414714805823ULL, 5954262829429611647ULL, 
496         11908525658859223294ULL, 2381705131771844658ULL, 4763410263543689317ULL, 
497         9526820527087378635ULL, 1905364105417475727ULL, 3810728210834951454ULL, 
498         7621456421669902908ULL, 15242912843339805817ULL, 3048582568667961163ULL, 
499         6097165137335922326ULL, 12194330274671844653ULL, 2438866054934368930ULL, 
500         4877732109868737861ULL, 9755464219737475723ULL, 1951092843947495144ULL, 
501         3902185687894990289ULL, 7804371375789980578ULL, 15608742751579961156ULL, 
502         3121748550315992231ULL, 6243497100631984462ULL, 12486994201263968925ULL, 
503         2497398840252793785ULL, 4994797680505587570ULL, 9989595361011175140ULL, 
504         1997919072202235028ULL, 3995838144404470056ULL, 7991676288808940112ULL, 
505         15983352577617880224ULL, 3196670515523576044ULL, 6393341031047152089ULL, 
506         12786682062094304179ULL, 2557336412418860835ULL, 5114672824837721671ULL, 
507         10229345649675443343ULL, 2045869129935088668ULL, 4091738259870177337ULL, 
508         8183476519740354675ULL, 16366953039480709350ULL, 3273390607896141870ULL, 
509         6546781215792283740ULL, 13093562431584567480ULL, 2618712486316913496ULL, 
510         5237424972633826992ULL, 10474849945267653984ULL, 2094969989053530796ULL, 
511         4189939978107061593ULL, 8379879956214123187ULL, 16759759912428246374ULL, 
512         3351951982485649274ULL, 6703903964971298549ULL, 13407807929942597099ULL, 
513         2681561585988519419ULL, 5363123171977038839ULL, 10726246343954077679ULL, 
514         2145249268790815535ULL, 4290498537581631071ULL, 8580997075163262143ULL, 
515         17161994150326524287ULL, 3432398830065304857ULL, 6864797660130609714ULL, 
516         13729595320261219429ULL, 2745919064052243885ULL, 5491838128104487771ULL, 
517         10983676256208975543ULL, 2196735251241795108ULL, 4393470502483590217ULL, 
518         8786941004967180435ULL, 17573882009934360870ULL, 3514776401986872174ULL, 
519         7029552803973744348ULL, 14059105607947488696ULL, 2811821121589497739ULL, 
520         5623642243178995478ULL, 11247284486357990957ULL, 2249456897271598191ULL, 
521         4498913794543196382ULL, 8997827589086392765ULL, 17995655178172785531ULL, 
522         3599131035634557106ULL, 7198262071269114212ULL, 14396524142538228424ULL, 
523         2879304828507645684ULL, 5758609657015291369ULL, 11517219314030582739ULL, 
524         2303443862806116547ULL, 4606887725612233095ULL, 9213775451224466191ULL, 
525         1842755090244893238ULL, 3685510180489786476ULL, 7371020360979572953ULL, 
526         14742040721959145907ULL, 2948408144391829181ULL, 5896816288783658362ULL, 
527         11793632577567316725ULL, 2358726515513463345ULL, 4717453031026926690ULL, 
528         9434906062053853380ULL, 1886981212410770676ULL, 3773962424821541352ULL, 
529         7547924849643082704ULL, 15095849699286165408ULL, 3019169939857233081ULL, 
530         6038339879714466163ULL, 12076679759428932327ULL, 2415335951885786465ULL, 
531         4830671903771572930ULL, 9661343807543145861ULL, 1932268761508629172ULL, 
532         3864537523017258344ULL, 7729075046034516689ULL, 15458150092069033378ULL, 
533         3091630018413806675ULL, 6183260036827613351ULL, 12366520073655226703ULL, 
534         2473304014731045340ULL, 4946608029462090681ULL, 9893216058924181362ULL, 
535         1978643211784836272ULL, 3957286423569672544ULL, 7914572847139345089ULL, 
536         15829145694278690179ULL, 3165829138855738035ULL, 6331658277711476071ULL, 
537         12663316555422952143ULL, 2532663311084590428ULL, 5065326622169180857ULL, 
538         10130653244338361715ULL, 2026130648867672343ULL, 4052261297735344686ULL, 
539         8104522595470689372ULL, 16209045190941378744ULL, 3241809038188275748ULL, 
540         6483618076376551497ULL, 12967236152753102995ULL, 2593447230550620599ULL, 
541         5186894461101241198ULL, 10373788922202482396ULL, 2074757784440496479ULL, 
542         4149515568880992958ULL, 8299031137761985917ULL, 16598062275523971834ULL, 
543         3319612455104794366ULL, 6639224910209588733ULL, 13278449820419177467ULL, 
544         2655689964083835493ULL, 5311379928167670986ULL, 10622759856335341973ULL, 
545         2124551971267068394ULL, 4249103942534136789ULL, 8498207885068273579ULL, 
546         16996415770136547158ULL, 3399283154027309431ULL, 6798566308054618863ULL, 
547         13597132616109237726ULL, 2719426523221847545ULL, 5438853046443695090ULL, 
548         10877706092887390181ULL, 2175541218577478036ULL, 4351082437154956072ULL, 
549         8702164874309912144ULL, 17404329748619824289ULL, 3480865949723964857ULL, 
550         6961731899447929715ULL, 13923463798895859431ULL, 2784692759779171886ULL, 
551         5569385519558343772ULL, 11138771039116687545ULL, 2227754207823337509ULL, 
552         4455508415646675018ULL, 8911016831293350036ULL, 17822033662586700072ULL, 
553         3564406732517340014ULL, 7128813465034680029ULL, 14257626930069360058ULL, 
554         2851525386013872011ULL, 5703050772027744023ULL, 11406101544055488046ULL, 
555         2281220308811097609ULL, 4562440617622195218ULL, 9124881235244390437ULL, 
556         1824976247048878087ULL, 3649952494097756174ULL, 7299904988195512349ULL, 
557         14599809976391024699ULL, 2919961995278204939ULL, 5839923990556409879ULL, 
558         11679847981112819759ULL, 2335969596222563951ULL, 4671939192445127903ULL, 
559         9343878384890255807ULL, 1868775676978051161ULL, 3737551353956102323ULL, 
560         7475102707912204646ULL, 14950205415824409292ULL, 2990041083164881858ULL, 
561         5980082166329763716ULL, 11960164332659527433ULL, 2392032866531905486ULL, 
562         4784065733063810973ULL, 9568131466127621947ULL, 1913626293225524389ULL, 
563         3827252586451048778ULL, 7654505172902097557ULL, 15309010345804195115ULL, 
564         3061802069160839023ULL, 6123604138321678046ULL, 12247208276643356092ULL, 
565         2449441655328671218ULL, 4898883310657342436ULL, 9797766621314684873ULL, 
566         1959553324262936974ULL, 3919106648525873949ULL, 7838213297051747899ULL, 
567         15676426594103495798ULL, 3135285318820699159ULL, 6270570637641398319ULL, 
568         12541141275282796638ULL, 2508228255056559327ULL, 5016456510113118655ULL, 
569         10032913020226237310ULL, 2006582604045247462ULL, 4013165208090494924ULL, 
570         8026330416180989848ULL, 16052660832361979697ULL, 3210532166472395939ULL, 
571         6421064332944791878ULL, 12842128665889583757ULL, 2568425733177916751ULL, 
572         5136851466355833503ULL, 10273702932711667006ULL, 2054740586542333401ULL, 
573         4109481173084666802ULL, 8218962346169333605ULL, 16437924692338667210ULL, 
574         3287584938467733442ULL, 6575169876935466884ULL, 13150339753870933768ULL, 
575         2630067950774186753ULL, 5260135901548373507ULL, 10520271803096747014ULL, 
576         2104054360619349402ULL, 4208108721238698805ULL, 8416217442477397611ULL, 
577         16832434884954795223ULL, 3366486976990959044ULL, 6732973953981918089ULL, 
578         13465947907963836178ULL, 2693189581592767235ULL, 5386379163185534471ULL, 
579         10772758326371068942ULL, 2154551665274213788ULL, 4309103330548427577ULL, 
580         8618206661096855154ULL, 17236413322193710308ULL, 3447282664438742061ULL, 
581         6894565328877484123ULL, 13789130657754968246ULL, 2757826131550993649ULL, 
582         5515652263101987298ULL, 11031304526203974597ULL, 2206260905240794919ULL, 
583         4412521810481589838ULL, 8825043620963179677ULL, 17650087241926359355ULL, 
584         3530017448385271871ULL, 7060034896770543742ULL, 14120069793541087484ULL, 
585         2824013958708217496ULL, 5648027917416434993ULL, 11296055834832869987ULL, 
586         2259211166966573997ULL, 4518422333933147995ULL, 9036844667866295990ULL, 
587         18073689335732591980ULL, 3614737867146518396ULL, 7229475734293036792ULL, 
588         14458951468586073584ULL, 2891790293717214716ULL, 5783580587434429433ULL, 
589         11567161174868858867ULL, 2313432234973771773ULL, 4626864469947543547ULL, 
590         9253728939895087094ULL, 1850745787979017418ULL, 3701491575958034837ULL, 
591         7402983151916069675ULL, 14805966303832139350ULL, 2961193260766427870ULL, 
592         5922386521532855740ULL, 11844773043065711480ULL, 2368954608613142296ULL, 
593         4737909217226284592ULL, 9475818434452569184ULL, 1895163686890513836ULL, 
594         3790327373781027673ULL, 7580654747562055347ULL, 15161309495124110694ULL, 
595         3032261899024822138ULL, 6064523798049644277ULL, 12129047596099288555ULL, 
596         2425809519219857711ULL, 4851619038439715422ULL, 9703238076879430844ULL, 
597         1940647615375886168ULL, 3881295230751772337ULL, 7762590461503544675ULL, 
598         15525180923007089351ULL, 3105036184601417870ULL, 6210072369202835740ULL, 
599         12420144738405671481ULL, 2484028947681134296ULL, 4968057895362268592ULL, 
600         9936115790724537184ULL, 1987223158144907436ULL, 3974446316289814873ULL, 
601         7948892632579629747ULL, 15897785265159259495ULL, 3179557053031851899ULL, 
602         6359114106063703798ULL, 12718228212127407596ULL, 2543645642425481519ULL, 
603         5087291284850963038ULL, 10174582569701926077ULL, 2034916513940385215ULL, 
604         4069833027880770430ULL, 8139666055761540861ULL, 16279332111523081723ULL, 
605         3255866422304616344ULL, 6511732844609232689ULL, 13023465689218465379ULL, 
606         2604693137843693075ULL, 5209386275687386151ULL, 10418772551374772303ULL, 
607         2083754510274954460ULL, 4167509020549908921ULL, 8335018041099817842ULL, 
608         16670036082199635685ULL, 3334007216439927137ULL, 6668014432879854274ULL, 
609         13336028865759708548ULL, 2667205773151941709ULL, 5334411546303883419ULL, 
610         10668823092607766838ULL, 2133764618521553367ULL, 4267529237043106735ULL, 
611         8535058474086213470ULL, 17070116948172426941ULL, 3414023389634485388ULL, 
612         6828046779268970776ULL, 13656093558537941553ULL, 2731218711707588310ULL, 
613         5462437423415176621ULL, 10924874846830353242ULL, 2184974969366070648ULL, 
614         4369949938732141297ULL, 8739899877464282594ULL, 17479799754928565188ULL, 
615         3495959950985713037ULL, 6991919901971426075ULL, 13983839803942852150ULL, 
616         2796767960788570430ULL, 5593535921577140860ULL, 11187071843154281720ULL, 
617         2237414368630856344ULL, 4474828737261712688ULL, 8949657474523425376ULL, 
618         17899314949046850752ULL, 3579862989809370150ULL, 7159725979618740301ULL, 
619         14319451959237480602ULL, 2863890391847496120ULL, 5727780783694992240ULL, 
620         11455561567389984481ULL, 2291112313477996896ULL, 4582224626955993792ULL, 
621         9164449253911987585ULL, 1832889850782397517ULL, 3665779701564795034ULL, 
622         7331559403129590068ULL, 14663118806259180136ULL, 2932623761251836027ULL, 
623         5865247522503672054ULL, 11730495045007344109ULL, 2346099009001468821ULL, 
624         4692198018002937643ULL, 9384396036005875287ULL, 1876879207201175057ULL, 
625         3753758414402350114ULL, 7507516828804700229ULL, 15015033657609400459ULL, 
626         3003006731521880091ULL, 6006013463043760183ULL, 12012026926087520367ULL, 
627         2402405385217504073ULL, 4804810770435008147ULL, 9609621540870016294ULL, 
628         1921924308174003258ULL, 3843848616348006517ULL, 7687697232696013035ULL, 
629         15375394465392026070ULL, 3075078893078405214ULL, 6150157786156810428ULL, 
630         12300315572313620856ULL, 2460063114462724171ULL, 4920126228925448342ULL, 
631         9840252457850896685ULL, 1968050491570179337ULL, 3936100983140358674ULL, 
632         7872201966280717348ULL, 15744403932561434696ULL, 3148880786512286939ULL, 
633         6297761573024573878ULL, 12595523146049147757ULL, 2519104629209829551ULL, 
634         5038209258419659102ULL, 10076418516839318205ULL, 2015283703367863641ULL, 
635         4030567406735727282ULL, 8061134813471454564ULL, 16122269626942909129ULL, 
636         3224453925388581825ULL, 6448907850777163651ULL, 12897815701554327303ULL, 
637         2579563140310865460ULL, 5159126280621730921ULL, 10318252561243461842ULL, 
638         2063650512248692368ULL, 4127301024497384737ULL, 8254602048994769474ULL, 
639         16509204097989538948ULL, 3301840819597907789ULL, 6603681639195815579ULL, 
640         13207363278391631158ULL, 2641472655678326231ULL, 5282945311356652463ULL, 
641         10565890622713304927ULL, 2113178124542660985ULL, 4226356249085321970ULL, 
642         8452712498170643941ULL, 16905424996341287883ULL, 3381084999268257576ULL, 
643         6762169998536515153ULL, 13524339997073030306ULL, 2704867999414606061ULL, 
644         5409735998829212122ULL, 10819471997658424245ULL, 2163894399531684849ULL, 
645         4327788799063369698ULL, 8655577598126739396ULL, 17311155196253478792ULL, 
646         3462231039250695758ULL, 6924462078501391516ULL, 13848924157002783033ULL, 
647         2769784831400556606ULL, 5539569662801113213ULL, 11079139325602226427ULL, 
648         2215827865120445285ULL, 4431655730240890570ULL, 8863311460481781141ULL, 
649         17726622920963562283ULL, 3545324584192712456ULL, 7090649168385424913ULL, 
650         14181298336770849826ULL, 2836259667354169965ULL, 5672519334708339930ULL, 
651         11345038669416679861ULL, 2269007733883335972ULL, 4538015467766671944ULL, 
652         9076030935533343889ULL, 18152061871066687778ULL, 3630412374213337555ULL, 
653         7260824748426675111ULL, 14521649496853350222ULL, 2904329899370670044ULL, 
654         5808659798741340089ULL, 11617319597482680178ULL, 2323463919496536035ULL, 
655         4646927838993072071ULL, 9293855677986144142ULL, 1858771135597228828ULL, 
656         3717542271194457656ULL, 7435084542388915313ULL, 14870169084777830627ULL, 
657         2974033816955566125ULL, 5948067633911132251ULL, 11896135267822264502ULL, 
658         2379227053564452900ULL, 4758454107128905800ULL, 9516908214257811601ULL, 
659         1903381642851562320ULL, 3806763285703124640ULL, 7613526571406249281ULL, 
660         15227053142812498563ULL, 3045410628562499712ULL, 6090821257124999425ULL, 
661         12181642514249998850ULL, 2436328502849999770ULL, 4872657005699999540ULL, 
662         9745314011399999080ULL, 1949062802279999816ULL, 3898125604559999632ULL, 
663         7796251209119999264ULL, 15592502418239998528ULL, 3118500483647999705ULL, 
664         6237000967295999411ULL, 12474001934591998822ULL, 2494800386918399764ULL, 
665         4989600773836799529ULL, 9979201547673599058ULL, 1995840309534719811ULL, 
666         3991680619069439623ULL, 7983361238138879246ULL, 15966722476277758493ULL, 
667         3193344495255551698ULL, 6386688990511103397ULL, 12773377981022206794ULL, 
668         2554675596204441358ULL, 5109351192408882717ULL, 10218702384817765435ULL, 
669         2043740476963553087ULL, 4087480953927106174ULL, 8174961907854212348ULL, 
670         16349923815708424697ULL, 3269984763141684939ULL, 6539969526283369878ULL, 
671         13079939052566739757ULL, 2615987810513347951ULL, 5231975621026695903ULL, 
672         10463951242053391806ULL, 2092790248410678361ULL, 4185580496821356722ULL, 
673         8371160993642713444ULL, 16742321987285426889ULL, 3348464397457085377ULL, 
674         6696928794914170755ULL, 13393857589828341511ULL, 2678771517965668302ULL, 
675         5357543035931336604ULL, 10715086071862673209ULL, 2143017214372534641ULL, 
676         4286034428745069283ULL, 8572068857490138567ULL, 17144137714980277135ULL, 
677         3428827542996055427ULL, 6857655085992110854ULL, 13715310171984221708ULL, 
678         2743062034396844341ULL, 5486124068793688683ULL, 10972248137587377366ULL, 
679         2194449627517475473ULL, 4388899255034950946ULL, 8777798510069901893ULL, 
680         17555597020139803786ULL, 3511119404027960757ULL, 7022238808055921514ULL, 
681         14044477616111843029ULL, 2808895523222368605ULL, 5617791046444737211ULL, 
682         11235582092889474423ULL, 2247116418577894884ULL, 4494232837155789769ULL, 
683         8988465674311579538ULL, 17976931348623159077ULL, 3595386269724631815ULL, 
684         7190772539449263630ULL, 14381545078898527261ULL, 2876309015779705452ULL, 
685         5752618031559410904ULL, 11505236063118821809ULL, 2301047212623764361ULL, 
686         4602094425247528723ULL, 9204188850495057447ULL, 1840837770099011489ULL, 
687         3681675540198022979ULL, 7363351080396045958ULL, 
688 };
689
690 static const gint32 Formatter_TensExponentTable [] = {
691         -323, -323, -322, -322, -322, -322, -321, -321, -321, -320, -320, -320, 
692         -319, -319, -319, -319, -318, -318, -318, -317, -317, -317, -316, -316, 
693         -316, -316, -315, -315, -315, -314, -314, -314, -313, -313, -313, -313, 
694         -312, -312, -312, -311, -311, -311, -310, -310, -310, -310, -309, -309, 
695         -309, -308, -308, -308, -307, -307, -307, -307, -306, -306, -306, -305, 
696         -305, -305, -304, -304, -304, -304, -303, -303, -303, -302, -302, -302, 
697         -301, -301, -301, -301, -300, -300, -300, -299, -299, -299, -298, -298, 
698         -298, -298, -297, -297, -297, -296, -296, -296, -295, -295, -295, -295, 
699         -294, -294, -294, -293, -293, -293, -292, -292, -292, -291, -291, -291, 
700         -291, -290, -290, -290, -289, -289, -289, -288, -288, -288, -288, -287, 
701         -287, -287, -286, -286, -286, -285, -285, -285, -285, -284, -284, -284, 
702         -283, -283, -283, -282, -282, -282, -282, -281, -281, -281, -280, -280, 
703         -280, -279, -279, -279, -279, -278, -278, -278, -277, -277, -277, -276, 
704         -276, -276, -276, -275, -275, -275, -274, -274, -274, -273, -273, -273, 
705         -273, -272, -272, -272, -271, -271, -271, -270, -270, -270, -270, -269, 
706         -269, -269, -268, -268, -268, -267, -267, -267, -267, -266, -266, -266, 
707         -265, -265, -265, -264, -264, -264, -263, -263, -263, -263, -262, -262, 
708         -262, -261, -261, -261, -260, -260, -260, -260, -259, -259, -259, -258, 
709         -258, -258, -257, -257, -257, -257, -256, -256, -256, -255, -255, -255, 
710         -254, -254, -254, -254, -253, -253, -253, -252, -252, -252, -251, -251, 
711         -251, -251, -250, -250, -250, -249, -249, -249, -248, -248, -248, -248, 
712         -247, -247, -247, -246, -246, -246, -245, -245, -245, -245, -244, -244, 
713         -244, -243, -243, -243, -242, -242, -242, -242, -241, -241, -241, -240, 
714         -240, -240, -239, -239, -239, -239, -238, -238, -238, -237, -237, -237, 
715         -236, -236, -236, -235, -235, -235, -235, -234, -234, -234, -233, -233, 
716         -233, -232, -232, -232, -232, -231, -231, -231, -230, -230, -230, -229, 
717         -229, -229, -229, -228, -228, -228, -227, -227, -227, -226, -226, -226, 
718         -226, -225, -225, -225, -224, -224, -224, -223, -223, -223, -223, -222, 
719         -222, -222, -221, -221, -221, -220, -220, -220, -220, -219, -219, -219, 
720         -218, -218, -218, -217, -217, -217, -217, -216, -216, -216, -215, -215, 
721         -215, -214, -214, -214, -214, -213, -213, -213, -212, -212, -212, -211, 
722         -211, -211, -211, -210, -210, -210, -209, -209, -209, -208, -208, -208, 
723         -208, -207, -207, -207, -206, -206, -206, -205, -205, -205, -204, -204, 
724         -204, -204, -203, -203, -203, -202, -202, -202, -201, -201, -201, -201, 
725         -200, -200, -200, -199, -199, -199, -198, -198, -198, -198, -197, -197, 
726         -197, -196, -196, -196, -195, -195, -195, -195, -194, -194, -194, -193, 
727         -193, -193, -192, -192, -192, -192, -191, -191, -191, -190, -190, -190, 
728         -189, -189, -189, -189, -188, -188, -188, -187, -187, -187, -186, -186, 
729         -186, -186, -185, -185, -185, -184, -184, -184, -183, -183, -183, -183, 
730         -182, -182, -182, -181, -181, -181, -180, -180, -180, -180, -179, -179, 
731         -179, -178, -178, -178, -177, -177, -177, -176, -176, -176, -176, -175, 
732         -175, -175, -174, -174, -174, -173, -173, -173, -173, -172, -172, -172, 
733         -171, -171, -171, -170, -170, -170, -170, -169, -169, -169, -168, -168, 
734         -168, -167, -167, -167, -167, -166, -166, -166, -165, -165, -165, -164, 
735         -164, -164, -164, -163, -163, -163, -162, -162, -162, -161, -161, -161, 
736         -161, -160, -160, -160, -159, -159, -159, -158, -158, -158, -158, -157, 
737         -157, -157, -156, -156, -156, -155, -155, -155, -155, -154, -154, -154, 
738         -153, -153, -153, -152, -152, -152, -152, -151, -151, -151, -150, -150, 
739         -150, -149, -149, -149, -149, -148, -148, -148, -147, -147, -147, -146, 
740         -146, -146, -145, -145, -145, -145, -144, -144, -144, -143, -143, -143, 
741         -142, -142, -142, -142, -141, -141, -141, -140, -140, -140, -139, -139, 
742         -139, -139, -138, -138, -138, -137, -137, -137, -136, -136, -136, -136, 
743         -135, -135, -135, -134, -134, -134, -133, -133, -133, -133, -132, -132, 
744         -132, -131, -131, -131, -130, -130, -130, -130, -129, -129, -129, -128, 
745         -128, -128, -127, -127, -127, -127, -126, -126, -126, -125, -125, -125, 
746         -124, -124, -124, -124, -123, -123, -123, -122, -122, -122, -121, -121, 
747         -121, -121, -120, -120, -120, -119, -119, -119, -118, -118, -118, -117, 
748         -117, -117, -117, -116, -116, -116, -115, -115, -115, -114, -114, -114, 
749         -114, -113, -113, -113, -112, -112, -112, -111, -111, -111, -111, -110, 
750         -110, -110, -109, -109, -109, -108, -108, -108, -108, -107, -107, -107, 
751         -106, -106, -106, -105, -105, -105, -105, -104, -104, -104, -103, -103, 
752         -103, -102, -102, -102, -102, -101, -101, -101, -100, -100, -100, -99, 
753         -99, -99, -99, -98, -98, -98, -97, -97, -97, -96, -96, -96, 
754         -96, -95, -95, -95, -94, -94, -94, -93, -93, -93, -93, -92, 
755         -92, -92, -91, -91, -91, -90, -90, -90, -89, -89, -89, -89, 
756         -88, -88, -88, -87, -87, -87, -86, -86, -86, -86, -85, -85, 
757         -85, -84, -84, -84, -83, -83, -83, -83, -82, -82, -82, -81, 
758         -81, -81, -80, -80, -80, -80, -79, -79, -79, -78, -78, -78, 
759         -77, -77, -77, -77, -76, -76, -76, -75, -75, -75, -74, -74, 
760         -74, -74, -73, -73, -73, -72, -72, -72, -71, -71, -71, -71, 
761         -70, -70, -70, -69, -69, -69, -68, -68, -68, -68, -67, -67, 
762         -67, -66, -66, -66, -65, -65, -65, -65, -64, -64, -64, -63, 
763         -63, -63, -62, -62, -62, -62, -61, -61, -61, -60, -60, -60, 
764         -59, -59, -59, -58, -58, -58, -58, -57, -57, -57, -56, -56, 
765         -56, -55, -55, -55, -55, -54, -54, -54, -53, -53, -53, -52, 
766         -52, -52, -52, -51, -51, -51, -50, -50, -50, -49, -49, -49, 
767         -49, -48, -48, -48, -47, -47, -47, -46, -46, -46, -46, -45, 
768         -45, -45, -44, -44, -44, -43, -43, -43, -43, -42, -42, -42, 
769         -41, -41, -41, -40, -40, -40, -40, -39, -39, -39, -38, -38, 
770         -38, -37, -37, -37, -37, -36, -36, -36, -35, -35, -35, -34, 
771         -34, -34, -34, -33, -33, -33, -32, -32, -32, -31, -31, -31, 
772         -30, -30, -30, -30, -29, -29, -29, -28, -28, -28, -27, -27, 
773         -27, -27, -26, -26, -26, -25, -25, -25, -24, -24, -24, -24, 
774         -23, -23, -23, -22, -22, -22, -21, -21, -21, -21, -20, -20, 
775         -20, -19, -19, -19, -18, -18, -18, -18, -17, -17, -17, -16, 
776         -16, -16, -15, -15, -15, -15, -14, -14, -14, -13, -13, -13, 
777         -12, -12, -12, -12, -11, -11, -11, -10, -10, -10, -9, -9, 
778         -9, -9, -8, -8, -8, -7, -7, -7, -6, -6, -6, -6, 
779         -5, -5, -5, -4, -4, -4, -3, -3, -3, -3, -2, -2, 
780         -2, -1, -1, -1, 0, 0, 0, 1, 1, 1, 1, 2, 
781         2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 
782         6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 9, 9, 
783         9, 10, 10, 10, 10, 11, 11, 11, 12, 12, 12, 13, 
784         13, 13, 13, 14, 14, 14, 15, 15, 15, 16, 16, 16, 
785         16, 17, 17, 17, 18, 18, 18, 19, 19, 19, 19, 20, 
786         20, 20, 21, 21, 21, 22, 22, 22, 22, 23, 23, 23, 
787         24, 24, 24, 25, 25, 25, 25, 26, 26, 26, 27, 27, 
788         27, 28, 28, 28, 29, 29, 29, 29, 30, 30, 30, 31, 
789         31, 31, 32, 32, 32, 32, 33, 33, 33, 34, 34, 34, 
790         35, 35, 35, 35, 36, 36, 36, 37, 37, 37, 38, 38, 
791         38, 38, 39, 39, 39, 40, 40, 40, 41, 41, 41, 41, 
792         42, 42, 42, 43, 43, 43, 44, 44, 44, 44, 45, 45, 
793         45, 46, 46, 46, 47, 47, 47, 47, 48, 48, 48, 49, 
794         49, 49, 50, 50, 50, 50, 51, 51, 51, 52, 52, 52, 
795         53, 53, 53, 53, 54, 54, 54, 55, 55, 55, 56, 56, 
796         56, 56, 57, 57, 57, 58, 58, 58, 59, 59, 59, 60, 
797         60, 60, 60, 61, 61, 61, 62, 62, 62, 63, 63, 63, 
798         63, 64, 64, 64, 65, 65, 65, 66, 66, 66, 66, 67, 
799         67, 67, 68, 68, 68, 69, 69, 69, 69, 70, 70, 70, 
800         71, 71, 71, 72, 72, 72, 72, 73, 73, 73, 74, 74, 
801         74, 75, 75, 75, 75, 76, 76, 76, 77, 77, 77, 78, 
802         78, 78, 78, 79, 79, 79, 80, 80, 80, 81, 81, 81, 
803         81, 82, 82, 82, 83, 83, 83, 84, 84, 84, 84, 85, 
804         85, 85, 86, 86, 86, 87, 87, 87, 88, 88, 88, 88, 
805         89, 89, 89, 90, 90, 90, 91, 91, 91, 91, 92, 92, 
806         92, 93, 93, 93, 94, 94, 94, 94, 95, 95, 95, 96, 
807         96, 96, 97, 97, 97, 97, 98, 98, 98, 99, 99, 99, 
808         100, 100, 100, 100, 101, 101, 101, 102, 102, 102, 103, 103, 
809         103, 103, 104, 104, 104, 105, 105, 105, 106, 106, 106, 106, 
810         107, 107, 107, 108, 108, 108, 109, 109, 109, 109, 110, 110, 
811         110, 111, 111, 111, 112, 112, 112, 112, 113, 113, 113, 114, 
812         114, 114, 115, 115, 115, 116, 116, 116, 116, 117, 117, 117, 
813         118, 118, 118, 119, 119, 119, 119, 120, 120, 120, 121, 121, 
814         121, 122, 122, 122, 122, 123, 123, 123, 124, 124, 124, 125, 
815         125, 125, 125, 126, 126, 126, 127, 127, 127, 128, 128, 128, 
816         128, 129, 129, 129, 130, 130, 130, 131, 131, 131, 131, 132, 
817         132, 132, 133, 133, 133, 134, 134, 134, 134, 135, 135, 135, 
818         136, 136, 136, 137, 137, 137, 137, 138, 138, 138, 139, 139, 
819         139, 140, 140, 140, 140, 141, 141, 141, 142, 142, 142, 143, 
820         143, 143, 143, 144, 144, 144, 145, 145, 145, 146, 146, 146, 
821         147, 147, 147, 147, 148, 148, 148, 149, 149, 149, 150, 150, 
822         150, 150, 151, 151, 151, 152, 152, 152, 153, 153, 153, 153, 
823         154, 154, 154, 155, 155, 155, 156, 156, 156, 156, 157, 157, 
824         157, 158, 158, 158, 159, 159, 159, 159, 160, 160, 160, 161, 
825         161, 161, 162, 162, 162, 162, 163, 163, 163, 164, 164, 164, 
826         165, 165, 165, 165, 166, 166, 166, 167, 167, 167, 168, 168, 
827         168, 168, 169, 169, 169, 170, 170, 170, 171, 171, 171, 171, 
828         172, 172, 172, 173, 173, 173, 174, 174, 174, 175, 175, 175, 
829         175, 176, 176, 176, 177, 177, 177, 178, 178, 178, 178, 179, 
830         179, 179, 180, 180, 180, 181, 181, 181, 181, 182, 182, 182, 
831         183, 183, 183, 184, 184, 184, 184, 185, 185, 185, 186, 186, 
832         186, 187, 187, 187, 187, 188, 188, 188, 189, 189, 189, 190, 
833         190, 190, 190, 191, 191, 191, 192, 192, 192, 193, 193, 193, 
834         193, 194, 194, 194, 195, 195, 195, 196, 196, 196, 196, 197, 
835         197, 197, 198, 198, 198, 199, 199, 199, 199, 200, 200, 200, 
836         201, 201, 201, 202, 202, 202, 202, 203, 203, 203, 204, 204, 
837         204, 205, 205, 205, 206, 206, 206, 206, 207, 207, 207, 208, 
838         208, 208, 209, 209, 209, 209, 210, 210, 210, 211, 211, 211, 
839         212, 212, 212, 212, 213, 213, 213, 214, 214, 214, 215, 215, 
840         215, 215, 216, 216, 216, 217, 217, 217, 218, 218, 218, 218, 
841         219, 219, 219, 220, 220, 220, 221, 221, 221, 221, 222, 222, 
842         222, 223, 223, 223, 224, 224, 224, 224, 225, 225, 225, 226, 
843         226, 226, 227, 227, 227, 227, 228, 228, 228, 229, 229, 229, 
844         230, 230, 230, 230, 231, 231, 231, 232, 232, 232, 233, 233, 
845         233, 234, 234, 234, 234, 235, 235, 235, 236, 236, 236, 237, 
846         237, 237, 237, 238, 238, 238, 239, 239, 239, 240, 240, 240, 
847         240, 241, 241, 241, 242, 242, 242, 243, 243, 243, 243, 244, 
848         244, 244, 245, 245, 245, 246, 246, 246, 246, 247, 247, 247, 
849         248, 248, 248, 249, 249, 249, 249, 250, 250, 250, 251, 251, 
850         251, 252, 252, 252, 252, 253, 253, 253, 254, 254, 254, 255, 
851         255, 255, 255, 256, 256, 256, 257, 257, 257, 258, 258, 258, 
852         258, 259, 259, 259, 260, 260, 260, 261, 261, 261, 261, 262, 
853         262, 262, 263, 263, 263, 264, 264, 264, 265, 265, 265, 265, 
854         266, 266, 266, 267, 267, 267, 268, 268, 268, 268, 269, 269, 
855         269, 270, 270, 270, 271, 271, 271, 271, 272, 272, 272, 273, 
856         273, 273, 274, 274, 274, 274, 275, 275, 275, 276, 276, 276, 
857         277, 277, 277, 277, 278, 278, 278, 279, 279, 279, 280, 280, 
858         280, 280, 281, 281, 281, 282, 282, 282, 283, 283, 283, 283, 
859         284, 284, 284, 285, 285, 285, 286, 286, 286, 286, 287, 287, 
860         287, 288, 288, 288, 289, 289, 289, 289, 290, 290, 290, 291, 
861         291, 291, 292, 292, 292, 293, 293, 293, 
862 };
863
864 static const gunichar2 Formatter_DigitLowerTable [] = {
865         '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'
866 };
867
868 static const gunichar2 Formatter_DigitUpperTable [] = {
869         '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'
870 };
871
872 static const gint64 Formatter_TenPowersList [] = {
873         1LL,
874         10LL,
875         100LL,
876         1000LL,
877         10000LL,
878         100000LL,
879         1000000LL,
880         10000000LL,
881         100000000LL,
882         1000000000LL,
883         10000000000LL,
884         100000000000LL,
885         1000000000000LL,
886         10000000000000LL,
887         100000000000000LL,
888         1000000000000000LL,
889         10000000000000000LL,
890         100000000000000000LL,
891         1000000000000000000LL,
892 };
893
894 // DecHexDigits s a translation table from a decimal number to its
895 // digits hexadecimal representation (e.g. DecHexDigits [34] = 0x34).
896 static const gint32 Formatter_DecHexDigits [] = {
897         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 
898         0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 
899         0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 
900         0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 
901         0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 
902         0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 
903         0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 
904         0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 
905         0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 
906         0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99,
907 };
908
909 #endif