From 53df56f572f1ec6f16b9a0f9c996dbda07ed1aa9 Mon Sep 17 00:00:00 2001 From: Mateusz Kociszewski Date: Sun, 16 May 2021 19:30:35 +0200 Subject: [PATCH] Zadanie --- Untitled.py | 217 ++++++++++ dev-0/out.tsv | 1000 ++++++++++++++++++++++++++++++++++++++++++ test-A/expected.tsv | 1001 +++++++++++++++++++++++++++++++++++++++++++ test-A/out.tsv | 1000 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 3218 insertions(+) create mode 100644 Untitled.py create mode 100644 dev-0/out.tsv create mode 100644 test-A/expected.tsv create mode 100644 test-A/out.tsv diff --git a/Untitled.py b/Untitled.py new file mode 100644 index 0000000..2f601f0 --- /dev/null +++ b/Untitled.py @@ -0,0 +1,217 @@ +#!/usr/bin/env python +# coding: utf-8 + +# In[243]: + + +import numpy as np +import matplotlib +import pandas as pd +import seaborn as sns +import matplotlib.pyplot as plt +from sklearn.linear_model import LinearRegression +from sklearn.metrics import mean_squared_error + + +# In[244]: + + +#with open('train/train.tsv') as file: + # for line in file.readlines()[:10]: + # print(line) + + +# In[245]: + + +#with open('names') as file: + # for line in file.readlines(): + # header.append(line.strip()) + + +# In[246]: + + +#train + + +# In[247]: + + +with open('names') as file: + header = file.read().rstrip('\n').split('\t') + +train_path='train/train.tsv' + + + +train = pd.read_csv(train_path, sep='\t', names=header) +#removing discrete value +train.drop('brand', inplace=True, axis=1) +train.drop('engineType', inplace=True, axis=1) + + +# In[ ]: + + + + + +# In[248]: + + + +#output +y_train = pd.DataFrame(train['price']) + + +#removing output +train.drop('price', inplace=True, axis=1) +x_train = pd.DataFrame(train) + +model = LinearRegression() +model.fit(x_train, y_train) + +header=['price','year','brand','engineType','engineCapacity'] + + +# In[249]: + + +#dev + + +# In[250]: + + +dev = pd.read_csv('dev-0/in.tsv', sep='\t', names=header) + + +# In[251]: + + +print(dev) + + +# In[252]: + + +with open('dev-0/expected.tsv', 'r') as file: + y_dev = np.array([float(x.rstrip('\n')) for x in file.readlines()]) + + +# In[253]: + + +dev.drop('brand', inplace=True, axis=1) +dev.drop('engineType', inplace=True, axis=1) + + +# In[254]: + + +print(dev) + + +# In[255]: + + + + +x_dev = pd.DataFrame(dev) + +predict_dev = model.predict(x_dev) +print(predict_dev) + + +# In[256]: + + +predict_dev.tofile('dev-0/out.tsv', sep='\n') + + +# # RMSE dla dev-0 + +# In[257]: + + +error = np.sqrt(mean_squared_error(y_dev, predict_dev)) +print(error) + + +# In[258]: + + +#test + + +# In[259]: + + +pd.DataFrame(predict).to_csv('dev-0/out.tsv', sep='\t', index=False, header=False) + + +# In[260]: + + +test=pd.read_csv('test-A/in.tsv', sep='\t', names=header) +print(test) + + +# In[261]: + + +test.drop('brand', inplace=True, axis=1) +test.drop('engineType', inplace=True, axis=1) +y_expected = pd.DataFrame(test['price']) + +y_expected.to_csv('test-A/expected.tsv', sep='\t', encoding='utf-8') + + +# In[262]: + + +print(test) + + +# In[263]: + + +x_test = pd.DataFrame(test) + +predict_test = model.predict(x_test) +pd.DataFrame(predict_test).to_csv('test-A/out.tsv', sep='\t', index=False, header=False) + + +# In[264]: + + +predict_test.tofile('test-A/out.tsv', sep='\n') + + +# # RMSE dla dev-0 + +# In[266]: + + +error = np.sqrt(mean_squared_error(y_dev, predict_dev)) +print(error) + + +# In[ ]: + + + + + +# In[ ]: + + + + + +# In[ ]: + + + + diff --git a/dev-0/out.tsv b/dev-0/out.tsv new file mode 100644 index 0000000..595c1f0 --- /dev/null +++ b/dev-0/out.tsv @@ -0,0 +1,1000 @@ +77239.20627537742 +12174.610323246568 +49262.64560363721 +13719.094681011513 +24094.60322681628 +78831.88372283708 +44731.85980817024 +9445.11673982162 +-8775.675022765063 +13484.135217153467 +25123.542921941727 +82523.24716192391 +5739.498507265933 +1473.5631555244327 +35893.29784706794 +24156.613826644607 +62832.77713692468 +94431.87764601968 +36316.5742473416 +6932.538661134429 +-48.78799069579691 +7404.202084517106 +-8741.085663261823 +58501.8255941011 +-5318.334506464191 +69009.0819844259 +79095.89379121736 +12188.810374145396 +10168.628019047901 +37254.499295400456 +75971.48053176329 +63525.08181440085 +6658.01358076185 +49598.441559411585 +39198.50197903719 +59440.58970403578 +32540.59955928661 +24943.555086169392 +42595.6589172557 +71446.06228789315 +74940.54496611375 +28528.722346766852 +39057.39609124139 +68094.38631122 +12355.50137411058 +121925.12622801308 +91830.7794479439 +9824.200417279266 +42892.435584318824 +50773.90575242974 +75051.487859549 +-7257.487878130749 +95529.97271363158 +39512.21880916413 +11934.053749573417 +-6552.545541326515 +-4101.774790489115 +24977.65657683555 +71079.00384253636 +20681.00326911267 +62319.87973648682 +-10728.452059259638 +-646.3814089167863 +73072.75340577122 +83081.1199467415 +28698.935864022 +-7037.566269509494 +87264.04613441415 +33190.11234518699 +1884.5357177173719 +20660.418441282585 +32992.963181812316 +18967.683599280193 +19523.662782323547 +167547.66766053718 +48549.94410481583 +62745.524977081455 +42096.7880015932 +66864.1130116051 +16652.049457617104 +47605.15589387063 +20351.691219325177 +45222.10626217909 +16632.313062400557 +17955.787993864156 +19287.98343270272 +56585.837892628275 +41008.24040933233 +40562.44177753385 +23521.72663348727 +41009.264073947445 +32697.098700221628 +55246.31841259636 +45324.01099758595 +3349.692097763531 +2651.3669874770567 +64318.5702922279 +60186.7691654535 +36433.42928219028 +30100.9442179678 +6477.3321130126715 +9337.180719063617 +10176.732687311247 +19691.783935053274 +5895.131947930902 +25133.87997887004 +26251.0931038158 +42408.183077058755 +63177.934371639974 +19739.131603533402 +76864.61910715606 +-15323.290954450145 +54252.88550828956 +59921.615455503576 +8744.382070494816 +40710.62455237564 +11756.935069144703 +34232.0267964853 +55888.09450221248 +26714.964704010636 +24416.54125024192 +30650.243398971856 +-24711.676847703755 +30210.92888142541 +66911.40960599203 +75109.96054041293 +-20169.281102168374 +44208.16116489563 +22083.679145013914 +46460.58082030434 +12363.749189906754 +-7609.9580693477765 +45743.55018723663 +37835.52451926097 +-28849.3424295187 +62991.471648031846 +100418.69675065205 +56741.441755454056 +31694.526666557416 +62733.473723196425 +14749.120576263405 +51230.49589603022 +69818.84820503369 +17982.374857606366 +66275.15123937838 +51842.12585044745 +90877.18802704755 +14816.03895488847 +10818.140804949217 +57652.0947253583 +32220.351897577755 +18065.004996925592 +46411.25253865309 +-38790.77921081986 +74907.12944262847 +-13979.899293967523 +75781.84850209579 +17738.676168935373 +58732.10206382349 +60355.86535927467 +36382.530151218176 +67125.1159351226 +6722.455340016633 +-3564.1433293959126 +3006.4426090894267 +-6209.616818686016 +41504.915418157354 +38028.621024033055 +26221.130794553086 +81803.78436848242 +61213.92093157768 +71060.01406772621 +20127.41332558263 +22529.834888516925 +75049.81524609495 +36982.0171712134 +76843.91399800964 +95528.66564547084 +82135.12334014475 +74940.54496611375 +53215.73897212092 +33505.87781801354 +16613.64402973838 +-13981.812173703685 +21488.50949376542 +5521.274556825869 +81620.63836725336 +37928.138536176644 +10933.530358609743 +23498.240789832547 +-11782.8687833976 +39853.877233684994 +44221.58287121449 +62780.87500500772 +1502.8143410123885 +54753.86773832049 +40962.627529241145 +57996.463828249834 +21573.777332331054 +37325.14022775367 +100436.06843845174 +95529.82748383656 +-6019.013320003636 +-18119.011783572845 +18991.258488671854 +21878.387261764146 +32395.369763591327 +64885.05644614808 +67648.33065795805 +32891.61016434897 +25611.81541045569 +6945.002201676369 +91665.05960446596 +42259.68918696791 +34567.82275225874 +77487.50970088877 +50274.421104080975 +61892.39661374595 +120091.62796917465 +53360.96876781527 +-14210.5218307646 +33713.66993147973 +26802.04997733049 +-9574.889445469715 +37526.9757330725 +26978.579601212405 +-1026.717876673676 +40298.329744765535 +39283.76981760375 +54308.98373455368 +6257.514767446555 +44483.952546919696 +25623.16948432289 +46580.50473456085 +-753.446900067851 +4598.143005152233 +71722.70071697608 +49840.92708716914 +13921.934524911456 +61262.87553057354 +36797.36919935886 +24831.432493982837 +21964.1303550303 +48547.765970407054 +37468.596182374284 +14610.789728446864 +13297.727620448917 +43043.65932676196 +30968.37768808566 +12309.015169013292 +54870.30106772762 +24088.609280067496 +49690.67623147089 +74596.80933830235 +12578.161645271815 +86243.45360843278 +32373.58529423736 +82544.11511294916 +33454.299055160955 +21766.205442096107 +67952.54194038268 +7679.1019527493045 +20565.949762877077 +14556.809384004213 +73228.00405736826 +27465.599299429916 +-2782.3482167935 +95529.39179444872 +2703.9951242022216 +20119.430732687935 +-12609.705732110888 +24105.28351551108 +18875.803892590106 +17096.95954724308 +68733.14537260588 +15405.53231004253 +18148.22419279348 +149857.52301772777 +19171.6243159445 +24461.699010777287 +120994.61385838594 +62282.585961550474 +13289.685030999593 +14892.617673841305 +74940.10927672591 +29884.708537074737 +78371.80159280915 +7639.759535114281 +33981.49867927935 +56498.70001521148 +27388.963106858544 +72976.39624354243 +38449.68481837306 +-636.2901767697185 +27382.969160108827 +37766.82356158551 +43555.39584987052 +30097.54141318053 +28430.877558156848 +53805.93273481913 +23465.785971082747 +11475.29094968643 +3290.9082537293434 +36849.70301620569 +14053.127784408629 +35215.56811248325 +5897.001986781135 +52486.23374614678 +39293.39478158299 +8593.768448601477 +4925.545026383363 +-23201.465576332062 +24439.030828584917 +-21228.617578594014 +68077.45079353917 +88769.68439311814 +2479.4914366910234 +26594.220525262877 +47449.72862471733 +26022.0384448478 +45811.06803440396 +48858.84510128852 +23796.9368480267 +21549.08826706279 +57779.46924937703 +76356.55815596879 +17345.439021749422 +44600.66654867306 +60323.95637170039 +30416.12063424848 +28810.550292161293 +64522.180255384184 +3939.831983083859 +35248.63536634669 +-2005.957994393073 +42539.376336555 +41750.62770170998 +30092.148608739488 +52959.80622074939 +63507.02398347948 +130497.8687831536 +87259.96208805311 +44945.68320698757 +66278.37799517252 +13045.82501402311 +65108.699975733645 +14770.056060339324 +3971.7208678182214 +54569.82062043529 +39275.72722815443 +58686.215391214006 +14664.757738826796 +48595.86664251704 +32765.692303344607 +51616.619306159206 +63790.15953367576 +8276.695370971225 +4444.704029836692 +54889.902917331085 +21269.281204745173 +94454.25561692286 +41792.60781859141 +-912.3294017622247 +48798.88314416073 +58255.034534905106 +78371.6563630132 +179254.2781326957 +68077.59602333419 +54604.556298913434 +8519.106221524999 +30860.441667325795 +31243.925896407105 +-24088.250474343076 +70576.6222550571 +81803.20344929956 +42172.280552595854 +28310.987554595806 +47427.626504709944 +76763.96924431063 +37111.31682893634 +-13229.754665797576 +38511.14040865842 +36700.93332329113 +51170.5339389015 +-3825.185145124793 +27772.654004053213 +18842.970729903318 +-14937.403757946566 +26434.954193370417 +-1663.5790353240445 +50162.54189371131 +71426.78769180644 +48354.562111081555 +23766.84986049123 +7402.67889755778 +65919.32480066083 +21322.865384926088 +70490.04207031056 +44736.08658527862 +34758.38891233783 +51808.777379561216 +36874.82524792664 +87619.61559986789 +60900.02524929866 +53775.15490256902 +26413.895872994326 +-604.9903485812247 +19471.966589486226 +80051.75956032239 +81448.61503985245 +45231.24760194402 +6548.58499201294 +19309.47350180149 +238485.46496223286 +98960.93888073508 +120329.79699325189 +112266.68696734868 +10604.317406130955 +44488.05740112066 +46757.03435844369 +43194.8830692051 +65819.43136934936 +67632.34298229404 +78371.07544383034 +58702.58232377563 +48641.28162477072 +51335.794217541814 +-25589.570827661082 +55248.95611184277 +43045.70796946157 +39852.980113476515 +74479.84015718382 +55817.866361134686 +28368.277901782654 +4325.563738179393 +74940.10927672591 +20309.22197609488 +42484.78193102684 +27574.12437673472 +66106.66420494486 +31911.179239175282 +57603.463071059436 +23404.569910187274 +68077.01510415133 +61214.50185076054 +112895.81231864076 +44066.5677365344 +95932.1743827695 +65323.78254807275 +66096.61579768453 +61670.08116026223 +29210.96735594701 +7021.546577401459 +17919.77520123124 +25067.33501844667 +47263.601500255056 +9236.103696539067 +65109.12366746832 +50699.20268675778 +30855.442007736303 +78023.97589571029 +13678.168791653588 +25127.886032120325 +24592.30321372766 +8670.404641172849 +39811.91920593567 +13547.0374188805 +81803.20344929956 +42058.7052379325 +39503.58716316987 +27580.118323482573 +17667.98448259663 +79926.75203465484 +69840.52928441018 +23433.102547418326 +52210.36527597811 +28521.512948323973 +19367.44066171255 +14996.21776876133 +58284.745285228826 +-23850.978362232447 +45284.116862006485 +23103.85512341652 +20196.066925259307 +17878.063967309892 +24914.062633302994 +52227.69425103534 +47263.3659913484 +32747.839954808354 +25824.321745625697 +44213.54028176516 +47900.28892457951 +78371.6563630132 +24094.19799620472 +19025.820657112636 +36952.05049704388 +63618.965873403475 +41422.87433538493 +76628.67543958314 +293.00191182643175 +64109.89437796641 +26187.37691683788 +34206.72091504745 +24920.05658005271 +60601.12462956831 +59203.65372771397 +66431.65038031433 +7915.20970356185 +89329.48667669855 +32277.65962469671 +-30570.020852204412 +106293.61845640931 +72614.02783234231 +20465.317920608446 +196907.66490834206 +49853.9696567459 +18372.00592802558 +47300.44472880568 +35829.55454912409 +-28515.006059897132 +23583.737233314663 +50247.91700670961 +105426.2609769674 +16008.530618465506 +25737.768695879728 +94006.97251431178 +-12346.52467418462 +93311.73953382857 +71176.9592854362 +68678.69091885444 +58684.42187968083 +27801.984311749227 +94876.58386280295 +12808.07022298593 +79110.80060098507 +11973.39616720844 +73858.87344778143 +6401.284976987168 +65255.31591372471 +41777.53907204699 +74786.09027117677 +68465.25184683967 +27312.32691428624 +-1655.6111230812967 +12913.368544497527 +5987.674715549685 +46140.82433531154 +19611.487283593044 +67069.79991372582 +74940.10927672591 +52267.72400538437 +56632.66046566423 +12981.962147620507 +28192.401960233226 +16410.401678265072 +2931.8550592176616 +18578.62070548255 +-13483.057158302516 +2245.6375549286604 +54322.983452789485 +136788.08636239916 +84073.63831900991 +1469.1453681392595 +40528.23832247965 +41240.35076475423 +-27550.15026754234 +55433.52832517307 +21722.878091152757 +-5713.339079326019 +1691.3318583909422 +73818.72659970913 +36178.33399902284 +92452.4666918926 +65829.53544831835 +81943.8839954799 +55823.29229132552 +49396.47656238172 +90877.18802704755 +30278.858750796877 +63301.96172236744 +-5039.698525079526 +55665.29041097406 +-21661.851138120517 +58240.30411069468 +72641.98031918239 +14251.699195332825 +6870.064331817441 +36350.51177477464 +63168.00127191376 +22129.979922369123 +-659.547415507026 +24606.92880647164 +74769.11284159403 +14488.228114943951 +45913.72865667101 +63207.932746096514 +67869.3880190868 +128197.83621247672 +51465.758658159524 +2826.556737706065 +27314.375556985848 +70253.93431949895 +44105.88547803089 +63019.5447204262 +14105.731253006496 +34775.61486572493 +12658.879833839834 +-49051.49868033361 +25068.51313154027 +55895.242141950876 +46329.38756080903 +15910.931999058463 +-2068.5576507663354 +56479.38808052242 +42382.131992944516 +41449.83105339203 +26586.177935814485 +22078.060322537087 +54155.71134941187 +42518.55772178713 +201668.94833807088 +14318.281494359486 +-20010.35537510272 +56414.8157721227 +38037.040860203095 +17951.11955236271 +39380.43649312109 +48325.31092559453 +11040.006793214008 +69391.94700269867 +-2852.0308871213347 +132499.9369389154 +90045.4527261816 +-1006.023659975268 +26532.06778713502 +-2504.2470378503203 +30210.92888142541 +-1066.228182055056 +67633.42022005282 +25968.57413748745 +39779.952408331446 +-6072.3922738377005 +20647.841491239145 +23271.19851628039 +34061.4911193531 +21454.85174174048 +49233.98347469699 +32856.36503211316 +58027.52846005745 +55183.513529874384 +56957.187076196074 +21814.87926461175 +26878.686169901863 +42599.927350230515 +61860.9331106646 +23911.490599639714 +55450.79161716346 +89919.34914120939 +87462.61623186804 +40047.212571011856 +50958.12770984601 +1259.7024181047454 +45049.50059786532 +24997.346454955637 +33549.165539698675 +39620.84501784202 +16789.236663863994 +13753.447490477934 +8738.96090569254 +88345.26435127761 +49794.557046810165 +32264.662947466597 +8068.27686235588 +86938.00107026473 +25363.788556584157 +34623.51627641171 +30728.659351282753 +80465.56160884164 +30629.94403306581 +44844.67342128977 +-38946.83452500496 +39144.53396865819 +16763.341725878417 +116092.77265455201 +76162.04669184145 +50356.11314042844 +63557.99382708408 +30601.281904124655 +36139.45556691196 +-9834.330425694585 +11345.233242594637 +11168.357127116993 +7502.572328867391 +52976.02063531894 +48066.15116239246 +-930.8470535557717 +-14764.100889856927 +94134.55518781766 +1693.380501090549 +70132.0646317536 +-4133.592449810356 +33138.78203405347 +95433.5401292909 +40215.699605444446 +21579.77127908077 +50444.38496042974 +57213.57964844257 +95529.39179444872 +33346.35298298206 +-15864.041929056868 +13886.281535123475 +-28906.66668739915 +21997.15569699183 +51979.31305669341 +7126.844898913056 +35888.91401043814 +-12354.567263633013 +59952.91528369021 +129480.08210020047 +45949.60183393769 +58589.24141281471 +-2877.9258251050487 +41499.5105279563 +57781.50246651657 +-3279.961248368956 +1824.5737605886534 +55671.752604299225 +14264.997320571914 +22582.34331274312 +-3084.5771640818566 +26850.327307185158 +80001.27079409081 +103130.47159428336 +19195.543534294702 +1715.0469317110255 +81803.3486790955 +-1211.8099155686796 +27969.88228963595 +24173.87711863406 +1309.6104816868901 +26503.51045789104 +22832.28237340413 +90940.08873908687 +62655.675692259334 +-3620.159982474521 +46395.34346468467 +51280.70985277556 +42983.108313087374 +54668.03692906536 +16453.44070809055 +57774.46834827401 +-30762.635654984042 +44618.51889720932 +76055.75189677533 +7778.95804545749 +68077.01510415133 +41921.163378842175 +-12788.245346619748 +-42765.65846638754 +29928.5118794851 +12500.936396153644 +12765.980773296207 +23530.35827948153 +108538.30251272582 +26144.494601981714 +46107.090055970475 +29091.9492037287 +32630.19400916528 +-35983.736240141094 +40883.66638652794 +-25073.367741462775 +36293.90606514923 +33658.5333869867 +35644.982335793786 +54236.368836706504 +8619.074330040254 +-25506.078824473545 +17760.508869340643 +39426.9509705985 +17347.48766444996 +22818.245837207884 +37346.42481446732 +-60777.818356646225 +60623.075368708 +49502.894105637446 +4304.658680701628 +71386.43626632448 +59392.026583858766 +26227.124741302803 +13279.004742305726 +57928.42194307037 +7419.904850945808 +-9840.988106195815 +34691.691970563494 +172638.3075987734 +-16531.73592657782 +19762.42618087493 +79650.530041161 +61213.92093157768 +17745.883276596665 +-11618.006879426539 +6050.2743719229475 +61909.49623084068 +16327.199718160555 +23521.72663348727 +3330.2506713652983 +29470.743366756476 +35140.69934558775 +58404.85452296864 +73449.97615078837 +-6431.445468349382 +60323.95637170039 +74816.82151424605 +6517.087746441364 +38634.25703170244 +28001.75393860694 +12783.353398093954 +6845.016953518614 +79784.74899475463 +57781.50246651657 +35790.17479288578 +29766.607848348096 +2676.0515435179695 +36683.67003130168 +23308.492291215807 +67633.42022005282 +46101.52762579266 +-3997.518146158196 +57779.46924937703 +91872.33668207005 +20927.30747628957 +47705.04932518117 +51201.83376708906 +72866.92503817286 +4011.0632854523137 +42545.370283304714 +59377.99004766159 +15833.179107677191 +-9635.132619621232 +46614.22884234879 +19822.388138003647 +37636.098732893355 +65628.92286712024 +37960.9393659411 +4518.971077722497 +37324.001952311024 +33048.90384421684 +65546.23506995104 +20984.22650355939 +22781.335892469622 +30290.038922131993 +33925.69201781135 +28183.70568845328 +54693.34281050414 +62867.61110373307 +58839.769530021586 +11156.574459968135 +49387.909542171285 +21395.97481531091 +-2548.4052891414613 +20474.538623149507 +13403.614998507313 +-10956.200314876623 +41602.76020676922 +22283.252075360157 +-15082.633553640917 +22064.57576032076 +20785.028697486036 +29339.550107259303 +14922.156795985997 +69967.5986360088 +48707.62135884538 +35796.206078237854 +35507.79512954783 +7080.919477982447 +95529.97271363158 +44755.117046907544 +128153.17217562534 +61195.33514586743 +75587.61708569154 +33442.716392274946 +26283.73045092728 +59964.90317718871 +18019.079575995915 +40153.099949071184 +80095.64626195561 +45370.10324882902 +50589.025699577294 +96959.87720988877 +10666.328005958349 +3066.7578494045883 +25503.61346207559 +562.8419637223706 +25942.659096662886 +37111.31682893634 +-53110.38410189841 +38328.07528377604 +-16799.570601054467 +59061.63551828731 +81803.20344929956 +49294.53448837157 +26867.83765705116 +78371.6563630132 +-2103.083217500709 +25962.369542329572 +38895.355536233634 +-15282.42041626107 +15613.775874867104 +45720.70195958018 +94985.90347903874 +60135.438854320906 +115377.41582051665 +92616.65042963531 +60180.77521870565 +20032.532160392962 +-15495.6547585316 +26655.16770319827 +15795.296276194043 +25500.975762830116 +29704.597248520702 +88504.24946614355 +78371.6563630132 +392.95996892172843 +29939.134125999175 +71192.93381004315 +77925.42377966642 +95529.97271363158 +35425.16499022767 +14665.955954760313 +14670.75168557465 +59164.16664884426 +41662.818625999615 +29656.50036461465 +55948.210387050174 +12942.839412847534 +39010.573518205434 +65470.87875447888 +80683.61045542546 +61070.87043972034 +54384.6992120957 +-6981.0648229392245 +-12594.598918079399 +27520.156366353855 +86168.2697138181 +39656.85954831354 +72231.74348494783 +64253.20344489813 +-13343.691817646846 +7428.842590333894 +88603.0758953467 +28727.331096294336 +36385.16785046458 +11752.101999727078 +-5968.18036857713 +32483.275301404297 +63460.114759470336 +68931.85673530772 +21122.006963051856 +20419.981556224637 +19880.767992937937 +3521.5561636546627 +61040.28467474971 +40262.46779635921 +82322.24912468251 +67004.52697364427 +21444.462249048986 +21212.675495120697 +72134.79273306206 +74905.79380586278 +5068.5004816018045 +54610.71267118398 +74120.78696267214 +46919.19042925071 +39648.81695886515 +48034.89381479751 +36379.173903714865 +89.85880170296878 +74940.54496611375 +25067.924074992537 +10612.949052126147 +44807.544690627605 +77922.19702387415 +75754.0803696923 +2699.57733681798 +11270.504427474923 +14075.795966601 +67286.23886659555 +75947.04492389504 +68596.06077953335 +39244.4273999678 +33697.360496421345 +5978.289425279014 +45382.00030269008 +45292.99603844434 +-28765.67951116059 +17348.096823835745 +71820.80591477081 +74178.51155762933 +41522.76776669361 +118171.63708967716 \ No newline at end of file diff --git a/test-A/expected.tsv b/test-A/expected.tsv new file mode 100644 index 0000000..fc4c7af --- /dev/null +++ b/test-A/expected.tsv @@ -0,0 +1,1001 @@ + price +0 203000 +1 39000 +2 190000 +3 230000 +4 189000 +5 129000 +6 15900 +7 180000 +8 147000 +9 210000 +10 280000 +11 133000 +12 222000 +13 180000 +14 387000 +15 341000 +16 174000 +17 5 +18 172500 +19 349189 +20 101000 +21 168000 +22 325000 +23 176751 +24 275000 +25 180000 +26 176000 +27 121000 +28 7868 +29 235600 +30 36700 +31 217000 +32 179000 +33 108000 +34 185000 +35 245000 +36 117966 +37 118177 +38 3500 +39 197000 +40 160000 +41 46000 +42 135000 +43 207700 +44 101236 +45 189714 +46 64998 +47 191000 +48 222000 +49 137000 +50 89300 +51 34048 +52 202600 +53 49376 +54 300000 +55 178000 +56 15000 +57 165061 +58 39638 +59 10 +60 270000 +61 63000 +62 48000 +63 110000 +64 70000 +65 6200 +66 250000 +67 162000 +68 165967 +69 1 +70 28000 +71 1 +72 128000 +73 247000 +74 64000 +75 134000 +76 187070 +77 229700 +78 28000 +79 204000 +80 234800 +81 76671 +82 115412 +83 114000 +84 187000 +85 32500 +86 52000 +87 159000 +88 30000 +89 24850 +90 189000 +91 36000 +92 17035 +93 250000 +94 286000 +95 43000 +96 150122 +97 168000 +98 122548 +99 208000 +100 5 +101 238000 +102 200000 +103 236000 +104 69000 +105 15606 +106 44540 +107 143000 +108 279000 +109 134000 +110 110000 +111 167000 +112 195463 +113 194000 +114 179023 +115 63000 +116 168000 +117 4 +118 242000 +119 156000 +120 186000 +121 308000 +122 225731 +123 237400 +124 155000 +125 130000 +126 114677 +127 188000 +128 40409 +129 181000 +130 115000 +131 105000 +132 169000 +133 213180 +134 139000 +135 38000 +136 144000 +137 172002 +138 243000 +139 196571 +140 27000 +141 257000 +142 205000 +143 135000 +144 181000 +145 154000 +146 26000 +147 190000 +148 211000 +149 150000 +150 84593 +151 31844 +152 22780 +153 93000 +154 175000 +155 35508 +156 56000 +157 312000 +158 182000 +159 105300 +160 218000 +161 64000 +162 121802 +163 164000 +164 32000 +165 214788 +166 221000 +167 102000 +168 114000 +169 154000 +170 21000 +171 129000 +172 240000 +173 173652 +174 61000 +175 215000 +176 225200 +177 23968 +178 16894 +179 49000 +180 55000 +181 107274 +182 219000 +183 98646 +184 124000 +185 71733 +186 167000 +187 101251 +188 11054 +189 138000 +190 341000 +191 198000 +192 215000 +193 198000 +194 250000 +195 198000 +196 118000 +197 158000 +198 169000 +199 178000 +200 130000 +201 80000 +202 228900 +203 210000 +204 4869 +205 268000 +206 151000 +207 281100 +208 161149 +209 147000 +210 237000 +211 204000 +212 255000 +213 159630 +214 93867 +215 139000 +216 239000 +217 147000 +218 100000 +219 310800 +220 186000 +221 192500 +222 2900 +223 170 +224 180000 +225 180000 +226 221000 +227 44000 +228 186000 +229 96000 +230 224000 +231 325101 +232 123928 +233 160000 +234 116000 +235 252000 +236 98000 +237 247768 +238 197000 +239 265000 +240 325285 +241 115000 +242 28130 +243 245000 +244 221000 +245 182450 +246 85000 +247 122000 +248 109537 +249 200000 +250 129000 +251 93600 +252 102900 +253 66 +254 30300 +255 166000 +256 185000 +257 149000 +258 1 +259 152862 +260 203394 +261 19239 +262 9500 +263 185000 +264 2111 +265 202890 +266 103000 +267 7 +268 310000 +269 98350 +270 180000 +271 167329 +272 149405 +273 23800 +274 303000 +275 255000 +276 122000 +277 300000 +278 5 +279 221760 +280 168000 +281 203 +282 161000 +283 198000 +284 134551 +285 29000 +286 47245 +287 1 +288 201432 +289 147000 +290 247000 +291 143000 +292 176380 +293 158000 +294 109000 +295 206000 +296 123000 +297 189999 +298 158000 +299 91000 +300 7000 +301 207636 +302 50000 +303 89600 +304 54000 +305 98000 +306 138000 +307 214064 +308 663 +309 240420 +310 189000 +311 336318 +312 124000 +313 136261 +314 106000 +315 169000 +316 106425 +317 114000 +318 226000 +319 160000 +320 196000 +321 84200 +322 141300 +323 180882 +324 245000 +325 17500 +326 120000 +327 239000 +328 141000 +329 311000 +330 313000 +331 198000 +332 124021 +333 11200 +334 131000 +335 224032 +336 250000 +337 352975 +338 46512 +339 26092 +340 12345 +341 124362 +342 118478 +343 21000 +344 10 +345 140000 +346 181308 +347 130000 +348 17096 +349 170000 +350 35886 +351 136132 +352 5 +353 291000 +354 180000 +355 162000 +356 316918 +357 159705 +358 109881 +359 151000 +360 30965 +361 224000 +362 226000 +363 204500 +364 197000 +365 174000 +366 90000 +367 236000 +368 167000 +369 1 +370 50000 +371 1 +372 86000 +373 131606 +374 199610 +375 114000 +376 5000 +377 4 +378 305000 +379 217700 +380 5 +381 147000 +382 146000 +383 188148 +384 96000 +385 145376 +386 162661 +387 260000 +388 192000 +389 288000 +390 238000 +391 21000 +392 26900 +393 208000 +394 73700 +395 141649 +396 221500 +397 69433 +398 101858 +399 184000 +400 5 +401 144000 +402 67908 +403 70000 +404 224000 +405 280000 +406 85000 +407 109489 +408 181000 +409 141000 +410 107000 +411 238000 +412 32000 +413 69467 +414 31700 +415 180000 +416 209101 +417 8500 +418 137000 +419 177048 +420 167427 +421 190000 +422 5 +423 258900 +424 7800 +425 183915 +426 217000 +427 163000 +428 2000 +429 146000 +430 104000 +431 165000 +432 5 +433 283000 +434 260000 +435 223000 +436 194000 +437 4200 +438 46000 +439 238420 +440 5 +441 18498 +442 154000 +443 443000 +444 179306 +445 60806 +446 220000 +447 112000 +448 77500 +449 112000 +450 230000 +451 227000 +452 219000 +453 229897 +454 152900 +455 32163 +456 341000 +457 125000 +458 178000 +459 156800 +460 200356 +461 150000 +462 204800 +463 161000 +464 107000 +465 144000 +466 42434 +467 99053 +468 227000 +469 267405 +470 98073 +471 220000 +472 35000 +473 186095 +474 259000 +475 403000 +476 113816 +477 234 +478 237000 +479 41000 +480 313000 +481 42000 +482 13 +483 22756 +484 210000 +485 104000 +486 169000 +487 177077 +488 190000 +489 85000 +490 178112 +491 178523 +492 190000 +493 131000 +494 88000 +495 123000 +496 235000 +497 112000 +498 227000 +499 68000 +500 155000 +501 19822 +502 189000 +503 42000 +504 289000 +505 95000 +506 23000 +507 156000 +508 13200 +509 51112 +510 136204 +511 327148 +512 27247 +513 124000 +514 73830 +515 153000 +516 189000 +517 1 +518 245000 +519 118000 +520 121321 +521 117000 +522 161800 +523 253000 +524 12 +525 315000 +526 196000 +527 216000 +528 364000 +529 170000 +530 177000 +531 111117 +532 256000 +533 64000 +534 113200 +535 99000 +536 157000 +537 4360 +538 79484 +539 53853 +540 161000 +541 72351 +542 150318 +543 1 +544 203000 +545 201000 +546 211000 +547 198000 +548 27900 +549 207000 +550 158000 +551 251000 +552 142000 +553 46000 +554 150000 +555 15994 +556 113600 +557 210000 +558 26000 +559 178000 +560 288624 +561 161000 +562 240000 +563 227000 +564 6150 +565 44300 +566 88000 +567 168000 +568 165500 +569 7318 +570 34750 +571 125503 +572 188000 +573 69200 +574 141000 +575 145000 +576 12898 +577 199000 +578 186000 +579 22000 +580 19800 +581 180000 +582 180213 +583 220000 +584 200000 +585 81300 +586 114000 +587 191000 +588 20536 +589 181205 +590 219000 +591 181000 +592 124518 +593 109000 +594 23000 +595 221000 +596 192000 +597 116430 +598 221000 +599 6780 +600 240000 +601 260000 +602 148550 +603 220000 +604 142000 +605 142000 +606 172000 +607 133000 +608 158000 +609 158200 +610 80000 +611 215500 +612 20700 +613 7185 +614 200600 +615 2750 +616 136000 +617 165000 +618 195000 +619 130000 +620 54933 +621 91000 +622 183091 +623 8352 +624 198629 +625 127100 +626 203000 +627 155000 +628 110000 +629 17809 +630 190495 +631 206000 +632 74000 +633 70000 +634 189000 +635 174628 +636 127000 +637 44595 +638 21739 +639 208000 +640 21714 +641 120000 +642 75000 +643 132000 +644 186000 +645 133000 +646 217000 +647 240000 +648 120015 +649 160000 +650 45000 +651 155000 +652 135118 +653 99800 +654 64401 +655 121830 +656 166842 +657 7 +658 27050 +659 192000 +660 30320 +661 145000 +662 29500 +663 181000 +664 512000 +665 181165 +666 148700 +667 160000 +668 132000 +669 137000 +670 199000 +671 108124 +672 161000 +673 216000 +674 174555 +675 195000 +676 7 +677 58484 +678 68000 +679 173933 +680 343000 +681 218000 +682 11803 +683 140000 +684 149328 +685 18100 +686 185000 +687 79400 +688 137000 +689 179358 +690 170000 +691 149245 +692 207000 +693 174000 +694 150869 +695 258000 +696 204000 +697 249000 +698 224000 +699 77000 +700 172000 +701 165000 +702 2 +703 152000 +704 98000 +705 160000 +706 125490 +707 199000 +708 113581 +709 339 +710 293954 +711 171000 +712 108500 +713 18900 +714 167000 +715 137100 +716 140000 +717 2 +718 263000 +719 188000 +720 157000 +721 157200 +722 11082 +723 117830 +724 10 +725 207000 +726 119000 +727 5517 +728 138000 +729 165000 +730 162000 +731 29000 +732 174000 +733 1 +734 34000 +735 204000 +736 170000 +737 166000 +738 26000 +739 153000 +740 125000 +741 25000 +742 167000 +743 5 +744 158000 +745 187000 +746 176000 +747 198000 +748 337173 +749 197000 +750 160403 +751 168000 +752 183808 +753 71238 +754 256000 +755 20700 +756 3 +757 70770 +758 180188 +759 1 +760 220000 +761 15000 +762 28275 +763 18331 +764 112903 +765 90600 +766 2 +767 177000 +768 157681 +769 212000 +770 15000 +771 132000 +772 96000 +773 185000 +774 5 +775 133000 +776 169000 +777 168000 +778 171000 +779 97000 +780 161000 +781 23000 +782 36278 +783 98000 +784 160000 +785 247000 +786 145694 +787 65800 +788 142000 +789 700 +790 286620 +791 98000 +792 119000 +793 158413 +794 365000 +795 162000 +796 138500 +797 83000 +798 212000 +799 80000 +800 129000 +801 8236 +802 300000 +803 157000 +804 47000 +805 194000 +806 56715 +807 174000 +808 192000 +809 160000 +810 218000 +811 150000 +812 178000 +813 84000 +814 149587 +815 248000 +816 5 +817 112000 +818 175000 +819 183000 +820 250000 +821 203000 +822 52000 +823 174215 +824 186000 +825 14266 +826 20700 +827 162000 +828 196000 +829 249000 +830 194768 +831 420000 +832 64126 +833 43000 +834 159400 +835 3 +836 153387 +837 112000 +838 151000 +839 8900 +840 100960 +841 215000 +842 77000 +843 250000 +844 232000 +845 120000 +846 158000 +847 124703 +848 75000 +849 200000 +850 189000 +851 255000 +852 145000 +853 102500 +854 260000 +855 96182 +856 5 +857 312000 +858 182000 +859 134836 +860 10 +861 29459 +862 162000 +863 203000 +864 148000 +865 149000 +866 186000 +867 330000 +868 70000 +869 144000 +870 120672 +871 183000 +872 8960 +873 176810 +874 215000 +875 228000 +876 201000 +877 181000 +878 73000 +879 186000 +880 298125 +881 41102 +882 150000 +883 132000 +884 176000 +885 380000 +886 301000 +887 229000 +888 138000 +889 151000 +890 4000 +891 146000 +892 155000 +893 197043 +894 5 +895 281000 +896 22000 +897 276000 +898 250000 +899 188000 +900 302000 +901 182000 +902 22300 +903 1750 +904 211987 +905 76000 +906 70500 +907 99000 +908 16000 +909 98000 +910 153860 +911 235000 +912 209000 +913 117500 +914 191400 +915 160000 +916 106000 +917 222152 +918 142000 +919 113000 +920 176000 +921 162000 +922 270000 +923 153600 +924 121600 +925 84445 +926 220000 +927 101000 +928 23977 +929 158000 +930 144000 +931 81500 +932 220000 +933 264000 +934 199111 +935 85000 +936 93000 +937 245000 +938 88000 +939 158000 +940 1 +941 285000 +942 189000 +943 154000 +944 237000 +945 18964 +946 53000 +947 319000 +948 104000 +949 259000 +950 120000 +951 217000 +952 5000 +953 44833 +954 140000 +955 162000 +956 530000 +957 128145 +958 185000 +959 89100 +960 141000 +961 180000 +962 5 +963 109228 +964 270000 +965 96000 +966 32 +967 49000 +968 2 +969 174000 +970 183414 +971 41000 +972 2950 +973 152000 +974 190625 +975 75000 +976 133000 +977 335000 +978 168000 +979 189750 +980 131700 +981 51000 +982 254000 +983 336000 +984 167000 +985 251000 +986 116000 +987 4000 +988 167029 +989 177267 +990 306000 +991 90000 +992 30000 +993 180000 +994 2 +995 465000 +996 89074 +997 21711 +998 144000 +999 113606 diff --git a/test-A/out.tsv b/test-A/out.tsv new file mode 100644 index 0000000..54a94c8 --- /dev/null +++ b/test-A/out.tsv @@ -0,0 +1,1000 @@ +24011.973087496124 +23563.70675036963 +11560.964018863626 +-8533.293549796566 +-6064.349684388377 +20297.419942721725 +40399.580149053596 +19425.340096199885 +118423.76525757089 +47261.317348649725 +-29452.340737940744 +44114.84506638907 +-3817.3464844515547 +30715.174533029087 +-25260.577654039487 +-7549.996112219989 +44891.126140061766 +66214.1498156283 +35059.452801746316 +14874.720498402603 +60027.50283356197 +17819.88176992163 +-4858.6345406016335 +44981.84542611521 +5040.231569596566 +23606.957133450545 +37982.69560310338 +34209.91319931671 +73675.60577967856 +25772.891079925932 +41668.27877941355 +21488.50949376542 +23453.13303036429 +9008.249239645898 +70745.97507771943 +13255.158447020687 +53940.79447829537 +46556.810364820994 +70878.42244098522 +34932.86989352014 +12608.872416912578 +50489.72132481355 +37319.14628100395 +67694.38194245938 +66611.19954734854 +32927.15193916857 +37068.3195668431 +8783.228305712342 +27645.069888780825 +43646.65763518587 +40892.285698460415 +87031.22515983414 +13285.177292903885 +46445.3168347599 +-4659.436734528281 +30584.0186121352 +66771.88135923538 +32953.39339263365 +72493.20225675311 +95528.66564547084 +20899.547721538693 +79272.4234151002 +63680.326851569116 +26488.33314720262 +65225.676733387634 +69025.43701545615 +-4741.4577144617215 +-1898.0219736341387 +42993.89484309498 +78372.23728219606 +49971.364459807985 +94431.87764601968 +27795.99036500044 +76203.28577082511 +47630.461775308475 +19693.83257775195 +22281.12857911084 +16089.982388656586 +84355.46626440529 +35494.72846040595 +15226.748817112297 +45721.62409233954 +64552.42196358461 +44168.203917382285 +39939.27655025385 +76490.76837161183 +84424.05986752734 +16063.087685391307 +34552.60810296796 +46943.360558182 +13240.604664403945 +58805.113454331644 +75707.20038710907 +47089.603558423 +18453.30937692616 +75068.80192940962 +20906.546511355788 +7892.925351567566 +63516.062141508795 +39830.75147294812 +74940.10927672591 +56185.70173333958 +6799.680589135736 +25837.360775149427 +33178.12445168849 +69085.95506344456 +54466.67328245938 +8214.684771143831 +43123.06271028891 +19134.955182016827 +26978.579601212405 +-1163.3059749528766 +58809.23285300471 +21328.616766724735 +6223.426371902227 +79100.84606078546 +539.5847249832004 +74940.25450652186 +-10697.6666104123 +44809.085057286546 +22804.209301009774 +11704.145171859302 +34069.258106207475 +-2676.2689236355945 +13457.583008886315 +16965.766287745908 +29608.325319534168 +1679.3439648943022 +61718.90398490522 +44119.64079720434 +23119.937435233966 +15380.55960895028 +35445.195473174565 +7704.290900657885 +112217.56272659358 +76040.07413488626 +28903.86072017532 +46161.788179877214 +51905.44405507855 +31441.064776083454 +35846.22878456861 +29528.06762463879 +47918.835385395214 +-22487.893547902815 +33824.9995383434 +23495.453752072528 +122270.3821914494 +43057.69586295914 +33389.899207806215 +10384.500060564838 +58856.17939173151 +73556.49234267045 +73568.86731805559 +29937.732582027093 +-7094.9947904469445 +117580.55182120111 +45973.561122089624 +28280.961420516483 +40665.42552872561 +24597.297395195812 +25671.899434812367 +18707.345722985454 +56393.624556015246 +-9732.970223890617 +62695.01810989436 +43011.84838707559 +26795.15102945268 +65784.48950333707 +44290.765530884266 +62502.40330711752 +61473.80684375763 +585.5948745412752 +24888.75675186515 +54996.14359472878 +58728.4772617612 +14548.19007207267 +34391.49835472647 +61042.76481013652 +82414.27967559826 +62652.72467536945 +45873.66769077908 +51939.48275407124 +24629.59698866401 +96155.40590574779 +53010.54721929878 +70895.91420972161 +35735.65506456327 +39156.64441011567 +93924.74778182153 +22912.14532176871 +26285.102681514807 +10399.125653308816 +3160.368676564656 +17507.343052887358 +14926.222020928748 +10031.440812801942 +56519.3023189418 +44641.187079400755 +11056.681028656662 +41177.71376977675 +96509.07227082457 +27781.364772256464 +19637.713311499916 +56943.15053999983 +77542.69702325296 +66045.24266166426 +24754.75896280911 +8331.031922145747 +36585.394599171355 +18403.953031286597 +25569.569365953095 +-17130.50357328821 +22955.433043453842 +42070.92144785449 +32630.557367935777 +1329.5315757654607 +56040.47193764523 +31532.033578873612 +38602.957203515805 +13449.546546345577 +25990.633160293102 +14261.751775408164 +70965.56031840201 +7633.204291442409 +-8066.266995923594 +9214.030049013905 +-10221.456692601554 +61442.507015571 +15205.745447422378 +50091.325712665915 +-32226.921505426057 +1131.860128090717 +53143.5653780913 +61631.02453295048 +43127.67437503021 +5605.878661639988 +46491.880648492835 +23834.15757160075 +59321.38433803618 +52264.49724959023 +-26053.099876796827 +-1097.0441779121757 +62511.94692217838 +-7157.631785423495 +20785.028697486036 +28839.65095368307 +51198.60701129679 +124383.0027146982 +45061.48772257101 +38541.53566023521 +20037.59644576814 +41262.94623199757 +69923.64586710278 +57650.953214251436 +60123.169743799604 +76456.42716717627 +22949.439096704125 +38281.160445337184 +78372.23728219606 +89874.9282779079 +26881.352910321206 +85627.82450448349 +70007.04366681818 +1556.1559562422335 +57285.32734033 +30523.357697090134 +27750.0649440689 +44055.8950405512 +10800.8775129579 +66721.49349995703 +26984.57354796119 +8235.497771482915 +38712.58883208968 +71239.24306117278 +-1663.5790353240445 +5430.012771510519 +14191.11084305495 +19729.07770998869 +81631.62609498575 +51436.01621583756 +43066.3275089534 +17530.88251760509 +54377.57733767666 +45347.0197846042 +33585.1225324776 +39355.00111997314 +58534.8378972793 +78372.23728219606 +6346.5882946951315 +42684.60613224935 +34779.597508376464 +39711.41661523841 +34863.64603495784 +23316.5348806642 +47105.24330102559 +12791.395987542346 +48160.41853896249 +45999.14172503259 +26870.64358045347 +44076.942132066935 +87405.2919739876 +33878.45224052202 +111818.82650962006 +71683.62479552347 +94183.11830799468 +59972.94576663617 +40437.56559371017 +4021.7990614753217 +81707.6422437327 +28612.29189451784 +36094.70825907588 +-6624.9069817736745 +56687.21753259003 +51352.4463077914 +13343.063984832726 +63878.06507148966 +24188.790648034774 +-11839.603984733112 +37584.29999095481 +44350.72748801205 +76256.66472465917 +41142.711202492006 +91554.07517572679 +18596.23772919085 +16750.46606701333 +89262.91046467051 +32879.622270851396 +21725.001074775122 +50419.079078990966 +11268.455784776248 +-38779.52560366411 +3658.5930942371488 +53252.62062059436 +69760.15301413741 +58121.66314099822 +34561.12675609719 +26137.595654102974 +-8921.438075154088 +71249.7694141455 +64165.84381036926 +59421.78525270894 +45658.564078451134 +39650.002023742534 +123241.65439692512 +78370.93021403532 +11714.23640400637 +12686.039519589394 +27628.09238711372 +89321.58330213185 +39589.44405828323 +62307.14740910567 +56891.05682939384 +78180.46380778495 +3633.287212798372 +41078.44673361629 +25799.47794366721 +43592.046178252436 +12337.961037911475 +37167.94159225933 +48721.65789504256 +62100.22045138478 +13731.368364831433 +13073.223932935856 +26735.429026233032 +-7226.188049944118 +38273.15519449208 +64934.016058986075 +36132.002034010366 +32671.79281878192 +60900.74768203031 +56771.896314609796 +129845.44357650168 +27400.23245209828 +23497.589926810004 +24381.740481397137 +43898.55055849906 +56934.38940229546 +61214.06616137363 +-1831.4770132116973 +14646.316077706404 +81803.20344929956 +21605.077160518616 +42829.8359279437 +39404.867904289626 +25335.126427643932 +25238.161964151077 +28375.217367997393 +6625.530161358416 +608.1783281061798 +637.4295135941356 +790.7018987368792 +33040.93724544253 +49464.378495782614 +19118.90734172333 +32740.66763892956 +42971.48431500234 +37257.34116356168 +57626.31600817293 +59167.52598784212 +33266.748537758365 +77033.35299936123 +-6460.733992439695 +46964.87225211132 +50313.19170093164 +20471.90092390403 +-5554.072747432627 +31030.940005856566 +7189.004805229604 +19373.271374110132 +42305.92768540513 +52170.468273320235 +52999.27787405718 +62940.14133689925 +67670.89622697514 +59552.16318932176 +48064.10251969285 +5232.820991514251 +70117.9579916494 +83986.9065770274 +23623.88983998634 +53444.18544074893 +29331.50751780998 +68077.01510415133 +7559.793973575346 +56527.74597435072 +30043.653470297344 +35337.25945241563 +60950.211918861605 +95239.65835203882 +41241.49440632388 +34958.175774957985 +14642.661377419718 +61213.92093157768 +-5867.200521014631 +8012.849265823141 +31156.895205465145 +35368.55928060319 +91366.0441017216 +61274.60903768428 +25363.343056066893 +95529.39179444872 +72009.25143794436 +27941.80921724066 +-11455.985946678557 +20222.268853599206 +62310.76054191496 +17841.86611552164 +30364.790323114954 +46160.10598744359 +41027.1164224837 +-22926.220634233207 +22977.51216909848 +-31991.018980962224 +26356.013377766125 +13885.12719334662 +66544.12345268112 +-10736.419971502386 +25290.37911980506 +99214.96033787634 +25941.864813766442 +20719.290354019962 +3153.7210474833846 +23034.804975146428 +16017.751321007498 +34944.10190015845 +4637.90788916219 +44144.516603684984 +52834.363005694 +-18759.930262081325 +-35849.14365221746 +45642.96277980413 +10022.80916680675 +76230.64029496536 +35418.505747956224 +56689.98472354561 +-5646.794118900783 +51058.02037236374 +42184.50367439445 +15029.804880087264 +51460.9935302902 +-297.1379734929651 +75214.03172510397 +126118.01476485096 +81739.43489851616 +8220.05232274253 +93417.03785534017 +38116.93179245759 +52042.717912296765 +46121.558108739555 +44090.389611718245 +-18366.153098381124 +29527.570520969108 +25532.275591016747 +20374.645191840827 +57263.2864101883 +35507.79512954783 +29414.13765713107 +65047.946026493795 +75553.77298492473 +50603.65129232034 +30860.441667325795 +75371.07588823419 +8152.085114768706 +58178.85790717043 +3923.7468041870743 +18494.700437261723 +57384.115325575694 +37333.18281720206 +-52159.213676992804 +51796.44952201191 +68641.02145108487 +-13769.071058385074 +84018.72317934502 +57721.55206649657 +44134.139292876236 +131033.45160154812 +25922.62861371599 +94431.87764601968 +17422.075214321725 +53514.241152958944 +67248.36780061573 +39933.282603504136 +39873.3813476488 +23245.892634842545 +105823.01644473989 +-14191.224296526983 +6767.791704401374 +-13539.662867927924 +-5566.468498482369 +35545.088904484175 +17125.621676184237 +47895.88689115271 +-32952.48142735008 +51184.570475097746 +33744.62326807156 +28085.860899841413 +12309.192122981884 +94896.91603420023 +79942.31770865247 +59766.43461158872 +54377.57733767666 +43530.27779096365 +24432.190171188675 +78372.23728219606 +51832.034618300386 +3590.588547660038 +32654.529526793398 +31233.531398036517 +118067.78163131233 +56555.26862637419 +40596.83192560263 +61405.93178889062 +39488.96157042682 +95344.95667355042 +38449.68481837306 +75858.38460442703 +50844.266781228594 +40153.099949071184 +66149.8870607065 +23966.047666564584 +-17875.731324260123 +28773.32114301063 +-19598.793756364845 +12256.38498993311 +90911.26864580251 +71571.01772222202 +68533.46112316009 +13383.400689627044 +50169.93455726281 +73755.48216731101 +83203.58778915275 +52424.58199586347 +11469.038499796763 +46875.266837697476 +90465.23357596155 +29003.75415148586 +93348.10480079427 +58050.431838628836 +-3854.0411514202133 +85226.8450385714 +11400.314347530715 +5782.482962726615 +48400.85341371689 +38700.80199212674 +-8397.24711804092 +103821.97161718365 +26520.22203193698 +29186.27772211563 +91449.58379143476 +-8731.515353743918 +124144.4624909889 +4632.319173024967 +79774.88680791389 +51757.44706842769 +174301.839486341 +-14265.81184639968 +-2700.807144678198 +22088.643003737554 +31275.77744253911 +49690.22457988281 +28810.550292161293 +10748.257072923705 +476.93429073970765 +340.9759754575789 +39856.646410932764 +11668.900039623491 +31210.274159296416 +33565.25071859546 +58367.375424549915 +5149.26058207266 +59523.21984335594 +51369.66580571979 +54409.15838288795 +90760.9558072593 +-3582.098547141999 +57192.525500881486 +8741.046886994503 +12005.285051942803 +-10244.713931339793 +20764.99821453914 +59540.955490513705 +29492.822492402047 +23716.929230693728 +94317.15868978761 +10552.89933882188 +42143.131980282255 +16413.509233907796 +-25147.36623478774 +37150.65924657136 +75594.79252524115 +36122.71294151619 +-9430.373384593055 +63948.70731731225 +32787.77142899018 +57419.360457812436 +52398.38568195328 +55280.865099417046 +33168.34891582187 +54503.38785216585 +33457.903754383326 +88822.48945992906 +30658.857480805367 +60249.368821827695 +40647.120559553616 +32853.72733286675 +112299.64114796929 +23821.961512440816 +25624.126432877965 +24019.137410331517 +-15402.381669119932 +112647.92190068029 +5913.049827074632 +63734.7515914524 +64618.64446777664 +50136.09960296657 +104597.92427604925 +-15131.286440299824 +81802.9129897086 +84493.43457031436 +8084.080568192527 +84018.53313839342 +816.0077801747248 +56440.12165356148 +12309.154784378596 +-63390.77656605374 +2515.11253410019 +20666.96215961594 +40306.37233421393 +144613.1674121227 +40092.5489353966 +-3962.5389415435493 +62056.74801481515 +-12415.1182773076 +-9985.554168138653 +38682.799111889675 +38777.43818469811 +77033.06253977027 +72820.06377287768 +54402.883219115436 +30674.680921174586 +30641.931926563382 +17666.609384778887 +80089.78231969662 +19067.577030590735 +-10474.87287495844 +43756.744911818765 +5424.018824762665 +82283.00957625639 +37028.68668961525 +8513.096817039885 +17848.091278227977 +23597.788017910905 +5292.82556526456 +24546.96684934292 +34024.26092907041 +-16330.32881430909 +5728.514952347614 +9595.676748512313 +1809.199705466628 +77239.20627537742 +49225.940885248594 +4897.067652364261 +81803.6391386874 +8348.866386134177 +-34639.81137915235 +43757.5346214138 +63088.796082575805 +76066.09856458008 +67882.19996528048 +52586.45741820894 +3067.0165128652006 +31968.312022502534 +23887.438821969554 +89231.16610501334 +32647.26268690452 +26474.39922418073 +53873.294347470626 +74940.54496611375 +1081.7505466733128 +11606.300383248366 +26648.18853564188 +81004.29348613322 +90194.9952934375 +15600.719713839702 +95528.66564547084 +-1447.7069938071072 +70894.43162920699 +91003.1991064772 +64826.08003822807 +906.6431703418493 +32907.69534324668 +97936.42481385823 +27733.390708626248 +69724.7386247525 +69880.460758592 +5973.638179351576 +35790.21213148814 +53651.4283592049 +38565.07437203359 +36910.985432714224 +38526.32101094443 +63888.118965035304 +31691.29991076421 +78371.6563630132 +37532.96967982128 +29644.635291391984 +17148.289858375676 +6845.016953518614 +51999.052183086984 +13975.902535290457 +29762.010912460275 +35590.425268868916 +-1756.207885353826 +36162.08564171009 +8593.768448601477 +75243.56412761472 +64523.196863953955 +57554.705384830944 +26834.708732868545 +84720.59939182643 +9900.24755330477 +55359.52983184904 +70589.33972543944 +75518.98257188872 +-39730.860432602465 +40458.36373705231 +95529.82748383656 +-625.3066218495369 +48119.06247051433 +56775.252562112175 +123975.77128764056 +40803.99764391873 +4500.720682916231 +1257.1020574616268 +68077.01510415133 +23393.17107323557 +14365.66650144197 +84122.3309308961 +28904.44977672212 +22003.472772666253 +-1507.6689509358257 +64492.332725154236 +57142.127101588994 +121985.91654680856 +47414.58973379247 +13945.191763648763 +35398.3740053419 +44060.06267027464 +50028.72605629265 +64387.65622549225 +-13515.85005095601 +20377.76279890351 +43196.931711904705 +51199.17811934929 +20583.782248711213 +29843.833097465336 +8377.972397758625 +107129.18966429215 +18047.74170493614 +62832.20531614125 +-3845.9712747894228 +77053.70830114931 +22778.239685819484 +30324.85884893313 +57452.708928698674 +3381.5809824988246 +45624.598591163754 +-14425.667234837078 +42767.23627157044 +71067.73449729476 +24774.82678435836 +109899.36556288972 +34138.12731192447 +43103.25339188147 +28215.023465134203 +3137.6358685866 +81803.20344929956 +25339.942261298187 +35064.06315301638 +46530.318064997904 +5808.092110388912 +2564.759275256656 +60035.545423010364 +3436.2134715365246 +18745.153877262026 +115812.341479728 +42888.90098900348 +36952.05049704388 +7066.845603181981 +9595.676748512313 +35257.02279751003 +-32886.600200680085 +45989.55035151262 +68573.39259734191 +12450.88706732355 +68077.30556374323 +41198.14603141509 +51566.88090834953 +10116.708651367575 +19601.290066169575 +21604.855066994205 +22146.653925660066 +63513.01793022826 +27235.69072171487 +-1401.7815728755668 +22462.419398488477 +33488.61452602409 +24706.004031665623 +28997.760204737075 +44546.69853829313 +18691.84960063547 +46976.26264746301 +38048.33818933461 +96742.89012745395 +18675.175365191884 +35603.33586368803 +95529.39179444872 +-20618.62908201851 +30248.22265636176 +58177.36971222609 +74816.82151424605 +80589.46729269717 +19181.506998097524 +19967.617933698 +13969.244854789227 +22069.557928113267 +21431.590466495603 +-16124.548004940152 +22547.060841904953 +36012.07811975386 +63788.51323823165 +30348.11608767137 +70016.83681476675 +33212.85570118949 +22024.092312158085 +60059.697851599194 +2487.534026139416 +5759.814780534245 +32842.32849591598 +15695.991901431233 +-4632.254094605334 +82281.08812690154 +10193.30750533659 +40784.38244300522 +6485.963759006932 +-20567.298770885915 +-14976.74617558159 +23162.598761769943 +-9417.987684964202 +27397.005696306005 +93851.10369303823 +42168.01211962104 +27551.456194541417 +3920.1396222179756 +68077.01510415133 +4963.023556239903 +67946.54799363296 +12919.951547794044 +30176.99135399144 +29131.72065519169 +19683.74134560488 +26939.23718357645 +61285.008109355345 +91721.85710117314 +21726.300005571917 +70521.3418984972 +97836.13488988671 +21713.01318127662 +75926.14416737854 +34608.897868010215 +1465.638428592123 +-2327.717413969338 +91526.4128120672 +53694.71739435848 +39300.26544919796 +26580.183989064768 +31358.730710783973 +-21296.21074361354 +11914.023266627453 +12571.57864197623 +27320.369503735565 +8028.934444720857 +-32412.08277530223 +37191.48787285946 +29093.145897950977 +76976.62681617681 +10513.055620815605 +31962.31807575375 +74596.0687328102 +37165.28483931534 +25349.752020386048 +55751.26645002514 +-24537.784923068248 +3863.1211133068427 +12752.590062266216 +64802.2337429421 +33001.59482780751 +7004.872341957875 +40835.961205857806 +-4449.595978362486 +68077.59602333419 +-23560.518770843744 +35923.13090476114 +48183.02209537011 +-5927.162478143349 +68632.58888036665 +56336.20692752581 +-433.14706664625555 +45375.378647320904 +27972.850542287342 +7265.491691312753 +28229.04205283709 +67351.59227465838 +78356.70441369154 +-5811.183867935091 +57786.45624177251 +7474.384613726288 +-13893.879444831051 +36798.189055355266 +26950.020085445605 +15054.484366375953 +5355.997042423114 +61213.92093157768 +36135.28104133718 +12761.866196073592 +67371.62275760528 +114903.88176555838 +81305.64055482205 +46262.55214079376 +41827.26389428135 +43131.80691689812 +31577.591107794084 +124730.64167073555 +16834.573028247803 +11592.757010057569 +42478.82532288041 +51826.04067155067 +-38297.910795650445 +42698.64266844746 +36476.03236631211 +-14076.846521823667 +53195.119432629086 +9006.78965349216 +652.0551063390449 +26053.821873212233 +8770.86989326682 +15444.874727678485 +81223.01041550096 +83650.54099500459 +24072.501106808893 +12484.851217255928 +68243.00153177138 +66784.70962807722 +30019.035253843293 +150434.58086442947 +2506.693979478441 +71931.5930223735 +58689.026800750755 +46796.965832625516 +87242.23560308758 \ No newline at end of file