From b067a68d4be7aa8d123cc7abc39fab90e2097138 Mon Sep 17 00:00:00 2001 From: lzm7788 Date: Thu, 13 Mar 2025 11:43:00 +0100 Subject: [PATCH 1/2] 1. add a new function called entropic\_partial\_wasserstein\_logscale to ot.partial. This function solves the same problem as entropic\_partial\_wasserstein but is computed in logscale, so it is more robust. 2. Test exampless are provided in compare_logscale_POT.py. Test data is in data\entropic_partial_OT_cost.txt --- data/entropic_partial_OT_cost.txt | 65 +++++++ .../compare_logscale_POT.py | 105 ++++++++++++ ot/partial.py | 162 ++++++++++++++++++ 3 files changed, 332 insertions(+) create mode 100644 data/entropic_partial_OT_cost.txt create mode 100644 examples/unbalanced-partial/compare_logscale_POT.py diff --git a/data/entropic_partial_OT_cost.txt b/data/entropic_partial_OT_cost.txt new file mode 100644 index 000000000..fa888361c --- /dev/null +++ b/data/entropic_partial_OT_cost.txt @@ -0,0 +1,65 @@ +4.894085311889648438e+01 4.861479568481445312e+01 4.379131317138671875e+01 4.918805694580078125e+01 3.878745269775390625e+01 3.546162414550781250e+01 3.841521835327148438e+01 5.006958389282226562e+01 3.809022903442382812e+01 4.262824249267578125e+01 3.734682464599609375e+01 4.062951660156250000e+01 3.725971221923828125e+01 3.249826431274414062e+01 4.221009445190429688e+01 3.716342544555664062e+01 4.312268066406250000e+01 4.119712448120117188e+01 4.597673416137695312e+01 4.078978729248046875e+01 4.690271377563476562e+01 4.058172225952148438e+01 4.432420349121093750e+01 3.916670227050781250e+01 4.230415725708007812e+01 4.673427200317382812e+01 4.801492309570312500e+01 4.989643859863281250e+01 5.154845809936523438e+01 4.213274383544921875e+01 3.375740051269531250e+01 3.931959915161132812e+01 3.836827087402343750e+01 3.869291305541992188e+01 3.843375778198242188e+01 4.246713638305664062e+01 4.011297988891601562e+01 4.042180633544921875e+01 4.656517028808593750e+01 3.283615875244140625e+01 4.092938995361328125e+01 4.173197937011718750e+01 4.010094833374023438e+01 5.119551849365234375e+01 4.633777236938476562e+01 4.757238769531250000e+01 4.561368560791015625e+01 3.641102600097656250e+01 3.777148437500000000e+01 4.279164886474609375e+01 4.219778823852539062e+01 3.781300354003906250e+01 3.759049224853515625e+01 3.502627182006835938e+01 4.258599090576171875e+01 4.265098571777343750e+01 4.192259979248046875e+01 4.819110107421875000e+01 3.870251846313476562e+01 4.262316894531250000e+01 4.153643035888671875e+01 3.683420562744140625e+01 4.934579849243164062e+01 3.923860931396484375e+01 3.880874252319335938e+01 +3.371425628662109375e+01 5.175751876831054688e+01 3.668876266479492188e+01 4.047004699707031250e+01 5.144247436523437500e+01 3.875642776489257812e+01 4.476139450073242188e+01 4.777507781982421875e+01 4.207986450195312500e+01 3.487950897216796875e+01 4.643547058105468750e+01 5.184801864624023438e+01 3.344667816162109375e+01 3.183696365356445312e+01 4.007193374633789062e+01 4.246741485595703125e+01 3.744253158569335938e+01 4.005377197265625000e+01 3.714237976074218750e+01 3.624596786499023438e+01 3.885710144042968750e+01 4.043212509155273438e+01 4.767555236816406250e+01 4.695936965942382812e+01 3.485867691040039062e+01 3.469324874877929688e+01 4.498509216308593750e+01 3.309228897094726562e+01 3.913158035278320312e+01 3.924601745605468750e+01 3.512294006347656250e+01 4.327288436889648438e+01 3.855750274658203125e+01 4.205834579467773438e+01 3.826591873168945312e+01 3.669254684448242188e+01 3.649098968505859375e+01 4.124399185180664062e+01 4.453601074218750000e+01 3.966304016113281250e+01 4.452518463134765625e+01 4.050181198120117188e+01 4.783778381347656250e+01 3.694761276245117188e+01 3.293086242675781250e+01 4.758544158935546875e+01 3.196052742004394531e+01 3.799818038940429688e+01 3.825685501098632812e+01 4.210102462768554688e+01 4.221831512451171875e+01 3.778128051757812500e+01 3.264939880371093750e+01 3.938118743896484375e+01 4.982987213134765625e+01 4.284263610839843750e+01 3.840843963623046875e+01 3.782637023925781250e+01 4.052755737304687500e+01 4.739070892333984375e+01 4.018495559692382812e+01 4.535385131835937500e+01 4.638175201416015625e+01 3.699435806274414062e+01 4.252421951293945312e+01 +2.584415054321289062e+01 3.957456207275390625e+01 3.913224792480468750e+01 3.021177673339843750e+01 3.290942001342773438e+01 2.714282035827636719e+01 3.976980590820312500e+01 4.107613372802734375e+01 3.672253036499023438e+01 2.835548973083496094e+01 4.371870040893554688e+01 3.035670471191406250e+01 2.189418792724609375e+01 3.163051223754882812e+01 3.234294509887695312e+01 3.344631576538085938e+01 2.637410545349121094e+01 3.383023071289062500e+01 3.765707778930664062e+01 3.189764022827148438e+01 3.211354827880859375e+01 3.555481338500976562e+01 3.099954605102539062e+01 2.615209197998046875e+01 3.806488800048828125e+01 3.525683593750000000e+01 3.978757476806640625e+01 2.412308502197265625e+01 3.267126846313476562e+01 3.597455215454101562e+01 3.511724853515625000e+01 2.991152572631835938e+01 3.663289260864257812e+01 3.621190261840820312e+01 2.854335975646972656e+01 2.707921600341796875e+01 3.015602874755859375e+01 3.430559539794921875e+01 3.474228286743164062e+01 4.006267166137695312e+01 3.174053192138671875e+01 3.399388122558593750e+01 3.505482101440429688e+01 3.368766021728515625e+01 2.985457992553710938e+01 3.940608596801757812e+01 2.872361373901367188e+01 3.108248901367187500e+01 3.469547271728515625e+01 4.126312255859375000e+01 3.145724868774414062e+01 3.591903686523437500e+01 2.149185371398925781e+01 2.394734954833984375e+01 4.064604949951171875e+01 2.637047576904296875e+01 3.190576553344726562e+01 3.109059906005859375e+01 2.839432716369628906e+01 2.951310348510742188e+01 3.287123107910156250e+01 3.394895172119140625e+01 3.440498733520507812e+01 3.207314682006835938e+01 2.912895965576171875e+01 +3.620997619628906250e+01 3.679136276245117188e+01 2.706193542480468750e+01 4.209052276611328125e+01 4.406676483154296875e+01 3.612456512451171875e+01 3.710257720947265625e+01 3.867077255249023438e+01 3.604903411865234375e+01 3.796332168579101562e+01 3.638364791870117188e+01 3.891101074218750000e+01 3.954283523559570312e+01 4.275996398925781250e+01 3.526910781860351562e+01 3.454914474487304688e+01 3.858446502685546875e+01 4.251528549194335938e+01 4.098350906372070312e+01 4.199565887451171875e+01 4.702077102661132812e+01 3.970726776123046875e+01 2.924511146545410156e+01 3.003129959106445312e+01 3.395120239257812500e+01 3.417069244384765625e+01 3.300856399536132812e+01 3.843547821044921875e+01 3.749785614013671875e+01 3.413695526123046875e+01 4.144428634643554688e+01 4.122047042846679688e+01 3.655287933349609375e+01 3.464481353759765625e+01 4.273402023315429688e+01 3.334304046630859375e+01 3.531611633300781250e+01 3.402367782592773438e+01 3.571590423583984375e+01 4.334332275390625000e+01 3.576385116577148438e+01 4.426271820068359375e+01 3.332676696777343750e+01 4.139838027954101562e+01 3.065630340576171875e+01 3.717146301269531250e+01 3.592906570434570312e+01 3.666264343261718750e+01 3.817394256591796875e+01 3.524289703369140625e+01 3.375886154174804688e+01 4.485282897949218750e+01 4.570125198364257812e+01 4.241127777099609375e+01 3.929777526855468750e+01 4.155035400390625000e+01 4.037526702880859375e+01 3.568226242065429688e+01 3.221462631225585938e+01 4.183288192749023438e+01 4.310064697265625000e+01 3.730352401733398438e+01 3.379794311523437500e+01 4.113012313842773438e+01 3.589245605468750000e+01 +5.177489852905273438e+01 4.002253723144531250e+01 3.738983535766601562e+01 3.786495208740234375e+01 4.131415176391601562e+01 4.214729690551757812e+01 4.302034378051757812e+01 4.090705871582031250e+01 3.594696807861328125e+01 4.264076232910156250e+01 3.567681503295898438e+01 5.023173904418945312e+01 4.008349990844726562e+01 3.531510543823242188e+01 3.870778656005859375e+01 4.087826919555664062e+01 4.434799957275390625e+01 4.158658218383789062e+01 4.408852005004882812e+01 4.898595428466796875e+01 4.222775650024414062e+01 3.472145843505859375e+01 4.182953262329101562e+01 3.496916961669921875e+01 3.543184661865234375e+01 4.162661743164062500e+01 3.591661453247070312e+01 3.847769546508789062e+01 4.085301971435546875e+01 2.871146583557128906e+01 3.467768859863281250e+01 4.573012924194335938e+01 4.190938186645507812e+01 4.307085037231445312e+01 4.522824096679687500e+01 4.223337173461914062e+01 3.966994094848632812e+01 4.025265502929687500e+01 3.661954116821289062e+01 3.424144744873046875e+01 3.934346771240234375e+01 3.963938522338867188e+01 4.976403808593750000e+01 3.842732620239257812e+01 4.254179000854492188e+01 3.957797241210937500e+01 3.937297821044921875e+01 3.986201477050781250e+01 3.592616271972656250e+01 3.863604354858398438e+01 3.436526107788085938e+01 3.831478500366210938e+01 3.710792160034179688e+01 4.548699569702148438e+01 4.291648101806640625e+01 3.794474029541015625e+01 3.724673461914062500e+01 4.570429992675781250e+01 3.935975265502929688e+01 4.365916442871093750e+01 3.130384445190429688e+01 3.966250610351562500e+01 3.967831802368164062e+01 3.313247299194335938e+01 3.723474502563476562e+01 +3.779154586791992188e+01 4.514908599853515625e+01 2.914603042602539062e+01 3.820198059082031250e+01 3.330953598022460938e+01 3.460489273071289062e+01 3.287153244018554688e+01 3.761052703857421875e+01 3.847791671752929688e+01 3.534869384765625000e+01 3.333776855468750000e+01 3.902194595336914062e+01 3.464837646484375000e+01 3.869134902954101562e+01 4.168861389160156250e+01 3.903786849975585938e+01 3.672462463378906250e+01 2.912130928039550781e+01 3.813936614990234375e+01 3.735282897949218750e+01 4.133945465087890625e+01 3.546304702758789062e+01 4.362014007568359375e+01 3.234855651855468750e+01 3.560721969604492188e+01 4.618642044067382812e+01 3.019414329528808594e+01 3.579047393798828125e+01 3.431913757324218750e+01 3.284030532836914062e+01 3.739750671386718750e+01 3.466342926025390625e+01 3.119182205200195312e+01 3.928105926513671875e+01 3.891401672363281250e+01 3.526143264770507812e+01 4.172257232666015625e+01 3.243897247314453125e+01 3.630176544189453125e+01 4.242651748657226562e+01 4.006579208374023438e+01 3.783462142944335938e+01 4.009801864624023438e+01 3.220582962036132812e+01 3.949389266967773438e+01 3.138775444030761719e+01 3.413338851928710938e+01 4.056520080566406250e+01 3.332674026489257812e+01 4.445419311523437500e+01 3.699497222900390625e+01 3.159777259826660156e+01 3.314824676513671875e+01 4.672853851318359375e+01 3.380574035644531250e+01 3.937707901000976562e+01 2.976997756958007812e+01 3.650512695312500000e+01 3.661942291259765625e+01 3.679228591918945312e+01 3.686485290527343750e+01 3.435326766967773438e+01 3.404949569702148438e+01 3.432569122314453125e+01 2.931368637084960938e+01 +4.526914978027343750e+01 4.839510345458984375e+01 4.070890045166015625e+01 3.980134582519531250e+01 3.553902053833007812e+01 3.981361389160156250e+01 4.053400421142578125e+01 4.197080230712890625e+01 3.959692382812500000e+01 3.471356964111328125e+01 3.736702346801757812e+01 3.552601623535156250e+01 4.139741134643554688e+01 3.980607223510742188e+01 4.399088287353515625e+01 3.685991287231445312e+01 4.625661849975585938e+01 3.843088531494140625e+01 4.275627517700195312e+01 3.818612670898437500e+01 4.775601577758789062e+01 3.609090423583984375e+01 3.462964248657226562e+01 4.208768844604492188e+01 3.541001129150390625e+01 3.653588867187500000e+01 3.782463455200195312e+01 4.021115112304687500e+01 4.140684127807617188e+01 4.661351776123046875e+01 3.290296554565429688e+01 4.441275024414062500e+01 3.609972000122070312e+01 3.009653854370117188e+01 3.472154617309570312e+01 4.024268341064453125e+01 4.063650894165039062e+01 3.459063339233398438e+01 4.348248291015625000e+01 3.817516708374023438e+01 3.173076438903808594e+01 3.456923675537109375e+01 3.998823165893554688e+01 3.837490844726562500e+01 4.136769104003906250e+01 4.076088333129882812e+01 3.499891662597656250e+01 3.995740509033203125e+01 3.165533065795898438e+01 4.001374053955078125e+01 4.347994995117187500e+01 3.500678634643554688e+01 4.946246337890625000e+01 3.615975189208984375e+01 3.615096664428710938e+01 4.194998931884765625e+01 4.191470718383789062e+01 4.195901870727539062e+01 3.269182586669921875e+01 3.140708923339843750e+01 4.316599273681640625e+01 4.552125930786132812e+01 3.265526580810546875e+01 3.684005355834960938e+01 3.654967498779296875e+01 +3.558302307128906250e+01 4.454481124877929688e+01 4.300921249389648438e+01 3.198482131958007812e+01 3.124431610107421875e+01 3.117620086669921875e+01 3.581188201904296875e+01 3.625953674316406250e+01 3.576702499389648438e+01 4.469561386108398438e+01 4.183759307861328125e+01 3.612417602539062500e+01 3.203007888793945312e+01 2.639112663269042969e+01 3.369132614135742188e+01 3.254335021972656250e+01 3.559918212890625000e+01 3.719571304321289062e+01 4.402243423461914062e+01 3.768766021728515625e+01 4.009792709350585938e+01 3.110909080505371094e+01 3.893960571289062500e+01 3.589070510864257812e+01 3.734950256347656250e+01 3.654915618896484375e+01 3.664131546020507812e+01 2.917612266540527344e+01 3.335472869873046875e+01 3.591376876831054688e+01 4.120547866821289062e+01 2.851324844360351562e+01 3.278767013549804688e+01 3.915482711791992188e+01 3.311335372924804688e+01 2.754743194580078125e+01 3.260182189941406250e+01 3.331090164184570312e+01 3.283757400512695312e+01 3.365279388427734375e+01 3.747796630859375000e+01 3.332650375366210938e+01 3.889792633056640625e+01 3.469976806640625000e+01 3.868542480468750000e+01 2.981369972229003906e+01 3.268970489501953125e+01 3.176767158508300781e+01 3.348396682739257812e+01 3.682877349853515625e+01 4.392241287231445312e+01 3.816587066650390625e+01 5.029177474975585938e+01 3.087931823730468750e+01 3.334242248535156250e+01 3.149741744995117188e+01 3.734387207031250000e+01 3.768359375000000000e+01 3.704732513427734375e+01 4.248949050903320312e+01 3.182213783264160156e+01 4.289128112792968750e+01 3.636100769042968750e+01 4.401221466064453125e+01 3.402858734130859375e+01 +4.006468963623046875e+01 4.712554931640625000e+01 3.350870132446289062e+01 4.102739334106445312e+01 2.500606918334960938e+01 3.329410171508789062e+01 4.300796890258789062e+01 4.372987747192382812e+01 3.753441619873046875e+01 4.209264373779296875e+01 3.522211074829101562e+01 4.946906661987304688e+01 3.612489700317382812e+01 4.123805618286132812e+01 4.270063781738281250e+01 4.048052597045898438e+01 3.917345428466796875e+01 3.932109832763671875e+01 4.062454986572265625e+01 3.066755867004394531e+01 4.198577880859375000e+01 3.713441467285156250e+01 4.192272186279296875e+01 3.483568572998046875e+01 3.367482757568359375e+01 5.365647125244140625e+01 3.064047813415527344e+01 4.356962585449218750e+01 3.694787216186523438e+01 2.961382675170898438e+01 3.663613891601562500e+01 3.437864303588867188e+01 4.223358917236328125e+01 3.945684051513671875e+01 4.115569305419921875e+01 3.293383789062500000e+01 3.699156570434570312e+01 3.673317337036132812e+01 4.537354278564453125e+01 4.290806579589843750e+01 3.059306716918945312e+01 3.698741149902343750e+01 4.168147659301757812e+01 3.459889602661132812e+01 4.120145797729492188e+01 3.974151611328125000e+01 4.138443374633789062e+01 4.191099548339843750e+01 3.747417449951171875e+01 4.250366592407226562e+01 4.112873458862304688e+01 3.929674530029296875e+01 4.240349578857421875e+01 3.588882446289062500e+01 4.943005371093750000e+01 4.044060134887695312e+01 3.206416702270507812e+01 3.349956512451171875e+01 3.203361511230468750e+01 3.594030380249023438e+01 3.727663421630859375e+01 3.332451248168945312e+01 3.866772079467773438e+01 3.739702224731445312e+01 3.247171783447265625e+01 +4.752744674682617188e+01 4.852272796630859375e+01 4.451810073852539062e+01 4.458064651489257812e+01 4.212798309326171875e+01 4.752932357788085938e+01 5.107621765136718750e+01 4.877010726928710938e+01 4.277339935302734375e+01 4.684570312500000000e+01 4.212770843505859375e+01 4.282534027099609375e+01 5.070556640625000000e+01 4.212110519409179688e+01 3.546946334838867188e+01 4.671774673461914062e+01 4.418634033203125000e+01 3.913265609741210938e+01 4.919497299194335938e+01 5.539371109008789062e+01 5.012402343750000000e+01 3.403134536743164062e+01 5.020088195800781250e+01 4.462583541870117188e+01 4.352894973754882812e+01 4.658487701416015625e+01 4.638608932495117188e+01 4.824272155761718750e+01 4.162688446044921875e+01 5.087250518798828125e+01 4.715064239501953125e+01 5.076380538940429688e+01 4.729842758178710938e+01 4.060826873779296875e+01 3.731604003906250000e+01 4.158033370971679688e+01 4.271477127075195312e+01 4.323837280273437500e+01 4.491243362426757812e+01 4.900762557983398438e+01 4.182378005981445312e+01 5.077422332763671875e+01 5.413113403320312500e+01 4.443989181518554688e+01 4.081399154663085938e+01 4.806236648559570312e+01 4.504115676879882812e+01 4.594528198242187500e+01 4.686214447021484375e+01 3.721578598022460938e+01 4.670793533325195312e+01 4.813550186157226562e+01 4.798495864868164062e+01 4.124555969238281250e+01 4.932423400878906250e+01 5.039579010009765625e+01 4.179512786865234375e+01 5.356118011474609375e+01 4.308502960205078125e+01 4.518708801269531250e+01 4.856532287597656250e+01 4.382725524902343750e+01 4.288163375854492188e+01 4.255262756347656250e+01 4.446336746215820312e+01 +4.929297637939453125e+01 4.576121139526367188e+01 4.459202194213867188e+01 5.060774612426757812e+01 3.958845520019531250e+01 4.399983215332031250e+01 4.813396453857421875e+01 5.291535568237304688e+01 3.944549942016601562e+01 4.935279464721679688e+01 4.009812164306640625e+01 4.984955215454101562e+01 3.885838699340820312e+01 4.251865768432617188e+01 4.788087081909179688e+01 4.125837707519531250e+01 4.176490402221679688e+01 3.901685333251953125e+01 4.443909454345703125e+01 4.018842315673828125e+01 5.007359313964843750e+01 4.431756591796875000e+01 5.418846130371093750e+01 4.449373626708984375e+01 3.793039321899414062e+01 4.575467300415039062e+01 4.064335250854492188e+01 4.503967666625976562e+01 4.611557388305664062e+01 4.886340332031250000e+01 3.449245452880859375e+01 2.755388259887695312e+01 4.032118225097656250e+01 4.046036529541015625e+01 4.149992752075195312e+01 4.199295043945312500e+01 4.157926559448242188e+01 4.136967086791992188e+01 3.889888763427734375e+01 4.277863693237304688e+01 3.447846603393554688e+01 4.327173995971679688e+01 4.728721618652343750e+01 4.506782531738281250e+01 4.372046279907226562e+01 4.103085708618164062e+01 3.562739562988281250e+01 4.033777618408203125e+01 4.220493316650390625e+01 5.458501052856445312e+01 4.870465850830078125e+01 4.268715667724609375e+01 5.655861663818359375e+01 3.985424423217773438e+01 5.629055786132812500e+01 4.066618347167968750e+01 3.912373733520507812e+01 3.495607376098632812e+01 3.662740325927734375e+01 3.444775009155273438e+01 3.734717941284179688e+01 4.169882583618164062e+01 3.962051773071289062e+01 3.944034957885742188e+01 4.013020324707031250e+01 +4.546123504638671875e+01 4.565129470825195312e+01 3.611476898193359375e+01 4.842986679077148438e+01 4.429347991943359375e+01 5.036784362792968750e+01 4.117307281494140625e+01 3.833954620361328125e+01 4.595146942138671875e+01 4.945308303833007812e+01 3.815667343139648438e+01 3.903960418701171875e+01 4.503819274902343750e+01 4.273854827880859375e+01 3.916770172119140625e+01 5.526544189453125000e+01 4.097137451171875000e+01 3.489542388916015625e+01 4.980403137207031250e+01 4.561038970947265625e+01 4.336311721801757812e+01 4.483290100097656250e+01 3.578488922119140625e+01 4.419208145141601562e+01 4.069187545776367188e+01 4.212184143066406250e+01 4.350996398925781250e+01 3.658016586303710938e+01 3.379570770263671875e+01 3.500544738769531250e+01 4.000234985351562500e+01 4.362143325805664062e+01 3.803662109375000000e+01 4.138036727905273438e+01 3.298405456542968750e+01 4.479376983642578125e+01 4.619057083129882812e+01 3.250308609008789062e+01 4.625626373291015625e+01 4.147950363159179688e+01 4.121327209472656250e+01 4.802527618408203125e+01 5.415662384033203125e+01 4.136244964599609375e+01 4.585298919677734375e+01 4.020690917968750000e+01 4.349732971191406250e+01 4.747767639160156250e+01 3.920769119262695312e+01 3.798901748657226562e+01 4.672288131713867188e+01 4.999010467529296875e+01 5.045139312744140625e+01 4.715900421142578125e+01 3.885665130615234375e+01 4.048427963256835938e+01 3.817848968505859375e+01 4.435768127441406250e+01 3.440752792358398438e+01 5.020005416870117188e+01 4.291978836059570312e+01 4.450638580322265625e+01 4.694829177856445312e+01 4.300525665283203125e+01 4.200120544433593750e+01 +3.001317214965820312e+01 3.599707794189453125e+01 3.198255920410156250e+01 3.109366989135742188e+01 2.876095199584960938e+01 2.251473999023437500e+01 3.419155120849609375e+01 3.159123039245605469e+01 3.416571044921875000e+01 2.817226028442382812e+01 2.676221466064453125e+01 4.004763412475585938e+01 3.877367019653320312e+01 3.184051895141601562e+01 3.917049407958984375e+01 2.326993370056152344e+01 3.543114471435546875e+01 3.288970565795898438e+01 2.455054473876953125e+01 3.098842048645019531e+01 3.206993103027343750e+01 2.746844863891601562e+01 2.275464439392089844e+01 3.164559936523437500e+01 3.482631683349609375e+01 3.502387237548828125e+01 2.822789573669433594e+01 2.519334030151367188e+01 3.950788116455078125e+01 3.319295883178710938e+01 3.403891754150390625e+01 2.388775062561035156e+01 2.465050506591796875e+01 3.077078819274902344e+01 3.768083190917968750e+01 3.335765075683593750e+01 3.058219528198242188e+01 3.210486984252929688e+01 3.165768051147460938e+01 3.195915603637695312e+01 3.148278045654296875e+01 3.142449569702148438e+01 2.947248458862304688e+01 3.461962509155273438e+01 3.581536102294921875e+01 3.372032928466796875e+01 3.304301834106445312e+01 2.625632476806640625e+01 3.162599563598632812e+01 3.850784683227539062e+01 2.502301406860351562e+01 2.590532493591308594e+01 3.754279327392578125e+01 3.926044082641601562e+01 3.206565856933593750e+01 3.155817413330078125e+01 3.855967712402343750e+01 2.817647171020507812e+01 3.374691772460937500e+01 3.244535064697265625e+01 3.382212448120117188e+01 3.643700408935546875e+01 3.239268493652343750e+01 3.028298950195312500e+01 3.414383316040039062e+01 +4.168983840942382812e+01 4.359544372558593750e+01 3.912447357177734375e+01 4.387398147583007812e+01 3.803918838500976562e+01 4.996220397949218750e+01 4.307400512695312500e+01 4.867078781127929688e+01 4.113030242919921875e+01 4.543481063842773438e+01 4.458990859985351562e+01 4.758559036254882812e+01 4.873950195312500000e+01 3.961759948730468750e+01 3.837390136718750000e+01 4.780035400390625000e+01 3.841210174560546875e+01 5.055728149414062500e+01 4.584595870971679688e+01 4.177470397949218750e+01 4.849927902221679688e+01 3.993200683593750000e+01 4.434723663330078125e+01 4.576977539062500000e+01 3.713726043701171875e+01 4.076397705078125000e+01 4.054445266723632812e+01 4.833198547363281250e+01 4.343637084960937500e+01 4.070309829711914062e+01 5.628930282592773438e+01 4.145015716552734375e+01 4.066722106933593750e+01 4.138311767578125000e+01 4.311320877075195312e+01 4.488040542602539062e+01 4.196937179565429688e+01 4.122299194335937500e+01 4.413405227661132812e+01 5.671250915527343750e+01 3.997376632690429688e+01 4.587821197509765625e+01 4.725698089599609375e+01 3.389303970336914062e+01 4.541490173339843750e+01 4.689113235473632812e+01 3.596130371093750000e+01 4.510449981689453125e+01 3.695643997192382812e+01 5.234334182739257812e+01 4.154016113281250000e+01 4.142319107055664062e+01 4.105638122558593750e+01 4.840350341796875000e+01 4.142093658447265625e+01 4.784469985961914062e+01 3.882185363769531250e+01 4.130429077148437500e+01 3.975572967529296875e+01 4.224264907836914062e+01 4.662107086181640625e+01 4.502264404296875000e+01 3.535899353027343750e+01 4.085808563232421875e+01 3.930659103393554688e+01 +5.152440261840820312e+01 4.939676666259765625e+01 4.436891174316406250e+01 3.581843185424804688e+01 4.363429641723632812e+01 4.008459472656250000e+01 5.563921356201171875e+01 5.211247253417968750e+01 4.455399703979492188e+01 4.892524719238281250e+01 5.069877624511718750e+01 4.531251907348632812e+01 4.481811523437500000e+01 4.684078979492187500e+01 4.174293136596679688e+01 4.981401824951171875e+01 4.256829071044921875e+01 5.249760055541992188e+01 4.900575256347656250e+01 4.640464782714843750e+01 5.341721725463867188e+01 4.249591064453125000e+01 5.196960449218750000e+01 4.946173858642578125e+01 3.637931823730468750e+01 4.866597366333007812e+01 4.883687591552734375e+01 4.087046813964843750e+01 4.317877960205078125e+01 4.210052871704101562e+01 5.332053756713867188e+01 4.130710601806640625e+01 4.238238143920898438e+01 3.608471679687500000e+01 4.730894470214843750e+01 4.948328018188476562e+01 4.576591110229492188e+01 4.253532791137695312e+01 3.802207183837890625e+01 5.469178771972656250e+01 5.242518997192382812e+01 4.896587371826171875e+01 5.443024063110351562e+01 4.157578277587890625e+01 4.819763946533203125e+01 3.561777114868164062e+01 3.523991012573242188e+01 4.996438217163085938e+01 3.814282608032226562e+01 5.233327484130859375e+01 4.047525405883789062e+01 4.415784835815429688e+01 4.677688598632812500e+01 4.286757278442382812e+01 5.136497497558593750e+01 4.318942642211914062e+01 4.427639007568359375e+01 3.916073226928710938e+01 4.555791854858398438e+01 4.470704650878906250e+01 4.310894012451171875e+01 4.336314392089843750e+01 3.384455490112304688e+01 3.911657714843750000e+01 3.912779617309570312e+01 +4.790402984619140625e+01 5.492079544067382812e+01 4.091291046142578125e+01 4.732960891723632812e+01 4.241014099121093750e+01 4.074548721313476562e+01 3.746122360229492188e+01 5.179749298095703125e+01 3.931834411621093750e+01 4.747021484375000000e+01 4.184455108642578125e+01 4.183279800415039062e+01 4.511738586425781250e+01 3.951926040649414062e+01 4.808459472656250000e+01 3.976103591918945312e+01 4.747474288940429688e+01 4.220376968383789062e+01 4.924357223510742188e+01 4.259564971923828125e+01 5.373930358886718750e+01 4.470425033569335938e+01 4.433187484741210938e+01 3.891330337524414062e+01 4.241775131225585938e+01 4.849499130249023438e+01 4.177640914916992188e+01 4.208389663696289062e+01 3.559889221191406250e+01 4.746778488159179688e+01 3.912516784667968750e+01 3.671886062622070312e+01 3.936859130859375000e+01 4.493115997314453125e+01 4.233319091796875000e+01 4.955768585205078125e+01 3.788609695434570312e+01 3.177808189392089844e+01 5.123954772949218750e+01 3.612850189208984375e+01 3.942728042602539062e+01 3.894823074340820312e+01 4.076359558105468750e+01 4.429307174682617188e+01 4.420402145385742188e+01 4.356914138793945312e+01 4.129962539672851562e+01 3.667055511474609375e+01 3.946565246582031250e+01 3.809096908569335938e+01 4.489007186889648438e+01 4.442806625366210938e+01 4.259885025024414062e+01 4.251136779785156250e+01 4.555276870727539062e+01 4.356847000122070312e+01 4.191637420654296875e+01 5.219908142089843750e+01 3.504462814331054688e+01 4.344579315185546875e+01 4.042087173461914062e+01 4.268824005126953125e+01 4.912418365478515625e+01 4.588684844970703125e+01 4.140889739990234375e+01 +4.570319366455078125e+01 4.951404953002929688e+01 3.697652053833007812e+01 4.375915527343750000e+01 4.279226303100585938e+01 4.011246871948242188e+01 4.170162963867187500e+01 3.570042800903320312e+01 3.720198440551757812e+01 3.982933807373046875e+01 3.736523818969726562e+01 4.275825119018554688e+01 4.060122680664062500e+01 4.369867706298828125e+01 4.108747482299804688e+01 3.781703948974609375e+01 3.228029632568359375e+01 4.151120376586914062e+01 3.851697921752929688e+01 4.305630874633789062e+01 5.175895309448242188e+01 4.031717300415039062e+01 4.708790969848632812e+01 4.129493331909179688e+01 3.459946823120117188e+01 4.180305099487304688e+01 4.443954467773437500e+01 3.838034439086914062e+01 4.557369995117187500e+01 4.384876632690429688e+01 3.478973770141601562e+01 3.301541900634765625e+01 4.169525146484375000e+01 3.878132629394531250e+01 3.689843368530273438e+01 4.507266998291015625e+01 3.783382797241210938e+01 4.012450408935546875e+01 3.626395034790039062e+01 4.208094024658203125e+01 4.728777313232421875e+01 4.045290374755859375e+01 4.003379440307617188e+01 3.554798126220703125e+01 4.589855575561523438e+01 4.483441162109375000e+01 4.038815689086914062e+01 3.942721176147460938e+01 3.348640823364257812e+01 4.340259933471679688e+01 3.312461090087890625e+01 3.171989059448242188e+01 3.973782730102539062e+01 4.385952377319335938e+01 4.148766326904296875e+01 3.625242614746093750e+01 3.192521476745605469e+01 3.782876968383789062e+01 4.043229675292968750e+01 4.613889694213867188e+01 3.773886108398437500e+01 3.505387496948242188e+01 4.868778228759765625e+01 3.291503143310546875e+01 4.556782913208007812e+01 +4.172035980224609375e+01 4.023643112182617188e+01 4.860004043579101562e+01 5.130641937255859375e+01 3.942275238037109375e+01 3.408900070190429688e+01 3.652622604370117188e+01 5.315486907958984375e+01 3.982487487792968750e+01 4.792316818237304688e+01 3.641507339477539062e+01 4.319976425170898438e+01 3.696791076660156250e+01 4.170583724975585938e+01 4.270329284667968750e+01 4.874214553833007812e+01 3.666518783569335938e+01 4.300215530395507812e+01 4.255225372314453125e+01 4.326119232177734375e+01 5.099884796142578125e+01 4.056765365600585938e+01 3.941484832763671875e+01 4.245719146728515625e+01 3.995302963256835938e+01 4.530965423583984375e+01 4.822028732299804688e+01 3.639229583740234375e+01 3.636363220214843750e+01 4.334787368774414062e+01 3.919750213623046875e+01 4.003483581542968750e+01 4.052126693725585938e+01 4.204072952270507812e+01 2.973392105102539062e+01 4.092583847045898438e+01 3.824249267578125000e+01 4.527622604370117188e+01 4.593673324584960938e+01 4.875594711303710938e+01 4.103018188476562500e+01 3.953227996826171875e+01 3.370845794677734375e+01 3.971606445312500000e+01 4.550554275512695312e+01 4.483579254150390625e+01 4.116973495483398438e+01 4.345209121704101562e+01 3.919699478149414062e+01 4.418079757690429688e+01 4.764336013793945312e+01 4.303118896484375000e+01 4.812667083740234375e+01 4.417273712158203125e+01 4.837078857421875000e+01 4.897539138793945312e+01 3.916099166870117188e+01 4.788312530517578125e+01 3.801931762695312500e+01 4.616017150878906250e+01 4.493535232543945312e+01 4.145146560668945312e+01 4.041812133789062500e+01 3.669462585449218750e+01 4.290149688720703125e+01 +4.911890792846679688e+01 4.482349014282226562e+01 4.640871429443359375e+01 5.575101852416992188e+01 4.203543090820312500e+01 4.098260498046875000e+01 4.759809494018554688e+01 4.462916564941406250e+01 3.915608596801757812e+01 4.684205245971679688e+01 3.903359222412109375e+01 4.582829666137695312e+01 4.149011993408203125e+01 3.679614639282226562e+01 5.173213195800781250e+01 4.900857543945312500e+01 4.583474349975585938e+01 4.906744003295898438e+01 4.044274139404296875e+01 4.042551803588867188e+01 5.782320404052734375e+01 4.389715576171875000e+01 4.870597839355468750e+01 4.114977645874023438e+01 3.424491500854492188e+01 4.197701644897460938e+01 4.143220901489257812e+01 4.661825180053710938e+01 4.234085083007812500e+01 5.201020812988281250e+01 5.140747451782226562e+01 4.338934326171875000e+01 4.197169113159179688e+01 3.810073852539062500e+01 4.225181579589843750e+01 4.898864746093750000e+01 4.007730865478515625e+01 4.488384246826171875e+01 4.135060119628906250e+01 4.838790130615234375e+01 4.221723556518554688e+01 4.159573364257812500e+01 5.322534942626953125e+01 3.934435653686523438e+01 5.653246307373046875e+01 3.945663452148437500e+01 4.954535293579101562e+01 4.520325851440429688e+01 4.209526824951171875e+01 5.109752273559570312e+01 3.800389480590820312e+01 3.656370162963867188e+01 4.822539138793945312e+01 5.556253051757812500e+01 4.913341903686523438e+01 5.016078186035156250e+01 3.534554290771484375e+01 4.799143981933593750e+01 4.396368408203125000e+01 5.049934387207031250e+01 4.847678375244140625e+01 3.719265365600585938e+01 4.664288711547851562e+01 3.625043106079101562e+01 4.320014190673828125e+01 +3.776402282714843750e+01 3.001208496093750000e+01 2.795922088623046875e+01 3.709172439575195312e+01 3.530982971191406250e+01 3.362236785888671875e+01 2.862281799316406250e+01 3.118972969055175781e+01 3.028517150878906250e+01 3.061576652526855469e+01 3.381499481201171875e+01 3.473638534545898438e+01 3.223352050781250000e+01 2.358809280395507812e+01 3.359656524658203125e+01 3.172912597656250000e+01 3.562705612182617188e+01 4.022050857543945312e+01 3.408679199218750000e+01 2.552696037292480469e+01 2.298846817016601562e+01 2.602697753906250000e+01 3.771477890014648438e+01 3.465266799926757812e+01 2.894090461730957031e+01 3.192350006103515625e+01 3.148951339721679688e+01 3.415850448608398438e+01 3.160150146484375000e+01 3.469165420532226562e+01 2.389072418212890625e+01 3.138571739196777344e+01 3.645714187622070312e+01 3.259147644042968750e+01 3.377421188354492188e+01 2.930663681030273438e+01 2.995750427246093750e+01 2.816093826293945312e+01 2.245632362365722656e+01 2.776955413818359375e+01 3.862561416625976562e+01 3.045133781433105469e+01 3.333485412597656250e+01 2.781990242004394531e+01 2.836895370483398438e+01 3.343439483642578125e+01 2.994882202148437500e+01 2.389284896850585938e+01 2.620053672790527344e+01 1.786391258239746094e+01 3.166512298583984375e+01 3.011405944824218750e+01 3.400628662109375000e+01 2.865212821960449219e+01 2.799971961975097656e+01 2.884519195556640625e+01 3.957389831542968750e+01 3.027909469604492188e+01 3.651317596435546875e+01 2.945148086547851562e+01 2.711998939514160156e+01 3.134248542785644531e+01 3.482483291625976562e+01 3.046670722961425781e+01 3.431682205200195312e+01 +4.537787246704101562e+01 4.820950317382812500e+01 4.661886978149414062e+01 5.718587875366210938e+01 3.975625610351562500e+01 4.801108551025390625e+01 4.618050003051757812e+01 5.219335556030273438e+01 3.801061248779296875e+01 4.634490585327148438e+01 4.012580490112304688e+01 5.074466705322265625e+01 4.968634033203125000e+01 4.499976348876953125e+01 5.246240997314453125e+01 5.029293823242187500e+01 4.303767776489257812e+01 4.977509307861328125e+01 5.554711532592773438e+01 4.640773391723632812e+01 5.000894165039062500e+01 4.123398590087890625e+01 4.806605529785156250e+01 4.941075897216796875e+01 4.215988922119140625e+01 4.584119796752929688e+01 4.914408111572265625e+01 4.311288452148437500e+01 4.486938476562500000e+01 2.964708709716796875e+01 4.982064819335937500e+01 4.345545578002929688e+01 4.152408599853515625e+01 3.852326583862304688e+01 3.554118728637695312e+01 4.937195968627929688e+01 4.492849731445312500e+01 4.687075805664062500e+01 4.622727203369140625e+01 5.788909149169921875e+01 5.105861663818359375e+01 4.476907730102539062e+01 4.991075134277343750e+01 4.070030593872070312e+01 5.520278167724609375e+01 4.387232589721679688e+01 4.948725509643554688e+01 5.014437866210937500e+01 4.345232009887695312e+01 5.046545410156250000e+01 4.956554794311523438e+01 4.495468902587890625e+01 4.079209518432617188e+01 4.670164489746093750e+01 4.235758972167968750e+01 5.673614883422851562e+01 4.000559616088867188e+01 4.742541885375976562e+01 4.659704971313476562e+01 4.693241882324218750e+01 4.700368118286132812e+01 4.309146499633789062e+01 5.192752838134765625e+01 4.562334060668945312e+01 4.337136077880859375e+01 +4.509765625000000000e+01 4.847681808471679688e+01 4.121450042724609375e+01 5.077433395385742188e+01 3.968986511230468750e+01 4.360505676269531250e+01 5.136790084838867188e+01 5.804500961303710938e+01 4.731282043457031250e+01 4.284128952026367188e+01 4.394100952148437500e+01 3.908685684204101562e+01 3.650834274291992188e+01 4.227230834960937500e+01 4.970052337646484375e+01 4.823425292968750000e+01 3.279679489135742188e+01 4.297493743896484375e+01 4.509376907348632812e+01 5.269624328613281250e+01 5.309057617187500000e+01 4.255153274536132812e+01 4.798217391967773438e+01 4.720816040039062500e+01 4.362533569335937500e+01 4.051926422119140625e+01 5.523056030273437500e+01 3.138853073120117188e+01 3.837125396728515625e+01 4.645160293579101562e+01 4.496977233886718750e+01 5.007515716552734375e+01 4.247669982910156250e+01 3.591927337646484375e+01 4.247549438476562500e+01 4.346159362792968750e+01 3.393013763427734375e+01 4.644662475585937500e+01 4.592773056030273438e+01 4.137321472167968750e+01 3.735546875000000000e+01 4.300814437866210938e+01 5.172944641113281250e+01 3.860350036621093750e+01 4.265113830566406250e+01 4.507756042480468750e+01 3.382413482666015625e+01 3.955485153198242188e+01 3.741457748413085938e+01 4.631911468505859375e+01 5.366259002685546875e+01 4.275310516357421875e+01 4.266941833496093750e+01 4.266165924072265625e+01 5.491802978515625000e+01 5.249602890014648438e+01 3.591624069213867188e+01 4.397526931762695312e+01 3.819709396362304688e+01 4.543998718261718750e+01 3.716682815551757812e+01 4.647788619995117188e+01 3.999328231811523438e+01 3.844130706787109375e+01 4.688888931274414062e+01 +5.209439086914062500e+01 5.258360671997070312e+01 4.095735168457031250e+01 5.254016113281250000e+01 4.052240371704101562e+01 4.087272262573242188e+01 4.201541900634765625e+01 5.112289810180664062e+01 4.097664260864257812e+01 4.853804779052734375e+01 4.372570037841796875e+01 4.912935638427734375e+01 4.180614089965820312e+01 4.251026916503906250e+01 4.271916961669921875e+01 5.571780395507812500e+01 4.129874420166015625e+01 5.455320739746093750e+01 4.495277023315429688e+01 4.556676101684570312e+01 4.584077453613281250e+01 5.248182296752929688e+01 4.750311660766601562e+01 4.204195022583007812e+01 3.795706176757812500e+01 3.903123092651367188e+01 5.668710327148437500e+01 4.291336059570312500e+01 4.468158340454101562e+01 4.884701538085937500e+01 3.477864074707031250e+01 3.776789855957031250e+01 4.195079803466796875e+01 3.638287353515625000e+01 3.577009963989257812e+01 3.897988510131835938e+01 4.230488586425781250e+01 4.711858367919921875e+01 4.740341949462890625e+01 5.155647277832031250e+01 4.444080734252929688e+01 5.232121276855468750e+01 4.473627471923828125e+01 3.870872497558593750e+01 4.310209655761718750e+01 4.601300430297851562e+01 3.728697204589843750e+01 4.357262802124023438e+01 4.266455841064453125e+01 5.820260620117187500e+01 4.393832397460937500e+01 4.132320785522460938e+01 4.770500946044921875e+01 4.606474685668945312e+01 5.171899032592773438e+01 4.780085754394531250e+01 4.774093246459960938e+01 4.884464263916015625e+01 3.758291625976562500e+01 5.648833465576171875e+01 4.635481643676757812e+01 4.631012344360351562e+01 4.676635742187500000e+01 4.022895050048828125e+01 3.802861022949218750e+01 +3.270349502563476562e+01 2.408368110656738281e+01 2.978129386901855469e+01 2.031136512756347656e+01 3.085576057434082031e+01 2.785855674743652344e+01 3.089938735961914062e+01 2.968346023559570312e+01 3.113543128967285156e+01 2.104024314880371094e+01 2.967231178283691406e+01 3.370215225219726562e+01 3.207710266113281250e+01 2.533475303649902344e+01 2.723881340026855469e+01 2.031344985961914062e+01 2.909496498107910156e+01 2.461064529418945312e+01 2.193396377563476562e+01 3.969358825683593750e+01 2.425102043151855469e+01 2.867944908142089844e+01 2.450068855285644531e+01 3.142358779907226562e+01 3.681172943115234375e+01 2.580190277099609375e+01 2.858842277526855469e+01 3.750083541870117188e+01 3.162551879882812500e+01 3.026924133300781250e+01 3.069217109680175781e+01 3.329752349853515625e+01 2.921994400024414062e+01 2.675721168518066406e+01 2.322990608215332031e+01 2.318740272521972656e+01 3.092404747009277344e+01 3.259202194213867188e+01 3.371858215332031250e+01 2.811131286621093750e+01 2.622597503662109375e+01 3.390139770507812500e+01 3.838915252685546875e+01 4.181660079956054688e+01 2.216026115417480469e+01 2.755938339233398438e+01 2.878785324096679688e+01 2.791348838806152344e+01 3.320021057128906250e+01 3.877443313598632812e+01 3.313309478759765625e+01 2.857471466064453125e+01 3.067822837829589844e+01 1.989699172973632812e+01 2.454758834838867188e+01 2.471895599365234375e+01 3.622435760498046875e+01 3.041145133972167969e+01 2.658950996398925781e+01 3.052013015747070312e+01 3.345097732543945312e+01 3.101090812683105469e+01 2.916182327270507812e+01 2.972786331176757812e+01 3.546665573120117188e+01 +4.048228073120117188e+01 4.573303222656250000e+01 3.732317352294921875e+01 3.708349990844726562e+01 3.657858276367187500e+01 4.472570037841796875e+01 3.130569839477539062e+01 4.498519134521484375e+01 3.625889587402343750e+01 3.657069778442382812e+01 4.146912002563476562e+01 2.479059791564941406e+01 4.019581985473632812e+01 4.593422698974609375e+01 2.582398796081542969e+01 4.628286361694335938e+01 4.473745727539062500e+01 2.791777038574218750e+01 5.181737136840820312e+01 4.256595993041992188e+01 4.682986831665039062e+01 4.345685577392578125e+01 3.368542861938476562e+01 4.080907058715820312e+01 4.317924499511718750e+01 3.854902648925781250e+01 3.880446624755859375e+01 3.709533309936523438e+01 3.557659912109375000e+01 3.838742828369140625e+01 3.918609237670898438e+01 4.026442718505859375e+01 2.864995956420898438e+01 3.535816574096679688e+01 4.923991394042968750e+01 4.632125473022460938e+01 4.274968719482421875e+01 3.254870223999023438e+01 4.640599060058593750e+01 3.809763336181640625e+01 3.588011169433593750e+01 3.942444992065429688e+01 3.817063903808593750e+01 3.955628204345703125e+01 4.350744628906250000e+01 4.351560974121093750e+01 3.748942184448242188e+01 4.426906204223632812e+01 3.688608551025390625e+01 3.713608551025390625e+01 4.520817184448242188e+01 4.403448486328125000e+01 4.898612213134765625e+01 4.639157485961914062e+01 3.734505462646484375e+01 4.532954406738281250e+01 3.567855453491210938e+01 4.383054351806640625e+01 3.008792495727539062e+01 4.239851379394531250e+01 4.293812179565429688e+01 4.104859542846679688e+01 3.456941223144531250e+01 4.372218704223632812e+01 4.320352935791015625e+01 +5.957202911376953125e+01 5.164734649658203125e+01 4.826774215698242188e+01 5.600418090820312500e+01 5.321755981445312500e+01 4.055441284179687500e+01 5.366212081909179688e+01 4.629458618164062500e+01 5.020844650268554688e+01 5.346549224853515625e+01 5.205399703979492188e+01 5.724935531616210938e+01 4.463092041015625000e+01 5.026390075683593750e+01 5.203427886962890625e+01 5.777915191650390625e+01 4.834960937500000000e+01 5.838713836669921875e+01 5.394908142089843750e+01 5.917517089843750000e+01 5.829257965087890625e+01 5.275028228759765625e+01 5.285256958007812500e+01 4.768965530395507812e+01 4.570819854736328125e+01 4.336857986450195312e+01 4.719651412963867188e+01 6.173541259765625000e+01 5.309222793579101562e+01 5.911527633666992188e+01 5.459322357177734375e+01 4.550442504882812500e+01 5.246763610839843750e+01 4.912608337402343750e+01 5.215210342407226562e+01 4.197904968261718750e+01 4.580708694458007812e+01 4.870593261718750000e+01 4.758317184448242188e+01 6.191597747802734375e+01 4.940501403808593750e+01 5.929547500610351562e+01 5.744258880615234375e+01 4.445356750488281250e+01 5.307867813110351562e+01 4.835324478149414062e+01 4.506218338012695312e+01 4.866847991943359375e+01 4.153260040283203125e+01 5.792687225341796875e+01 4.520058441162109375e+01 4.638460540771484375e+01 5.953498077392578125e+01 5.260646820068359375e+01 5.767070388793945312e+01 4.803716278076171875e+01 6.074996948242187500e+01 4.903564453125000000e+01 4.501064300537109375e+01 5.296205520629882812e+01 6.169925689697265625e+01 5.419092559814453125e+01 4.319614791870117188e+01 4.328975677490234375e+01 4.851667022705078125e+01 +2.602717971801757812e+01 4.111323547363281250e+01 4.356396102905273438e+01 3.791952896118164062e+01 4.644079208374023438e+01 2.864124298095703125e+01 4.260465621948242188e+01 4.574166870117187500e+01 3.802254104614257812e+01 4.318601608276367188e+01 4.510317993164062500e+01 2.975561523437500000e+01 3.052635383605957031e+01 2.842670440673828125e+01 3.659716033935546875e+01 4.073849868774414062e+01 4.149053955078125000e+01 2.762191963195800781e+01 2.792254638671875000e+01 3.648495101928710938e+01 5.632187271118164062e+01 3.827998733520507812e+01 4.784880828857421875e+01 3.919204711914062500e+01 3.198086738586425781e+01 3.121646118164062500e+01 3.965003204345703125e+01 3.692886352539062500e+01 3.513186264038085938e+01 4.272596740722656250e+01 4.380384445190429688e+01 4.093528366088867188e+01 4.102491378784179688e+01 3.864891052246093750e+01 3.250395202636718750e+01 3.160699462890625000e+01 4.146867370605468750e+01 3.749205780029296875e+01 3.810823440551757812e+01 4.482434082031250000e+01 3.941656112670898438e+01 3.996726989746093750e+01 4.266638565063476562e+01 2.939131164550781250e+01 4.165373611450195312e+01 2.698685455322265625e+01 3.348244094848632812e+01 3.999777984619140625e+01 3.075278854370117188e+01 4.072603607177734375e+01 3.299910736083984375e+01 3.122237586975097656e+01 2.850550079345703125e+01 3.717125701904296875e+01 3.237622451782226562e+01 3.740526580810546875e+01 4.007665634155273438e+01 4.106311798095703125e+01 3.214589309692382812e+01 3.799594879150390625e+01 4.473135757446289062e+01 3.959059143066406250e+01 2.902374076843261719e+01 3.247298812866210938e+01 3.013383102416992188e+01 +4.658022308349609375e+01 4.611490631103515625e+01 4.125204086303710938e+01 4.157246780395507812e+01 4.832064819335937500e+01 4.237545013427734375e+01 4.126902770996093750e+01 4.771482849121093750e+01 3.346469879150390625e+01 3.703522872924804688e+01 3.734606552124023438e+01 4.263603591918945312e+01 3.900411224365234375e+01 4.441373443603515625e+01 3.905908584594726562e+01 4.146102905273437500e+01 4.467416381835937500e+01 3.708638381958007812e+01 3.960446548461914062e+01 5.208792114257812500e+01 4.238633728027343750e+01 4.518593215942382812e+01 4.564890289306640625e+01 4.032139587402343750e+01 4.457871627807617188e+01 4.406179809570312500e+01 4.967134475708007812e+01 3.540486526489257812e+01 4.402861022949218750e+01 4.941019439697265625e+01 4.072962188720703125e+01 3.942452621459960938e+01 3.822061157226562500e+01 3.662408828735351562e+01 4.300447845458984375e+01 4.497018432617187500e+01 3.396266937255859375e+01 4.300234222412109375e+01 3.906738281250000000e+01 4.862014770507812500e+01 3.642801666259765625e+01 3.997452545166015625e+01 3.931806564331054688e+01 4.729758834838867188e+01 4.273499679565429688e+01 4.592605209350585938e+01 3.502920913696289062e+01 3.490173721313476562e+01 4.266643905639648438e+01 3.897171401977539062e+01 3.928108978271484375e+01 4.089442443847656250e+01 4.197054290771484375e+01 5.064560317993164062e+01 4.771600341796875000e+01 3.840658569335937500e+01 4.769344329833984375e+01 4.451564788818359375e+01 3.641068267822265625e+01 4.603630828857421875e+01 3.974631118774414062e+01 3.380364608764648438e+01 3.061343002319335938e+01 3.900862884521484375e+01 3.292467117309570312e+01 +2.133832550048828125e+01 2.647955131530761719e+01 3.049039649963378906e+01 2.686197090148925781e+01 3.002048683166503906e+01 3.037078857421875000e+01 2.244527435302734375e+01 3.352663040161132812e+01 3.002612876892089844e+01 2.520425033569335938e+01 2.925358963012695312e+01 1.829187011718750000e+01 2.860018348693847656e+01 3.289139556884765625e+01 2.432240676879882812e+01 3.153591156005859375e+01 3.092209625244140625e+01 2.310617828369140625e+01 2.779003524780273438e+01 2.541773223876953125e+01 2.870035552978515625e+01 2.776228332519531250e+01 2.962680244445800781e+01 2.503676986694335938e+01 3.689447784423828125e+01 3.040604400634765625e+01 2.477700424194335938e+01 3.218743896484375000e+01 3.253416442871093750e+01 3.404662704467773438e+01 3.682256698608398438e+01 3.425203323364257812e+01 2.884146118164062500e+01 2.757291984558105469e+01 3.327061462402343750e+01 3.727155303955078125e+01 2.967531394958496094e+01 3.145058631896972656e+01 4.139137268066406250e+01 3.413208389282226562e+01 2.988706207275390625e+01 1.733683395385742188e+01 2.605308914184570312e+01 2.668643569946289062e+01 2.157122802734375000e+01 2.948925399780273438e+01 2.980506515502929688e+01 2.874515151977539062e+01 3.026620101928710938e+01 3.039198303222656250e+01 4.112219238281250000e+01 2.932985115051269531e+01 3.481001281738281250e+01 3.558580780029296875e+01 2.276365661621093750e+01 3.562599182128906250e+01 2.649012947082519531e+01 3.371712875366210938e+01 2.774554061889648438e+01 3.080778121948242188e+01 2.549974822998046875e+01 2.423438835144042969e+01 3.075045967102050781e+01 3.065512847900390625e+01 2.870949935913085938e+01 +3.535604095458984375e+01 3.061919784545898438e+01 3.434490966796875000e+01 3.806687164306640625e+01 3.290302658081054688e+01 3.634108352661132812e+01 3.438386154174804688e+01 2.372060775756835938e+01 2.820384597778320312e+01 3.336584472656250000e+01 2.553839302062988281e+01 3.946770858764648438e+01 3.322216796875000000e+01 3.240013504028320312e+01 3.112475967407226562e+01 4.081213378906250000e+01 3.292010498046875000e+01 3.127838325500488281e+01 3.343324661254882812e+01 3.745684432983398438e+01 3.989007568359375000e+01 2.754785156250000000e+01 3.304999160766601562e+01 3.991851425170898438e+01 3.470705413818359375e+01 3.608247375488281250e+01 3.721010589599609375e+01 3.525220489501953125e+01 2.835783767700195312e+01 2.816541290283203125e+01 3.739471054077148438e+01 2.823196983337402344e+01 2.667341613769531250e+01 2.781998252868652344e+01 2.737472343444824219e+01 3.549386978149414062e+01 2.824082183837890625e+01 3.025917053222656250e+01 2.992395019531250000e+01 4.509574508666992188e+01 3.656404495239257812e+01 3.886013031005859375e+01 3.257345199584960938e+01 2.987817764282226562e+01 4.231253051757812500e+01 3.995401000976562500e+01 3.357905960083007812e+01 3.235208129882812500e+01 3.663361740112304688e+01 2.995600509643554688e+01 3.891158294677734375e+01 3.732921600341796875e+01 2.895526504516601562e+01 3.109699249267578125e+01 3.554609680175781250e+01 3.248410034179687500e+01 2.949611854553222656e+01 3.486270523071289062e+01 3.425956344604492188e+01 2.941086959838867188e+01 3.321685409545898438e+01 3.373098373413085938e+01 3.356056213378906250e+01 3.702825164794921875e+01 3.300093841552734375e+01 +4.840733718872070312e+01 5.692922210693359375e+01 4.887481689453125000e+01 4.202414703369140625e+01 4.540183258056640625e+01 5.068269348144531250e+01 5.528259658813476562e+01 4.965710449218750000e+01 5.226525497436523438e+01 5.279759216308593750e+01 5.384086990356445312e+01 6.220651245117187500e+01 4.514704513549804688e+01 4.510638809204101562e+01 5.034910583496093750e+01 6.570300292968750000e+01 4.571523284912109375e+01 5.188722991943359375e+01 5.476658630371093750e+01 4.815662002563476562e+01 5.469369888305664062e+01 4.996793365478515625e+01 5.614500808715820312e+01 5.292003631591796875e+01 4.321874237060546875e+01 5.232123565673828125e+01 5.730599212646484375e+01 4.651627349853515625e+01 4.556895065307617188e+01 5.676638793945312500e+01 4.471232223510742188e+01 4.687789154052734375e+01 5.182678222656250000e+01 4.691722488403320312e+01 4.670862197875976562e+01 5.101378250122070312e+01 4.819562530517578125e+01 4.938955688476562500e+01 5.507804870605468750e+01 5.346032333374023438e+01 5.326846313476562500e+01 4.718339157104492188e+01 6.271211242675781250e+01 3.816260147094726562e+01 5.349270248413085938e+01 5.461911010742187500e+01 4.485536193847656250e+01 5.396158218383789062e+01 4.338143157958984375e+01 5.678874206542968750e+01 5.234241485595703125e+01 5.292696380615234375e+01 4.225333786010742188e+01 4.824842453002929688e+01 6.250781631469726562e+01 5.001290130615234375e+01 3.816583251953125000e+01 4.801523971557617188e+01 4.835408020019531250e+01 5.194553375244140625e+01 4.195309448242187500e+01 4.979729080200195312e+01 5.057264328002929688e+01 4.490886688232421875e+01 4.603127288818359375e+01 +3.717350769042968750e+01 3.085983657836914062e+01 2.447715759277343750e+01 2.452691650390625000e+01 3.262813949584960938e+01 2.851716995239257812e+01 2.711573791503906250e+01 2.623735237121582031e+01 3.082001113891601562e+01 2.825680541992187500e+01 3.324115753173828125e+01 3.819602203369140625e+01 2.933481788635253906e+01 3.073940277099609375e+01 3.100724411010742188e+01 2.653387451171875000e+01 2.560202789306640625e+01 2.368651199340820312e+01 3.429335403442382812e+01 3.338340759277343750e+01 3.047289466857910156e+01 2.980891227722167969e+01 3.191130065917968750e+01 3.055919456481933594e+01 4.164990234375000000e+01 2.349048995971679688e+01 3.143992042541503906e+01 3.936904144287109375e+01 3.834146118164062500e+01 3.336710357666015625e+01 3.697911071777343750e+01 4.173471069335937500e+01 3.385084915161132812e+01 3.047881126403808594e+01 2.811763000488281250e+01 2.746573829650878906e+01 3.346100616455078125e+01 2.817890548706054688e+01 2.813929176330566406e+01 2.529608154296875000e+01 2.673931884765625000e+01 2.802517700195312500e+01 2.756815528869628906e+01 3.519476699829101562e+01 2.340261077880859375e+01 3.653337860107421875e+01 2.049307250976562500e+01 3.539022064208984375e+01 3.067840003967285156e+01 2.563407707214355469e+01 3.303462982177734375e+01 3.348340606689453125e+01 2.579760169982910156e+01 2.355827331542968750e+01 2.594894409179687500e+01 3.346969604492187500e+01 3.549391937255859375e+01 3.103102684020996094e+01 2.769655609130859375e+01 2.486513519287109375e+01 4.036732482910156250e+01 3.600617218017578125e+01 3.513735198974609375e+01 2.723174858093261719e+01 2.981537055969238281e+01 +3.024375152587890625e+01 1.845784759521484375e+01 2.778901481628417969e+01 2.635486221313476562e+01 2.388175392150878906e+01 2.774020004272460938e+01 2.344160842895507812e+01 1.532334709167480469e+01 3.314154052734375000e+01 2.923942565917968750e+01 2.372023010253906250e+01 3.346418762207031250e+01 2.924728775024414062e+01 2.866807556152343750e+01 2.672915267944335938e+01 2.897896766662597656e+01 2.483383178710937500e+01 2.719627189636230469e+01 2.302909278869628906e+01 2.895943450927734375e+01 2.461111831665039062e+01 2.607537460327148438e+01 2.546899604797363281e+01 2.377834701538085938e+01 3.210504150390625000e+01 2.568349266052246094e+01 2.802899932861328125e+01 3.293457794189453125e+01 2.608973693847656250e+01 2.691731262207031250e+01 2.227996826171875000e+01 2.893897247314453125e+01 2.741725730895996094e+01 2.843725776672363281e+01 2.539590835571289062e+01 2.273154830932617188e+01 2.117022132873535156e+01 2.643736457824707031e+01 2.429145812988281250e+01 2.092608451843261719e+01 2.842092132568359375e+01 3.124299049377441406e+01 3.261167907714843750e+01 3.024334716796875000e+01 2.827074813842773438e+01 2.269354438781738281e+01 3.306604766845703125e+01 2.413848495483398438e+01 2.863784027099609375e+01 2.700032234191894531e+01 2.112487602233886719e+01 2.399810791015625000e+01 3.187642288208007812e+01 2.362024116516113281e+01 2.024160575866699219e+01 1.980775833129882812e+01 2.565460205078125000e+01 3.041168785095214844e+01 2.852424240112304688e+01 3.034111404418945312e+01 2.653445625305175781e+01 2.508691024780273438e+01 2.010208511352539062e+01 2.702086639404296875e+01 2.254929924011230469e+01 +3.590387725830078125e+01 3.638233947753906250e+01 3.716461563110351562e+01 3.842832183837890625e+01 3.207084274291992188e+01 3.493649291992187500e+01 3.292736053466796875e+01 3.022257232666015625e+01 3.568690872192382812e+01 3.786695098876953125e+01 3.497045135498046875e+01 3.389040374755859375e+01 2.622552299499511719e+01 3.570655822753906250e+01 2.772648429870605469e+01 2.179130172729492188e+01 3.700208663940429688e+01 3.649745178222656250e+01 3.488784790039062500e+01 2.997819328308105469e+01 3.620439910888671875e+01 2.957761383056640625e+01 3.134976768493652344e+01 3.401008987426757812e+01 2.656627273559570312e+01 3.404456329345703125e+01 3.439140319824218750e+01 3.509402847290039062e+01 3.024238586425781250e+01 2.385165405273437500e+01 2.903176307678222656e+01 3.670342254638671875e+01 3.200792694091796875e+01 3.585053634643554688e+01 3.791433715820312500e+01 2.870929718017578125e+01 3.655177688598632812e+01 3.225230026245117188e+01 3.463144683837890625e+01 3.045877647399902344e+01 3.706517410278320312e+01 4.277137756347656250e+01 3.615974807739257812e+01 3.188244247436523438e+01 3.458847045898437500e+01 2.602444839477539062e+01 3.588456726074218750e+01 3.330279159545898438e+01 2.709351730346679688e+01 3.688701629638671875e+01 3.349567794799804688e+01 3.851291656494140625e+01 4.337963867187500000e+01 4.364340591430664062e+01 3.044819641113281250e+01 3.107932281494140625e+01 3.742562866210937500e+01 2.983621025085449219e+01 3.016440582275390625e+01 2.814052581787109375e+01 3.812336730957031250e+01 3.594729614257812500e+01 3.063106536865234375e+01 3.694751358032226562e+01 3.503853607177734375e+01 +4.326286697387695312e+01 4.265449523925781250e+01 4.479394531250000000e+01 2.873549652099609375e+01 4.053918075561523438e+01 3.507355880737304688e+01 3.629712295532226562e+01 3.445959091186523438e+01 4.050429153442382812e+01 4.056383895874023438e+01 4.989603424072265625e+01 4.804708480834960938e+01 4.211225891113281250e+01 3.534032440185546875e+01 3.481517791748046875e+01 4.146426391601562500e+01 4.283791351318359375e+01 3.905626678466796875e+01 4.206752395629882812e+01 3.901615142822265625e+01 4.116281509399414062e+01 3.194984626770019531e+01 3.711566925048828125e+01 3.866949081420898438e+01 4.560187149047851562e+01 3.141258430480957031e+01 3.206301879882812500e+01 4.531636810302734375e+01 4.942349243164062500e+01 4.603743362426757812e+01 4.179066848754882812e+01 4.180526733398437500e+01 4.089245605468750000e+01 4.090881347656250000e+01 3.973760986328125000e+01 3.020556449890136719e+01 3.514452743530273438e+01 3.740901565551757812e+01 4.075587463378906250e+01 3.443553543090820312e+01 4.154452514648437500e+01 4.178796005249023438e+01 3.265902328491210938e+01 4.165399169921875000e+01 3.598064804077148438e+01 4.043312072753906250e+01 3.876800155639648438e+01 3.602510452270507812e+01 4.262561798095703125e+01 3.388502120971679688e+01 3.991080856323242188e+01 3.294137191772460938e+01 4.245939254760742188e+01 4.021997833251953125e+01 3.490031051635742188e+01 4.043494415283203125e+01 4.411717987060546875e+01 3.814227294921875000e+01 4.144236373901367188e+01 4.054415130615234375e+01 3.787204360961914062e+01 4.717166900634765625e+01 3.905233764648437500e+01 3.856756973266601562e+01 4.152458953857421875e+01 +2.288806343078613281e+01 2.619815444946289062e+01 2.951101303100585938e+01 2.736753845214843750e+01 2.217820739746093750e+01 2.676535224914550781e+01 2.861298370361328125e+01 3.653519439697265625e+01 2.516554260253906250e+01 3.006989669799804688e+01 2.696975517272949219e+01 2.800040245056152344e+01 2.978220748901367188e+01 3.033974266052246094e+01 2.373089599609375000e+01 3.147947311401367188e+01 2.774100685119628906e+01 3.256793212890625000e+01 2.964933013916015625e+01 2.701928329467773438e+01 3.788391876220703125e+01 3.118479347229003906e+01 3.095279693603515625e+01 2.699509048461914062e+01 3.070775604248046875e+01 3.396269989013671875e+01 2.567931556701660156e+01 2.847874450683593750e+01 2.995140457153320312e+01 3.276926803588867188e+01 3.420273208618164062e+01 2.383544540405273438e+01 3.351910781860351562e+01 3.144854545593261719e+01 4.033129501342773438e+01 3.422319793701171875e+01 3.040199279785156250e+01 3.097878265380859375e+01 3.286335754394531250e+01 2.879467582702636719e+01 2.429112625122070312e+01 2.855907058715820312e+01 2.032708549499511719e+01 3.107997894287109375e+01 3.407357406616210938e+01 2.994550895690917969e+01 3.139027404785156250e+01 3.044394683837890625e+01 2.883382606506347656e+01 3.632219314575195312e+01 2.990595054626464844e+01 3.129966735839843750e+01 3.500103759765625000e+01 3.033678627014160156e+01 3.432194900512695312e+01 2.705735969543457031e+01 2.972784614562988281e+01 3.008016395568847656e+01 2.400791358947753906e+01 2.143566513061523438e+01 2.605632972717285156e+01 2.648886871337890625e+01 2.902040290832519531e+01 3.452244186401367188e+01 2.831738281250000000e+01 +3.919259643554687500e+01 4.822565460205078125e+01 4.462564468383789062e+01 3.861407852172851562e+01 4.043629455566406250e+01 4.051603317260742188e+01 4.376518249511718750e+01 4.765443038940429688e+01 3.867654800415039062e+01 4.154012680053710938e+01 3.861803817749023438e+01 4.622873306274414062e+01 4.497886657714843750e+01 3.740852355957031250e+01 3.182343673706054688e+01 4.278937911987304688e+01 3.478979110717773438e+01 3.566730117797851562e+01 4.481787490844726562e+01 4.533579254150390625e+01 4.738481521606445312e+01 3.558134841918945312e+01 4.479699707031250000e+01 4.106365203857421875e+01 3.557418823242187500e+01 5.376165390014648438e+01 3.979800033569335938e+01 4.654796981811523438e+01 3.742766952514648438e+01 3.780606079101562500e+01 4.981509399414062500e+01 4.060668563842773438e+01 4.149792098999023438e+01 4.124195861816406250e+01 3.650998687744140625e+01 4.724878311157226562e+01 3.604959487915039062e+01 4.355431365966796875e+01 4.541446304321289062e+01 4.878308486938476562e+01 4.807389450073242188e+01 4.166360473632812500e+01 4.477787780761718750e+01 4.284370040893554688e+01 4.196123123168945312e+01 4.116721343994140625e+01 3.824930953979492188e+01 3.587533569335937500e+01 4.714675140380859375e+01 4.665718841552734375e+01 5.002732086181640625e+01 4.235495758056640625e+01 3.530998992919921875e+01 4.110762786865234375e+01 4.772004699707031250e+01 4.437134933471679688e+01 3.419977951049804688e+01 5.091139984130859375e+01 4.660807418823242188e+01 4.364362335205078125e+01 3.119229125976562500e+01 3.656299209594726562e+01 4.020123291015625000e+01 3.391270446777343750e+01 3.170058250427246094e+01 +4.759736251831054688e+01 4.701834869384765625e+01 4.769286346435546875e+01 4.371318054199218750e+01 4.917501449584960938e+01 4.053212738037109375e+01 4.821609878540039062e+01 4.227575302124023438e+01 4.327637481689453125e+01 4.411013412475585938e+01 4.143980407714843750e+01 3.947274017333984375e+01 4.212292480468750000e+01 4.683285522460937500e+01 3.878532409667968750e+01 5.075472259521484375e+01 4.536131286621093750e+01 3.792054748535156250e+01 4.058529663085937500e+01 5.209277725219726562e+01 4.888279724121093750e+01 4.045248031616210938e+01 3.446887207031250000e+01 4.730174636840820312e+01 3.585842132568359375e+01 3.478089523315429688e+01 4.692275238037109375e+01 4.182131958007812500e+01 4.350132369995117188e+01 4.580594253540039062e+01 5.214244461059570312e+01 3.782603836059570312e+01 3.727697753906250000e+01 4.072061157226562500e+01 4.317619323730468750e+01 5.433437347412109375e+01 4.157836151123046875e+01 4.068982315063476562e+01 4.804314041137695312e+01 4.878562927246093750e+01 5.113495254516601562e+01 4.583769226074218750e+01 4.617443847656250000e+01 4.850952148437500000e+01 4.689438629150390625e+01 3.632683944702148438e+01 4.456740570068359375e+01 4.334845733642578125e+01 3.912544250488281250e+01 5.020895385742187500e+01 5.448297119140625000e+01 4.938715744018554688e+01 4.757131576538085938e+01 4.857285690307617188e+01 4.148767852783203125e+01 5.050546264648437500e+01 4.149058151245117188e+01 5.036071395874023438e+01 4.178253173828125000e+01 4.928149795532226562e+01 4.143922424316406250e+01 4.535758209228515625e+01 3.758194351196289062e+01 4.175782012939453125e+01 4.148581695556640625e+01 +2.887197494506835938e+01 2.607195091247558594e+01 3.790203094482421875e+01 3.388307189941406250e+01 2.964483070373535156e+01 3.675587463378906250e+01 3.584685516357421875e+01 3.536499404907226562e+01 2.775605583190917969e+01 2.613267135620117188e+01 2.911359214782714844e+01 3.508946228027343750e+01 3.481928634643554688e+01 2.594581413269042969e+01 4.176176834106445312e+01 3.444221878051757812e+01 2.595182609558105469e+01 3.153790092468261719e+01 4.251148223876953125e+01 3.930612945556640625e+01 3.048468017578125000e+01 2.525176811218261719e+01 2.810562133789062500e+01 3.291167068481445312e+01 3.399594497680664062e+01 3.229801559448242188e+01 3.551083755493164062e+01 3.321849822998046875e+01 3.532075119018554688e+01 3.315835189819335938e+01 3.999432754516601562e+01 4.036181259155273438e+01 3.471784210205078125e+01 3.143189620971679688e+01 3.151951599121093750e+01 3.340851974487304688e+01 3.063951301574707031e+01 2.933921432495117188e+01 2.394390106201171875e+01 3.696304321289062500e+01 2.693858337402343750e+01 3.606858825683593750e+01 3.191906738281250000e+01 3.270405578613281250e+01 2.948678970336914062e+01 3.922369384765625000e+01 2.919536590576171875e+01 3.277597427368164062e+01 3.180488586425781250e+01 3.448551177978515625e+01 3.850649642944335938e+01 3.775340270996093750e+01 2.450717735290527344e+01 3.152936363220214844e+01 3.551707077026367188e+01 3.582031250000000000e+01 4.117059326171875000e+01 3.257978820800781250e+01 3.349249649047851562e+01 4.011931228637695312e+01 3.720397567749023438e+01 3.280112457275390625e+01 4.279376983642578125e+01 3.535505676269531250e+01 3.004572486877441406e+01 +5.683171463012695312e+01 4.310111618041992188e+01 3.430434036254882812e+01 5.196957778930664062e+01 4.570184326171875000e+01 4.643828201293945312e+01 3.867196273803710938e+01 4.678352355957031250e+01 3.506710815429687500e+01 5.139670562744140625e+01 4.672553634643554688e+01 4.868979263305664062e+01 4.177781295776367188e+01 4.441811370849609375e+01 3.913493347167968750e+01 5.541284179687500000e+01 3.819928741455078125e+01 6.036696243286132812e+01 4.462097549438476562e+01 4.254965591430664062e+01 4.612312698364257812e+01 4.586392974853515625e+01 5.004981613159179688e+01 4.468362426757812500e+01 3.559054565429687500e+01 4.454006195068359375e+01 4.760655975341796875e+01 3.739796066284179688e+01 4.462698364257812500e+01 4.453820037841796875e+01 3.916445922851562500e+01 4.226097869873046875e+01 4.745692443847656250e+01 4.229344558715820312e+01 4.389017486572265625e+01 4.417862701416015625e+01 4.024929809570312500e+01 3.709626007080078125e+01 4.054663848876953125e+01 4.575540542602539062e+01 4.370320129394531250e+01 4.323402786254882812e+01 5.215937423706054688e+01 4.712815856933593750e+01 4.850925827026367188e+01 4.008907318115234375e+01 4.461237716674804688e+01 4.226806640625000000e+01 3.820891189575195312e+01 5.435361099243164062e+01 4.032202148437500000e+01 4.597769165039062500e+01 4.454790496826171875e+01 4.161436462402343750e+01 5.006073379516601562e+01 4.747016906738281250e+01 4.492969894409179688e+01 4.844655609130859375e+01 4.390772247314453125e+01 6.043050765991210938e+01 3.581563949584960938e+01 3.636112594604492188e+01 4.202920913696289062e+01 4.522835922241210938e+01 3.675297927856445312e+01 +3.648353576660156250e+01 3.566056060791015625e+01 3.354854965209960938e+01 3.842644119262695312e+01 3.154719543457031250e+01 3.626677703857421875e+01 3.491948699951171875e+01 3.015081405639648438e+01 3.373474884033203125e+01 3.871313858032226562e+01 3.890068054199218750e+01 2.954608917236328125e+01 3.276722335815429688e+01 3.873365783691406250e+01 2.740010833740234375e+01 3.194856262207031250e+01 3.676045989990234375e+01 3.605843734741210938e+01 3.755739974975585938e+01 3.534555816650390625e+01 3.687056732177734375e+01 3.692997741699218750e+01 3.040351486206054688e+01 3.970064544677734375e+01 3.660909652709960938e+01 2.669269752502441406e+01 3.324879455566406250e+01 4.136658859252929688e+01 2.714909553527832031e+01 3.615311431884765625e+01 2.892165565490722656e+01 3.423575210571289062e+01 3.595583343505859375e+01 3.486503601074218750e+01 3.225257873535156250e+01 2.896967315673828125e+01 2.807703399658203125e+01 3.121049499511718750e+01 3.559527587890625000e+01 3.088350486755371094e+01 4.067182922363281250e+01 3.473416137695312500e+01 3.453872299194335938e+01 3.426713943481445312e+01 3.308551788330078125e+01 2.560585594177246094e+01 3.682863616943359375e+01 2.664939880371093750e+01 3.516128540039062500e+01 3.913138198852539062e+01 2.980702590942382812e+01 3.481056213378906250e+01 4.752063751220703125e+01 3.808850479125976562e+01 3.127398681640625000e+01 3.095936965942382812e+01 3.022264480590820312e+01 2.763588142395019531e+01 3.226227951049804688e+01 4.109236907958984375e+01 4.439769363403320312e+01 3.372801208496093750e+01 3.485898590087890625e+01 3.668949127197265625e+01 3.140305137634277344e+01 +4.340761947631835938e+01 4.815468215942382812e+01 3.476736831665039062e+01 4.734623336791992188e+01 3.747179031372070312e+01 4.204413986206054688e+01 3.005590820312500000e+01 4.218793487548828125e+01 3.272232818603515625e+01 4.232655334472656250e+01 3.687374877929687500e+01 3.868788528442382812e+01 3.892014694213867188e+01 3.889820480346679688e+01 3.434746551513671875e+01 4.008893585205078125e+01 4.393381118774414062e+01 4.193872451782226562e+01 3.897647094726562500e+01 3.259883880615234375e+01 4.633576965332031250e+01 4.116574478149414062e+01 3.821704483032226562e+01 3.645338821411132812e+01 3.214281082153320312e+01 3.839025115966796875e+01 3.716426849365234375e+01 4.087741851806640625e+01 3.822048568725585938e+01 3.744445800781250000e+01 3.845854187011718750e+01 3.579226303100585938e+01 4.058918380737304688e+01 3.771802139282226562e+01 4.401132583618164062e+01 4.186529541015625000e+01 4.139863204956054688e+01 3.790137100219726562e+01 3.302072906494140625e+01 4.999109649658203125e+01 4.235881042480468750e+01 3.668316268920898438e+01 3.400712203979492188e+01 4.034642791748046875e+01 4.179337310791015625e+01 3.442117309570312500e+01 4.074584960937500000e+01 3.867663192749023438e+01 3.431170654296875000e+01 4.170652770996093750e+01 3.389108276367187500e+01 3.354283523559570312e+01 4.115435028076171875e+01 4.813583755493164062e+01 3.406389617919921875e+01 4.169922256469726562e+01 3.531814575195312500e+01 3.964277267456054688e+01 4.052165222167968750e+01 3.848034286499023438e+01 3.697808837890625000e+01 3.531596755981445312e+01 3.764214706420898438e+01 3.681291580200195312e+01 3.130753326416015625e+01 +3.228948211669921875e+01 3.143657684326171875e+01 3.223395156860351562e+01 2.963073348999023438e+01 2.896715736389160156e+01 2.934963989257812500e+01 2.832534980773925781e+01 4.015660095214843750e+01 2.822142791748046875e+01 3.658627319335937500e+01 3.340660858154296875e+01 2.905288124084472656e+01 2.848213577270507812e+01 3.149277496337890625e+01 3.239406204223632812e+01 3.369072723388671875e+01 3.378097534179687500e+01 3.134425926208496094e+01 2.388799667358398438e+01 2.911289024353027344e+01 3.701390838623046875e+01 2.861455345153808594e+01 3.452297210693359375e+01 3.677021789550781250e+01 3.392937469482421875e+01 2.673363494873046875e+01 2.529560852050781250e+01 3.059198951721191406e+01 2.674139213562011719e+01 2.718905830383300781e+01 4.165005493164062500e+01 2.321936416625976562e+01 3.085208511352539062e+01 2.529817199707031250e+01 3.010191154479980469e+01 3.304486846923828125e+01 3.248403167724609375e+01 3.016220283508300781e+01 3.545260620117187500e+01 3.396393203735351562e+01 3.111715316772460938e+01 3.291518402099609375e+01 2.720261001586914062e+01 2.401695251464843750e+01 2.898607254028320312e+01 2.037004852294921875e+01 3.068889427185058594e+01 3.670891571044921875e+01 3.173964691162109375e+01 3.341569900512695312e+01 3.605637359619140625e+01 2.490172576904296875e+01 3.069864654541015625e+01 3.200207901000976562e+01 2.989637756347656250e+01 2.956102180480957031e+01 3.816643905639648438e+01 3.113766098022460938e+01 2.693136787414550781e+01 3.065834045410156250e+01 3.161005020141601562e+01 3.528484725952148438e+01 2.836626815795898438e+01 3.652237319946289062e+01 3.288501739501953125e+01 +6.161679840087890625e+01 7.527998352050781250e+01 6.416058349609375000e+01 5.640066909790039062e+01 5.964157867431640625e+01 5.111936187744140625e+01 5.989142608642578125e+01 7.021441650390625000e+01 5.233633422851562500e+01 5.808142852783203125e+01 5.605536270141601562e+01 5.465989685058593750e+01 5.397728347778320312e+01 5.275152206420898438e+01 5.609671401977539062e+01 6.378640365600585938e+01 5.948234558105468750e+01 4.781270980834960938e+01 5.970782470703125000e+01 5.201999664306640625e+01 6.865929412841796875e+01 5.599822998046875000e+01 5.975102615356445312e+01 6.270188903808593750e+01 3.980780029296875000e+01 5.398113632202148438e+01 5.856109237670898438e+01 5.384004592895507812e+01 5.764772033691406250e+01 6.969637298583984375e+01 5.991933822631835938e+01 5.146271514892578125e+01 4.756418228149414062e+01 4.913030242919921875e+01 4.543542861938476562e+01 5.993334960937500000e+01 5.182505798339843750e+01 4.345892715454101562e+01 6.274371719360351562e+01 6.565444946289062500e+01 5.804734039306640625e+01 5.447724151611328125e+01 6.106661224365234375e+01 5.568407058715820312e+01 5.659337615966796875e+01 5.526899337768554688e+01 5.259281921386718750e+01 4.936370849609375000e+01 4.513459777832031250e+01 6.072398376464843750e+01 5.902020645141601562e+01 5.367897033691406250e+01 6.143679809570312500e+01 5.491955184936523438e+01 7.033227539062500000e+01 5.721615219116210938e+01 5.366381072998046875e+01 6.756401824951171875e+01 4.802230072021484375e+01 6.276696014404296875e+01 5.496536254882812500e+01 6.371214294433593750e+01 5.594480133056640625e+01 5.032337570190429688e+01 5.034069442749023438e+01 +3.867108154296875000e+01 4.606743240356445312e+01 4.234148025512695312e+01 4.283370971679687500e+01 4.392873764038085938e+01 3.393585968017578125e+01 3.852956008911132812e+01 4.511291885375976562e+01 3.139991760253906250e+01 2.988401985168457031e+01 3.077659416198730469e+01 4.189562225341796875e+01 3.219470596313476562e+01 3.920646286010742188e+01 3.762298583984375000e+01 4.206946182250976562e+01 4.043519592285156250e+01 4.171062469482421875e+01 3.699864196777343750e+01 3.116150283813476562e+01 4.391755294799804688e+01 4.249572753906250000e+01 4.181132888793945312e+01 4.555292129516601562e+01 2.725759506225585938e+01 2.940395545959472656e+01 3.150356292724609375e+01 3.695915222167968750e+01 3.677541732788085938e+01 4.372602081298828125e+01 3.210894012451171875e+01 3.905651092529296875e+01 3.233050155639648438e+01 2.783271026611328125e+01 3.033505821228027344e+01 4.098269653320312500e+01 3.291010665893554688e+01 3.840589904785156250e+01 3.333606719970703125e+01 3.879596328735351562e+01 2.944031906127929688e+01 2.806071281433105469e+01 2.976094818115234375e+01 3.206887054443359375e+01 3.905540466308593750e+01 3.979323577880859375e+01 3.724572372436523438e+01 3.374611282348632812e+01 3.243967437744140625e+01 3.889315795898437500e+01 3.908458709716796875e+01 3.116152000427246094e+01 3.714986419677734375e+01 4.184598922729492188e+01 3.768041610717773438e+01 3.750545883178710938e+01 3.175811195373535156e+01 3.498136138916015625e+01 3.107711410522460938e+01 3.015277862548828125e+01 2.816884040832519531e+01 3.664142608642578125e+01 3.463341522216796875e+01 3.378936386108398438e+01 3.743474578857421875e+01 +5.276950073242187500e+01 4.657450866699218750e+01 3.914946365356445312e+01 4.032233428955078125e+01 4.098256683349609375e+01 3.503354263305664062e+01 3.973560333251953125e+01 4.235847091674804688e+01 4.999364471435546875e+01 4.147959518432617188e+01 4.335715484619140625e+01 4.928629302978515625e+01 4.535477066040039062e+01 4.867069244384765625e+01 3.673771286010742188e+01 4.397466278076171875e+01 3.701461410522460938e+01 4.346102905273437500e+01 4.722207641601562500e+01 4.998523330688476562e+01 5.101929473876953125e+01 3.792445755004882812e+01 3.817494201660156250e+01 4.256762695312500000e+01 4.238725280761718750e+01 3.616485977172851562e+01 4.204066085815429688e+01 3.728746795654296875e+01 4.591805648803710938e+01 4.156488800048828125e+01 5.331735992431640625e+01 3.918565750122070312e+01 4.448134613037109375e+01 3.928313446044921875e+01 4.709915924072265625e+01 4.382915878295898438e+01 4.138238525390625000e+01 4.152322769165039062e+01 4.244163131713867188e+01 4.432139205932617188e+01 4.443820190429687500e+01 4.977230834960937500e+01 4.836444473266601562e+01 4.887270736694335938e+01 4.484907150268554688e+01 4.441307830810546875e+01 3.983973693847656250e+01 4.534065628051757812e+01 3.910021209716796875e+01 5.839904785156250000e+01 4.176870727539062500e+01 4.527524566650390625e+01 4.378016281127929688e+01 5.157882690429687500e+01 5.559716796875000000e+01 4.804007339477539062e+01 3.853971099853515625e+01 4.297415542602539062e+01 4.224870300292968750e+01 5.053151702880859375e+01 3.927680587768554688e+01 4.666586303710937500e+01 3.359485626220703125e+01 4.796826171875000000e+01 4.076343917846679688e+01 +4.819463729858398438e+01 3.892754364013671875e+01 4.224492645263671875e+01 3.095024108886718750e+01 3.709433364868164062e+01 3.331872940063476562e+01 3.679867935180664062e+01 4.881753540039062500e+01 3.360419845581054688e+01 2.852222442626953125e+01 3.468502044677734375e+01 4.082507324218750000e+01 4.310695648193359375e+01 3.669598388671875000e+01 4.884282302856445312e+01 3.629655456542968750e+01 3.254741287231445312e+01 3.739542770385742188e+01 3.369260406494140625e+01 4.680558776855468750e+01 4.082847595214843750e+01 3.898621368408203125e+01 4.180006027221679688e+01 2.521936416625976562e+01 3.413792419433593750e+01 4.475675964355468750e+01 3.417899322509765625e+01 3.775708770751953125e+01 4.938503265380859375e+01 4.488730239868164062e+01 3.724257278442382812e+01 3.267709350585937500e+01 4.231133270263671875e+01 4.671734619140625000e+01 3.584516143798828125e+01 3.816607666015625000e+01 2.964627075195312500e+01 3.398744964599609375e+01 4.077073669433593750e+01 3.259924697875976562e+01 3.547117996215820312e+01 4.085876083374023438e+01 4.163857269287109375e+01 3.950990295410156250e+01 3.974927139282226562e+01 4.083350753784179688e+01 4.543500900268554688e+01 3.328439331054687500e+01 4.081515884399414062e+01 4.463242721557617188e+01 2.805368423461914062e+01 3.925143432617187500e+01 3.616580963134765625e+01 4.064897155761718750e+01 4.800907897949218750e+01 3.857117462158203125e+01 3.525148010253906250e+01 3.755265426635742188e+01 3.666672515869140625e+01 4.742594909667968750e+01 4.121400451660156250e+01 3.402962493896484375e+01 4.540219879150390625e+01 2.723975944519042969e+01 3.889192199707031250e+01 +3.683557128906250000e+01 4.353959655761718750e+01 4.199758911132812500e+01 3.186799812316894531e+01 4.008950805664062500e+01 4.196020889282226562e+01 3.118043899536132812e+01 4.172546005249023438e+01 3.768720245361328125e+01 3.845771408081054688e+01 4.014652633666992188e+01 2.173089408874511719e+01 3.941572952270507812e+01 3.608146667480468750e+01 4.595882034301757812e+01 4.335760879516601562e+01 3.393889999389648438e+01 4.250586318969726562e+01 3.586093521118164062e+01 4.271287918090820312e+01 4.207113647460937500e+01 3.353158569335937500e+01 4.023719024658203125e+01 4.401707458496093750e+01 3.444847106933593750e+01 3.329369735717773438e+01 3.556571197509765625e+01 3.052225875854492188e+01 3.684059143066406250e+01 4.444275283813476562e+01 3.103342819213867188e+01 4.123671722412109375e+01 4.024599456787109375e+01 3.054222679138183594e+01 4.407461929321289062e+01 4.572306442260742188e+01 3.068405723571777344e+01 2.588642883300781250e+01 4.389849853515625000e+01 3.246682739257812500e+01 3.320739364624023438e+01 3.962572097778320312e+01 3.859976196289062500e+01 4.248046112060546875e+01 3.492160034179687500e+01 2.975661087036132812e+01 3.892081451416015625e+01 2.846211051940917969e+01 3.150574874877929688e+01 3.226508712768554688e+01 3.030471420288085938e+01 3.040045166015625000e+01 4.453929901123046875e+01 4.322742843627929688e+01 4.086935043334960938e+01 3.794500350952148438e+01 4.310983276367187500e+01 4.377511596679687500e+01 3.334756469726562500e+01 4.074049758911132812e+01 2.795221900939941406e+01 3.506853485107421875e+01 3.353701782226562500e+01 3.632384872436523438e+01 3.955918121337890625e+01 +4.825436401367187500e+01 4.763856887817382812e+01 3.879241561889648438e+01 4.890265655517578125e+01 5.174244308471679688e+01 4.237865447998046875e+01 4.688586425781250000e+01 4.949052047729492188e+01 4.470468521118164062e+01 4.734107971191406250e+01 3.991563796997070312e+01 4.776198196411132812e+01 4.445817565917968750e+01 3.982685852050781250e+01 4.414319992065429688e+01 5.095862579345703125e+01 4.578228759765625000e+01 3.814981842041015625e+01 4.418502807617187500e+01 4.863151550292968750e+01 4.858734512329101562e+01 4.401449584960937500e+01 4.218587493896484375e+01 4.984378051757812500e+01 3.327304077148437500e+01 4.462093734741210938e+01 5.161011505126953125e+01 3.938813400268554688e+01 3.466286087036132812e+01 4.551202011108398438e+01 4.559246444702148438e+01 4.873689270019531250e+01 3.480302429199218750e+01 3.570923233032226562e+01 4.802239227294921875e+01 4.728295898437500000e+01 3.963465881347656250e+01 4.167575073242187500e+01 4.630301284790039062e+01 5.524423980712890625e+01 4.208360290527343750e+01 4.539105224609375000e+01 4.982172012329101562e+01 3.275411224365234375e+01 5.058447265625000000e+01 4.635758590698242188e+01 4.471753692626953125e+01 4.369673538208007812e+01 3.196537399291992188e+01 4.881866073608398438e+01 3.729290771484375000e+01 3.433269882202148438e+01 4.167212677001953125e+01 4.499050521850585938e+01 4.904292297363281250e+01 5.949681854248046875e+01 3.642713928222656250e+01 4.426129150390625000e+01 3.744416046142578125e+01 3.899938201904296875e+01 4.967895507812500000e+01 3.668809509277343750e+01 4.524083328247070312e+01 3.760694122314453125e+01 4.279791259765625000e+01 +4.488756561279296875e+01 4.703128814697265625e+01 4.623240280151367188e+01 4.494863891601562500e+01 3.829544448852539062e+01 3.659484481811523438e+01 3.976132965087890625e+01 5.375304794311523438e+01 4.807176971435546875e+01 5.173618316650390625e+01 4.651387786865234375e+01 4.585155487060546875e+01 4.188230895996093750e+01 3.595054626464843750e+01 4.462072753906250000e+01 4.333562850952148438e+01 4.080844497680664062e+01 4.612224578857421875e+01 4.147964859008789062e+01 4.912533569335937500e+01 5.273098373413085938e+01 4.954932403564453125e+01 4.392364501953125000e+01 4.218786239624023438e+01 3.810227203369140625e+01 4.701165771484375000e+01 4.129034805297851562e+01 3.455092620849609375e+01 4.420492553710937500e+01 4.201649856567382812e+01 4.906921386718750000e+01 3.679522705078125000e+01 4.191957855224609375e+01 4.085342407226562500e+01 4.378914642333984375e+01 4.109721374511718750e+01 4.337041091918945312e+01 4.743024444580078125e+01 4.429281616210937500e+01 4.703936004638671875e+01 4.310894012451171875e+01 5.130594253540039062e+01 4.612696075439453125e+01 4.138009262084960938e+01 4.882690429687500000e+01 4.663110351562500000e+01 4.401588058471679688e+01 4.629273223876953125e+01 4.037221527099609375e+01 5.074906539916992188e+01 3.802252578735351562e+01 3.975530242919921875e+01 4.766394042968750000e+01 4.421738433837890625e+01 5.105035400390625000e+01 5.224002838134765625e+01 4.063169860839843750e+01 4.683017730712890625e+01 3.754800415039062500e+01 4.929822921752929688e+01 3.914410781860351562e+01 4.484502029418945312e+01 3.781886291503906250e+01 3.877287292480468750e+01 4.460116195678710938e+01 +3.957300186157226562e+01 3.981441497802734375e+01 4.091262817382812500e+01 4.501729583740234375e+01 3.890219497680664062e+01 4.558248901367187500e+01 3.980968475341796875e+01 4.457379531860351562e+01 4.829344940185546875e+01 4.072178649902343750e+01 4.687668609619140625e+01 4.183789062500000000e+01 4.240663146972656250e+01 4.595158767700195312e+01 3.821587371826171875e+01 4.444190216064453125e+01 5.336606979370117188e+01 4.726722717285156250e+01 4.208435058593750000e+01 3.952558517456054688e+01 3.656247711181640625e+01 4.892279434204101562e+01 4.421687698364257812e+01 3.858004379272460938e+01 3.567852020263671875e+01 3.936416244506835938e+01 4.069509506225585938e+01 4.709720611572265625e+01 2.810200881958007812e+01 4.469239807128906250e+01 4.954687500000000000e+01 4.542744064331054688e+01 4.289947891235351562e+01 4.437664031982421875e+01 4.263161849975585938e+01 4.277892303466796875e+01 4.715597152709960938e+01 5.248523712158203125e+01 4.257799530029296875e+01 4.521245956420898438e+01 4.025366973876953125e+01 3.808795547485351562e+01 4.301195526123046875e+01 3.360676956176757812e+01 3.566407012939453125e+01 3.688142013549804688e+01 4.585137939453125000e+01 4.535409164428710938e+01 4.266365814208984375e+01 5.149195861816406250e+01 4.445544052124023438e+01 4.451683044433593750e+01 6.472029113769531250e+01 5.494902038574218750e+01 4.264447784423828125e+01 4.960374832153320312e+01 3.779383087158203125e+01 4.185211181640625000e+01 3.876037216186523438e+01 3.811875915527343750e+01 3.402404022216796875e+01 3.854105377197265625e+01 3.363581466674804688e+01 3.711204910278320312e+01 3.805013656616210938e+01 +3.290574645996093750e+01 4.660203933715820312e+01 4.463571929931640625e+01 4.130651855468750000e+01 4.330923080444335938e+01 3.911454391479492188e+01 4.481843566894531250e+01 4.925010681152343750e+01 4.149856185913085938e+01 3.997032165527343750e+01 3.751686859130859375e+01 4.727033615112304688e+01 3.476012039184570312e+01 4.906995391845703125e+01 5.130086898803710938e+01 4.277909469604492188e+01 4.449708175659179688e+01 5.431627273559570312e+01 4.301637649536132812e+01 3.395883560180664062e+01 5.092905044555664062e+01 4.502177810668945312e+01 4.136320495605468750e+01 5.352136230468750000e+01 3.627091979980468750e+01 4.368775558471679688e+01 3.609773254394531250e+01 4.348965072631835938e+01 4.350017929077148438e+01 3.348014068603515625e+01 4.154728698730468750e+01 3.615613174438476562e+01 4.058631515502929688e+01 4.537160110473632812e+01 4.042352294921875000e+01 4.719897842407226562e+01 4.017049789428710938e+01 3.821002578735351562e+01 4.522018814086914062e+01 3.831439208984375000e+01 4.634157562255859375e+01 4.345223999023437500e+01 4.378945159912109375e+01 4.056028366088867188e+01 4.023421478271484375e+01 3.843704223632812500e+01 3.763501739501953125e+01 3.750989151000976562e+01 3.854041290283203125e+01 5.564009857177734375e+01 4.933076858520507812e+01 3.922740936279296875e+01 3.952505493164062500e+01 5.750141906738281250e+01 4.208681106567382812e+01 3.898297500610351562e+01 3.452517318725585938e+01 3.384508514404296875e+01 4.202460479736328125e+01 3.403843688964843750e+01 2.817014312744140625e+01 3.638370513916015625e+01 3.874386215209960938e+01 4.605072021484375000e+01 3.873424148559570312e+01 +5.123271942138671875e+01 4.189850997924804688e+01 3.572308349609375000e+01 3.746156311035156250e+01 4.149668121337890625e+01 3.980342483520507812e+01 4.092808151245117188e+01 4.570578002929687500e+01 3.869266510009765625e+01 4.547602081298828125e+01 3.712748718261718750e+01 5.167274856567382812e+01 3.769329833984375000e+01 3.543555450439453125e+01 4.504370880126953125e+01 5.425992965698242188e+01 3.424988555908203125e+01 4.852978134155273438e+01 3.839852523803710938e+01 4.443809509277343750e+01 5.323749923706054688e+01 4.919394683837890625e+01 4.266802215576171875e+01 3.858777236938476562e+01 3.817254257202148438e+01 3.881895065307617188e+01 3.253945159912109375e+01 3.861368179321289062e+01 5.630587005615234375e+01 4.971327209472656250e+01 4.960004806518554688e+01 4.272172546386718750e+01 4.837599182128906250e+01 4.550930786132812500e+01 4.263576889038085938e+01 3.920757675170898438e+01 4.046710968017578125e+01 4.452020263671875000e+01 4.527727508544921875e+01 4.623835372924804688e+01 4.202534103393554688e+01 4.507318496704101562e+01 4.512163543701171875e+01 4.913772583007812500e+01 3.740260314941406250e+01 4.160556030273437500e+01 4.053748703002929688e+01 4.354197692871093750e+01 4.682011413574218750e+01 4.843446350097656250e+01 3.876515197753906250e+01 3.812246322631835938e+01 4.569874954223632812e+01 4.288359069824218750e+01 4.702352142333984375e+01 4.712140274047851562e+01 3.756283187866210938e+01 3.973191833496093750e+01 4.207555007934570312e+01 3.903714370727539062e+01 4.141810989379882812e+01 4.320388793945312500e+01 4.018839645385742188e+01 3.883715057373046875e+01 4.439739227294921875e+01 +4.835752105712890625e+01 3.475036239624023438e+01 4.232221984863281250e+01 4.028384017944335938e+01 4.246743011474609375e+01 4.269228744506835938e+01 3.766761016845703125e+01 3.829802703857421875e+01 3.016317749023437500e+01 3.904858398437500000e+01 3.154135513305664062e+01 4.124072265625000000e+01 4.301499938964843750e+01 3.538623809814453125e+01 4.695053863525390625e+01 4.322328186035156250e+01 3.630953216552734375e+01 4.430639648437500000e+01 3.687122726440429688e+01 3.892929840087890625e+01 3.432108688354492188e+01 3.807424926757812500e+01 3.423328018188476562e+01 4.418894958496093750e+01 3.481594848632812500e+01 3.414928436279296875e+01 4.041275024414062500e+01 3.919866943359375000e+01 4.289620971679687500e+01 4.344935607910156250e+01 3.913008880615234375e+01 4.046325683593750000e+01 3.369343566894531250e+01 3.781491470336914062e+01 3.967571258544921875e+01 3.669036865234375000e+01 3.884904479980468750e+01 3.491384887695312500e+01 3.538523483276367188e+01 3.672129821777343750e+01 3.724730682373046875e+01 3.520763778686523438e+01 3.269133377075195312e+01 3.440736770629882812e+01 4.158355712890625000e+01 4.698457717895507812e+01 3.603884887695312500e+01 4.250365447998046875e+01 3.813571166992187500e+01 3.374224090576171875e+01 3.695045089721679688e+01 3.079886817932128906e+01 3.598623657226562500e+01 3.456185150146484375e+01 4.129890441894531250e+01 3.811534500122070312e+01 4.134302902221679688e+01 4.299028015136718750e+01 4.006033325195312500e+01 3.770847320556640625e+01 4.597654724121093750e+01 3.466395568847656250e+01 4.122451019287109375e+01 3.437303161621093750e+01 4.139663696289062500e+01 +4.233719253540039062e+01 3.354842758178710938e+01 2.893254852294921875e+01 3.093055343627929688e+01 3.438364410400390625e+01 3.289881515502929688e+01 3.234988021850585938e+01 2.586913490295410156e+01 3.183903503417968750e+01 2.828768348693847656e+01 3.066821289062500000e+01 3.422139358520507812e+01 2.923025512695312500e+01 2.861314201354980469e+01 2.787021255493164062e+01 2.299483680725097656e+01 3.455734252929687500e+01 3.716157913208007812e+01 3.222499084472656250e+01 1.878868865966796875e+01 1.785863113403320312e+01 2.972338867187500000e+01 3.016928863525390625e+01 3.214793014526367188e+01 2.419210624694824219e+01 2.769405364990234375e+01 2.832265853881835938e+01 3.173967552185058594e+01 3.449317169189453125e+01 3.245589447021484375e+01 1.987808609008789062e+01 3.087915611267089844e+01 2.297610473632812500e+01 3.218243026733398438e+01 3.915254211425781250e+01 2.975846290588378906e+01 4.067180633544921875e+01 2.744658851623535156e+01 2.904968643188476562e+01 2.297850418090820312e+01 2.986218643188476562e+01 2.758936119079589844e+01 2.579759979248046875e+01 3.129285430908203125e+01 3.071463203430175781e+01 3.344100570678710938e+01 2.654396820068359375e+01 2.940431976318359375e+01 2.578201866149902344e+01 2.213895988464355469e+01 3.224250793457031250e+01 3.173850250244140625e+01 3.935598373413085938e+01 3.009584045410156250e+01 2.982102012634277344e+01 2.271977043151855469e+01 3.653300476074218750e+01 3.086162948608398438e+01 2.951959228515625000e+01 2.763808822631835938e+01 3.067637062072753906e+01 3.399284744262695312e+01 3.666333770751953125e+01 3.096054840087890625e+01 3.417170715332031250e+01 +2.392223358154296875e+01 3.044460678100585938e+01 2.441886329650878906e+01 3.129240417480468750e+01 4.019147491455078125e+01 2.731008338928222656e+01 3.491581344604492188e+01 2.946877288818359375e+01 2.530223464965820312e+01 2.799444389343261719e+01 2.615832138061523438e+01 3.203943634033203125e+01 3.125447654724121094e+01 3.043089294433593750e+01 3.481017303466796875e+01 3.859574890136718750e+01 2.557662963867187500e+01 3.016762161254882812e+01 2.300613594055175781e+01 3.494886398315429688e+01 4.507730102539062500e+01 3.055021286010742188e+01 3.187910079956054688e+01 2.627157783508300781e+01 3.507172393798828125e+01 2.843599510192871094e+01 3.790488433837890625e+01 2.960142517089843750e+01 2.472081184387207031e+01 3.312923812866210938e+01 4.106742095947265625e+01 3.333821105957031250e+01 2.678841781616210938e+01 2.733137512207031250e+01 3.192575645446777344e+01 3.604505920410156250e+01 3.214361190795898438e+01 3.199063491821289062e+01 2.883608245849609375e+01 4.178579711914062500e+01 3.298544311523437500e+01 2.699302864074707031e+01 2.806718063354492188e+01 2.888963127136230469e+01 3.953751754760742188e+01 3.510276031494140625e+01 2.911182403564453125e+01 3.631507110595703125e+01 3.485580062866210938e+01 3.261860275268554688e+01 2.690056610107421875e+01 2.670597648620605469e+01 2.172540283203125000e+01 4.099378585815429688e+01 3.006195640563964844e+01 3.134007644653320312e+01 2.825559234619140625e+01 3.252795791625976562e+01 2.923531913757324219e+01 2.867934036254882812e+01 3.865287399291992188e+01 1.816632080078125000e+01 2.900685691833496094e+01 2.832394409179687500e+01 2.834243583679199219e+01 +4.223478698730468750e+01 4.444416809082031250e+01 4.406465911865234375e+01 3.687146759033203125e+01 3.646619415283203125e+01 3.984575271606445312e+01 3.708521652221679688e+01 4.129538345336914062e+01 3.825621795654296875e+01 4.052991485595703125e+01 4.099481582641601562e+01 4.023743438720703125e+01 3.098591613769531250e+01 3.463422775268554688e+01 4.185934448242187500e+01 3.684612274169921875e+01 3.532889556884765625e+01 4.052077484130859375e+01 4.393656158447265625e+01 4.148096466064453125e+01 4.041001892089843750e+01 3.798669433593750000e+01 3.393468856811523438e+01 3.503446578979492188e+01 3.879475021362304688e+01 4.070998001098632812e+01 4.272946929931640625e+01 4.258753967285156250e+01 4.032707977294921875e+01 2.462159538269042969e+01 3.779006958007812500e+01 4.041112518310546875e+01 3.223229598999023438e+01 3.772234344482421875e+01 3.653667068481445312e+01 2.935746574401855469e+01 3.917263793945312500e+01 3.444933319091796875e+01 3.536294555664062500e+01 3.461429977416992188e+01 3.582208633422851562e+01 3.975519180297851562e+01 4.274043273925781250e+01 4.492393112182617188e+01 4.155640029907226562e+01 3.628711318969726562e+01 3.806655120849609375e+01 4.189676666259765625e+01 3.837923812866210938e+01 4.689206695556640625e+01 3.601787948608398438e+01 3.926898574829101562e+01 3.527894592285156250e+01 2.969950103759765625e+01 4.538177871704101562e+01 4.280326843261718750e+01 3.589299392700195312e+01 3.297840881347656250e+01 3.308481597900390625e+01 4.371517181396484375e+01 3.972812271118164062e+01 4.189906692504882812e+01 3.885877990722656250e+01 3.598059082031250000e+01 3.858830261230468750e+01 +3.072434616088867188e+01 3.464984893798828125e+01 4.475770187377929688e+01 4.484427261352539062e+01 3.547961807250976562e+01 3.350032424926757812e+01 3.985223770141601562e+01 5.477870178222656250e+01 3.481731796264648438e+01 3.831941604614257812e+01 3.740698242187500000e+01 4.364003753662109375e+01 3.522577667236328125e+01 4.424748229980468750e+01 3.704257965087890625e+01 4.811786651611328125e+01 4.954639816284179688e+01 4.044149017333984375e+01 3.964767074584960938e+01 3.284492874145507812e+01 3.103791427612304688e+01 3.850542449951171875e+01 3.092242622375488281e+01 3.349068069458007812e+01 3.726792526245117188e+01 4.342491149902343750e+01 3.570210647583007812e+01 3.057599639892578125e+01 3.831031036376953125e+01 4.483339691162109375e+01 3.670014190673828125e+01 3.266629028320312500e+01 3.381742858886718750e+01 3.127901077270507812e+01 2.907843017578125000e+01 3.714129257202148438e+01 2.739064979553222656e+01 3.155316543579101562e+01 4.147486877441406250e+01 4.441329193115234375e+01 3.445344924926757812e+01 2.921646499633789062e+01 3.639180374145507812e+01 3.782958984375000000e+01 3.561775970458984375e+01 4.356202316284179688e+01 3.822595977783203125e+01 2.978281021118164062e+01 3.637142944335937500e+01 4.169464492797851562e+01 4.716896820068359375e+01 3.366163635253906250e+01 4.591350555419921875e+01 3.504034423828125000e+01 3.786403656005859375e+01 4.454405975341796875e+01 2.699595260620117188e+01 3.508930206298828125e+01 3.665135574340820312e+01 4.271685028076171875e+01 3.545449447631835938e+01 3.650972747802734375e+01 4.101331710815429688e+01 4.073398971557617188e+01 3.655342483520507812e+01 +2.784520721435546875e+01 2.358541488647460938e+01 2.207812690734863281e+01 2.564813232421875000e+01 2.311917114257812500e+01 3.535408020019531250e+01 2.258976173400878906e+01 3.615100479125976562e+01 2.678667449951171875e+01 2.796941184997558594e+01 2.691072654724121094e+01 3.258283996582031250e+01 3.371198272705078125e+01 3.378551864624023438e+01 3.531018447875976562e+01 2.618445014953613281e+01 2.552049636840820312e+01 2.976661682128906250e+01 3.451618957519531250e+01 2.678818893432617188e+01 3.022215080261230469e+01 2.629081344604492188e+01 2.437965583801269531e+01 2.567354774475097656e+01 3.487278747558593750e+01 3.376525878906250000e+01 2.444880104064941406e+01 2.199618721008300781e+01 2.444238662719726562e+01 2.983592987060546875e+01 3.539850616455078125e+01 3.601053237915039062e+01 2.769426345825195312e+01 2.733701705932617188e+01 2.815943527221679688e+01 3.064227104187011719e+01 2.775024795532226562e+01 3.159731674194335938e+01 3.414618682861328125e+01 2.354256439208984375e+01 2.490861320495605469e+01 2.703815460205078125e+01 2.879839324951171875e+01 2.434816360473632812e+01 2.719968605041503906e+01 3.480226135253906250e+01 2.747516059875488281e+01 3.336790466308593750e+01 3.503059768676757812e+01 3.308651351928710938e+01 2.816592025756835938e+01 2.780850219726562500e+01 3.105915069580078125e+01 3.557183074951171875e+01 3.259429168701171875e+01 4.008299255371093750e+01 3.028247833251953125e+01 1.868140602111816406e+01 3.325960540771484375e+01 2.863081359863281250e+01 2.668651580810546875e+01 2.900315666198730469e+01 2.929018974304199219e+01 3.256813812255859375e+01 3.022315216064453125e+01 +5.015664291381835938e+01 5.373366165161132812e+01 4.195597076416015625e+01 5.084696197509765625e+01 4.121029281616210938e+01 3.901339721679687500e+01 3.730886077880859375e+01 5.242507934570312500e+01 3.801088333129882812e+01 4.792481994628906250e+01 4.750738906860351562e+01 4.868428039550781250e+01 4.596144104003906250e+01 4.027340698242187500e+01 4.718696594238281250e+01 5.687933731079101562e+01 4.569789505004882812e+01 3.931843566894531250e+01 4.821046447753906250e+01 3.885282516479492188e+01 5.081630706787109375e+01 5.232071304321289062e+01 5.003836059570312500e+01 4.134943389892578125e+01 4.601038360595703125e+01 5.860027313232421875e+01 4.602738189697265625e+01 3.871826553344726562e+01 4.111603546142578125e+01 4.067026138305664062e+01 4.141955566406250000e+01 4.441282653808593750e+01 4.738276672363281250e+01 4.480514144897460938e+01 3.991143798828125000e+01 3.978537750244140625e+01 4.189578247070312500e+01 3.849827575683593750e+01 4.924970626831054688e+01 4.133346939086914062e+01 4.474707031250000000e+01 4.434296035766601562e+01 3.957194900512695312e+01 4.000328826904296875e+01 5.049293518066406250e+01 4.947085571289062500e+01 4.458930587768554688e+01 4.594019699096679688e+01 3.908214569091796875e+01 4.605255508422851562e+01 4.054121780395507812e+01 3.792940521240234375e+01 4.321301651000976562e+01 4.809608078002929688e+01 4.226208496093750000e+01 5.091172027587890625e+01 4.228449249267578125e+01 5.233008956909179688e+01 4.241054916381835938e+01 4.294417953491210938e+01 4.151309204101562500e+01 4.336526489257812500e+01 4.504063415527343750e+01 3.659477615356445312e+01 3.915048980712890625e+01 +3.734148406982421875e+01 3.239240264892578125e+01 3.557508087158203125e+01 3.874347686767578125e+01 3.431447601318359375e+01 3.548261260986328125e+01 3.832419204711914062e+01 4.235065460205078125e+01 2.927315521240234375e+01 3.943511199951171875e+01 3.385258102416992188e+01 4.314630508422851562e+01 3.314921188354492188e+01 3.761419677734375000e+01 3.982685470581054688e+01 3.522043609619140625e+01 4.051648712158203125e+01 4.285103607177734375e+01 3.360703277587890625e+01 3.995244979858398438e+01 4.708700561523437500e+01 3.567398452758789062e+01 3.327535247802734375e+01 3.641949844360351562e+01 3.698505783081054688e+01 3.696099853515625000e+01 4.047572326660156250e+01 4.699795532226562500e+01 3.179091072082519531e+01 3.521442413330078125e+01 3.798825454711914062e+01 3.631755447387695312e+01 3.546074676513671875e+01 3.675859832763671875e+01 3.504711914062500000e+01 3.809089660644531250e+01 3.683670425415039062e+01 3.757942581176757812e+01 3.644968414306640625e+01 4.651676940917968750e+01 2.843879318237304688e+01 4.483390426635742188e+01 3.781865692138671875e+01 3.152557373046875000e+01 3.372516250610351562e+01 3.870966339111328125e+01 3.952931213378906250e+01 3.694059753417968750e+01 3.235287475585937500e+01 4.289167022705078125e+01 3.497668838500976562e+01 3.590639495849609375e+01 3.745907211303710938e+01 3.680762863159179688e+01 3.322368621826171875e+01 3.426881790161132812e+01 3.536215591430664062e+01 4.076535034179687500e+01 3.464555358886718750e+01 3.682781982421875000e+01 3.368338012695312500e+01 3.750489807128906250e+01 3.075740432739257812e+01 2.806606101989746094e+01 3.426378250122070312e+01 +4.293289566040039062e+01 4.243703842163085938e+01 4.455585479736328125e+01 4.655233001708984375e+01 4.259453964233398438e+01 3.943337249755859375e+01 3.515350723266601562e+01 5.646793746948242188e+01 4.011158370971679688e+01 4.759081649780273438e+01 3.598511123657226562e+01 4.641857147216796875e+01 4.156087493896484375e+01 4.216989135742187500e+01 4.027900314331054688e+01 4.348486709594726562e+01 4.547708511352539062e+01 5.197641372680664062e+01 3.983045578002929688e+01 4.253033828735351562e+01 4.930442810058593750e+01 4.268109893798828125e+01 4.471728134155273438e+01 3.689838790893554688e+01 4.081898498535156250e+01 4.500183486938476562e+01 3.872555160522460938e+01 3.656669235229492188e+01 3.607385635375976562e+01 4.610491180419921875e+01 4.349573898315429688e+01 3.855556869506835938e+01 4.053861618041992188e+01 4.107626724243164062e+01 4.316566467285156250e+01 4.248986053466796875e+01 3.598751068115234375e+01 4.267387390136718750e+01 3.490201568603515625e+01 4.621579742431640625e+01 4.140098953247070312e+01 4.461664962768554688e+01 4.617412567138671875e+01 3.940156936645507812e+01 4.468806838989257812e+01 4.561273956298828125e+01 3.558662414550781250e+01 3.432316589355468750e+01 4.142874145507812500e+01 5.636394500732421875e+01 3.671492767333984375e+01 4.294132614135742188e+01 5.075091552734375000e+01 4.905391693115234375e+01 4.668848037719726562e+01 4.414432907104492188e+01 4.163520431518554688e+01 4.086619186401367188e+01 4.347236251831054688e+01 4.848269653320312500e+01 3.457785797119140625e+01 4.355493545532226562e+01 4.353937149047851562e+01 3.957564544677734375e+01 3.920535659790039062e+01 +4.784683227539062500e+01 3.999481201171875000e+01 4.376731491088867188e+01 5.040527343750000000e+01 4.652065658569335938e+01 4.083517456054687500e+01 4.304972457885742188e+01 4.060916137695312500e+01 3.550856018066406250e+01 4.359518432617187500e+01 3.855431365966796875e+01 5.803007888793945312e+01 3.904721069335937500e+01 4.051369857788085938e+01 4.804001617431640625e+01 4.394866180419921875e+01 4.165259552001953125e+01 4.918991470336914062e+01 3.940208053588867188e+01 4.049227142333984375e+01 4.010685348510742188e+01 3.956841659545898438e+01 4.262325668334960938e+01 4.283940124511718750e+01 4.238335418701171875e+01 3.660773086547851562e+01 3.398861694335937500e+01 4.300600433349609375e+01 4.419830703735351562e+01 4.009830093383789062e+01 3.174583816528320312e+01 3.655264663696289062e+01 4.002642822265625000e+01 3.765183258056640625e+01 3.320545196533203125e+01 3.790222167968750000e+01 3.351689147949218750e+01 3.823230361938476562e+01 3.229847717285156250e+01 4.597604751586914062e+01 3.994600296020507812e+01 4.212518692016601562e+01 4.242396926879882812e+01 4.462635040283203125e+01 4.086761474609375000e+01 4.560673904418945312e+01 3.783228683471679688e+01 3.094194030761718750e+01 4.252929306030273438e+01 4.131710052490234375e+01 4.434175109863281250e+01 3.810381317138671875e+01 4.484282684326171875e+01 4.306387329101562500e+01 4.054477310180664062e+01 4.368852996826171875e+01 3.910617446899414062e+01 3.443797683715820312e+01 4.388455963134765625e+01 3.998107910156250000e+01 4.142111587524414062e+01 4.719577026367187500e+01 3.930707931518554688e+01 4.198710632324218750e+01 4.077316284179687500e+01 +3.305511093139648438e+01 4.282264709472656250e+01 4.129623794555664062e+01 3.870135498046875000e+01 4.804228973388671875e+01 4.139923095703125000e+01 4.292805480957031250e+01 4.432956314086914062e+01 3.498970031738281250e+01 4.374572753906250000e+01 4.282592391967773438e+01 4.046651840209960938e+01 3.411039352416992188e+01 4.157507324218750000e+01 3.221272277832031250e+01 4.386315155029296875e+01 4.564566802978515625e+01 3.125017356872558594e+01 4.067204666137695312e+01 3.946398544311523438e+01 4.343412780761718750e+01 3.857489013671875000e+01 4.441363906860351562e+01 4.995742034912109375e+01 3.409027862548828125e+01 3.375523376464843750e+01 3.730097579956054688e+01 3.843257141113281250e+01 3.616103363037109375e+01 4.101482772827148438e+01 3.246120452880859375e+01 4.697556304931640625e+01 4.053198242187500000e+01 3.941075897216796875e+01 4.771636962890625000e+01 3.690619277954101562e+01 3.411220169067382812e+01 3.638744354248046875e+01 3.598221206665039062e+01 4.474554061889648438e+01 4.442126083374023438e+01 4.598756027221679688e+01 3.493310165405273438e+01 3.553742218017578125e+01 3.767079925537109375e+01 3.399470138549804688e+01 3.483044052124023438e+01 3.312231063842773438e+01 3.310389328002929688e+01 3.899470520019531250e+01 3.989918518066406250e+01 4.198844146728515625e+01 6.022719955444335938e+01 4.772646331787109375e+01 3.298966217041015625e+01 3.276166534423828125e+01 4.063492965698242188e+01 4.597975158691406250e+01 3.752655029296875000e+01 3.733067703247070312e+01 3.917797088623046875e+01 3.582675170898437500e+01 2.971311950683593750e+01 3.819506072998046875e+01 2.979080581665039062e+01 +4.562133026123046875e+01 3.903867721557617188e+01 3.943531417846679688e+01 3.596384429931640625e+01 4.615295791625976562e+01 3.571989822387695312e+01 4.579505157470703125e+01 4.497554779052734375e+01 4.569202804565429688e+01 3.843819046020507812e+01 4.161750411987304688e+01 4.455051803588867188e+01 3.804334259033203125e+01 4.327059173583984375e+01 3.286293411254882812e+01 3.976321792602539062e+01 3.961294174194335938e+01 4.243653488159179688e+01 4.042400360107421875e+01 4.042895889282226562e+01 4.289353179931640625e+01 4.386019897460937500e+01 4.340264511108398438e+01 3.264451599121093750e+01 3.006424713134765625e+01 4.066675567626953125e+01 3.896903610229492188e+01 4.451534652709960938e+01 3.782336425781250000e+01 4.732971954345703125e+01 4.622421646118164062e+01 3.901203918457031250e+01 3.803040313720703125e+01 3.695449066162109375e+01 4.359945297241210938e+01 4.429044723510742188e+01 4.072713470458984375e+01 4.535960388183593750e+01 3.560652542114257812e+01 4.542391967773437500e+01 4.051049804687500000e+01 3.931474304199218750e+01 4.896838378906250000e+01 3.859272003173828125e+01 3.830335617065429688e+01 3.474037933349609375e+01 4.186875915527343750e+01 3.829928588867187500e+01 3.207881927490234375e+01 4.185141754150390625e+01 2.983150100708007812e+01 3.783760070800781250e+01 4.568405914306640625e+01 4.848163223266601562e+01 4.362424087524414062e+01 3.914359283447265625e+01 4.012114334106445312e+01 3.911408233642578125e+01 4.005516052246093750e+01 4.292570114135742188e+01 4.454248809814453125e+01 4.602007675170898438e+01 3.863821411132812500e+01 2.570037269592285156e+01 3.383503341674804688e+01 diff --git a/examples/unbalanced-partial/compare_logscale_POT.py b/examples/unbalanced-partial/compare_logscale_POT.py new file mode 100644 index 000000000..80b5a3787 --- /dev/null +++ b/examples/unbalanced-partial/compare_logscale_POT.py @@ -0,0 +1,105 @@ +# -*- coding: utf-8 -*- +""" +=============================================================== +Log-scale entropic partial wasserstein +=============================================================== + +This example shows that the log-scale computation can be used to stabilize the computation of the entropic partial wasserstein. +The idea was used in Sinkhorn algorithm (Sec. 4.4 in [15]), and is now implemented for entropic partial wasserstein in the entropic_partial_wasserstein_logscale function. + +The function entropic_partial_wasserstein_logscale is generally slower than the original entropic_partial_wasserstein, but is more stable. + +[15] Peyré, G., & Cuturi, M. (2018). Computational Optimal Transport . + +""" + +import ot +import torch +import numpy as np +import pdb +import time + + +def compute_OT(M, alpha, beta, epsilon): + s1, s2 = M.shape[0], M.shape[1] + assert s1 == s2 + unif_vec = ot.unif(s1) + + a, b = unif_vec / beta, unif_vec + + time_start = time.time() + pi_1_np = ot.partial.entropic_partial_wasserstein(a, b, M, m=alpha, reg=epsilon) + time_end1 = time.time() + + pi_2_np = ot.partial.entropic_partial_wasserstein_logscale( + a, b, M, m=alpha, reg=epsilon + ) + time_end2 = time.time() + + print( + f"(Numpy) Original: any_nan = {np.any(np.isnan(pi_1_np))}, time = {time_end1 - time_start:.4f}, reg = {epsilon:.4f}" + ) + print( + f"(Numpy) Log scale: any_nan = {np.any(np.isnan(pi_2_np))}, time = {time_end2 - time_end1:.4f}, reg = {epsilon:.4f}" + ) + if not np.any(np.isnan(pi_1_np)): + print(f"Difference = {np.linalg.norm(pi_1_np - pi_2_np):.4f}") + + # compute the same thing using torch + a = torch.tensor(a, dtype=torch.float) + b = torch.tensor(b, dtype=torch.float) + M = torch.tensor(M, dtype=torch.float) + m = torch.tensor(alpha, dtype=torch.float) + + time_start = time.time() + pi_1 = ot.partial.entropic_partial_wasserstein(a, b, M, m=m, reg=epsilon) + time_end1 = time.time() + pi_2 = ot.partial.entropic_partial_wasserstein_logscale(a, b, M, m=m, reg=epsilon) + time_end2 = time.time() + + print( + f"(Torch) Original: any_nan = {torch.any(torch.isnan(pi_1))}, time = {time_end1 - time_start:.4f}, reg = {epsilon:.4f}" + ) + print( + f"(Torch) Log scale: any_nan = {torch.any(torch.isnan(pi_2))}, time = {time_end2 - time_end1:.4f}, reg = {epsilon:.4f}" + ) + if not torch.any(torch.isnan(pi_1)): + print(f"Difference = {torch.norm(pi_1 - pi_2):.4f}") + + +beta = 0.35 +alpha = 0.01 + +M_1 = np.loadtxt("../../data/entropic_partial_OT_cost.txt") + +# both methods should give the same result when eps is large +epsilon = 10.0 +compute_OT(M_1, alpha, beta, epsilon) + +# Log scale method should give correct results even when eps is small, but original method will fail +epsilon = 0.1 +compute_OT(M_1, alpha, beta, epsilon) + + +""" +Output: + +(Numpy) Original: any_nan = False, time = 0.0050, reg = 10.0000 +(Numpy) Log scale: any_nan = False, time = 0.0060, reg = 10.0000 +Difference = 0.0000 +(Torch) Original: any_nan = False, time = 1.0847, reg = 10.0000 +(Torch) Log scale: any_nan = False, time = 0.0090, reg = 10.0000 +Difference = 0.0000 +G:\Mycode\Pull_tmp\POT\ot\partial.py:715: RuntimeWarning: invalid value encountered in divide + q1 = q1 * Kprev / K1 +G:\Mycode\Pull_tmp\POT\ot\partial.py:719: RuntimeWarning: invalid value encountered in divide + q2 = q2 * K1prev / K2 +G:\Mycode\Pull_tmp\POT\ot\partial.py:723: RuntimeWarning: invalid value encountered in divide + q3 = q3 * K2prev / K +Warning: numerical errors at iteration 1 +(Numpy) Original: any_nan = True, time = 0.0033, reg = 0.1000 +(Numpy) Log scale: any_nan = False, time = 0.0060, reg = 0.1000 +Warning: numerical errors at iteration 0 +(Torch) Original: any_nan = True, time = 0.0010, reg = 0.1000 +(Torch) Log scale: any_nan = False, time = 0.0160, reg = 0.1000 +""" diff --git a/ot/partial.py b/ot/partial.py index f86175b10..3238d0d1c 100755 --- a/ot/partial.py +++ b/ot/partial.py @@ -422,6 +422,168 @@ def partial_wasserstein2(a, b, M, m=None, nb_dummies=1, log=False, **kwargs): return nx.sum(partial_gw * M) +def entropic_partial_wasserstein_logscale( + a, b, M, reg, m=None, numItermax=1000, stopThr=1e-100, verbose=False, log=False +): + r""" + Solves the partial optimal transport problem + and returns the OT plan + + This function solves exactly the same problem as + :any:`entropic_partial_wasserstein`, but it is in log-scale, i.e., the log-sum-exp trick is used, + so it is more stable but slower. + + The input and output format is the same as :any:`entropic_partial_wasserstein`. + + The function considers the following problem: + + .. math:: + \gamma = \mathop{\arg \min}_\gamma \quad \langle \gamma, + \mathbf{M} \rangle_F + \mathrm{reg} \cdot\Omega(\gamma) + + s.t. \gamma \mathbf{1} &\leq \mathbf{a} \\ + \gamma^T \mathbf{1} &\leq \mathbf{b} \\ + \gamma &\geq 0 \\ + \mathbf{1}^T \gamma^T \mathbf{1} = m + &\leq \min\{\|\mathbf{a}\|_1, \|\mathbf{b}\|_1\} \\ + + where : + + - :math:`\mathbf{M}` is the metric cost matrix + - :math:`\Omega` is the entropic regularization term, + :math:`\Omega=\sum_{i,j} \gamma_{i,j}\log(\gamma_{i,j})` + - :math:`\mathbf{a}` and :math:`\mathbf{b}` are the sample weights + - `m` is the amount of mass to be transported + + The formulation of the problem has been proposed in + :ref:`[3] ` (prop. 5) + + + Parameters + ---------- + a : np.ndarray (dim_a,) + Unnormalized histogram of dimension `dim_a` + b : np.ndarray (dim_b,) + Unnormalized histograms of dimension `dim_b` + M : np.ndarray (dim_a, dim_b) + cost matrix + reg : float + Regularization term > 0 + m : float, optional + Amount of mass to be transported + numItermax : int, optional + Max number of iterations + stopThr : float, optional + Stop threshold on error (>0) + verbose : bool, optional + Print information along iterations + log : bool, optional + record log if True + + + Returns + ------- + gamma : (dim_a, dim_b) ndarray + Optimal transportation matrix for the given parameters + log : dict + log dictionary returned only if `log` is `True` + + + Examples + -------- + >>> import ot + >>> a = [.1, .2] + >>> b = [.1, .1] + >>> M = [[0., 1.], [2., 3.]] + >>> np.round(entropic_partial_wasserstein_logscale(a, b, M, 1, 0.1), 2) + array([[0.06, 0.02], + [0.01, 0. ]]) + + + .. _references-entropic-partial-wasserstein: + References + ---------- + .. [3] Benamou, J. D., Carlier, G., Cuturi, M., Nenna, L., & Peyré, G. + (2015). Iterative Bregman projections for regularized transportation + problems. SIAM Journal on Scientific Computing, 37(2), A1111-A1138. + + See Also + -------- + ot.partial.partial_wasserstein: exact Partial Wasserstein + """ + + a, b, M = list_to_array(a, b, M) + + nx = get_backend(a, b, M) + + dim_a, dim_b = M.shape + + Ldx = nx.zeros(dim_a, type_as=a) + Ldy = nx.zeros(dim_b, type_as=b) + + if len(a) == 0: + a = nx.ones(dim_a, type_as=a) / dim_a + if len(b) == 0: + b = nx.ones(dim_b, type_as=b) / dim_b + + La = nx.log(a) + Lb = nx.log(b) + + if m is None: + m = nx.min(nx.stack((nx.sum(a), nx.sum(b)))) * 1.0 + if m < 0: + raise ValueError("Problem infeasible. Parameter m should be greater" " than 0.") + if m > nx.min(nx.stack((nx.sum(a), nx.sum(b)))): + raise ValueError( + "Problem infeasible. Parameter m should lower or" + " equal than min(|a|_1, |b|_1)." + ) + + log_e = {"err": []} + + LK = -M / reg + LK = LK + nx.log(m) - nx.logsumexp(LK) + + err, cpt = 1, 0 + + Lq1 = nx.zeros(M.shape, type_as=M) + Lq2 = nx.zeros(M.shape, type_as=M) + Lq3 = nx.zeros(M.shape, type_as=M) + + while err > stopThr and cpt < numItermax: + LKprev = LK + LK = LK + Lq1 + LK1 = nx.reshape(nx.minimum(La - nx.logsumexp(LK, 1), Ldx), (-1, 1)) + LK + Lq1 = Lq1 + LKprev - LK1 + LK1prev = LK1 + LK1 = LK1 + Lq2 + LK2 = LK1 + nx.reshape(nx.minimum(Lb - nx.logsumexp(LK1, 0), Ldy), (1, -1)) + Lq2 = Lq2 + LK1prev - LK2 + LK2prev = LK2 + LK2 = LK2 + Lq3 + LK = LK2 + nx.log(m) - nx.logsumexp(LK2) + Lq3 = Lq3 + LK2prev - LK + + if nx.any(nx.isnan(LK)) or nx.any(nx.isinf(LK)): + print("Warning: numerical errors at iteration", cpt) + break + if cpt % 10 == 0: + err = nx.norm(LKprev - LK) + if log: + log_e["err"].append(err) + if verbose: + if cpt % 200 == 0: + print("{:5s}|{:12s}".format("It.", "Err") + "\n" + "-" * 11) + print("{:5d}|{:8e}|".format(cpt, err)) + + cpt = cpt + 1 + log_e["partial_w_dist"] = nx.sum(M * nx.exp(LK)) + if log: + return nx.exp(LK), log_e + else: + return nx.exp(LK) + + def entropic_partial_wasserstein( a, b, M, reg, m=None, numItermax=1000, stopThr=1e-100, verbose=False, log=False ): From 58f1e4cb95e5cb730f765257d60a8ec7c1ee669b Mon Sep 17 00:00:00 2001 From: lzm7788 Date: Thu, 13 Mar 2025 14:45:26 +0100 Subject: [PATCH 2/2] Update RELEASES.md --- RELEASES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/RELEASES.md b/RELEASES.md index d9bd898f7..7473bdb0c 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -13,6 +13,7 @@ - Added `ot.gaussian.bures_barycenter_gradient_descent` (PR #680) - Added `ot.gaussian.bures_wasserstein_distance` (PR #680) - `ot.gaussian.bures_wasserstein_distance` can be batched (PR #680) +- Implement a robust version of entropic partial wasserstein `entropic_partial_wasserstein_logscale` (PR #723) #### Closed issues - Fixed `ot.mapping` solvers which depended on deprecated `cvxpy` `ECOS` solver (PR #692, Issue #668)