Awk solutions for #14 and #99.
authorPete Elmore <pete@debu.gs>
Wed, 26 Oct 2011 05:11:28 +0000 (22:11 -0700)
committerPete Elmore <pete@debu.gs>
Wed, 26 Oct 2011 05:11:28 +0000 (22:11 -0700)
awk/014.awk [new file with mode: 0644]
awk/099.awk [new file with mode: 0644]
data/099.txt [new file with mode: 0644]

diff --git a/awk/014.awk b/awk/014.awk
new file mode 100644 (file)
index 0000000..71a31b2
--- /dev/null
@@ -0,0 +1,43 @@
+#!/usr/bin/awk -f
+
+# f(n | n is even) = n/2
+# f(n | n is odd)  = 3n + 1
+# Which integer under 1,000,000 requires the largest number of applications of
+# f(n) to reach 1?
+
+# This is basically a transliteration of the Pez version of this program.  It
+# runs in 5.6s under gawk.  It segfaults mawk on my machine. :/
+
+BEGIN {
+       cmap[1] = 1
+       rmap[1] = 1
+
+       final = max_steps(1000000)
+       print(final " (" cmap[final] " steps.)")
+}
+
+function collatz(n) {
+       if(n % 2) return n * 3 + 1
+       return n / 2
+}
+
+function csteps(n, steps) {
+       if(n in cmap) return cmap[n]
+       steps = csteps(collatz(n)) + 1
+       cmap[n] = steps
+       rmap[steps] = n
+       return steps
+}
+
+function find_max(lim, max, c) {
+       max = 0
+       for(i = 1; i < lim; i++) {
+               c = csteps(i)
+               if(c > max) max = c
+       }
+       return max
+}
+
+function max_steps(lim) {
+       return rmap[find_max(lim)]
+}
diff --git a/awk/099.awk b/awk/099.awk
new file mode 100644 (file)
index 0000000..015be9b
--- /dev/null
@@ -0,0 +1,36 @@
+#!/usr/bin/awk -f
+
+# Given lines with a base/exponent pair on each line, determine which line
+# number has the greatest numerical value.
+
+# Basic property of logarithms, courtesy of Wikipedia:
+#      a^b = e^(b * log(a))
+# So, b * log(a) can be used to compare, and is quick and easy besides.
+
+# If you guessed that I am, at this point, just going through the problems that
+# have CSV files and using awk to process them, then you have guessed correctly
+# because that is how I decided to do this one.  After checking the forum page
+# for this, though, I found that I'm not the only one to have done an awk
+# solution, and saw this clever one-liner by a guy called 'mpersano':
+#      t = log($1)*$2 > m { m = log($1)*$2; l = NR } END { print l }
+# Sure beats mine.
+
+# 0m0.004s
+
+BEGIN {
+       lmax = 0
+       max = 0
+}
+
+{
+       r = $2 * log($1)
+       if(r > max) {
+               lmax = NR
+               max = r
+       }
+}
+
+END {
+       print lmax, max
+}
+
diff --git a/data/099.txt b/data/099.txt
new file mode 100644 (file)
index 0000000..92201db
--- /dev/null
@@ -0,0 +1,1000 @@
+519432,525806\r
+632382,518061\r
+78864,613712\r
+466580,530130\r
+780495,510032\r
+525895,525320\r
+15991,714883\r
+960290,502358\r
+760018,511029\r
+166800,575487\r
+210884,564478\r
+555151,523163\r
+681146,515199\r
+563395,522587\r
+738250,512126\r
+923525,503780\r
+595148,520429\r
+177108,572629\r
+750923,511482\r
+440902,532446\r
+881418,505504\r
+422489,534197\r
+979858,501616\r
+685893,514935\r
+747477,511661\r
+167214,575367\r
+234140,559696\r
+940238,503122\r
+728969,512609\r
+232083,560102\r
+900971,504694\r
+688801,514772\r
+189664,569402\r
+891022,505104\r
+445689,531996\r
+119570,591871\r
+821453,508118\r
+371084,539600\r
+911745,504251\r
+623655,518600\r
+144361,582486\r
+352442,541775\r
+420726,534367\r
+295298,549387\r
+6530,787777\r
+468397,529976\r
+672336,515696\r
+431861,533289\r
+84228,610150\r
+805376,508857\r
+444409,532117\r
+33833,663511\r
+381850,538396\r
+402931,536157\r
+92901,604930\r
+304825,548004\r
+731917,512452\r
+753734,511344\r
+51894,637373\r
+151578,580103\r
+295075,549421\r
+303590,548183\r
+333594,544123\r
+683952,515042\r
+60090,628880\r
+951420,502692\r
+28335,674991\r
+714940,513349\r
+343858,542826\r
+549279,523586\r
+804571,508887\r
+260653,554881\r
+291399,549966\r
+402342,536213\r
+408889,535550\r
+40328,652524\r
+375856,539061\r
+768907,510590\r
+165993,575715\r
+976327,501755\r
+898500,504795\r
+360404,540830\r
+478714,529095\r
+694144,514472\r
+488726,528258\r
+841380,507226\r
+328012,544839\r
+22389,690868\r
+604053,519852\r
+329514,544641\r
+772965,510390\r
+492798,527927\r
+30125,670983\r
+895603,504906\r
+450785,531539\r
+840237,507276\r
+380711,538522\r
+63577,625673\r
+76801,615157\r
+502694,527123\r
+597706,520257\r
+310484,547206\r
+944468,502959\r
+121283,591152\r
+451131,531507\r
+566499,522367\r
+425373,533918\r
+40240,652665\r
+39130,654392\r
+714926,513355\r
+469219,529903\r
+806929,508783\r
+287970,550487\r
+92189,605332\r
+103841,599094\r
+671839,515725\r
+452048,531421\r
+987837,501323\r
+935192,503321\r
+88585,607450\r
+613883,519216\r
+144551,582413\r
+647359,517155\r
+213902,563816\r
+184120,570789\r
+258126,555322\r
+502546,527130\r
+407655,535678\r
+401528,536306\r
+477490,529193\r
+841085,507237\r
+732831,512408\r
+833000,507595\r
+904694,504542\r
+581435,521348\r
+455545,531110\r
+873558,505829\r
+94916,603796\r
+720176,513068\r
+545034,523891\r
+246348,557409\r
+556452,523079\r
+832015,507634\r
+173663,573564\r
+502634,527125\r
+250732,556611\r
+569786,522139\r
+216919,563178\r
+521815,525623\r
+92304,605270\r
+164446,576167\r
+753413,511364\r
+11410,740712\r
+448845,531712\r
+925072,503725\r
+564888,522477\r
+7062,780812\r
+641155,517535\r
+738878,512100\r
+636204,517828\r
+372540,539436\r
+443162,532237\r
+571192,522042\r
+655350,516680\r
+299741,548735\r
+581914,521307\r
+965471,502156\r
+513441,526277\r
+808682,508700\r
+237589,559034\r
+543300,524025\r
+804712,508889\r
+247511,557192\r
+543486,524008\r
+504383,526992\r
+326529,545039\r
+792493,509458\r
+86033,609017\r
+126554,589005\r
+579379,521481\r
+948026,502823\r
+404777,535969\r
+265767,554022\r
+266876,553840\r
+46631,643714\r
+492397,527958\r
+856106,506581\r
+795757,509305\r
+748946,511584\r
+294694,549480\r
+409781,535463\r
+775887,510253\r
+543747,523991\r
+210592,564536\r
+517119,525990\r
+520253,525751\r
+247926,557124\r
+592141,520626\r
+346580,542492\r
+544969,523902\r
+506501,526817\r
+244520,557738\r
+144745,582349\r
+69274,620858\r
+292620,549784\r
+926027,503687\r
+736320,512225\r
+515528,526113\r
+407549,535688\r
+848089,506927\r
+24141,685711\r
+9224,757964\r
+980684,501586\r
+175259,573121\r
+489160,528216\r
+878970,505604\r
+969546,502002\r
+525207,525365\r
+690461,514675\r
+156510,578551\r
+659778,516426\r
+468739,529945\r
+765252,510770\r
+76703,615230\r
+165151,575959\r
+29779,671736\r
+928865,503569\r
+577538,521605\r
+927555,503618\r
+185377,570477\r
+974756,501809\r
+800130,509093\r
+217016,563153\r
+365709,540216\r
+774508,510320\r
+588716,520851\r
+631673,518104\r
+954076,502590\r
+777828,510161\r
+990659,501222\r
+597799,520254\r
+786905,509727\r
+512547,526348\r
+756449,511212\r
+869787,505988\r
+653747,516779\r
+84623,609900\r
+839698,507295\r
+30159,670909\r
+797275,509234\r
+678136,515373\r
+897144,504851\r
+989554,501263\r
+413292,535106\r
+55297,633667\r
+788650,509637\r
+486748,528417\r
+150724,580377\r
+56434,632490\r
+77207,614869\r
+588631,520859\r
+611619,519367\r
+100006,601055\r
+528924,525093\r
+190225,569257\r
+851155,506789\r
+682593,515114\r
+613043,519275\r
+514673,526183\r
+877634,505655\r
+878905,505602\r
+1926,914951\r
+613245,519259\r
+152481,579816\r
+841774,507203\r
+71060,619442\r
+865335,506175\r
+90244,606469\r
+302156,548388\r
+399059,536557\r
+478465,529113\r
+558601,522925\r
+69132,620966\r
+267663,553700\r
+988276,501310\r
+378354,538787\r
+529909,525014\r
+161733,576968\r
+758541,511109\r
+823425,508024\r
+149821,580667\r
+269258,553438\r
+481152,528891\r
+120871,591322\r
+972322,501901\r
+981350,501567\r
+676129,515483\r
+950860,502717\r
+119000,592114\r
+392252,537272\r
+191618,568919\r
+946699,502874\r
+289555,550247\r
+799322,509139\r
+703886,513942\r
+194812,568143\r
+261823,554685\r
+203052,566221\r
+217330,563093\r
+734748,512313\r
+391759,537328\r
+807052,508777\r
+564467,522510\r
+59186,629748\r
+113447,594545\r
+518063,525916\r
+905944,504492\r
+613922,519213\r
+439093,532607\r
+445946,531981\r
+230530,560399\r
+297887,549007\r
+459029,530797\r
+403692,536075\r
+855118,506616\r
+963127,502245\r
+841711,507208\r
+407411,535699\r
+924729,503735\r
+914823,504132\r
+333725,544101\r
+176345,572832\r
+912507,504225\r
+411273,535308\r
+259774,555036\r
+632853,518038\r
+119723,591801\r
+163902,576321\r
+22691,689944\r
+402427,536212\r
+175769,572988\r
+837260,507402\r
+603432,519893\r
+313679,546767\r
+538165,524394\r
+549026,523608\r
+61083,627945\r
+898345,504798\r
+992556,501153\r
+369999,539727\r
+32847,665404\r
+891292,505088\r
+152715,579732\r
+824104,507997\r
+234057,559711\r
+730507,512532\r
+960529,502340\r
+388395,537687\r
+958170,502437\r
+57105,631806\r
+186025,570311\r
+993043,501133\r
+576770,521664\r
+215319,563513\r
+927342,503628\r
+521353,525666\r
+39563,653705\r
+752516,511408\r
+110755,595770\r
+309749,547305\r
+374379,539224\r
+919184,503952\r
+990652,501226\r
+647780,517135\r
+187177,570017\r
+168938,574877\r
+649558,517023\r
+278126,552016\r
+162039,576868\r
+658512,516499\r
+498115,527486\r
+896583,504868\r
+561170,522740\r
+747772,511647\r
+775093,510294\r
+652081,516882\r
+724905,512824\r
+499707,527365\r
+47388,642755\r
+646668,517204\r
+571700,522007\r
+180430,571747\r
+710015,513617\r
+435522,532941\r
+98137,602041\r
+759176,511070\r
+486124,528467\r
+526942,525236\r
+878921,505604\r
+408313,535602\r
+926980,503640\r
+882353,505459\r
+566887,522345\r
+3326,853312\r
+911981,504248\r
+416309,534800\r
+392991,537199\r
+622829,518651\r
+148647,581055\r
+496483,527624\r
+666314,516044\r
+48562,641293\r
+672618,515684\r
+443676,532187\r
+274065,552661\r
+265386,554079\r
+347668,542358\r
+31816,667448\r
+181575,571446\r
+961289,502320\r
+365689,540214\r
+987950,501317\r
+932299,503440\r
+27388,677243\r
+746701,511701\r
+492258,527969\r
+147823,581323\r
+57918,630985\r
+838849,507333\r
+678038,515375\r
+27852,676130\r
+850241,506828\r
+818403,508253\r
+131717,587014\r
+850216,506834\r
+904848,504529\r
+189758,569380\r
+392845,537217\r
+470876,529761\r
+925353,503711\r
+285431,550877\r
+454098,531234\r
+823910,508003\r
+318493,546112\r
+766067,510730\r
+261277,554775\r
+421530,534289\r
+694130,514478\r
+120439,591498\r
+213308,563949\r
+854063,506662\r
+365255,540263\r
+165437,575872\r
+662240,516281\r
+289970,550181\r
+847977,506933\r
+546083,523816\r
+413252,535113\r
+975829,501767\r
+361540,540701\r
+235522,559435\r
+224643,561577\r
+736350,512229\r
+328303,544808\r
+35022,661330\r
+307838,547578\r
+474366,529458\r
+873755,505819\r
+73978,617220\r
+827387,507845\r
+670830,515791\r
+326511,545034\r
+309909,547285\r
+400970,536363\r
+884827,505352\r
+718307,513175\r
+28462,674699\r
+599384,520150\r
+253565,556111\r
+284009,551093\r
+343403,542876\r
+446557,531921\r
+992372,501160\r
+961601,502308\r
+696629,514342\r
+919537,503945\r
+894709,504944\r
+892201,505051\r
+358160,541097\r
+448503,531745\r
+832156,507636\r
+920045,503924\r
+926137,503675\r
+416754,534757\r
+254422,555966\r
+92498,605151\r
+826833,507873\r
+660716,516371\r
+689335,514746\r
+160045,577467\r
+814642,508425\r
+969939,501993\r
+242856,558047\r
+76302,615517\r
+472083,529653\r
+587101,520964\r
+99066,601543\r
+498005,527503\r
+709800,513624\r
+708000,513716\r
+20171,698134\r
+285020,550936\r
+266564,553891\r
+981563,501557\r
+846502,506991\r
+334,1190800\r
+209268,564829\r
+9844,752610\r
+996519,501007\r
+410059,535426\r
+432931,533188\r
+848012,506929\r
+966803,502110\r
+983434,501486\r
+160700,577267\r
+504374,526989\r
+832061,507640\r
+392825,537214\r
+443842,532165\r
+440352,532492\r
+745125,511776\r
+13718,726392\r
+661753,516312\r
+70500,619875\r
+436952,532814\r
+424724,533973\r
+21954,692224\r
+262490,554567\r
+716622,513264\r
+907584,504425\r
+60086,628882\r
+837123,507412\r
+971345,501940\r
+947162,502855\r
+139920,584021\r
+68330,621624\r
+666452,516038\r
+731446,512481\r
+953350,502619\r
+183157,571042\r
+845400,507045\r
+651548,516910\r
+20399,697344\r
+861779,506331\r
+629771,518229\r
+801706,509026\r
+189207,569512\r
+737501,512168\r
+719272,513115\r
+479285,529045\r
+136046,585401\r
+896746,504860\r
+891735,505067\r
+684771,514999\r
+865309,506184\r
+379066,538702\r
+503117,527090\r
+621780,518717\r
+209518,564775\r
+677135,515423\r
+987500,501340\r
+197049,567613\r
+329315,544673\r
+236756,559196\r
+357092,541226\r
+520440,525733\r
+213471,563911\r
+956852,502490\r
+702223,514032\r
+404943,535955\r
+178880,572152\r
+689477,514734\r
+691351,514630\r
+866669,506128\r
+370561,539656\r
+739805,512051\r
+71060,619441\r
+624861,518534\r
+261660,554714\r
+366137,540160\r
+166054,575698\r
+601878,519990\r
+153445,579501\r
+279899,551729\r
+379166,538691\r
+423209,534125\r
+675310,515526\r
+145641,582050\r
+691353,514627\r
+917468,504026\r
+284778,550976\r
+81040,612235\r
+161699,576978\r
+616394,519057\r
+767490,510661\r
+156896,578431\r
+427408,533714\r
+254849,555884\r
+737217,512182\r
+897133,504851\r
+203815,566051\r
+270822,553189\r
+135854,585475\r
+778805,510111\r
+784373,509847\r
+305426,547921\r
+733418,512375\r
+732087,512448\r
+540668,524215\r
+702898,513996\r
+628057,518328\r
+640280,517587\r
+422405,534204\r
+10604,746569\r
+746038,511733\r
+839808,507293\r
+457417,530938\r
+479030,529064\r
+341758,543090\r
+620223,518824\r
+251661,556451\r
+561790,522696\r
+497733,527521\r
+724201,512863\r
+489217,528217\r
+415623,534867\r
+624610,518548\r
+847541,506953\r
+432295,533249\r
+400391,536421\r
+961158,502319\r
+139173,584284\r
+421225,534315\r
+579083,521501\r
+74274,617000\r
+701142,514087\r
+374465,539219\r
+217814,562985\r
+358972,540995\r
+88629,607424\r
+288597,550389\r
+285819,550812\r
+538400,524385\r
+809930,508645\r
+738326,512126\r
+955461,502535\r
+163829,576343\r
+826475,507891\r
+376488,538987\r
+102234,599905\r
+114650,594002\r
+52815,636341\r
+434037,533082\r
+804744,508880\r
+98385,601905\r
+856620,506559\r
+220057,562517\r
+844734,507078\r
+150677,580387\r
+558697,522917\r
+621751,518719\r
+207067,565321\r
+135297,585677\r
+932968,503404\r
+604456,519822\r
+579728,521462\r
+244138,557813\r
+706487,513800\r
+711627,513523\r
+853833,506674\r
+497220,527562\r
+59428,629511\r
+564845,522486\r
+623621,518603\r
+242689,558077\r
+125091,589591\r
+363819,540432\r
+686453,514901\r
+656813,516594\r
+489901,528155\r
+386380,537905\r
+542819,524052\r
+243987,557841\r
+693412,514514\r
+488484,528271\r
+896331,504881\r
+336730,543721\r
+728298,512647\r
+604215,519840\r
+153729,579413\r
+595687,520398\r
+540360,524240\r
+245779,557511\r
+924873,503730\r
+509628,526577\r
+528523,525122\r
+3509,847707\r
+522756,525555\r
+895447,504922\r
+44840,646067\r
+45860,644715\r
+463487,530404\r
+398164,536654\r
+894483,504959\r
+619415,518874\r
+966306,502129\r
+990922,501212\r
+835756,507474\r
+548881,523618\r
+453578,531282\r
+474993,529410\r
+80085,612879\r
+737091,512193\r
+50789,638638\r
+979768,501620\r
+792018,509483\r
+665001,516122\r
+86552,608694\r
+462772,530469\r
+589233,520821\r
+891694,505072\r
+592605,520594\r
+209645,564741\r
+42531,649269\r
+554376,523226\r
+803814,508929\r
+334157,544042\r
+175836,572970\r
+868379,506051\r
+658166,516520\r
+278203,551995\r
+966198,502126\r
+627162,518387\r
+296774,549165\r
+311803,547027\r
+843797,507118\r
+702304,514032\r
+563875,522553\r
+33103,664910\r
+191932,568841\r
+543514,524006\r
+506835,526794\r
+868368,506052\r
+847025,506971\r
+678623,515342\r
+876139,505726\r
+571997,521984\r
+598632,520198\r
+213590,563892\r
+625404,518497\r
+726508,512738\r
+689426,514738\r
+332495,544264\r
+411366,535302\r
+242546,558110\r
+315209,546555\r
+797544,509219\r
+93889,604371\r
+858879,506454\r
+124906,589666\r
+449072,531693\r
+235960,559345\r
+642403,517454\r
+720567,513047\r
+705534,513858\r
+603692,519870\r
+488137,528302\r
+157370,578285\r
+63515,625730\r
+666326,516041\r
+619226,518883\r
+443613,532186\r
+597717,520257\r
+96225,603069\r
+86940,608450\r
+40725,651929\r
+460976,530625\r
+268875,553508\r
+270671,553214\r
+363254,540500\r
+384248,538137\r
+762889,510892\r
+377941,538833\r
+278878,551890\r
+176615,572755\r
+860008,506412\r
+944392,502967\r
+608395,519571\r
+225283,561450\r
+45095,645728\r
+333798,544090\r
+625733,518476\r
+995584,501037\r
+506135,526853\r
+238050,558952\r
+557943,522972\r
+530978,524938\r
+634244,517949\r
+177168,572616\r
+85200,609541\r
+953043,502630\r
+523661,525484\r
+999295,500902\r
+840803,507246\r
+961490,502312\r
+471747,529685\r
+380705,538523\r
+911180,504275\r
+334149,544046\r
+478992,529065\r
+325789,545133\r
+335884,543826\r
+426976,533760\r
+749007,511582\r
+667067,516000\r
+607586,519623\r
+674054,515599\r
+188534,569675\r
+565185,522464\r
+172090,573988\r
+87592,608052\r
+907432,504424\r
+8912,760841\r
+928318,503590\r
+757917,511138\r
+718693,513153\r
+315141,546566\r
+728326,512645\r
+353492,541647\r
+638429,517695\r
+628892,518280\r
+877286,505672\r
+620895,518778\r
+385878,537959\r
+423311,534113\r
+633501,517997\r
+884833,505360\r
+883402,505416\r
+999665,500894\r
+708395,513697\r
+548142,523667\r
+756491,511205\r
+987352,501340\r
+766520,510705\r
+591775,520647\r
+833758,507563\r
+843890,507108\r
+925551,503698\r
+74816,616598\r
+646942,517187\r
+354923,541481\r
+256291,555638\r
+634470,517942\r
+930904,503494\r
+134221,586071\r
+282663,551304\r
+986070,501394\r
+123636,590176\r
+123678,590164\r
+481717,528841\r
+423076,534137\r
+866246,506145\r
+93313,604697\r
+783632,509880\r
+317066,546304\r
+502977,527103\r
+141272,583545\r
+71708,618938\r
+617748,518975\r
+581190,521362\r
+193824,568382\r
+682368,515131\r
+352956,541712\r
+351375,541905\r
+505362,526909\r
+905165,504518\r
+128645,588188\r
+267143,553787\r
+158409,577965\r
+482776,528754\r
+628896,518282\r
+485233,528547\r
+563606,522574\r
+111001,595655\r
+115920,593445\r
+365510,540237\r
+959724,502374\r
+938763,503184\r
+930044,503520\r
+970959,501956\r
+913658,504176\r
+68117,621790\r
+989729,501253\r
+567697,522288\r
+820427,508163\r
+54236,634794\r
+291557,549938\r
+124961,589646\r
+403177,536130\r
+405421,535899\r
+410233,535417\r
+815111,508403\r
+213176,563974\r
+83099,610879\r
+998588,500934\r
+513640,526263\r
+129817,587733\r
+1820,921851\r
+287584,550539\r
+299160,548820\r
+860621,506386\r
+529258,525059\r
+586297,521017\r
+953406,502616\r
+441234,532410\r
+986217,501386\r
+781938,509957\r
+461247,530595\r
+735424,512277\r
+146623,581722\r
+839838,507288\r
+510667,526494\r
+935085,503327\r
+737523,512167\r
+303455,548204\r
+992779,501145\r
+60240,628739\r
+939095,503174\r
+794368,509370\r
+501825,527189\r
+459028,530798\r
+884641,505363\r
+512287,526364\r
+835165,507499\r
+307723,547590\r
+160587,577304\r
+735043,512300\r
+493289,527887\r
+110717,595785\r
+306480,547772\r
+318593,546089\r
+179810,571911\r
+200531,566799\r
+314999,546580\r
+197020,567622\r
+301465,548487\r
+237808,559000\r
+131944,586923\r
+882527,505449\r
+468117,530003\r
+711319,513541\r
+156240,578628\r
+965452,502162\r
+992756,501148\r
+437959,532715\r
+739938,512046\r
+614249,519196\r
+391496,537356\r
+62746,626418\r
+688215,514806\r
+75501,616091\r
+883573,505412\r
+558824,522910\r
+759371,511061\r
+173913,573489\r
+891351,505089\r
+727464,512693\r
+164833,576051\r
+812317,508529\r
+540320,524243\r
+698061,514257\r
+69149,620952\r
+471673,529694\r
+159092,577753\r
+428134,533653\r
+89997,606608\r
+711061,513557\r
+779403,510081\r
+203327,566155\r
+798176,509187\r
+667688,515963\r
+636120,517833\r
+137410,584913\r
+217615,563034\r
+556887,523038\r
+667229,515991\r
+672276,515708\r
+325361,545187\r
+172115,573985\r
+13846,725685
\ No newline at end of file