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