{ "cells": [ { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "# P3-M 4/25 Simulations\n", "> Creating simulations using pandas and python libraries\n", "- toc: true\n", "- badges: false\n", "- comments: true\n", "- author: Shruthi Malayath, Lina Awad, Lydia Cho, Sarah Liu, Jake Warren\n", "- categories: [student]\n", "- type: ap\n", "- week: 31" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "## Objectives\n", "1. Understand how computers can be used to represent real-world phenomena or outcomes\n", "2. Compare simulations with real-world contexts.\n", "3. Implement code to mimic real world situations, problems, or phenomena." ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "## What are simulations by College Board definition?\n", "\n", "- Simulations are _____________ that mimic more complex objects or phenomena from the real world\n", " - Purposes include drawing inferences without the __________ of the real world\n", "- Simulations use varying sets of values to reflect the ___________ state of a real phenomenon\n", "- Often, when developing a simulation, it is necessary to remove specific ________ or simplify aspects\n", " - Simulations can often contain ____ based on which details or real-world elements were included/excluded\n", "- Simulations allow the formulation of ___________ under consideration\n", "- Variability and ___________ of the world is considered using random number generators\n", "- Examples: rolling dice, spinners, molecular models, analyze chemicals/reactions..." ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "![](https://www.itgsnews.com/wp-content/uploads/2017/05/ecosystem-model-678x381.webp)\n", "![](https://images.computerhistory.org/makesoftware/mscw.car-crash-simulation.real-and-simulated-crash-test.simulation-on-cray-supercomputer.jpg)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "## Analyzing an Example: Air-Traffic Simulator\n", "- Say we want to find out what the optimal number of aircrafts that can be in the air in one area is.\n", "- A simulation allows us to explore this question without real world contraints of money, time, safety\n", " - Unfortunately we can't just fly 67 planes all at once and see what happens\n", "- Since the simulation won't be able to take all variables into control, it may have a bias towards one answer\n", "- Will not always have the same result" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "## Functions we often need (python)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import random # a module that defines a series of functions for generating or manipulating random integers\n", "random.choice() #returns a randomly selected element from the specified sequence\n", "random.choice(mylist) # returns random value from list\n", "random.randint(0,10) #randomly selects an integer from given range; range in this case is from 0 to 10\n", "random.random() #will generate a random float between 0.0 to 1." ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "## Functions we often need (js)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "vscode": { "languageId": "javascript" } }, "outputs": [], "source": [ "// Math.random(); returns a random number\n", "// Math.floor(Math.random() * 10); // Returns a random integer from 0 to 9:" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "## College Board Question 1" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "Question: The following code simulates the feeding of 4 fish in an aquarium while the owner is on a 5-day trip:\n", "\n", " numFish ← 4\n", "\n", " foodPerDay ← 20\n", "\n", " foodLeft ← 160\n", "\n", " daysStarving ← 0\n", "\n", " REPEAT 5 TIMES {\n", "\n", " foodConsumed ← numFish * foodPerDay\n", "\n", " foodLeft ← foodLeft - foodConsumed\n", "\n", " IF (foodLeft < 0) {\n", "\n", " daysStarving ← daysStarving + 1\n", "\n", " }\n", "}\n", "\n", "- This simulation simplifies a real-world scenario into something that can be modeled in code and executed on a computer.\n", "- Summarize how the code works:" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "## Examples" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "### Card Flip" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import random\n", "\n", "cards = [\"Ace\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"Jack\", \"Queen\", \"King\"] \n", "suits = [\"Diamonds\", \"Hearts\", \"Spades\", \"Clubs\"]\n", "\n", "print(random.choice(cards) + \" of \" + random.choice(suits))" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "### Coin Flip" ] }, { "cell_type": "code", "execution_count": 92, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Tails\n", "Tails\n", "Heads\n", "Tails\n", "Tails\n" ] } ], "source": [ "import random\n", "\n", "def coinflip(): #def function \n", " randomflip = random.randint(0, 1) #picks either 0 or 1 randomly \n", " if randomflip == 0: #assigning 0 to be heads--> if 0 is chosen then it will print, \"Heads\"\n", " print(\"Heads\")\n", " else:\n", " print(\"Tails\")\n", "\n", "#Tossing the coin 5 times:\n", "t1 = coinflip()\n", "t2 = coinflip()\n", "t3 = coinflip()\n", "t4 = coinflip()\n", "t5 = coinflip()" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "Your turn: Change the code to make it simulate the flipping of a weighted coin." ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "## Adding images (in Python)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "- Add a heads and tails images into your images directory with the correct names and run the code below" ] }, { "cell_type": "code", "execution_count": 91, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "tails\n" ] }, { "data": { "image/png": "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", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import random\n", "\n", "# importing Image class from PIL package\n", "from PIL import Image\n", " \n", "# creating a object\n", "head = Image.open(r\"images/head.jpeg\")\n", "tail = Image.open(r\"images/tail.jpeg\")\n", "\n", "i=random.randint(0,1)\n", "\n", "if i == 1:\n", " print(\"heads\")\n", " display(head)\n", "\n", "else:\n", " print(\"tails\")\n", " display(tail)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "In order to display an image in python, we can use the PIL package we previously learned about." ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "### Spin the Wheel" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Spin the wheel!\n", "----------------------------------\n", "Number of red: 104\n", "Number of green: 98\n", "Number of blue: 98\n" ] } ], "source": [ "import random\n", "\n", "print(\"Spin the wheel!\")\n", "print(\"----------------------------------\")\n", "\n", "n = 300\n", "blue = 0\n", "red = 0\n", "green = 0\n", "\n", "for i in range(n):\n", " spin = random.randint(1,3)\n", " if spin == 1: # blue\n", " blue = blue + 1\n", " elif spin == 2: # green\n", " green = green + 1\n", " else: # red\n", " red = red + 1\n", " \n", "print('Number of red:', red)\n", "print('Number of green:', green)\n", "print('Number of blue:', blue)\n" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "Your turn: Add a visual to the simulation!" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "## Population Growth and Plots" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "50.14019267336515\n", "50.28077842644361\n", "50.421758361373264\n", "50.5631335833823\n", "50.704905200797775\n", "50.847074325054315\n", "50.98964207070282\n", "51.13260955541927\n", "51.27597790001347\n", "51.41974822843774\n", "51.563921667795874\n", "51.70849934835185\n", "51.85348240353876\n", "51.99887196996765\n", "52.14466918743647\n", "52.290875198939005\n", "52.43749115067384\n", "52.5845181920533\n", "52.731957475712534\n", "52.87981015751845\n", "53.028077396578915\n", "53.17676035525173\n", "53.325860199153716\n", "53.47537809717\n", "53.62531522146305\n", "53.775672747481956\n", "53.92645185397153\n", "54.0776537229816\n", "54.22927953987637\n", "54.38133049334356\n", "54.533807775403844\n", "54.68671258142016\n", "54.840046110106975\n", "54.993809563539834\n", "55.14800414716474\n", "55.302631069807575\n", "55.45769154368362\n", "55.613186784406984\n", "55.769118011000224\n", "55.92548644590379\n", "56.082293314985726\n", "56.239539847551235\n", "56.39722727635229\n", "56.55535683759732\n", "56.71392977096098\n", "56.87294731959368\n", "57.032410730131446\n", "57.19232125270578\n", "57.35268014095325\n", "57.51348865202554\n", "57.67474804659919\n", "57.83645958888546\n", "57.998624546640265\n", "58.161244191174156\n", "58.324319797362236\n", "58.48785264365415\n", "58.651844012084126\n", "58.81629518828111\n", "58.98120746147867\n", "59.14658212452524\n", "59.312420473894186\n", "59.47872380969402\n", "59.645493435678574\n", "59.81273065925718\n", "59.98043679150499\n", "60.14861314717315\n", "60.31726104469929\n", "60.486381806217665\n", "60.65597675756963\n", "60.82604722831395\n", "60.99659455173736\n", "61.16762006486491\n", "61.33912510847044\n", "61.51111102708713\n", "61.68357916901805\n", "61.85653088634677\n", "62.029967534947765\n", "62.2038904744973\n", "62.3783010684839\n", "62.5532006842192\n", "62.72859069284855\n", "62.9044724693617\n", "63.08084739260377\n", "63.25771684528589\n", "63.43508221399618\n", "63.61294488921051\n", "63.791306265303454\n", "63.9701677405592\n", "64.14953071718247\n", "64.32939660130967\n", "64.50976680301973\n", "64.69064273634523\n", "64.87202581928359\n", "65.05391747380793\n", "65.23631912587847\n", "65.41923220545367\n", "65.6026581465012\n", "65.78659838700955\n", "65.97105436899903\n", "66.1560275385331\n", "66.34151934572994\n", "66.52753124477363\n", "66.71406469392542\n", "66.90112115553534\n", "67.08870209605372\n", "67.27680898604255\n", "67.46544330018713\n", "67.65460651730747\n", "67.84430012037001\n", "68.0345255964992\n", "68.22528443698917\n", "68.41657813731555\n", "68.60840819714687\n", "68.80077612035657\n", "68.99368341503474\n", "69.1871315935\n", "69.38112217231115\n", "69.57565667227935\n", "69.77073661847982\n", "69.96636354026379\n", "70.16253897127073\n", "70.35926444944013\n", "70.55654151702359\n", "70.75437172059699\n", "70.95275661107263\n", "71.15169774371125\n", "71.35119667813444\n", "71.55125497833659\n", "71.75187421269743\n", "71.95305595399414\n", "72.15480177941373\n", "72.35711327056549\n", "72.55999201349321\n", "72.76343959868774\n", "72.96745762109934\n", "73.17204768015053\n", "73.37721137974819\n", "73.58295032829629\n", "73.7892661387086\n", "73.99616042842136\n", "74.20363481940569\n", "74.41169093818056\n", "74.62033041582539\n", "74.82955488799308\n", "75.03936599492248\n", "75.24976538145154\n", "75.46075469703\n", "75.67233559573249\n", "75.88450973627147\n", "76.0972787820101\n", "76.31064440097533\n", "76.52460826587115\n", "76.73917205409133\n", "76.95433744773317\n", "77.17010613360995\n", "77.3864798032648\n", "77.60346015298347\n", "77.82104888380806\n", "78.03924770155005\n", "78.25805831680371\n", "78.47748244495963\n", "78.69752180621806\n", "78.91817812560257\n", "79.13945313297332\n", "79.36134856304064\n", "79.58386615537891\n", "79.80700765444\n", "80.0307748095669\n", "80.2551693750076\n", "80.4801931099287\n", "80.70584777842916\n", "80.93213514955427\n", "81.15905699730956\n", "81.38661510067445\n", "81.6148112436165\n", "81.84364721510522\n", "82.07312480912596\n", "82.30324582469439\n", "82.53401206587023\n", "82.76542534177153\n", "82.99748746658884\n", "83.23020025959946\n", "83.46356554518161\n", "83.69758515282888\n", "83.93226091716447\n", "84.16759467795565\n", "84.40358828012793\n", "84.64024357377998\n", "84.87756241419767\n", "85.11554666186892\n", "85.35419818249822\n", "85.59351884702103\n", "85.83351053161893\n", "86.07417511773376\n", "86.31551449208287\n", "86.55753054667352\n", "86.80022517881795\n", "87.0436002911482\n", "87.28765779163105\n", "87.53239959358282\n", "87.77782761568463\n", "88.02394378199715\n", "88.27075002197599\n", "88.51824827048654\n", "88.7664404678193\n", "89.01532855970511\n", "89.26491449733037\n", "89.51520023735218\n", "89.76618774191397\n", "90.01787897866066\n", "90.27027592075423\n", "90.523380546889\n", "90.77719484130736\n", "91.0317207938151\n", "91.28696039979738\n", "91.54291566023389\n", "91.79958858171481\n", "92.05698117645656\n", "92.31509546231764\n", "92.57393346281405\n", "92.83349720713561\n", "93.0937887301617\n", "93.3548100724771\n", "93.61656328038823\n", "93.8790504059389\n", "94.1422735069267\n", "94.40623464691882\n", "94.67093589526853\n", "94.93637932713133\n", "95.20256702348084\n", "95.46950107112576\n", "95.73718356272572\n", "96.00561659680784\n", "96.2748022777833\n", "96.54474271596374\n", "96.81544002757771\n", "97.08689633478744\n", "97.35911376570533\n", "97.63209445441078\n", "97.90584054096682\n", "98.18035417143682\n", "98.45563749790136\n", "98.73169267847535\n", "99.00852187732455\n", "99.28612726468283\n", "99.56451101686899\n", "99.84367531630399\n", "100.12362235152784\n", "100.4043543172171\n", "100.6858734142017\n", "100.9681818494825\n", "101.25128183624842\n", "101.53517559389384\n", "101.81986534803593\n", "102.1053533305323\n", "102.39164177949827\n", "102.6787329393245\n", "102.96662906069467\n", "103.2553324006029\n", "103.54484522237183\n", "103.83516979566991\n", "104.12630839652952\n", "104.41826330736457\n", "104.7110368169886\n", "105.00463122063279\n", "105.29904881996362\n", "105.59429192310112\n", "105.89036284463707\n", "106.18726390565291\n", "106.48499743373814\n", "106.78356576300845\n", "107.082971234124\n", "107.38321619430786\n", "107.68430299736441\n", "107.9862340036976\n", "108.28901158032987\n", "108.59263810092013\n", "108.89711594578293\n", "109.20244750190679\n", "109.50863516297301\n", "109.81568132937433\n", "110.12358840823391\n", "110.43235881342416\n", "110.74199496558553\n", "111.05249929214574\n", "111.36387422733867\n", "111.67612221222326\n", "111.98924569470296\n", "112.30324712954469\n", "112.61812897839816\n", "112.93389370981537\n", "113.25054379926964\n", "113.56808172917515\n", "113.8865099889064\n", "114.20583107481775\n", "114.52604749026302\n", "114.84716174561511\n", "115.16917635828544\n", "115.49209385274403\n", "115.81591676053907\n", "116.14064762031693\n", "116.46628897784198\n", "116.79284338601637\n", "117.12031340490034\n", "117.4487016017323\n", "117.77801055094855\n", "118.1082428342038\n", "118.43940104039156\n", "118.77148776566392\n", "119.10450561345237\n", "119.43845719448807\n", "119.77334512682211\n", "120.10917203584634\n", "120.44594055431388\n", "120.78365332235961\n", "121.12231298752103\n", "121.46192220475878\n", "121.80248363647786\n", "122.14399995254809\n", "122.48647383032527\n", "122.82990795467218\n", "123.17430501797935\n", "123.51966772018655\n", "123.86599876880385\n", "124.2133008789327\n", "124.56157677328723\n", "124.9108291822157\n", "125.26106084372192\n", "125.61227450348659\n", "125.96447291488887\n", "126.31765883902827\n", "126.67183504474562\n", "127.02700430864537\n", "127.38316941511724\n", "127.74033315635786\n", "128.09849833239275\n", "128.45766775109823\n", "128.81784422822375\n", "129.17903058741356\n", "129.54122966022885\n", "129.9044442861703\n", "130.26867731270008\n", "130.63393159526427\n", "131.00020999731495\n", "131.36751539033335\n", "131.73585065385146\n", "132.1052186754753\n", "132.4756223509073\n", "132.84706458396897\n", "133.21954828662376\n", "133.5930763789997\n", "133.9676517894126\n", "134.3432774543887\n", "134.71995631868808\n", "135.0976913353271\n", "135.47648546560228\n", "135.85634167911294\n", "136.2372629537851\n", "136.61925227589387\n", "137.0023126400879\n", "137.38644704941228\n", "137.77165851533223\n", "138.1579500577565\n", "138.5453247050614\n", "138.93378549411435\n", "139.32333547029742\n", "139.71397768753192\n", "140.10571520830172\n", "140.49855110367753\n", "140.89248845334066\n", "141.2875303456074\n", "141.68367987745353\n", "142.08094015453818\n", "142.47931429122812\n", "142.87880541062242\n", "143.27941664457708\n", "143.6811511337291\n", "144.08401202752148\n", "144.4880024842277\n", "144.89312567097676\n", "145.29938476377774\n", "145.7067829475447\n", "146.11532341612175\n", "146.52500937230818\n", "146.93584402788318\n", "147.34783060363168\n", "147.76097232936925\n", "148.17527244396697\n", "148.59073419537748\n", "149.00736084066034\n", "149.425155646007\n", "149.84412188676714\n", "150.26426284747424\n", "150.6855818218708\n", "151.10808211293462\n", "151.53176703290453\n", "151.9566399033063\n", "152.3827040549788\n", "152.80996282810023\n", "153.23841957221413\n", "153.66807764625565\n", "154.0989404185779\n", "154.5310112669781\n", "154.96429357872486\n", "155.39879075058366\n", "155.83450618884436\n", "156.27144330934723\n", "156.70960553751047\n", "157.14899630835643\n", "157.58961906653877\n", "158.0314772663694\n", "158.47457437184565\n", "158.9189138566775\n", "159.3644992043146\n", "159.81133390797362\n", "160.2594214706658\n", "160.70876540522437\n", "161.1593692343318\n", "161.61123649054784\n", "162.06437071633695\n", "162.51877546409628\n", "162.974454296183\n", "163.43141078494295\n", "163.8896485127385\n", "164.34917107197592\n", "164.8099820651345\n", "165.27208510479406\n", "165.7354838136635\n", "166.20018182460961\n", "166.66618278068484\n", "167.13349033515655\n", "167.60210815153516\n", "168.07203990360307\n", "168.54328927544339\n", "169.01585996146883\n", "169.48975566645098\n", "169.96498010554862\n", "170.44153700433756\n", "170.91943009883965\n", "171.39866313555166\n", "171.87923987147536\n", "172.36116407414633\n", "172.84443952166393\n", "173.3290700027207\n", "173.81505931663224\n", "174.30241127336657\n", "174.7911296935745\n", "175.2812184086196\n", "175.77268126060764\n", "176.26552210241738\n", "176.75974479773012\n", "177.2553532210609\n", "177.75235125778775\n", "178.25074280418306\n", "178.75053176744373\n", "179.2517220657221\n", "179.75431762815606\n", "180.25832239490038\n", "180.7637403171574\n", "181.2705753572083\n", "181.7788314884435\n", "182.2885126953946\n", "182.79962297376505\n", "183.31216633046162\n", "183.8261467836261\n", "184.34156836266627\n", "184.85843510828798\n", "185.3767510725265\n", "185.89652031877856\n", "186.41774692183384\n", "186.94043496790735\n", "187.4645885546712\n", "187.99021179128667\n", "188.51730879843657\n", "189.04588370835765\n", "189.57594066487266\n", "190.107483823423\n", "190.64051735110152\n", "191.1750454266848\n", "191.7110722406662\n", "192.24860199528842\n", "192.78763890457714\n", "193.32818719437287\n", "193.87025110236505\n", "194.41383487812527\n", "194.95894278313986\n", "195.50557909084395\n", "196.05374808665488\n", "196.60345406800522\n", "197.15470134437754\n", "197.707494237337\n", "198.26183708056612\n", "198.8177342198983\n", "199.37519001335195\n", "199.93420883116485\n", "200.49479505582852\n", "201.05695308212188\n", "201.62068731714655\n", "202.18600218036067\n", "202.75290210361413\n", "203.32139153118305\n", "203.8914749198046\n", "204.463156738712\n", "205.03644146966957\n", "205.6113336070078\n", "206.1878376576584\n", "206.76595814119057\n", "207.34569958984486\n", "207.92706654857014\n", "208.51006357505847\n", "209.0946952397809\n", "209.68096612602358\n", "210.26888082992338\n", "210.85844396050425\n", "211.44966013971296\n", "212.0425340024556\n", "212.63707019663403\n", "213.233273383182\n", "213.83114823610165\n", "214.43069944250087\n", "215.03193170262884\n", "215.63484972991407\n", "216.23945825100063\n", "216.84576200578545\n", "217.45376574745524\n", "218.0634742425242\n", "218.6748922708712\n", "219.28802462577698\n", "219.90287611396192\n", "220.5194515556238\n", "221.1377557844757\n", "221.75779364778353\n", "222.37957000640415\n", "223.0030897348239\n", "223.62835772119607\n", "224.25537886737985\n", "224.88415808897844\n", "225.5147003153777\n", "226.14701048978466\n", "226.78109356926657\n", "227.41695452478945\n", "228.0545983412572\n", "228.69403001755072\n", "229.33525456656687\n", "229.97827701525802\n", "230.62310240467164\n", "231.26973578998908\n", "231.91818224056598\n", "232.56844683997173\n", "233.22053468602925\n", "233.87445089085486\n", "234.53020058089874\n", "235.18778889698473\n", "235.84722099435083\n", "236.5085020426895\n", "237.1716372261884\n", "237.83663174357085\n", "238.50349080813663\n", "239.17221964780276\n", "239.84282350514476\n", "240.51530763743727\n", "241.18967731669585\n", "241.8659378297178\n", "242.54409447812415\n", "243.2241525784004\n", "243.90611746193915\n", "244.58999447508114\n", "245.27578897915754\n", "245.96350635053204\n", "246.65315198064286\n", "247.34473127604497\n", "248.0382496584523\n", "248.73371256478077\n", "249.4311254471907\n", "250.13049377312905\n", "250.831823025373\n", "251.53511870207248\n", "252.2403863167937\n", "252.94763139856178\n", "253.6568594919047\n", "254.36807615689625\n", "255.0812869691998\n", "255.79649752011247\n", "256.51371341660814\n", "257.2329402813819\n", "257.95418375289455\n", "258.6774494854154\n", "259.4027431490684\n", "260.1300704298747\n", "260.8594370297992\n", "261.59084866679365\n", "262.32431107484285\n", "263.05983000400795\n", "263.79741122047267\n", "264.53706050658855\n", "265.27878366091994\n", "266.02258649828946\n", "266.76847484982346\n", "267.51645456299826\n", "268.2665315016851\n", "269.01871154619727\n", "269.7730005933353\n", "270.5294045564336\n", "271.2879293654064\n", "272.048580966795\n", "272.81136532381356\n", "273.5762884163963\n", "274.34335624124435\n", "275.112574811873\n", "275.8839501586579\n", "276.65748832888363\n", "277.43319538679\n", "278.2110774136202\n", "278.9911405076685\n", "279.77339078432755\n", "280.55783437613707\n", "281.34447743283164\n", "282.1333261213881\n", "282.92438662607515\n", "283.7176651485011\n", "284.5131679076628\n", "285.310901139994\n", "286.11087109941457\n", "286.91308405737965\n", "287.71754630292827\n", "288.52426414273344\n", "289.3332439011511\n", "290.1444919202694\n", "290.9580145599587\n", "291.7738181979222\n", "292.59190922974483\n", "293.4122940689435\n", "294.234979147018\n", "295.0599709135012\n", "295.8872758360093\n", "296.7169004002931\n", "297.5488511102877\n", "298.3831344881652\n", "299.2197570743844\n", "300.05872542774284\n", "300.9000461254279\n", "301.7437257630681\n", "302.589770954786\n", "303.43818833324764\n", "304.2889845497177\n", "305.14216627410957\n", "305.9977401950374\n", "306.85571301987005\n", "307.71609147478233\n", "308.57888230480876\n", "309.44409227389536\n", "310.3117281649539\n", "311.1817967799137\n", "312.0543049397762\n", "312.9292594846684\n", "313.8066672738949\n", "314.68653518599365\n", "315.5688701187883\n", "316.4536789894435\n", "317.3409687345188\n", "318.23074631002237\n", "319.12301869146626\n", "320.0177928739205\n", "320.9150758720686\n", "321.81487472026214\n", "322.7171964725761\n", "323.62204820286394\n", "324.52943700481296\n", "325.4393699920007\n", "326.3518542979497\n", "327.26689707618374\n", "328.1845055002843\n", "329.1046867639462\n", "330.02744808103495\n", "330.95279668564194\n", "331.88073983214247\n", "332.81128479525165\n", "333.74443887008215\n", "334.6802093722009\n", "335.6186036376864\n", "336.55962902318737\n", "337.5032929059783\n", "338.4496026840188\n", "339.39856577601165\n", "340.3501896214602\n", "341.3044816807274\n", "342.261449435094\n", "343.22110038681643\n", "344.18344205918754\n", "345.1484819965934\n", "346.11622776457364\n", "347.08668694988114\n", "348.05986716054014\n", "349.035776025907\n", "350.01442119673004\n", "350.99581034520844\n", "351.97995116505376\n", "352.9668513715488\n", "353.95651870160964\n", "354.9489609138453\n", "355.94418578861934\n", "356.9422011281091\n", "357.9430147563688\n", "358.94663451939033\n", "359.9530682851643\n", "360.96232394374175\n", "361.97440940729695\n", "362.9893326101884\n", "364.0071015090213\n", "365.0277240827101\n", "366.0512083325411\n", "367.07756228223457\n", "368.1067939780088\n", "369.13891148864167\n", "370.1739229055354\n", "371.21183634277907\n", "372.2526599372127\n", "373.29640184849023\n", "374.34307025914455\n", "375.39267337465117\n", "376.4452194234927\n", "377.50071665722265\n", "378.55917335053124\n", "379.6205978013096\n", "380.6849983307144\n", "381.75238328323405\n", "382.82276102675394\n", "383.8961399526212\n", "384.97252847571133\n", "386.0519350344942\n", "387.1343680910996\n", "388.21983613138366\n", "389.30834766499646\n", "390.39991122544694\n", "391.494535370171\n", "392.59222868059885\n", "393.69299976222095\n", "394.796857244657\n", "395.9038097817225\n", "397.01386605149725\n", "398.1270347563929\n", "399.2433246232216\n", "400.36274440326383\n", "401.4853028723379\n", "402.6110088308677\n", "403.7398711039524\n", "404.87189854143577\n", "406.0071000179748\n", "407.1454844331095\n", "408.287060711334\n", "409.43183780216435\n", "410.5798246802101\n", "411.73103034524416\n", "412.88546382227366\n", "414.0431341616106\n", "415.2040504389423\n", "416.3682217554037\n", "417.5356572376472\n", "418.7063660379155\n", "419.8803573341126\n", "421.0576403298762\n", "422.23822425464937\n", "423.4221183637535\n", "424.60933193846023\n", "425.799874286065\n", "426.9937547399591\n", "428.1909826597033\n", "429.39156743110146\n", "430.5955184662737\n", "431.80284520373044\n", "433.01355710844604\n", "434.22766367193367\n", "435.4451744123189\n", "436.6660988744152\n", "437.89044662979774\n", "439.11822727687934\n", "440.34945044098566\n", "441.5841257744296\n", "442.8222629565879\n", "444.0638716939778\n", "445.308961720331\n", "446.5575427966714\n", "447.8096247113921\n", "449.06521728033084\n", "450.3243303468473\n", "451.58697378190135\n", "452.8531574841283\n", "454.1228913799193\n", "455.3961854234965\n", "456.6730495969924\n", "457.95349391052855\n", "459.2375284022931\n", "460.5251631386193\n", "461.8164082140656\n", "463.11127375149374\n", "464.40976990214904\n", "465.7119068457384\n", "467.01769479051194\n", "468.3271439733419\n", "469.64026465980334\n", "470.95706714425455\n", "472.2775617499174\n", "473.60175882895885\n", "474.92966876257213\n", "476.26130196105726\n", "477.5966688639028\n", "478.93577993986906\n", "480.2786456870687\n", "481.62527663304957\n", "482.9756833348777\n", "484.329876379219\n", "485.6878663824232\n", "487.0496639906063\n", "488.41527987973484\n", "489.78472475570936\n", "491.1580093544477\n", "492.5351444419697\n", "493.9161408144817\n", "495.30100929846105\n", "496.689760750741\n", "498.0824060585959\n", "499.47895613982575\n", "500.8794219428431\n", "502.28381444675813\n", "503.69214466146485\n", "505.1044236277269\n", "506.52066241726544\n", "507.9408721328446\n", "509.36506390835916\n", "510.7932489089215\n", "512.2254383309495\n", "513.6616434022543\n", "515.1018753821286\n", "516.5461455614329\n", "517.9944652626872\n", "519.4468458401576\n", "520.9032986799461\n", "522.363835200079\n", "523.8284668505978\n", "525.2972051136486\n", "526.770061503571\n", "528.2470475669891\n", "529.7281748829021\n", "531.2134550627753\n", "532.7028997506313\n", "534.1965206231389\n", "535.6943293897091\n", "537.1963377925831\n", "538.7025576069253\n", "540.2130006409161\n", "541.7276787358455\n", "543.2466037662027\n", "544.7697876397733\n", "546.2972422977293\n", "547.828979714724\n", "549.3650118989859\n", "550.9053508924134\n", "552.4500087706683\n", "553.9989976432714\n", "555.5523296536958\n", "557.1100169794631\n", "558.67207183224\n", "560.2385064579324\n", "561.8093331367805\n", "563.3845641834594\n", "564.9642119471699\n", "566.54828881174\n", "568.1368071957193\n", "569.7297795524775\n", "571.3272183703012\n", "572.929136172493\n", "574.5355455174692\n", "576.1464589988572\n", "577.7618892455956\n", "579.3818489220322\n", "581.0063507280242\n", "582.6354073990381\n", "584.2690317062466\n", "585.9072364566338\n", "587.5500344930905\n", "589.1974386945177\n", "590.8494619759274\n", "592.5061172885423\n", "594.1674176199\n", "595.8333759939517\n", "597.5040054711668\n", "599.1793191486345\n", "600.8593301601647\n", "602.5440516763953\n", "604.2334969048909\n", "605.927679090248\n", "607.6266115142\n", "609.3303074957197\n", "611.0387803911243\n", "612.7520435941806\n", "614.4701105362091\n", "616.1929946861893\n", "617.9207095508675\n", "619.6532686748599\n", "621.3906856407593\n", "623.132974069243\n", "624.8801476191777\n", "626.6322199877284\n", "628.3892049104649\n", "630.1511161614686\n", "631.9179675534425\n", "633.6897729378182\n", "635.4665462048637\n", "637.248301283795\n", "639.035052142882\n", "640.8268127895609\n", "642.6235972705416\n", "644.425419671919\n", "646.2322941192846\n", "648.0442347778338\n", "649.8612558524812\n", "651.683371587969\n", "653.510596268979\n", "655.3429442202466\n", "657.1804298066711\n", "659.0230674334283\n", "660.8708715460835\n", "662.7238566307075\n", "664.5820372139859\n", "666.4454278633357\n", "668.3140431870181\n", "670.1878978342551\n", "672.067006495342\n", "673.9513839017637\n", "675.8410448263103\n", "677.7360040831921\n", "679.6362765281566\n", "681.5418770586045\n", "683.4528206137071\n", "685.3691221745227\n", "687.2907967641139\n", "689.2178594476659\n", "691.150325332605\n", "693.0882095687164\n", "695.0315273482627\n", "696.9802939061026\n", "698.9345245198126\n", "700.8942345098052\n", "702.8594392394482\n", "704.8301541151864\n", "706.8063945866619\n", "708.7881761468354\n", "710.7755143321076\n", "712.7684247224413\n", "714.7669229414836\n", "716.7710246566857\n", "718.7807455794315\n", "720.7961014651545\n", "722.8171081134661\n", "724.843781368276\n", "726.8761371179183\n", "728.9141912952758\n", "730.9579598779051\n", "733.0074588881613\n", "735.0627043933235\n", "737.1237125057212\n", "739.1904993828613\n", "741.2630812275531\n", "743.3414742880366\n", "745.4256948581091\n", "747.5157592772539\n", "749.6116839307671\n", "751.7134852498872\n", "753.8211797119232\n", "755.9347838403846\n", "758.0543142051102\n", "760.1797874223978\n", "762.3112201551356\n", "764.4486291129311\n", "766.5920310522441\n", "768.7414427765165\n", "770.8968811363039\n", "773.0583630294111\n", "775.2259054010183\n", "777.3995252438195\n", "779.5792395981537\n", "781.765065552138\n", "783.9570202418024\n", "786.1551208512234\n", "788.3593846126597\n", "790.5698288066865\n", "792.7864707623309\n", "795.0093278572086\n", "797.2384175176593\n", "799.4737572188831\n", "801.7153644850787\n", "803.9632568895797\n", "806.2174520549937\n", "808.4779676533383\n", "810.7448214061807\n", "813.0180310847782\n", "815.2976145102144\n", "817.5835895535421\n", "819.8759741359219\n", "822.1747862287616\n", "824.480043853858\n", "826.7917650835394\n", "829.109968040806\n", "831.4346708994727\n", "833.7658918843098\n", "836.1036492711884\n", "838.447961387222\n", "840.7988466109101\n", "843.1563233722843\n", "845.5204101530497\n", "847.8911254867327\n", "850.268487958824\n", "852.6525162069256\n", "855.043228920897\n", "857.4406448430004\n", "859.8447827680498\n", "862.2556615435561\n", "864.6733000698766\n", "867.0977173003621\n", "869.5289322415053\n", "871.9669639530903\n", "874.4118315483431\n", "876.8635541940805\n", "879.322151110859\n", "881.7876415731274\n", "884.2600449093766\n", "886.7393805022928\n", "889.2256677889077\n", "891.7189262607517\n", "894.2191754640077\n", "896.7264349996603\n", "899.2407245236565\n", "901.7620637470516\n", "904.2904724361706\n", "906.8259704127589\n", "909.3685775541408\n", "911.9183137933724\n", "914.4751991193983\n", "917.0392535772118\n", "919.6104972680068\n", "922.18895034934\n", "924.7746330352851\n", "927.3675655965947\n", "929.9677683608575\n", "932.5752617126558\n", "935.1900660937296\n", "937.8122020031334\n", "940.4416899973988\n", "943.0785506906938\n", "945.7228047549867\n", "948.3744729202062\n", "951.0335759744047\n", "953.7001347639222\n", "956.3741701935471\n", "959.0557032266831\n", "961.7447548855114\n", "964.4413462511574\n", "967.1454984638538\n", "969.8572327231082\n", "972.5765702878673\n", "975.3035324766865\n", "978.038140667894\n", "980.78041629976\n", "983.5303808706647\n", "986.2880559392662\n", "989.0534631246705\n", "991.8266241066004\n", "994.6075606255647\n", "997.3962944830304\n", "1000.1928475415913\n", "1002.997241725142\n", "1005.8094990190481\n", "1008.6296414703187\n", "1011.4576911877793\n", "1014.2936703422463\n", "1017.1376011666987\n", "1019.9895059564535\n", "1022.8494070693422\n", "1025.7173269258824\n", "1028.593288009456\n", "1031.4773128664845\n", "1034.3694241066091\n", "1037.2696444028618\n", "1040.1779964918474\n", "1043.0945031739234\n", "1046.0191873133717\n", "1048.9520718385857\n", "1051.8931797422445\n", "1054.8425340814974\n", "1057.8001579781408\n", "1060.766074618801\n", "1063.7403072551176\n", "1066.7228792039236\n", "1069.7138138474302\n", "1072.713134633408\n", "1075.7208650753705\n", "1078.7370287527624\n", "1081.7616493111384\n", "1084.7947504623544\n", "1087.8363559847496\n", "1090.8864897233352\n", "1093.9451755899797\n", "1097.012437563597\n", "1100.0882996903342\n", "1103.1727860837598\n", "1106.265920925055\n", "1109.3677284632\n", "1112.4782330151652\n", "1115.5974589661037\n", "1118.72543076954\n", "1121.8621729475624\n", "1125.007710091017\n", "1128.162066859697\n", "1131.3252679825403\n", "1134.4973382578196\n", "1137.67830255334\n", "1140.8681858066293\n", "1144.0670130251392\n", "1147.274809286437\n", "1150.4915997384037\n", "1153.7174095994335\n", "1156.9522641586254\n", "1160.19618877599\n", "1163.4492088826412\n", "1166.711349980997\n", "1169.9826376449819\n", "1173.2630975202271\n", "1176.5527553242666\n", "1179.851636846747\n", "1183.159767949622\n", "1186.477174567361\n", "1189.803882707147\n", "1193.1399184490854\n", "1196.4853079464058\n", "1199.8400774256686\n", "1203.204253186967\n", "1206.5778616041396\n", "1209.9609291249694\n", "1213.3534822713975\n", "1216.7555476397283\n", "1220.1671519008369\n", "1223.5883218003826\n", "1227.0190841590133\n", "1230.4594658725784\n", "1233.9094939123402\n", "1237.3691953251844\n", "1240.8385972338292\n", "1244.3177268370462\n", "1247.806611409865\n", "1251.3052783037892\n", "1254.8137549470152\n", "1258.332068844643\n", "1261.860247578891\n", "1265.3983188093162\n", "1268.9463102730283\n", "1272.5042497849086\n", "1276.0721652378256\n", "1279.6500846028562\n", "1283.2380359295046\n", "1286.8360473459204\n", "1290.4441470591216\n", "1294.062363355214\n", "1297.6907245996133\n", "1301.3292592372682\n", "1304.9779957928836\n", "1308.6369628711413\n", "1312.3061891569278\n", "1315.985703415559\n", "1319.675534493001\n", "1323.3757113161043\n", "1327.0862628928226\n", "1330.8072183124439\n", "1334.5386067458198\n", "1338.2804574455934\n", "1342.0327997464256\n", "1345.795663065229\n", "1349.5690769013959\n", "1353.3530708370308\n", "1357.1476745371817\n", "1360.9529177500744\n", "1364.7688303073437\n", "1368.5954421242673\n", "1372.4327832000029\n", "1376.2808836178187\n", "1380.1397735453336\n", "1384.009483234751\n", "1387.8900430230988\n", "1391.7814833324644\n", "1395.6838346702334\n", "1399.597127629332\n", "1403.5213928884618\n", "1407.4566612123456\n", "1411.402963451964\n", "1415.3603305448\n", "1419.3287935150804\n", "1423.30838347402\n", "1427.2991316200666\n", "1431.3010692391372\n", "1435.314227704878\n", "1439.3386384788973\n", "1443.3743331110186\n", "1447.421343239528\n", "1451.4797005914186\n", "1455.5494369826426\n", "1459.630584318357\n", "1463.7231745931795\n", "1467.827239891434\n", "1471.9428123874047\n", "1476.0699243455883\n", "1480.2086081209457\n", "1484.358896159157\n", "1488.5208209968748\n", "1492.6944152619792\n", "1496.8797116738351\n", "1501.0767430435467\n", "1505.2855422742173\n", "1509.5061423612026\n", "1513.7385763923764\n", "1517.9828775483838\n", "1522.239079102904\n", "1526.5072144229102\n", "1530.7873169689335\n", "1535.0794202953196\n", "1539.3835580505\n", "1543.6997639772487\n", "1548.0280719129503\n", "1552.3685157898653\n", "1556.721129635394\n", "1561.0859475723455\n", "1565.4630038192042\n", "1569.852332690397\n", "1574.2539685965653\n", "1578.6679460448295\n", "1583.0942996390663\n", "1587.5330640801772\n", "1591.9842741663558\n", "1596.4479647933679\n", "1600.9241709548232\n", "1605.4129277424438\n", "1609.914270346347\n", "1614.4282340553175\n", "1618.954854257085\n", "1623.4941664386008\n", "1628.046206186315\n", "1632.6110091864593\n", "1637.1886112253233\n", "1641.7790481895356\n", "1646.3823560663461\n", "1650.998570943908\n", "1655.627729011561\n", "1660.269866560112\n", "1664.9250199821258\n", "1669.5932257722009\n", "1674.2745205272677\n", "1678.9689409468642\n", "1683.6765238334306\n", "1688.397306092596\n", "1693.1313247334679\n", "1697.87861686892\n", "1702.6392197158866\n", "1707.4131705956536\n", "1712.2005069341462\n", "1717.0012662622305\n", "1721.8154862160025\n", "1726.6432045370846\n", "1731.4844590729206\n", "1736.3392877770732\n", "1741.2077287095196\n", "1746.0898200369559\n", "1750.9856000330892\n", "1755.8951070789394\n", "1760.8183796631415\n", "1765.7554563822503\n", "1770.7063759410364\n", "1775.6711771527937\n", "1780.6498989396432\n", "1785.6425803328375\n", "1790.649260473067\n", "1795.669978610768\n", "1800.7047741064275\n", "1805.7536864308945\n", "1810.8167551656884\n", "1815.8940200033098\n", "1820.98552074755\n", "1826.091297313806\n", "1831.2113897293902\n", "1836.3458381338476\n", "1841.494682779266\n", "1846.6579640305958\n", "1851.8357223659652\n", "1857.027998376996\n", "1862.234832769123\n", "1867.4562663619147\n", "1872.6923400893893\n", "1877.9430950003407\n", "1883.2085722586542\n", "1888.488813143636\n", "1893.7838590503316\n", "1899.0937514898524\n", "1904.4185320897002\n", "1909.7582425940957\n", "1915.1129248643033\n", "1920.48262087896\n", "1925.8673727344062\n", "1931.2672226450122\n", "1936.6822129435136\n", "1942.1123860813389\n", "1947.557784628944\n", "1953.018451276148\n", "1958.4944288324652\n", "1963.9857602274396\n", "1969.4924885109876\n", "1975.0146568537257\n", "1980.5523085473183\n", "1986.1054870048138\n", "1991.6742357609814\n", "1997.2585984726568\n", "2002.8586189190848\n", "2008.474341002258\n", "2014.1058087472647\n", "2019.7530663026355\n", "2025.4161579406841\n", "2031.0951280578568\n", "2036.790021175084\n", "2042.5008819381235\n", "2048.2277551179145\n", "2053.9706856109283\n", "2059.7297184395165\n", "2065.5048987522687\n", "2071.2962718243652\n", "2077.10388305793\n", "2082.927777982389\n", "2088.768002254826\n", "2094.62460166034\n", "2100.497622112403\n", "2106.387109653224\n", "2112.2931104541053\n", "2118.2156708158113\n", "2124.1548371689237\n", "2130.110656074209\n", "2136.08317422298\n", "2142.072438437472\n", "2148.0784956711996\n", "2154.101393009326\n", "2160.141177669036\n", "2166.197896999907\n", "2172.2715984842735\n", "2178.3623297376075\n", "2184.4701385088824\n", "2190.595072680959\n", "2196.7371802709526\n", "2202.8965094306072\n", "2209.0731084466843\n", "2215.267025741327\n", "2221.478309872454\n", "2227.707009534127\n", "2233.9531735569444\n", "2240.216850908413\n", "2246.498090693343\n", "2252.7969421542234\n", "2259.113454671611\n", "2265.4476777645227\n", "2271.799661090817\n", "2278.1694544475836\n", "2284.5571077715394\n", "2290.9626711394167\n", "2297.386194768352\n", "2303.8277290162882\n", "2310.2873243823597\n", "2316.765031507295\n", "2323.260901173812\n", "2329.7749843070155\n", "2336.307331974802\n", "2342.8579953882436\n", "2349.4270259020104\n", "2356.0144750147606\n", "2362.620394369546\n", "2369.2448357542207\n", "2375.8878511018397\n", "2382.5494924910736\n", "2389.229812146615\n", "2395.928862439586\n", "2402.6466958879478\n", "2409.3833651569153\n", "2416.138923059372\n", "2422.913422556278\n", "2429.7069167570858\n", "2436.519458920164\n", "2443.3511024532077\n", "2450.2019009136575\n", "2457.071908009127\n", "2463.9611775978096\n", "2470.8697636889137\n", "2477.7977204430854\n", "2484.745102172822\n", "2491.7119633429115\n", "2498.6983585708495\n", "2505.7043426272726\n", "2512.729970436385\n", "2519.7752970763886\n", "2526.840377779921\n", "2533.9252679344804\n", "2541.0300230828643\n", "2548.154698923603\n", "2555.2993513114034\n", "2562.464036257574\n", "2569.6488099304725\n", "2576.8537286559476\n", "2584.0788489177717\n", "2591.3242273580936\n", "2598.5899207778775\n", "2605.875986137348\n", "2613.18248055644\n", "2620.509461315242\n", "2627.856985854449\n", "2635.225111775813\n", "2642.613896842587\n", "2650.023398979991\n", "2657.4536762756543\n", "2664.9047869800756\n", "2672.3767895070823\n", "2679.869742434282\n", "2687.3837045035248\n", "2694.9187346213707\n", "2702.4748918595383\n", "2710.052235455376\n", "2717.6508248123273\n", "2725.270719500395\n", "2732.911979256605\n", "2740.5746639854788\n", "2748.2588337594957\n", "2755.9645488195774\n", "2763.691869575548\n", "2771.440856606614\n", "2779.2115706618342\n", "2787.004072660602\n", "2794.818423693118\n", "2802.6546850208742\n", "2810.5129180771223\n", "2818.3931844673725\n", "2826.295545969864\n", "2834.220064536054\n", "2842.1668022911017\n", "2850.135821534359\n", "2858.1271847398516\n", "2866.1409545567767\n", "2874.177193809989\n", "2882.235965500495\n", "2890.3173328059465\n", "2898.421359081141\n", "2906.5481078585035\n", "2914.6976428486055\n", "2922.870027940646\n", "2931.065327202962\n", "2939.2836048835306\n", "2947.5249254104688\n", "2955.7893533925417\n", "2964.0769536196685\n", "2972.387791063426\n", "2980.721930877568\n", "2989.0794383985253\n", "2997.4603791459226\n", "3005.864818823096\n", "3014.292823317596\n", "3022.7444587017208\n", "3031.219791233022\n", "3039.7188873548275\n", "3048.2418136967613\n", "3056.788637075271\n", "3065.359424494145\n", "3073.954243145041\n", "3082.5731604080124\n", "3091.2162438520363\n", "3099.883561235543\n", "3108.5751805069476\n", "3117.291169805183\n", "3126.031597460233\n", "3134.7965319936707\n", "3143.58604211919\n", "3152.4001967431504\n", "3161.239064965114\n", "3170.1027160783874\n", "3178.9912195705706\n", "3187.904645124089\n", "3196.8430626167533\n", "3205.806542122294\n", "3214.7951539109254\n", "3223.808968449886\n", "3232.848056403997\n", "3241.912488636209\n", "3251.0023362081643\n", "3260.117670380751\n", "3269.258562614663\n", "3278.4250845709594\n", "3287.6173081116276\n", "3296.8353053001415\n", "3306.079148402034\n", "3315.348909885458\n", "3324.64466242176\n", "3333.9664788860414\n", "3343.314432357736\n", "3352.6885961211856\n", "3362.089043666206\n", "3371.5158486886708\n", "3380.969085091084\n", "3390.44882698316\n", "3399.9551486824093\n", "3409.4881247147155\n", "3419.0478298149255\n", "3428.6343389274266\n", "3438.2477272067417\n", "3447.8880700181153\n", "3457.555442938107\n", "3467.24992175518\n", "3476.971582470297\n", "3486.72050129752\n", "3496.496754664598\n", "3506.3004192135777\n", "3516.1315718013943\n", "3525.9902895004807\n", "3535.876649599374\n", "3545.7907296033077\n", "3555.732607234836\n", "3565.702360434434\n", "3575.700067361107\n", "3585.72580639301\n", "3595.779656128063\n", "3605.8616953845535\n", "3615.9720032017713\n", "3626.1106588406183\n", "3636.2777417842303\n", "3646.473331738607\n", "3656.6975086332295\n", "3666.950352621687\n", "3677.2319440823126\n", "3687.542363618804\n", "3697.881692060861\n", "3708.2500104648216\n", "3718.647400114288\n", "3729.073942520775\n", "3739.5297194243394\n", "3750.0148127942307\n", "3760.5293048295225\n", "3771.0732779597624\n", "3781.646814845622\n", "3792.2499983795406\n", "3802.882911686374\n", "3813.545638124051\n", "3824.2382612842225\n", "3834.960864992917\n", "3845.7135333111987\n", "3856.496350535827\n", "3867.309401199917\n", "3878.152770073603\n", "3889.026542164703\n", "3899.930802719383\n", "3910.8656372228284\n", "3921.8311313999093\n", "3932.827371215862\n", "3943.854442876949\n", "3954.9124328311464\n", "3966.001427768817\n", "3977.121514623394\n", "3988.2727805720547\n", "3999.4553130364106\n", "4010.66919968319\n", "4021.9145284249266\n", "4033.1913874206466\n", "4044.4998650765597\n", "4055.8400500467615\n", "4067.2120312339102\n", "4078.615897789941\n", "4090.0517391167546\n", "4101.519644866924\n", "4113.019704944393\n", "4124.552009505185\n", "4136.1166489581055\n", "4147.713713965455\n", "4159.343295443735\n", "4171.0054845643635\n", "4182.700372754399\n", "4194.428051697235\n", "4206.1886133333355\n", "4217.98214986096\n", "4229.808753736866\n", "4241.668517677058\n", "4253.561534657497\n", "4265.487897914835\n", "4277.447700947141\n", "4289.44103751465\n", "4301.468001640473\n", "4313.528687611365\n", "4325.623189978435\n", "4337.751603557903\n", "4349.914023431835\n", "4362.110544948903\n", "4374.341263725114\n", "4386.606275644572\n", "4398.9056768602295\n", "4411.239563794634\n", "4423.608033140682\n", "4436.011181862393\n", "4448.449107195653\n", "4460.921906648981\n", "4473.429678004307\n", "4485.972519317711\n", "4498.550528920226\n", "4511.163805418573\n", "4523.812447695967\n", "4536.496554912866\n", "4549.216226507765\n", "4561.971562197969\n", "4574.762661980377\n", "4587.5896261322605\n", "4600.452555212054\n", "4613.35155006015\n", "4626.286711799668\n", "4639.258141837285\n", "4652.2659418639905\n", "4665.310213855898\n", "4678.3910600750605\n", "4691.508583070249\n", "4704.662885677772\n", "4717.854071022268\n", "4731.082242517532\n", "4744.347503867308\n", "4757.649959066115\n", "4770.989712400055\n", "4784.366868447634\n", "4797.781532080579\n", "4811.233808464663\n", "4824.723803060533\n", "4838.2516216245185\n", "4851.817370209497\n", "4865.421155165681\n", "4879.063083141484\n", "4892.743261084339\n", "4906.461796241551\n", "4920.218796161127\n", "4934.014368692631\n", "4947.848621988012\n", "4961.721664502462\n", "4975.633604995265\n", "4989.584552530659\n", "5003.574616478672\n", "5017.603906515994\n", "5031.672532626831\n", "5045.780605103768\n", "5059.928234548637\n", "5074.115531873383\n", "5088.342608300921\n", "5102.6095753660275\n", "5116.916544916215\n", "5131.263629112576\n", "5145.650940430707\n", "5160.078591661562\n", "5174.546695912347\n", "5189.055366607397\n", "5203.604717489087\n", "5218.194862618691\n", "5232.8259163773055\n", "5247.497993466735\n", "5262.21120891038\n", "5276.96567805416\n", "5291.761516567408\n", "5306.598840443774\n", "5321.477766002141\n", "5336.398409887517\n", "5351.360889071992\n", "5366.365320855602\n", "5381.411822867294\n", "5396.500513065824\n", "5411.631509740684\n", "5426.804931513036\n", "5442.020897336635\n", "5457.279526498765\n", "5472.580938621181\n", "5487.92525366103\n", "5503.312591911805\n", "5518.743074004288\n", "5534.216820907487\n", "5549.733953929595\n", "5565.294594718928\n", "5580.898865264893\n", "5596.546887898931\n", "5612.238785295491\n", "5627.974680472969\n", "5643.754696794706\n", "5659.5789579699185\n", "5675.447588054695\n", "5691.360711452955\n", "5707.318452917434\n", "5723.320937550645\n", "5739.368290805884\n", "5755.460638488189\n", "5771.598106755335\n", "5787.780822118838\n", "5804.008911444924\n", "5820.282501955534\n", "5836.6017212293245\n", "5852.96669720266\n", "5869.377558170623\n", "5885.8344327880095\n", "5902.3374500703485\n", "5918.88673939492\n", "5935.482430501744\n", "5952.1246534946185\n", "5968.813538842137\n", "5985.549217378703\n", "6002.331820305559\n", "6019.161479191824\n", "6036.038325975507\n", "6052.962492964565\n", "6069.93411283792\n", "6086.9533186465005\n", "6104.020243814296\n", "6121.1350221394005\n", "6138.297787795051\n", "6155.508675330697\n", "6172.767819673035\n", "6190.075356127078\n", "6207.431420377218\n", "6224.836148488286\n", "6242.289676906619\n", "6259.792142461123\n", "6277.343682364355\n", "6294.944434213602\n", "6312.5945359919515\n", "6330.294126069369\n", "6348.043343203796\n", "6365.842326542226\n", "6383.691215621802\n", "6401.590150370915\n", "6419.539271110285\n", "6437.538718554073\n", "6455.588633810987\n", "6473.689158385381\n", "6491.840434178356\n", "6510.0426034889015\n", "6528.295809014979\n", "6546.6001938546615\n", "6564.9559015072455\n", "6583.363075874375\n", "6601.8218612611745\n", "6620.33240237739\n", "6638.894844338494\n", "6657.509332666849\n", "6676.176013292847\n", "6694.895032556041\n", "6713.6665372063\n", "6732.490674404961\n", "6751.367591725978\n", "6770.2974371570745\n", "6789.280359100919\n", "6808.316506376276\n", "6827.406028219176\n", "6846.549074284085\n", "6865.745794645072\n", "6884.996339797004\n", "6904.30086065671\n", "6923.659508564162\n", "6943.072435283672\n", "6962.5397930050785\n", "6982.061734344933\n", "7001.6384123476955\n", "7021.2699804869535\n", "7040.956592666612\n", "7060.69840322209\n", "7080.495566921541\n", "7100.3482389670735\n", "7120.256574995957\n", "7140.220731081844\n", "7160.240863735994\n", "7180.317129908501\n", "7200.449686989531\n", "7220.638692810538\n", "7240.884305645517\n", "7261.186684212238\n", "7281.545987673499\n", "7301.962375638361\n", "7322.436008163409\n", "7342.967045754\n", "7363.555649365525\n", "7384.201980404679\n", "7404.9062007306975\n", "7425.668472656669\n", "7446.48895895077\n", "7467.367822837556\n", "7488.305227999243\n", "7509.30133857699\n", "7530.3563191721805\n", "7551.470334847718\n", "7572.643551129314\n", "7593.876134006792\n", "7615.168249935395\n", "7636.520065837067\n", "7657.931749101792\n", "7679.403467588876\n", "7700.935389628291\n", "7722.527684021976\n", "7744.180520045161\n", "7765.894067447705\n", "7787.668496455423\n", "7809.503977771416\n", "7831.400682577403\n", "7853.358782535088\n", "7875.378449787473\n", "7897.45985696023\n", "7919.603177163052\n", "7941.8085839910045\n", "7964.076251525881\n", "7986.406354337586\n", "8008.799067485481\n", "8031.2545665197795\n", "8053.773027482905\n", "8076.35462691088\n", "8098.999541834712\n", "8121.7079497817695\n", "8144.480028777185\n", "8167.315957345251\n", "8190.215914510809\n", "8213.180079800673\n", "8236.208633245005\n", "8259.301755378752\n", "8282.459627243066\n", "8305.682430386705\n", "8328.97034686746\n", "8352.32355925358\n", "8375.742250625224\n", "8399.226604575875\n", "8422.776805213774\n", "8446.39303716339\n", "8470.075485566833\n", "8493.824336085363\n", "8517.639774900756\n", "8541.521988716842\n", "8565.471164760947\n", "8589.487490785343\n", "8613.571155068736\n", "8637.722346417731\n", "8661.941254168336\n", "8686.228068187407\n", "8710.582978874178\n", "8735.006177161724\n", "8759.497854518471\n", "8784.058202949695\n", "8808.687414999027\n", "8833.385683749955\n", "8858.153202827356\n", "8882.990166399006\n", "8907.89676917708\n", "8932.873206419712\n", "8957.919673932507\n", "8983.036368070083\n", "9008.223485737602\n", "9033.48122439233\n", "9058.809782045157\n", "9084.209357262174\n", "9109.68014916624\n", "9135.222357438493\n", "9160.83618231998\n", "9186.521824613172\n", "9212.279485683572\n", "9238.109367461268\n", "9264.011672442542\n", "9289.98660369146\n", "9316.034364841416\n", "9342.155160096785\n", "9368.3491942345\n", "9394.616672605656\n", "9420.957801137121\n", "9447.37278633315\n", "9473.861835277012\n", "9500.4251556326\n", "9527.062955646074\n", "9553.775444147474\n", "9580.562830552373\n", "9607.425324863525\n", "9634.36313767249\n", "9661.376480161309\n", "9688.465564104126\n", "9715.630601868876\n", "9742.871806418956\n", "9770.18939131487\n", "9797.58357071591\n", "9825.054559381846\n", "9852.602572674603\n", "9880.227826559947\n", "9907.930537609192\n", "9935.710923000863\n", "9963.56920052244\n", "9991.505588572038\n", "10019.520306160137\n", "10047.61357291127\n", "10075.785609065802\n", "10104.036635481578\n", "10132.366873635718\n", "10160.77654562635\n", "10189.265874174285\n", "10217.835082624859\n", "10246.484394949606\n", "10275.214035748051\n", "10304.02423024947\n", "10332.915204314626\n", "10361.887184437588\n", "10390.940397747478\n", "10420.075072010231\n", "10449.29143563044\n", "10478.589717653093\n", "10507.97014776538\n", "10537.43295629851\n", "10566.97837422949\n", "10596.606633182986\n", "10626.317965433082\n", "10656.112603905123\n", "10685.990782177549\n", "10715.952734483722\n", "10745.998695713759\n", "10776.128901416365\n", "10806.3435878007\n", "10836.642991738217\n", "10867.027350764529\n", "10897.496903081234\n", "10928.051887557856\n", "10958.692543733647\n", "10989.419111819494\n", "11020.23183269981\n", "11051.130947934409\n", "11082.116699760392\n", "11113.189331094074\n", "11144.34908553285\n", "11175.59620735715\n", "11206.93094153232\n", "11238.353533710557\n", "11269.86423023283\n", "11301.463278130794\n", "11333.150925128773\n", "11364.927419645666\n", "11396.793010796877\n", "11428.747948396333\n", "11460.792482958372\n", "11492.926865699748\n", "11525.151348541596\n", "11557.46618411139\n", "11589.87162574494\n", "11622.367927488373\n", "11654.955344100124\n", "11687.634131052937\n", "11720.404544535857\n", "11753.266841456236\n", "11786.221279441796\n", "11819.268116842544\n", "11852.40761273293\n", "11885.640026913768\n", "11918.96561991434\n", "11952.384652994398\n", "11985.897388146232\n", "12019.504088096717\n", "12053.205016309383\n", "12087.000436986476\n", "12120.890615071014\n", "12154.875816248874\n", "12188.956306950895\n", "12223.132354354939\n", "12257.404226387998\n", "12291.772191728285\n", "12326.236519807353\n", "12360.797480812207\n", "12395.455345687413\n", "12430.210386137214\n", "12465.062874627687\n", "12500.013084388856\n", "12535.06128941685\n", "12570.207764476028\n", "12605.452785101168\n", "12640.796627599599\n", "12676.239569053365\n", "12711.781887321411\n", "12747.423861041776\n", "12783.165769633737\n", "12819.007893300022\n", "12854.950513029034\n", "12890.993910596992\n", "12927.1383685702\n", "12963.384170307221\n", "12999.731599961113\n", "13036.180942481667\n", "13072.732483617634\n", "13109.386509918946\n", "13146.143308738998\n", "13183.003168236863\n", "13219.966377379586\n", "13257.033225944426\n", "13294.204004521134\n", "13331.47900451424\n", "13368.858518145322\n", "13406.342838455306\n", "13443.932259306757\n", "13481.627075386199\n", "13519.427582206408\n", "13557.334076108727\n", "13595.346854265405\n", "13633.466214681926\n", "13671.692456199313\n", "13710.025878496523\n", "13748.466782092759\n", "13787.015468349828\n", "13825.672239474517\n", "13864.43739852095\n", "13903.31124939299\n", "13942.294096846595\n", "13981.38624649219\n", "14020.58800479711\n", "14059.899679087981\n", "14099.32157755312\n", "14138.854009244955\n", "14178.497284082458\n", "14218.251712853578\n", "14258.117607217644\n", "14298.095279707852\n", "14338.185043733687\n", "14378.387213583392\n", "14418.702104426424\n", "14459.130032315934\n", "14499.671314191228\n", "14540.326267880266\n", "14581.095212102171\n", "14621.978466469702\n", "14662.976351491736\n", "14704.089188575843\n", "14745.31730003076\n", "14786.661009068928\n", "14828.120639809036\n", "14869.69651727855\n", "14911.388967416255\n", "14953.198317074834\n", "14995.124894023433\n", "15037.169026950174\n", "15079.331045464807\n", "15121.61128010124\n", "15164.010062320154\n", "15206.527724511605\n", "15249.16459999761\n", "15291.921023034782\n", "15334.797328816943\n", "15377.793853477724\n", "15420.910934093265\n", "15464.148908684783\n", "15507.50811622128\n", "15550.98889662217\n", "15594.59159075995\n", "15638.316540462863\n", "15682.164088517615\n", "15726.134578672025\n", "15770.228355637704\n", "15814.445765092809\n", "15858.787153684734\n", "15903.252869032805\n", "15947.84325973103\n", "15992.558675350827\n", "16037.399466443749\n", "16082.36598454425\n", "16127.458582172447\n", "16172.677612836847\n", "16218.023431037162\n", "16263.496392267074\n", "16309.096853017\n", "16354.8251707769\n", "16400.681704039107\n", "16446.666812301115\n", "16492.780856068344\n", "16539.024196857114\n", "16585.397197197275\n", "16631.90022063524\n", "16678.533631736693\n", "16725.297796089555\n", "16772.1930803068\n", "16819.219852029277\n", "16866.378479928706\n", "16913.669333710503\n", "16961.092784116623\n", "17008.64920292861\n", "17056.338962970367\n", "17104.162438111183\n", "17152.12000326859\n", "17200.21203441135\n", "17248.43890856237\n", "17296.801003801695\n", "17345.298699269442\n", "17393.93237516878\n", "17442.70241276891\n", "17491.609194408087\n", "17540.653103496534\n", "17589.834524519538\n", "17639.15384304039\n", "17688.611445703493\n", "17738.2077202373\n", "17787.943055457417\n", "17837.817841269636\n", "17887.832468672987\n", "17937.987329762804\n", "17988.28281773379\n", "18038.71932688313\n", "18089.297252613527\n", "18140.01699143633\n", "18190.87894097468\n", "18241.883499966614\n", "18293.031068268134\n", "18344.322046856374\n", "18395.75683783277\n", "18447.335844426172\n", "18499.059470996053\n", "18550.928123035646\n", "18602.942207175103\n", "18655.102131184736\n", "18707.40830397814\n", "18759.86113561549\n", "18812.461037306708\n", "18865.208421414656\n", "18918.10370145843\n", "18971.14729211657\n", "19024.339609230276\n", "19077.681069806746\n", "19131.17209202242\n", "19184.813095226207\n", "19238.604499942798\n", "19292.546727876022\n", "19346.64020191207\n", "19400.885346122865\n", "19455.282585769335\n", "19509.832347304797\n", "19564.535058378282\n", "19619.3911478379\n", "19674.401045734136\n", "19729.565183323324\n", "19784.883993070966\n", "19840.357908655118\n", "19895.98736496984\n", "19951.7727981285\n", "20007.71464546736\n", "20063.813345548846\n", "20120.069338165074\n", "20176.48306434126\n", "20233.05496633917\n", "20289.785487660654\n", "20346.675073051065\n", "20403.724168502722\n", "20460.93322125846\n", "20518.30267981514\n", "20575.832993927113\n", "20633.52461460977\n", "20691.37799414313\n", "20749.393586075294\n", "20807.571845226033\n", "20865.91322769042\n", "20924.418190842327\n", "20983.087193338\n", "21041.92069511976\n", "21100.919157419474\n", "21160.083042762275\n", "21219.41281497014\n", "21278.90893916553\n", "21338.571881775024\n", "21398.40211053303\n", "21458.400094485387\n", "21518.566303993073\n", "21578.90121073591\n", "21639.4052877162\n", "21700.07900926254\n", "21760.922851033403\n", "21821.937290020993\n", "21883.122804554878\n", "21944.479874305835\n", "22006.00898028956\n", "22067.710604870445\n", "22129.58523176535\n", "22191.63334604741\n", "22253.85543414983\n", "22316.25198386972\n", "22378.82348437189\n", "22441.570426192702\n", "22504.49330124391\n", "22567.592602816487\n", "22630.86882558457\n", "22694.322465609268\n", "22757.95402034256\n", "22821.76398863121\n", "22885.7528707207\n", "22949.921168259094\n", "23014.269384301042\n", "23078.798023311654\n", "23143.5075911705\n", "23208.398595175524\n", "23273.47154404715\n", "23338.726947932104\n", "23404.16531840751\n", "23469.78716848485\n", "23535.59301261406\n", "23601.583366687497\n", "23667.758748044023\n", "23734.11967547302\n", "23800.666669218463\n", "23867.40025098306\n", "23934.320943932275\n", "24001.429272698453\n", "24068.725763384937\n", "24136.210943570157\n", "24203.885342311834\n", "24271.749490151058\n", "24339.80391911651\n", "24408.0491627286\n", "24476.485756003618\n", "24545.114235457975\n", "24613.935139112404\n", "24682.949006496165\n", "24752.15637865128\n", "24821.557798136786\n", "24891.15380903293\n", "24960.944956945557\n", "25030.931789010236\n", "25101.114853896677\n", "25171.494701812946\n", "25242.071884509805\n", "25312.8469552851\n", "25383.820468987986\n", "25454.992982023334\n", "25526.36505235615\n", "25597.937239515843\n", "25669.71010460067\n", "25741.6842102821\n", "25813.86012080931\n", "25886.238402013518\n", "25958.819621312425\n", "26031.604347714732\n", "26104.593151824527\n", "26177.78660584579\n", "26251.185283586892\n", "26324.789760465083\n", "26398.600613510982\n", "26472.618421373103\n", "26546.843764322453\n", "26621.277224256988\n", "26695.919384706245\n", "26770.770830835885\n", "26845.832149452275\n", "26921.103929007153\n", "26996.586759602116\n", "27072.281232993377\n", "27148.1879425963\n", "27224.307483490138\n", "27300.64045242265\n", "27377.187447814747\n", "27453.94906976529\n", "27530.925920055706\n", "27608.118602154707\n", "27685.527721223065\n", "27763.153884118317\n", "27840.99769939956\n", "27919.059777332175\n", "27997.340729892676\n", "28075.84117077343\n", "28154.56171538754\n", "28233.50298087361\n", "28312.665586100633\n", "28392.0501516728\n", "28471.657299934395\n", "28551.487654974666\n", "28631.54184263272\n", "28711.820490502414\n", "28792.324227937286\n", "28873.053686055493\n", "28954.009497744766\n", "29035.192297667323\n", "29116.602722264943\n", "29198.241409763847\n", "29280.109000179757\n", "29362.206135322907\n", "29444.53345880309\n", "29527.09161603466\n", "29609.88125424164\n", "29692.903022462768\n", "29776.15757155657\n", "29859.645554206538\n", "29943.367624926133\n", "30027.324440064\n", "30111.516657809098\n", "30195.944938195822\n", "30280.609943109266\n", "30365.51233629029\n", "30450.65278334083\n", "30536.03195172904\n", "30621.650510794578\n", "30707.509131753803\n", "30793.6084877051\n", "30879.949253634113\n", "30966.532106419036\n", "31053.357724835954\n", "31140.42678956413\n", "31227.73998319134\n", "31315.29799021924\n", "31403.101497068747\n", "31491.15119208535\n", "31579.44776554463\n", "31667.991909657576\n", "31756.784318575985\n", "31845.825688398\n", "31935.116717173525\n", "32024.65810490969\n", "32114.450553576324\n", "32204.494767111486\n", "32294.791451426972\n", "32385.34131441387\n", "32476.14506594807\n", "32567.20341789585\n", "32658.517084119474\n", "32750.086780482747\n", "32841.913224856646\n", "32933.99713712501\n", "33026.33923919005\n", "33118.940254978166\n", "33211.80091044549\n", "33304.92193358361\n", "33398.30405442534\n", "33491.94800505036\n", "33585.85451959108\n", "33680.02433423814\n", "33774.458187246535\n", "33869.156818941105\n", "33964.120971722485\n", "34059.351390072945\n", "34154.848820562096\n", "34250.61401185283\n", "34346.64771470722\n", "34442.95068199233\n", "34539.52366868615\n", "34636.367431883606\n", "34733.48273080225\n", "34830.870326788514\n", "34928.53098332341\n", "35026.4654660288\n", "35124.674542673085\n", "35223.15898317745\n", "35321.91955962177\n", "35420.95704625078\n", "35520.27221948007\n", "35619.86585790221\n", "35719.73874229275\n", "35819.89165561646\n", "35920.32538303349\n", "36021.040711905356\n", "36122.038431801295\n", "36223.31933450437\n", "36324.88421401764\n", "36426.73386657051\n", "36528.869090624816\n", "36631.290686881206\n", "36733.99945828543\n", "36836.996210034464\n", "36940.281749582944\n", "37043.85688664964\n", "37147.72243322354\n", "37251.87920357034\n", "37356.32801423879\n", "37461.069684067195\n", "37566.10503418976\n", "37671.434888042924\n", "37777.06007137204\n", "37882.98141223767\n", "37989.19974102213\n", "38095.71589043604\n", "38202.53069552484\n", "38309.64499367523\n", "38417.05962462189\n", "38524.775430453985\n", "38632.79325562173\n", "38741.113946943085\n", "38849.73835361041\n", "38958.667327197014\n", "39067.901721663875\n", "39177.44239336639\n", "39287.29020106109\n", "39397.44600591226\n", "39507.91067149881\n", "39618.68506382099\n", "39729.77005130717\n", "39841.16650482067\n", "39952.87529766659\n", "40064.89730559867\n", "40177.233406826104\n", "40289.88448202046\n", "40402.85141432258\n", "40516.13508934957\n", "40629.73639520154\n", "40743.6562224688\n", "40857.89546423877\n", "40972.45501610288\n", "41087.335776163716\n", "41202.53864504192\n", "41318.0645258835\n", "41433.914324366604\n", "41550.088948708915\n", "41666.589309674484\n", "41783.41632058108\n", "41900.570897307254\n", "42018.05395829962\n", "42135.86642457995\n", "42254.00921975231\n", "42372.483270010554\n", "42491.28950414538\n", "42610.428853551755\n", "42729.90225223603\n", "42849.71063682347\n", "42969.85494656547\n", "43090.33612334691\n", "43211.15511169357\n", "43332.312858779645\n", "43453.810314434966\n", "43575.64843115258\n", "43697.82816409623\n", "43820.35047110771\n", "43943.216312714554\n", "44066.426652137416\n", "44189.982455297664\n", "44313.88469082499\n", "44438.134330065004\n", "44562.73234708684\n", "44687.67971869069\n", "44812.977424415665\n", "44938.62644654729\n", "45064.627770125255\n", "45190.982382951224\n", "45317.691275596495\n", "45444.75544140974\n", "45572.17587652487\n", "45699.95357986879\n", "45828.08955316927\n", "45956.58480096279\n", "46085.44033060237\n", "46214.65715226551\n", "46344.23627896206\n", "46474.17872654232\n", "46604.485513704785\n", "46735.157662004254\n", "46866.19619585981\n", "46997.60214256288\n", "47129.376532285234\n", "47261.520398087094\n", "47394.03477592526\n", "47526.92070466121\n", "47660.17922606921\n", "47793.81138484449\n", "47927.81822861151\n", "48062.20080793206\n", "48196.96017631356\n", "48332.097390217365\n", "48467.613509066956\n", "48603.50959525622\n", "48739.786714157985\n", "48876.445934132076\n", "49013.488326533945\n", "49150.914965722906\n", "49288.72692907066\n", "49426.92529696967\n", "49565.5111528417\n", "49704.485583146205\n", "49843.84967738901\n", "49983.604528130665\n", "50123.75123099515\n", "50264.29088467839\n", "50405.22459095692\n", "50546.55345469647\n", "50688.27858386062\n", "50830.401089519575\n", "50972.9220858588\n", "51115.84269018777\n", "51259.16402294875\n", "51402.887207725544\n", "51547.01337125228\n", "51691.543643422374\n", "51836.47915729722\n", "51981.82104911514\n", "52127.5704583004\n", "52273.72852747194\n", "52420.29640245249\n", "52567.27523227755\n", "52714.66616920421\n", "52862.470368720424\n", "53010.68898955391\n", "53159.32319368136\n", "53308.374146337446\n", "53457.84301602392\n", "53607.73097451892\n", "53758.03919688605\n", "53908.768861483644\n", "54059.92114997397\n", "54211.497247332445\n", "54363.49834185706\n", "54515.92562517759\n", "54668.780292264935\n", "54822.0635414406\n", "54975.77657438594\n", "55129.92059615169\n", "55284.49681516734\n", "55439.50644325063\n", "55594.95069561709\n", "55750.83079088956\n", "55907.14795110762\n", "56063.90340173735\n", "56221.09837168084\n", "56378.73409328582\n", "56536.811802355405\n", "56695.33273815768\n", "56854.29814343542\n", "57013.70926441596\n", "57173.567350820755\n", "57333.87365587542\n", "57494.62943631935\n", "57655.835952415626\n", "57817.49446796105\n", "57979.606250295816\n", "58142.172570313545\n", "58305.194702471344\n", "58468.67392479962\n", "58632.61151891224\n", "58797.008770016546\n", "58961.8669669234\n", "59127.187402057236\n", "59292.97137146637\n", "59459.22017483293\n", "59625.93511548326\n", "59793.11750039797\n", "59960.768640222326\n", "60128.88984927636\n", "60297.4824455653\n", "60466.54775078992\n", "60636.08709035676\n", "60806.10179338875\n", "60976.5931927353\n", "61147.56262498307\n", "61319.011430466206\n", "61490.940953277095\n", "61663.35254127665\n", "61836.24754610499\n", "62009.62732319214\n", "62183.49323176843\n", "62357.84663487531\n", "62532.68889937601\n", "62708.02139596631\n", "62883.84549918509\n", "63060.16258742529\n", "63236.97404294473\n", "63414.281251876775\n", "63592.08560424134\n", "63770.388493955776\n", "63949.19131884581\n", "64128.49548065637\n", "64308.30238506271\n", "64488.61344168142\n", "64669.43006408142\n", "64850.75366979509\n", "65032.58568032931\n", "65214.92752117673\n", "65397.78062182687\n", "65581.14641577729\n", "65765.02634054486\n", "65949.42183767704\n", "66134.3343527632\n", "66319.76533544596\n", "66505.71623943246\n", "66692.18852250582\n", "66879.18364653668\n", "67066.70307749443\n", "67254.74828545879\n", "67443.32074463158\n", "67632.42193334784\n", "67822.05333408773\n", "68012.21643348811\n", "68202.91272235407\n", "68394.14369567076\n", "68585.91085261504\n", "68778.21569656726\n", "68971.05973512295\n", "69164.44448010481\n", "69358.37144757445\n", "69552.8421578442\n", "69747.85813548922\n", "69943.42090935932\n", "70139.53201259107\n", "70336.19298261956\n", "70533.40536119077\n", "70731.17069437337\n", "70929.49053257116\n", "71128.36643053495\n", "71327.7999473748\n", "71527.7926465723\n", "71728.3460959929\n", "71929.461867898\n", "72131.14153895751\n", "72333.38669026208\n", "72536.19890733525\n", "72739.57978014654\n", "72943.53090312329\n", "73148.05387516333\n", "73353.15029964762\n", "73558.82178445293\n", "73765.06994196394\n", "73971.89638908656\n", "74179.30274726005\n", "74387.29064247\n", "74595.86170526122\n", "74805.01757074994\n", "75014.75987863734\n", "75225.0902732219\n", "75436.01040341258\n", "75647.5219227417\n", "75859.6264893776\n", "76072.3257661381\n", "76285.62142050327\n", "76499.51512462845\n", "76714.00855535766\n", "76929.10339423628\n", "77144.80132752476\n", "77361.10404621135\n", "77578.01324602569\n", "77795.53062745203\n", "78013.65789574246\n", "78232.3967609304\n", "78451.74893784393\n", "78671.7161461193\n", "78892.30011021426\n", "79113.50255942171\n", "79335.32522788335\n", "79557.76985460313\n", "79780.83818346084\n", "80004.53196322588\n", "80228.8529475709\n", "80453.80289508562\n", "80679.38356929069\n", "80905.59673865128\n", "81132.44417659112\n", "81359.9276615064\n", "81588.04897677964\n", "81816.80991079361\n", "82046.21225694561\n", "82276.25781366132\n", "82506.94838440885\n", "82738.28577771306\n", "82970.27180716967\n", "83202.90829145923\n", "83436.19705436191\n", "83670.1399247713\n", "83904.73873670911\n", "84139.99532933916\n", "84375.91154698217\n", "84612.48923913\n", "84849.73026046024\n", "85087.63647085073\n", "85326.20973539412\n", "85565.4519244125\n", "85805.36491347212\n", "86045.95058339792\n", "86287.21082028851\n", "86529.14751553092\n", "86771.76256581512\n", "87015.05787314929\n", "87259.03534487441\n", "87503.69689367966\n", "87749.04443761679\n", "87995.07990011566\n", "88241.80520999919\n", "88489.22230149829\n", "88737.3331142673\n", "88986.13959339891\n", "89235.64368943973\n", "89485.84735840534\n", "89736.75256179574\n", "89988.3612666106\n", "90240.6754453648\n", "90493.69707610404\n", "90747.42814241986\n", "91001.87063346578\n", "91257.02654397246\n", "91512.89787426352\n", "91769.48663027119\n", "92026.79482355205\n", "92284.82447130287\n", "92543.57759637611\n", "92803.05622729627\n", "93063.26239827539\n", "93324.19814922924\n", "93585.86552579324\n", "93848.26657933826\n", "94111.4033669871\n", "94375.27795163034\n", "94639.89240194269\n", "94905.248792399\n", "95171.34920329074\n", "95438.19572074222\n", "95705.79043672698\n", "95974.13544908396\n", "96243.23286153424\n", "96513.08478369749\n", "96783.69333110838\n", "97055.06062523316\n", "97327.18879348654\n", "97600.07996924798\n", "97873.73629187877\n", "98148.1599067386\n", "98423.35296520244\n", "98699.31762467753\n", "98976.05604861987\n", "99253.57040655176\n", "99531.86287407833\n", "99810.9356329049\n", "100090.79087085396\n", "100371.43078188227\n", "100652.85756609819\n", "100935.07342977884\n", "101218.08058538743\n", "101501.8812515905\n", "101786.4776532755\n", "102071.8720215682\n", "102358.06659384993\n", "102645.0636137755\n", "102932.86533129042\n", "103221.47400264896\n", "103510.89189043136\n", "103801.12126356194\n", "104092.16439732663\n", "104384.02357339115\n", "104676.70107981839\n", "104970.19921108687\n", "105264.52026810833\n", "105559.66655824604\n", "105855.64039533272\n", "106152.4440996887\n", "106450.07999814027\n", "106748.55042403772\n", "107047.85771727365\n", "107348.00422430155\n", "107648.99229815385\n", "107950.82429846068\n", "108253.50259146804\n", "108557.02955005674\n", "108861.4075537607\n", "109166.63898878575\n", "109472.72624802818\n", "109779.67173109378\n", "110087.47784431635\n", "110396.14700077675\n", "110705.68162032175\n", "111016.08412958296\n", "111327.35696199606\n", "111639.50255781961\n", "111952.52336415427\n", "112266.42183496214\n", "112581.20043108574\n", "112896.86162026762\n", "113213.40787716916\n", "113530.84168339071\n", "113849.16552749046\n", "114168.38190500425\n", "114488.4933184649\n", "114809.50227742217\n", "115131.411298462\n", "115454.22290522663\n", "115777.93962843418\n", "116102.56400589852\n", "116428.09858254925\n", "116754.54591045139\n", "117081.90854882578\n", "117410.18906406884\n", "117739.39002977281\n", "118069.5140267459\n", "118400.56364303252\n", "118732.54147393364\n", "119065.450122027\n", "119399.29219718762\n", "119734.0703166082\n", "120069.78710481965\n", "120406.44519371184\n", "120744.04722255381\n", "121082.59583801497\n", "121422.09369418539\n", "121762.54345259696\n", "122103.94778224411\n", "122446.30935960475\n", "122789.6308686611\n", "123133.91500092109\n", "123479.16445543893\n", "123825.38193883697\n", "124172.57016532627\n", "124520.73185672823\n", "124869.8697424958\n", "125219.98655973494\n", "125571.08505322602\n", "125923.16797544544\n", "126276.23808658714\n", "126630.29815458413\n", "126985.35095513039\n", "127341.39927170258\n", "127698.44589558171\n", "128056.49362587517\n", "128415.54526953863\n", "128775.6036413982\n", "129136.67156417214\n", "129498.75186849327\n", "129861.84739293114\n", "130225.96098401415\n", "130591.09549625199\n", "130957.25379215802\n", "131324.43874227165\n", "131692.6532251808\n", "132061.90012754453\n", "132432.18234411578\n", "132803.50277776376\n", "133175.86433949714\n", "133549.26994848647\n", "133923.72253208718\n", "134299.2250258628\n", "134675.78037360765\n", "135053.39152736985\n", "135432.06144747484\n", "135811.79310254828\n", "136192.58946953947\n", "136574.45353374459\n", "136957.38828883017\n", "137341.39673685643\n", "137726.48188830126\n", "138112.6467620833\n", "138499.89438558565\n", "138888.22779467967\n", "139277.65003374932\n", "139668.16415571424\n", "140059.77322205406\n", "140452.4803028323\n", "140846.28847672066\n", "141241.2008310229\n", "141637.220461699\n", "142034.35047338967\n", "142432.5939794407\n", "142831.95410192688\n", "143232.43397167712\n", "143634.0367282988\n", "144036.76552020223\n", "144440.6235046251\n", "144845.61384765792\n", "145251.7397242682\n", "145659.00431832593\n", "146067.41082262772\n", "146476.96243892272\n", "146887.66237793706\n", "147299.5138593994\n", "147712.520112066\n", "148126.68437374625\n", "148542.00989132762\n", "148958.49992080152\n", "149376.15772728866\n", "149794.98658506467\n", "150214.98977758578\n", "150636.17059751446\n", "151058.5323467455\n", "151482.07833643167\n", "151906.81188700948\n", "152332.73632822573\n", "152759.85499916328\n", "153188.17124826726\n", "153617.68843337154\n", "154048.40992172444\n", "154480.33909001583\n", "154913.47932440342\n", "155347.8340205391\n", "155783.40658359556\n", "156220.20042829323\n", "156658.21897892674\n", "157097.4656693923\n", "157537.94394321393\n", "157979.65725357085\n", "158422.60906332458\n", "158866.80284504592\n", "159312.2420810424\n", "159758.9302633852\n", "160206.87089393684\n", "160656.06748437858\n", "161106.52355623784\n", "161558.24264091617\n", "162011.22827971628\n", "162465.48402387032\n", "162921.0134345676\n", "163377.82008298254\n", "163835.90755030265\n", "164295.27942775632\n", "164755.93931664122\n", "165217.89082835295\n", "165681.13758441253\n", "166145.6832164952\n", "166611.5313664591\n", "167078.6856863735\n", "167547.1498385476\n", "168016.9274955592\n", "168488.02234028306\n", "168960.4380659208\n", "169434.17837602898\n", "169909.24698454814\n", "170385.64761583257\n", "170863.38400467875\n", "171342.45989635537\n", "171822.879046632\n", "172304.6452218088\n", "172787.7621987463\n", "173272.23376489474\n", "173758.06371832374\n", "174245.25586775213\n", "174733.81403257782\n", "175223.74204290812\n", "175715.043739589\n", "176207.7229742354\n", "176701.7836092622\n", "177197.2295179136\n", "177694.06458429378\n", "178192.29270339772\n", "178691.9177811408\n", "179192.9437343904\n", "179695.37449099624\n", "180199.213989821\n", "180704.4661807716\n", "181211.13502482968\n", "181719.2244940829\n", "182228.73857175623\n", "182739.68125224288\n", "183252.05654113583\n", "183765.8684552591\n", "184281.12102269928\n", "184797.8182828373\n", "185315.96428637957\n", "185835.56309539053\n", "186356.61878332365\n", "186879.13543505414\n", "187403.11714691023\n", "187928.5680267059\n", "188455.49219377284\n", "188983.89377899247\n", "189513.776924829\n", "190045.14578536127\n", "190578.00452631555\n", "191112.35732509833\n", "191648.2083708287\n", "192185.56186437162\n", "192724.42201837056\n", "193264.79305728065\n", "193806.6792174018\n", "194350.08474691192\n", "194895.0139059002\n", "195441.47096640032\n", "195989.46021242422\n", "196538.98593999568\n", "197090.05245718377\n", "197642.66408413678\n", "198196.82515311602\n", "198752.54000853\n", "199309.81300696815\n", "199868.64851723515\n", "200429.05092038526\n", "200991.02460975663\n", "201554.57399100545\n", "202119.70348214087\n", "202686.41751355943\n", "203254.7205280799\n", "203824.6169809782\n", "204396.11134002195\n", "204969.2080855058\n", "205543.91171028663\n", "206120.2267198184\n", "206698.1576321879\n", "207277.70897814995\n", "207858.88530116293\n", "208441.6911574243\n", "209026.13111590644\n", "209612.20975839268\n", "210199.9316795128\n", "210789.30148677924\n", "211380.32380062324\n", "211973.00325443124\n", "212567.34449458082\n", "213163.3521804772\n", "213761.03098459032\n", "214360.38559249064\n", "214961.4207028865\n", "215564.14102766057\n", "216168.55129190718\n", "216774.65623396882\n", "217382.46060547378\n", "217991.9691713733\n", "218603.1867099785\n", "219216.11801299866\n", "219830.76788557807\n", "220447.14114633386\n", "221065.24262739392\n", "221685.07717443485\n", "222306.64964671966\n", "222929.96491713615\n", "223555.02787223482\n", "224181.8434122674\n", "224810.4164512252\n", "225440.75191687772\n", "226072.8547508111\n", "226706.72990846727\n", "227342.3823591819\n", "227979.81708622444\n", "228619.03908683662\n", "229260.05337227156\n", "229902.86496783333\n", "230547.47891291627\n", "231193.90026104412\n", "231842.1340799103\n", "232492.185451417\n", "233144.05947171568\n", "233797.76125124647\n", "234453.29591477846\n", "235110.6686014495\n", "235769.8844648076\n", "236430.9486728498\n", "237093.8664080638\n", "237758.64286746824\n", "238425.2832626534\n", "239093.79281982206\n", "239764.17677983042\n", "240436.44039822946\n", "241110.58894530602\n", "241786.6277061237\n", "242464.5619805649\n", "243144.39708337217\n", "243826.13834418962\n", "244509.79110760492\n", "245195.36073319145\n", "245882.85259554983\n", "246572.27208435003\n", "247263.62460437455\n", "247956.91557555928\n", "248652.15043303746\n", "249349.33462718135\n", "250048.47362364532\n", "250749.57290340879\n", "251452.6379628186\n", "252157.67431363315\n", "252864.68748306442\n", "253573.6830138223\n", "254284.66646415726\n", "254997.6434079046\n", "255712.61943452794\n", "256429.6001491624\n", "257148.5911726597\n", "257869.59814163114\n", "258592.62670849235\n", "259317.68254150785\n", "260044.77132483467\n", "260773.89875856772\n", "261505.07055878403\n", "262238.29245758755\n", "262973.5702031542\n", "263710.90955977706\n", "264450.31630791194\n", "265191.7962442208\n", "265935.3551816207\n", "266680.99894932494\n", "267428.7333928928\n", "268178.5643742728\n", "268930.49777184986\n", "269684.53948049084\n", "270440.695411591\n", "271198.9714931208\n", "271959.3736696707\n", "272721.9079024999\n", "273486.58016958175\n", "274253.39646565093\n", "275022.3628022506\n", "275793.48520777933\n", "276566.76972753875\n", "277342.22242378024\n", "278119.84937575244\n", "278899.6566797499\n", "279681.6504491608\n", "280465.8368145136\n", "281252.2219235256\n", "282040.81194115244\n", "282831.6130496344\n", "283624.63144854666\n", "284419.87335484603\n", "285217.3450029218\n", "286017.052644643\n", "286819.00254940847\n", "287623.2010041947\n", "288429.6543136069\n", "289238.36879992706\n", "290049.3508031638\n", "290862.60668110196\n", "291678.1428093534\n", "292495.96558140573\n", "293316.08140867326\n", "294138.4967205465\n", "294963.2179644435\n", "295790.2516058597\n", "296619.60412841913\n", "297451.2820339244\n", "298285.29184240894\n", "299121.6400921868\n", "299960.33333990467\n", "300801.37816059287\n", "301644.781147718\n", "302490.548913233\n", "303338.6880876294\n", "304189.20531999075\n", "305042.1072780432\n", "305897.4006482082\n", "306755.09213565453\n", "307615.1884643518\n", "308477.69637712254\n", "309342.6226356951\n", "310209.9740207566\n", "311079.7573320067\n", "311951.9793882099\n", "312826.64702724956\n", "313703.7671061816\n", "314583.3465012881\n", "315465.3921081314\n", "316349.9108416076\n", "317236.9096360016\n", "318126.39544504083\n", "319018.3752419499\n", "319912.8560195053\n", "320809.84479009005\n", "321709.34858574974\n", "322611.37445824547\n", "323515.9294791115\n", "324423.0207397094\n", "325332.6553512832\n", "326244.8404450166\n", "327159.5831720879\n", "328076.89070372627\n", "328996.7702312677\n", "329919.22896621213\n", "330844.2741402787\n", "331771.9130054642\n", "332702.15283409815\n", "333635.000918901\n", "334570.4645730412\n", "335508.5511301912\n", "336449.2679445872\n", "337392.62239108514\n", "338338.62186521903\n", "339287.27378325816\n", "340238.58558226697\n", "341192.5647201622\n", "342149.21867577074\n", "343108.55494888977\n", "344070.5810603444\n", "345035.30455204734\n", "346002.73298705736\n", "346972.8739496391\n", "347945.73504532274\n", "348921.3239009627\n", "349899.6481647983\n", "350880.71550651325\n", "351864.5336172959\n", "352851.11020989943\n", "353840.4530187029\n", "354832.5697997713\n", "355827.4683309162\n", "356825.1564117572\n", "357825.641863783\n", "358828.93253041257\n", "359835.0362770565\n", "360843.96099117893\n", "361855.71458235924\n", "362870.30498235417\n", "363887.7401451602\n", "364908.028047075\n", "365931.17668676144\n", "366957.1940853088\n", "367986.08828629623\n", "369017.8673558568\n", "370052.53938273917\n", "371090.1124783717\n", "372130.594776926\n", "373173.9944353806\n", "374220.3196335856\n", "375269.5785743253\n", "376321.77948338387\n", "377376.9306096098\n", "378435.0402249796\n", "379496.1166246631\n", "380560.16812708904\n", "381627.20307400957\n", "382697.22983056575\n", "383770.256785353\n", "384846.2923504882\n", "385925.3449616738\n", "387007.42307826446\n", "388092.5351833344\n", "389180.6897837423\n", "390271.8954101994\n", "391366.1606173361\n", "392463.4939837681\n", "393563.90411216434\n", "394667.3996293143\n", "395773.9891861965\n", "396883.68145804456\n", "397996.4851444165\n", "399112.40896926314\n", "400231.46168099507\n", "401353.65205255285\n", "402478.98888147506\n", "403607.4809899667\n", "404739.1372249699\n", "405873.9664582314\n", "407011.97758637316\n", "408153.17953096237\n", "409297.581238581\n", "410445.1916808955\n", "411596.01985472743\n", "412750.0747821251\n", "413907.36551043246\n", "415067.9011123611\n", "416231.6906860608\n", "417398.743355192\n", "418569.0682689963\n", "419742.6746023681\n", "420919.57155592676\n", "422099.7683560894\n", "423283.27425514214\n", "424470.0985313138\n", "425660.2504888473\n", "426853.7394580733\n", "428050.574795484\n", "429250.7658838054\n", "430454.32213207113\n", "431661.2529756965\n", "432871.56787655264\n", "434085.2763230401\n", "435302.38783016347\n", "436522.9119396063\n", "437746.8582198054\n", "438974.2362660257\n", "440205.05570043664\n", "441439.3261721863\n", "442677.0573574781\n", "443918.25895964535\n", "445162.94070922834\n", "446411.11236405047\n", "447662.7837092945\n", "448917.9645575802\n", "450176.66474903957\n", "451438.8941513949\n", "452704.6626600366\n", "453973.9801980999\n", "455246.85671654367\n", "456523.3021942269\n", "457803.3266379887\n", "459086.94008272537\n", "460374.15259146964\n", "461664.97425547\n", "462959.4151942681\n", "464257.4855557811\n", "465559.1955163779\n", "466864.55528096115\n", "468173.57508304634\n", "469486.2651848425\n", "470802.63587733207\n", "472122.69748035184\n", "473446.4603426745\n", "474773.93484208855\n", "476105.1313854804\n", "477440.0604089161\n", "478778.7323777228\n", "480121.1577865712\n", "481467.3471595565\n", "482817.31105028285\n", "484171.060041945\n", "485528.6047474113\n", "486889.955809307\n", "488255.1239000979\n", "489624.11972217355\n", "490996.9540079316\n", "492373.63751986175\n", "493754.1810506305\n", "495138.59542316466\n", "496526.89149073744\n", "497919.08013705263\n", "499315.172276331\n", "500715.178853395\n", "502119.110843754\n", "503526.97925369226\n", "504938.7951203533\n", "506354.5695118274\n", "507774.3135272377\n", "509198.03829682834\n", "510625.75498205057\n", "512057.4747756508\n", "513493.208901759\n", "514932.96861597453\n", "516376.76520545676\n", "517824.60998901265\n", "519276.5143171847\n", "520732.4895723418\n", "522192.54716876644\n", "523656.6985527453\n", "525124.9552026588\n", "526597.3286290712\n", "528073.8303748205\n", "529554.4720151087\n", "531039.265157594\n", "532528.2214424803\n", "534021.3525426084\n", "535518.6701635486\n", "537020.1860436915\n", "538525.9119543416\n", "540035.8596998068\n", "541550.041117494\n", "543068.4680779992\n", "544591.1524852018\n", "546118.1062763601\n", "547649.3414221999\n", "549184.8699270121\n", "550724.703828747\n", "552268.8551991066\n", "553817.3361436398\n", "555370.1588018385\n", "556927.3353472316\n", "558488.8779874803\n", "560054.7989644753\n", "561625.1105544317\n", "563199.8250679838\n", "564778.9548502852\n", "566362.5122811014\n", "567950.5097749111\n", "569542.959781\n", "571139.8747835597\n", "572741.2673017862\n", "574347.1498899776\n", "575957.535137632\n", "577572.4356695471\n", "579191.864145917\n", "580815.8332624357\n", "582444.3557503928\n", "584077.4443767741\n", "585715.1119443632\n", "587357.3712918399\n", "589004.2352938824\n", "590655.7168612671\n", "592311.8289409705\n", "593972.5845162711\n", "595637.9966068498\n", "597308.0782688933\n", "598982.8425951955\n", "600662.3027152611\n", "602346.4717954074\n", "604035.3630388685\n", "605728.9896858986\n", "607427.3650138755\n", "609130.502337404\n", "610838.4150084222\n", "612551.1164163055\n", "614268.6199879696\n", "615990.9391879779\n", "617718.0875186472\n", "619450.0785201514\n", "621186.9257706312\n", "622928.6428862963\n", "624675.2435215357\n", "626426.7413690217\n", "628183.15015982\n", "629944.4836634963\n", "631710.7556882246\n", "633481.9800808931\n", "635258.1707272166\n", "637039.3415518424\n", "638825.5065184609\n", "640616.679629914\n", "642412.8749283063\n", "644214.1064951138\n", "646020.388451295\n", "647831.7349574021\n", "649648.1602136914\n", "651469.6784602331\n", "653296.3039770268\n", "655128.0510841088\n", "656964.9341416678\n", "658806.9675501571\n", "660654.1657504056\n", "662506.543223733\n", "664364.1144920613\n", "666226.8941180313\n", "668094.8967051144\n", "669968.1368977288\n", "671846.629381352\n", "673730.3888826382\n", "675619.4301695337\n", "677513.7680513917\n", "679413.4173790881\n", "681318.3930451383\n", "683228.7099838151\n", "685144.3831712638\n", "687065.4276256213\n", "688991.8584071331\n", "690923.6906182709\n", "692860.9394038524\n", "694803.6199511583\n", "696751.7474900527\n", "698705.3372931019\n", "700664.404675694\n", "702628.9649961592\n", "704599.0336558905\n", "706574.6260994646\n", "708555.757814761\n", "710542.4443330867\n", "712534.7012292956\n", "714532.5441219109\n", "716535.9886732476\n", "718545.0505895364\n", "720559.7456210451\n", "722580.0895622036\n", "724606.0982517261\n", "726637.7875727377\n", "728675.1734528969\n", "730718.27186452\n", "732767.098824709\n", "734821.6703954737\n", "736882.0026838613\n", "738948.1118420796\n", "741020.0140676248\n", "743097.7256034091\n", "745181.2627378877\n", "747270.6418051843\n", "749365.8791852234\n", "751466.9913038552\n", "753573.9946329863\n", "755686.9056907073\n", "757805.7410414234\n", "759930.5172959843\n", "762061.251111814\n", "764197.9591930406\n", "766340.6582906297\n", "768489.3652025129\n", "770644.0967737212\n", "772804.8698965168\n", "774971.7015105245\n", "777144.6086028662\n", "779323.6082082925\n", "781508.7174093177\n", "783699.9533363532\n", "785897.3331678403\n", "788100.8741303864\n", "790310.5934989012\n", "792526.5085967288\n", "794748.6367957869\n", "796976.9955167011\n", "799211.6022289414\n", "801452.4744509596\n", "803699.6297503272\n", "805953.0857438726\n", "808212.8600978188\n", "810478.9705279225\n", "812751.4347996128\n", "815030.2707281307\n", "817315.4961786682\n", "819607.1290665091\n", "821905.1873571683\n", "824209.6890665338\n", "826520.6522610073\n", "828838.0950576467\n", "831162.0356243073\n", "833492.4921797828\n", "835829.4829939516\n", "838173.0263879179\n", "840523.1407341555\n", "842879.844456651\n", "845243.1560310503\n", "847613.0939848019\n", "849989.6768973024\n", "852372.9234000427\n", "854762.8521767524\n", "857159.4819635496\n", "859562.8315490843\n", "861972.9197746876\n", "864389.7655345186\n", "866813.3877757139\n", "869243.8054985331\n", "871681.0377565115\n", "874125.103656607\n", "876576.0223593509\n", "879033.8130789979\n", "881498.4950836754\n", "883970.0876955378\n", "886448.6102909151\n", "888934.0823004647\n", "891426.5232093263\n", "893925.9525572724\n", "896432.389938862\n", "898945.8550035943\n", "901466.3674560634\n", "903993.9470561118\n", "906528.613618986\n", "909070.3870154906\n", "911619.2871721458\n", "914175.334071343\n", "916738.5477515013\n", "919308.9483072248\n", "921886.5558894586\n", "924471.390705649\n", "927063.4730199015\n", "929662.8231531383\n", "932269.4614832586\n", "934883.408445299\n", "937504.6845315925\n", "940133.3102919292\n", "942769.306333718\n", "945412.6933221479\n", "948063.4919803509\n", "950721.7230895628\n", "953387.4074892879\n", "956060.5660774591\n", "958741.2198106066\n", "961429.3897040186\n", "964125.096831907\n", "966828.3623275728\n", "969539.2073835713\n", "972257.6532518797\n", "974983.721244062\n", "977717.4327314354\n", "980458.8091452414\n", "983207.8719768105\n", "985964.6427777322\n", "988729.1431600227\n", "991501.3947962954\n", "994281.4194199304\n", "997069.2388252458\n", "999864.8748676664\n" ] } ], "source": [ "import random\n", "\n", "totalPopulation = 50 \n", "growthFactor = 1.00005\n", "dayCount = 0 #Every 2 months the population is reported\n", "\n", "while totalPopulation < 1000000:\n", " totalPopulation *= growthFactor\n", " #Every 56th day, population is reported\n", " dayCount += 1\n", " if dayCount == 56: \n", " dayCount = 0\n", " print(totalPopulation)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "Here we initialize the total population to be 50, then set the growth factor as 1.00005 (.005 percent change). It will print the population every 56th day until it reaches one million. It multiplies the current population by the growth factor in each iteration, and increments the day count. When the day count reaches 56, it prints the current population and resets the day count to 0.\n", "\n", "Note! This simulation assumes that the growth factor remains constant as time progresses, which may not be a realistic assumption in real-world scenarios." ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "# Define the initial population and growth rate\n", "population = 100\n", "growth_rate = 0.05\n", "\n", "# Define the number of years to simulate\n", "num_years = 50\n", "\n", "# Create lists to store the population and year values\n", "populations = [population]\n", "years = [0]\n", "\n", "# Simulate population growth for the specified number of years\n", "for year in range(1, num_years+1):\n", " # Calculate the new population size\n", " new_population = population + (growth_rate * population)\n", " # Update the population and year lists\n", " populations.append(new_population)\n", " years.append(year)\n", " # Set the new population as the current population for the next iteration\n", " population = new_population\n", " \n", "# Plot the population growth over time\n", "plt.plot(years, populations)\n", "plt.xlabel('Year')\n", "plt.ylabel('Population')\n", "plt.title('Population Growth Simulation')\n", "plt.show()" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "If we create quantative data, we can plot it using the [Matplotlib library](https://matplotlib.org/)." ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "## Example on how simplification can cause bias" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "When a fire hit tall birds died\n" ] } ], "source": [ "import random\n", "\n", "beak = [\"small-beak\", \"long-beak\", \"medium-beak\"],\n", "wing = [\"small-wings\", \"large-wings\", \"medium-wings\"],\n", "height = [\"short\", \"tall\",\"medium\"]\n", "\n", "\n", "naturaldisaster = [\"flood\", \"drought\", \"fire\", \"hurricane\", \"dustbowl\"]\n", "\n", "\n", "print(\"When a\" , random.choice(naturaldisaster) , \"hit\", random.choice(height), \"birds died\") " ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "How does this simulation have bias?" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "# JS examples" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "[Dice Roll](https://shruthim0.github.io/canada/diceroll/)\n", "[Binary Coin Flip](https://shruthim0.github.io/canada/2023/04/13/Coin-Flip.html)\n", "[Card Pull](https://shruthim0.github.io/canada/2023/04/16/Card-Pull.html)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "## Hacks" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "- Answer all questions and prompts in the notes (0.2)\n", "- Create a simulation\n", " 1. Create a simulation that uses iteration and some form of data collection (list, dictionary...) (0.4)\n", " - try creating quantative data and using the Matplotlib library to display said data \n", " - Comment and describe function of each parts\n", " - How does your simulation help solve/mimic a real world problem?\n", " - Is there any bias in your simulation? Meaning, are there any discrepancies between your program and the real event?\n", "- Answer these [simulation questions](https://shruthim0.github.io/canada/2023/04/03/simulationsplanning2.html) (0.3)\n", "- Bonus: take a real world event and make a pseudocode representation or pseudocode on a flowchart of how you would make a simulation for it (up to +0.1 bonus)" ] } ], "metadata": { "kernelspec": { "display_name": "base", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.12" }, "orig_nbformat": 4 }, "nbformat": 4, "nbformat_minor": 2 }