diff --git a/_config.yml b/_config.yml index 5eca94e7..2dc9cc92 100644 --- a/_config.yml +++ b/_config.yml @@ -3,6 +3,8 @@ title: Python in Chemistry author: The Python in Chemistry Community +copyright: "2025" + # logo: ./logo/logo.png # Force re-execution of notebooks on each build. diff --git a/_toc.yml b/_toc.yml index 9376e7d6..64181835 100644 --- a/_toc.yml +++ b/_toc.yml @@ -6,36 +6,53 @@ root: intro parts: - caption: Python Lessons chapters: - - file: lessons/basics.md + - file: lessons/basics/basics.md sections: - file: lessons/basics/write_run_python.md - - file: lessons/basics/notebook.md - - file: lessons/manipulating_variables.md + - file: lessons/basics/using_jupyter_notebook.md + - file: lessons/basics/python_introduction.ipynb + - file: lessons/variables/manipulating_variables.md sections: - file: lessons/variables/Variable_data_types.ipynb - - file: lessons/variables/mathematical-operators.ipynb - - file: lessons/variables/Conditions.ipynb - - file: lessons/organising_code.md + - file: lessons/variables/lists_and_indexing.ipynb + - file: lessons/variables/mathematical_operators.ipynb + - file: lessons/variables/Comparisons.ipynb + - file: lessons/loops_functions/organising_code.md sections: - - file: lessons/loops_functions/For_Loop_Lesson.ipynb - - file: lessons/loops_functions/PyinC_while_loops_WIP.ipynb + - file: lessons/loops_functions/conditional_statements.ipynb + - file: lessons/loops_functions/for_loops.ipynb + - file: lessons/loops_functions/while_loops.ipynb - file: lessons/loops_functions/functions_and_scope.ipynb - - file: lessons/files.md + - file: lessons/loops_functions/tut_import_mod.ipynb + - file: lessons/files/files.md sections: + - file: lessons/files/files_file_types.ipynb - file: lessons/files/reading_files.ipynb - file: lessons/files/writing_files.ipynb - - file: lessons/common_libraries.md + - file: lessons/solving_problems/solving-problems.md sections: - - file: lessons/common_libs/python-in-chem_pyplot_basics_SM.ipynb + - file: lessons/solving_problems/errors_and_debug.ipynb + - file: lessons/solving_problems/writing_a_program.ipynb + - file: lessons/solving_problems/version_control.ipynb + - file: lessons/solving_problems/command_line.md + - file: lessons/solving_problems/flowcharts.ipynb + - file: lessons/solving_problems/style-and-comments.ipynb + - file: lessons/common_libs/common_libraries.md + sections: + - file: lessons/common_libs/matplotlib_pyplot_basics.ipynb - file: lessons/common_libs/Matplotlib_Documentation.ipynb - file: lessons/common_libs/Introduction_to_NumPy.ipynb - file: lessons/common_libs/NumPy_axes_operations.ipynb + - file: lessons/common_libs/argparse.ipynb - file: lessons/common_libs/intro_to_pandas.ipynb - - file: lessons/advanced_libraries.md + - file: lessons/advanced_libs/advanced_libraries.md sections: - file: lessons/advanced_libs/Intro_to_ASE.ipynb - file: lessons/advanced_libs/PiC_scipy.ipynb - file: lessons/advanced_libs/RDKit_drawing.ipynb + - file: lessons/further_info/further_info.md + sections: + - file: lessons/further_info/numerical_errors.ipynb - caption: Teaching Python in Chemistry Meeting Blogs chapters: - file: 2025-meeting diff --git a/lessons/advanced_libs/Intro_to_ASE.ipynb b/lessons/advanced_libs/Intro_to_ASE.ipynb index 32568966..d7fe5bfb 100644 --- a/lessons/advanced_libs/Intro_to_ASE.ipynb +++ b/lessons/advanced_libs/Intro_to_ASE.ipynb @@ -5,7 +5,7 @@ "id": "1639ee9d-703b-4c01-9a65-45d2a84cf4b0", "metadata": {}, "source": [ - "## The Atomic Simulation Environment, ASE" + "# The Atomic Simulation Environment, ASE" ] }, { diff --git a/lessons/advanced_libs/RDKit_drawing.ipynb b/lessons/advanced_libs/RDKit_drawing.ipynb index 4c0062e6..616ef57a 100644 --- a/lessons/advanced_libs/RDKit_drawing.ipynb +++ b/lessons/advanced_libs/RDKit_drawing.ipynb @@ -215,6 +215,90 @@ "Draw.MolToImage(m)" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
Task 5: Using loops \n", + "\n", + "When chemists want to store molecular structures in a computer they can store in an encoded way called SMILES strings. You don't need to understand what these mean but just to know that libraries that can handle chemical structure can read them. The code below will import the RDKit package and print the structure of benzoic acid. The code works by passing the SMILES string for benzoic acid to the function display_molecule that then draws it out. Check out the functions lesson if you want to understand more about functions, but for this lesson all you just need to follow the syntax below.\n", + "\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from rdkit import Chem\n", + "\n", + "def display_molecule (smiles_string):\n", + " mol = Chem.MolFromSmiles(smiles_string)\n", + " img=Chem.Draw.MolToImage(mol)\n", + " display(img)\n", + "\n", + "# display the structure of benzoic acid\n", + "benzoic_acid_miles = \"C1=CC=C(C=C1)C(=O)O\"\n", + "display_molecule(benzoic_acid_miles)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
Task 5 continued \n", + "Now you know how to print one molecule lets use your understanding of for loops to print lots of molecules. Here are a list of the smiles strings of some interesting molecules, Dolutegravir a very important anti-hiv drug, Atovaquone which treats malaria and paclitaxol that is an important \n", + "\n", + "\n", + "
\n", + "\n", + " \n", + "
\n", + "\n", + "Using the concepts above write a for loop that will draw the structrue of all 3 molecules. You need to:\n", + "- define a list of the smiles strings\n", + "- loop through the list and display each molecule using the display_molecule function\n", + "\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "molecule_smiles = ['C[C@@H]1CCO[C@@H]2N1C(=O)C3=C(C(=O)C(=CN3C2)C(=O)NCC4=C(C=C(C=C4)F)F)O',\n", + "'C1CC(CCC1C2=CC=C(C=C2)Cl)C3=C(C4=CC=CC=C4C(=O)C3=O)O',\n", + "'CC1=C2[C@H](C(=O)[C@@]3([C@H](C[C@@H]4[C@]([C@H]3[C@@H]([C@@](C2(C)C)(C[C@@H]1OC(=O)[C@@H]([C@H](C5=CC=CC=C5)NC(=O)C6=CC=CC=C6)O)O)OC(=O)C7=CC=CC=C7)(CO4)OC(=O)C)O)C)OC(=O)C']\n", + "\n", + "for smiles in molecule_smiles:\n", + " display_molecule(smiles)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
Click here to see a possible solution to Task 5 \n", + "\n", + "\n", + "```Python\n", + "molecule_smiles = ['C[C@@H]1CCO[C@@H]2N1C(=O)C3=C(C(=O)C(=CN3C2)C(=O)NCC4=C(C=C(C=C4)F)F)O',\n", + "'C1CC(CCC1C2=CC=C(C=C2)Cl)C3=C(C4=CC=CC=C4C(=O)C3=O)O',\n", + "'CC1=C2[C@H](C(=O)[C@@]3([C@H](C[C@@H]4[C@]([C@H]3[C@@H]([C@@](C2(C)C)(C[C@@H]1OC(=O)[C@@H]([C@H]>>>(C5=CC=CC=C5)NC(=O)C6=CC=CC=C6)O)O)OC(=O)C7=CC=CC=C7)(CO4)OC(=O)C)O)C)OC(=O)C']\n", + "\n", + "for smiles in molecule_smiles:\n", + " display_molecule(smiles)\n", + "```" + ] + }, { "cell_type": "markdown", "metadata": { diff --git a/lessons/advanced_libraries.md b/lessons/advanced_libs/advanced_libraries.md similarity index 100% rename from lessons/advanced_libraries.md rename to lessons/advanced_libs/advanced_libraries.md diff --git a/lessons/basics.md b/lessons/basics.md deleted file mode 100644 index ed1d235d..00000000 --- a/lessons/basics.md +++ /dev/null @@ -1,3 +0,0 @@ -# Getting Started with Python - -Here, you will find how to start running Python. diff --git a/lessons/basics/basics.md b/lessons/basics/basics.md new file mode 100644 index 00000000..10c31027 --- /dev/null +++ b/lessons/basics/basics.md @@ -0,0 +1,9 @@ +# Getting Started with Python + +Here, you will find how to start running Python. + +## What is Python + +[Python](https://en.wikipedia.org/wiki/Python_(programming_language)) is a high-level interpreted language that is widely used. This means it is written in a way that is close to standard English, reducing complexity for the programmer. + +Due to this popularity there are many ways to install and to use it. In the following sections we will guide you on how to install and use Python \ No newline at end of file diff --git a/lessons/basics/downloads/example_notebook.ipynb b/lessons/basics/downloads/example_notebook.ipynb new file mode 100755 index 00000000..13759b20 --- /dev/null +++ b/lessons/basics/downloads/example_notebook.ipynb @@ -0,0 +1,265 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "0c977540", + "metadata": {}, + "source": [ + "# Example Notebook\n", + "This is as a Jupyter Notebook. Notebooks are separated into cells.\n", + "\n", + "This is a Markdown cell, which means I can write formatted.\n", + "\n", + "You write *italics like this*, **bold like this**, and `monospace like this`,\n", + "which is usually done to display code.\n", + "- Lists\n", + "- Like\n", + "- This\n", + "\n", + "1. Or\n", + "2. With\n", + "3. Numbers\n", + "\n", + "[Hyperlinks are like this](https://www.wikipedia.org/) and maths\n", + "like this $\\hat{H}\\Psi = E\\Psi$." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2a388f47", + "metadata": {}, + "outputs": [], + "source": [ + "# This is a Code cell, so you can write Python code\n", + "print(753+247)\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5a385bd8-ca7c-49f7-b218-6301fe335a1a", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/lessons/basics/example_notebook.ipynb b/lessons/basics/example_notebook.ipynb deleted file mode 100755 index ac7c44af..00000000 --- a/lessons/basics/example_notebook.ipynb +++ /dev/null @@ -1,68 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "0c977540", - "metadata": {}, - "source": [ - "# Example Notebook\n", - "This is as a Jupyter Notebook. Notebooks are separated into cells.\n", - "\n", - "This is a Markdown cell, which means I can write formatted.\n", - "\n", - "You write *italics like this*, **bold like this**, and `monospace like this`,\n", - "which is usually done to display code.\n", - "- Lists\n", - "- Like\n", - "- This\n", - "\n", - "1. Or\n", - "2. With\n", - "3. Numbers\n", - "\n", - "[Hyperlinks are like this](https://www.wikipedia.org/) and maths\n", - "like this $\\hat{H}\\Psi = E\\Psi$." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2a388f47", - "metadata": {}, - "outputs": [], - "source": [ - "# This is a Code cell, so you can write Python code\n", - "print(753+247)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5a385bd8-ca7c-49f7-b218-6301fe335a1a", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "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" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/lessons/basics/images/SVG/navigator_code.svg b/lessons/basics/images/SVG/navigator_code.svg new file mode 100644 index 00000000..caf92cf0 --- /dev/null +++ b/lessons/basics/images/SVG/navigator_code.svg @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + diff --git a/lessons/basics/images/SVG/navigator_spyder.svg b/lessons/basics/images/SVG/navigator_spyder.svg new file mode 100644 index 00000000..1ec6a9c6 --- /dev/null +++ b/lessons/basics/images/SVG/navigator_spyder.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/lessons/basics/images/code_blank.png b/lessons/basics/images/code_blank.png new file mode 100644 index 00000000..db337ee0 Binary files /dev/null and b/lessons/basics/images/code_blank.png differ diff --git a/lessons/basics/code_cell.png b/lessons/basics/images/code_cell.png similarity index 100% rename from lessons/basics/code_cell.png rename to lessons/basics/images/code_cell.png diff --git a/lessons/basics/images/code_choose_int.png b/lessons/basics/images/code_choose_int.png new file mode 100644 index 00000000..6bcf6678 Binary files /dev/null and b/lessons/basics/images/code_choose_int.png differ diff --git a/lessons/basics/images/code_clean.png b/lessons/basics/images/code_clean.png new file mode 100644 index 00000000..d9ae1fce Binary files /dev/null and b/lessons/basics/images/code_clean.png differ diff --git a/lessons/basics/images/code_filename.png b/lessons/basics/images/code_filename.png new file mode 100644 index 00000000..72966eec Binary files /dev/null and b/lessons/basics/images/code_filename.png differ diff --git a/lessons/basics/example_notebook.png b/lessons/basics/images/example_notebook.png similarity index 100% rename from lessons/basics/example_notebook.png rename to lessons/basics/images/example_notebook.png diff --git a/lessons/basics/hello_world.png b/lessons/basics/images/hello_world.png similarity index 100% rename from lessons/basics/hello_world.png rename to lessons/basics/images/hello_world.png diff --git a/lessons/basics/images/hello_world_code.png b/lessons/basics/images/hello_world_code.png new file mode 100644 index 00000000..893012fe Binary files /dev/null and b/lessons/basics/images/hello_world_code.png differ diff --git a/lessons/basics/jupyterlab.png b/lessons/basics/images/jupyterlab.png similarity index 100% rename from lessons/basics/jupyterlab.png rename to lessons/basics/images/jupyterlab.png diff --git a/lessons/basics/markdown_button.png b/lessons/basics/images/markdown_button.png similarity index 100% rename from lessons/basics/markdown_button.png rename to lessons/basics/images/markdown_button.png diff --git a/lessons/basics/images/navigator_code.png b/lessons/basics/images/navigator_code.png new file mode 100644 index 00000000..cb92eacf Binary files /dev/null and b/lessons/basics/images/navigator_code.png differ diff --git a/lessons/basics/navigator_jupyterlab.png b/lessons/basics/images/navigator_jupyterlab.png similarity index 100% rename from lessons/basics/navigator_jupyterlab.png rename to lessons/basics/images/navigator_jupyterlab.png diff --git a/lessons/basics/navigator_spyder.png b/lessons/basics/images/navigator_spyder.png old mode 100755 new mode 100644 similarity index 100% rename from lessons/basics/navigator_spyder.png rename to lessons/basics/images/navigator_spyder.png diff --git a/lessons/basics/output.png b/lessons/basics/images/output.png similarity index 100% rename from lessons/basics/output.png rename to lessons/basics/images/output.png diff --git a/lessons/basics/raw_markdown.png b/lessons/basics/images/raw_markdown.png similarity index 100% rename from lessons/basics/raw_markdown.png rename to lessons/basics/images/raw_markdown.png diff --git a/lessons/basics/run.png b/lessons/basics/images/run.png similarity index 100% rename from lessons/basics/run.png rename to lessons/basics/images/run.png diff --git a/lessons/basics/run_button.png b/lessons/basics/images/run_button.png similarity index 100% rename from lessons/basics/run_button.png rename to lessons/basics/images/run_button.png diff --git a/lessons/basics/save.png b/lessons/basics/images/save.png similarity index 100% rename from lessons/basics/save.png rename to lessons/basics/images/save.png diff --git a/lessons/basics/spyder_clean.png b/lessons/basics/images/spyder_clean.png similarity index 100% rename from lessons/basics/spyder_clean.png rename to lessons/basics/images/spyder_clean.png diff --git a/lessons/basics/top_bar.png b/lessons/basics/images/top_bar.png similarity index 100% rename from lessons/basics/top_bar.png rename to lessons/basics/images/top_bar.png diff --git a/lessons/basics/water.png b/lessons/basics/images/water.png similarity index 100% rename from lessons/basics/water.png rename to lessons/basics/images/water.png diff --git a/lessons/basics/python_introduction.ipynb b/lessons/basics/python_introduction.ipynb new file mode 100644 index 00000000..72bc970b --- /dev/null +++ b/lessons/basics/python_introduction.ipynb @@ -0,0 +1,160 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "23173911", + "metadata": {}, + "source": [ + "# Introduction to Coding with Python" + ] + }, + { + "cell_type": "markdown", + "id": "a8cf809d", + "metadata": {}, + "source": [ + "## Prerequisites" + ] + }, + { + "cell_type": "markdown", + "id": "d24f3449", + "metadata": {}, + "source": [ + "- [Writing and running a Python program](write_run_python.md)" + ] + }, + { + "cell_type": "markdown", + "id": "f7b40d83", + "metadata": {}, + "source": [ + "## What is Python" + ] + }, + { + "cell_type": "markdown", + "id": "badbe3ef", + "metadata": {}, + "source": [ + "Python is a high-level programming language. This means it is close to English, and a lot of the work being done to run the code is hidden from you as the programmer. This makes it very easy to use compared to some other languages. " + ] + }, + { + "cell_type": "markdown", + "id": "be0478b5", + "metadata": {}, + "source": [ + "## Syntax" + ] + }, + { + "cell_type": "markdown", + "id": "b42e3fd5", + "metadata": {}, + "source": [ + "- **Colours**. The majority of Python IDEs automatically highlight different kinds of Python objects for readability. Keywords, words that cannot be used as variable names (such as True, False, import, not, etc.), are highlighted in certain colours, while variable names and variable types are highlighted differently, and so on. This helps easily identify spelling errors and signpost what the code does. The specific colours depends on the IDE you use. Some of the different highlighting is shown below (in no usable order). Throughout the lessons you will learn what each word written below means and how they can be used.\n", + " ```Python\n", + " False, True\n", + " if, for, while, with, \n", + " and, or, not \n", + " import, def\n", + " print(), range(), enumerate(), zip()\n", + " float(), str(), int()\n", + " variable_1 = 23.5\n", + " variable_2 = \"this string\"\n", + " variable_3 = [1, 2, 3]\n", + " ```\n", + " Your IDE might highlight differently. \n", + "- Python is **case sensitive**, with the default being lowercase. Built-in Python functions are given in lowercase. For example, writing `PRINT(\"hello\")` instead of `print(\"hello\")` would return an error, as the function `print()` is case-sensitive, and must be given in lowercase.\n", + "\n", + "- Python uses **new lines** to complete a command. Two print statements on two separate lines will execute one after another. \n", + "- **Indented text** is an important distinction. When we move onto conditional statements and loops, the indentation defines which code belongs to which statement or loop. Therefore it is important to ensure your text is left-aligned. If you indent where Python is not expecting it, or do not indent where Python is expecting it, you will get an error message. The standard indentation is achieved using the `` key, equivalent to four spaces.\n", + "- **Speech marks** are used to define strings `\" \"` and `' '`. Double and single speech marks are equivalent. For readability, choose one and use them consistently." + ] + }, + { + "cell_type": "markdown", + "id": "3e42513c", + "metadata": {}, + "source": [ + "## Comments" + ] + }, + { + "cell_type": "markdown", + "id": "4b1858e8", + "metadata": {}, + "source": [ + "Python will attempt to execute any written text in the file. The exception to this are comments, which is used to provide context and description for any code that comes immediately after it. You indicate that a line is a comment using a hash `#`.\n", + "\n", + "```Python\n", + "# This is a comment line\n", + "\n", + "# This is a print statement\n", + "print(\"hello world\")\n", + "```\n", + "\n", + "You can also add comments at the end of a line. Use these sparingly, but they are very useful to define units. \n", + "\n", + "```Python\n", + "pressure = 12 # Pa\n", + "```\n", + "\n", + "If you need to give a little more description, you can use a block comment, defined using speech marks above and below the comment.\n", + "\n", + "```Python\n", + "\"\"\"\n", + "Calculate the mean. \n", + "Calculate the standard deviation.\n", + "Output a Gaussian curve.\n", + "\"\"\"\n", + "```" + ] + }, + { + "cell_type": "markdown", + "id": "fbc6dd40", + "metadata": {}, + "source": [ + "## File management" + ] + }, + { + "cell_type": "markdown", + "id": "b3ced4ee", + "metadata": {}, + "source": [ + "When managing your Python files, here is some general advice:\n", + "\n", + "- Python files are plain text files with the extension `.py` on the end of the name. If you use Jupyter Notebook, you might also see `.ipynb` files, which can also run Python cells.\n", + "\n", + "- When naming your files, keep the names short but descriptive. Try not to name multiple files the same thing.\n", + "- Group your Python files in sub-directories (folders on your computer) to keep track of them better.\n", + "- Regularly save your work.\n", + "- Version control is your friend" + ] + } + ], + "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.12.3" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/lessons/basics/notebook.md b/lessons/basics/using_jupyter_notebook.md old mode 100755 new mode 100644 similarity index 70% rename from lessons/basics/notebook.md rename to lessons/basics/using_jupyter_notebook.md index 89890168..064f6c48 --- a/lessons/basics/notebook.md +++ b/lessons/basics/using_jupyter_notebook.md @@ -1,30 +1,49 @@ # Opening and Using a Jupyter Notebook + ## Prerequisites -None. +- [A Python installation](/lessons/basics/write_run_python.md) + ## What is a Jupyter Notebook? -Some Python code is accompanied by text and images. This kind of code is stored in a file format called a _Jupyter Notebook_. You can recognise a Jupyter Notebook because the file name ends in `.ipynb`. +Some Python code is accompanied by a mixture of text and images in what is called a workbook. This kind of code is stored in a file format called a _Jupyter Notebook_. You can recognise a Jupyter Notebook because the file name ends in `.ipynb` +. ## How to open a Jupyter Notebook -If you don't already have a Jupyter Notebook file, you can download {Download}`this one<`example_notebook`.ipynb>`. +If you don't already have a Jupyter Notebook file, you can {download}`download a text file<./downloads/example_notebook.ipynb>`. + ## Instructions -### Install Anaconda -Anaconda is a bundle of programs which can run and edit Python code. Check whether your computer has the program _Anaconda Navigator_. If not, **download Anaconda [here](https://www.anaconda.com/download/success).** If you are not sure which installer to download, choose the one from your operating system (Windows, Mac, or Linux), and select "Graphical Installer" if possible. -Once it is downloaded, **open the installer and follow the instructions**. +If you installed Python using [Anaconda](/lessons/basics/write_run_python.md#installation) then Jupyter will have already been installed. If you used a different method you might need to install it. + +If you used conda then use the following command: + +```bash +conda install conda-forge::jupyter +``` + +if you made a basic Python install then use pip: +```bash +pip install jupyter +``` ### Open JupyterLab -**Search for the program _Anaconda Navigator_ and open it**. After a few seconds, you should see a window like this appear: +If using Anaconda **Search for the program _Anaconda Navigator_ and open it**. After a few seconds, you should see a window like this appear: + +![Window showing six logos for different programs. A red arrow points to the "Launch" button below the top right logo.](/lessons/basics/images/navigator_jupyterlab.png) -![Window showing six logos for different programs. A red arrow points to the "Launch" button below the top right logo.](navigator_jupyterlab.png) +**Press the "Launch" under JupyterLab.** -**Press the "Launch" under JupyterLab.** This will open a tab on your default web browser which should look like this: +Otherwise from a terminal type: +```bash +jupyter lab +``` +This will open a tab on your default web browser which should look like this: -![Window showing a folder navigation menu on the left and a Python 3 logo on the right.](jupyterlab.png) +![Window showing a folder navigation menu on the left and a Python 3 logo on the right.](/lessons/basics/images/jupyterlab.png) Look at the address bar at the top of your browser. It should read `localhost` followed by some numbers. This means that you are not actually accessing the internet, despite being on a web browser. The page is generated locally by your computer, so you don't need an internet connection to work on your Jupyter Notebook. **In the sidebar on the left, search through your folders for your `.ipynb` file and double-click on it.** If you just downloaded this file, it might be in your _Downloads_ folder. Your screen should now show this: -![Screenshot of a Jupyter Notebook.](example_notebook.png) +![Screenshot of a Jupyter Notebook.](/lessons/basics/images/example_notebook.png) You have just opened the Jupyter Notebook. @@ -35,21 +54,21 @@ There are two important kinds of cells: _Markdown_ and _Code_. You can tell what kind a cell is by looking at the top ribbon: -![Top bar of the Jupyter Notebook with the word "Markdown" circled in red.](top_bar.png) +![Top bar of the Jupyter Notebook with the word "Markdown" circled in red.](/lessons/basics/images/top_bar.png) ### Markdown cells Markdown cells can contain formatted text and images. To change this content, **double-click on the cell**. This will show you the unformatted text, which has been written using a language called "Markdown": -![A box of raw Markdown text.](raw_markdown.png) +![A box of raw Markdown text.](/lessons/basics/images/raw_markdown.png) To make the text appear formatted again, make sure that the cell is selected, and **click on the "Run" button in the top ribbon** (Shortcut: Shift + Enter): -![Top bar of the Jupyter Notebook with the "run" triangle circled in red.](run_button.png) +![Top bar of the Jupyter Notebook with the "run" triangle circled in red.](/lessons/basics/images/run_button.png) ### Code cells Code cells contain programming code; in this case—Python. **Select the code cell, and run it, just like you ran the Markdown cell.** The result should look like this: -![Code cell showing "print(753+247)", and below, the result: 1000.](code_cell.png) +![Code cell showing "print(753+247)", and below, the result: 1000.](/lessons/basics/images/code_cell.png) Observe how the output of the Python code (the number 1000) is printed below the cell. Additionally, a new empty code cell was created below, to let you continue writing code. diff --git a/lessons/basics/write_run_python.md b/lessons/basics/write_run_python.md index ac3fe47a..a8a026fa 100755 --- a/lessons/basics/write_run_python.md +++ b/lessons/basics/write_run_python.md @@ -1,53 +1,218 @@ # Writing and Running a Python Program + ## Prerequisites + None. + ## What is a Python Program? -Python programs are sets of instructions that a computer can follow, written in a programming language called _Python_. -The Python programming language can be written on many platforms. The most common one is called a _Python program file_. This is a single plain text file ending with `.py`. You may also see them referred to as _scripts_ or _source code_. Once a Python program file is written, the user can ask the computer to follow the instructions within. This is called _running_ or _executing_ the program. +Python programs are sets of instructions that a computer can follow, written in a programming language called *Python*. + +The Python programming language can be written on many platforms. The most common one is called a *Python program file*. This is a single plain text file ending with `.py`. You may also see them referred to as *scripts* or *source code*. Once a Python program file is written, the user can ask the computer to follow the instructions within. This is called *running* or *executing* the program. + +You can write such a file in any plain text editor (e.g. Notepad or TextEdit), but it is helpful to use an editor that can write and run your code in one same place. These are called *code editors*, or if they have more features, they are called an *Integrated Development Environment* (IDE). For this lesson, we will use an IDE called *Spyder*. + +## Instructions + +The first step is to install Python, there are various ways to do this listed below. We advise to only install one, either conda *via* the miniforge or Anaconda installations. + +### Installation + +
+ Miniforge Installation + +

Install Miniforge

+ +Miniforge is a minimal install of the *conda* and *mamba* Python package managers. It currently has no license restrictions on its use. -You can write such a file in any plain text editor (e.g. Notepad or TextEdit), but it is helpful to use an editor that can write and run your code in one same place. These are called _code editors_, or if they have more features, they are called an _Integrated Development Environment_ (IDE). For this lesson, we will use an IDE called _Spyder_. -# Instructions -## Install Anaconda -Anaconda is a bundle of programs which can run and edit Python code. Check whether your computer has the program _Anaconda Navigator_. If not, **download Anaconda [here](https://www.anaconda.com/download/success).** If you are not sure which installer to download, choose the one from your operating system (Windows, Mac, or Linux), and select "Graphical Installer" if possible. +Go to the Miniforge [repository](https://github.com/conda-forge/miniforge#install) and follow the instructions on how to install. + +Once installed run the following command in a terminal to make sure Python is installed: + +```bash + conda install python +``` +**Note** on Windows PCs it is necessary to open *Miniforge Prompt* to run this command. + +

+ + +
+ Anaconda Installation + +

Install Anaconda

+ +Anaconda is a bundle of the *conda* package manager with a collection of programs and Python libraries. Together they can run and edit Python code. + +**Note** Anaconda has a license that may restrict use of the free version, depending on what you use + +Go to the Anaconda [downloads](https://www.anaconda.com/download/success). If you are not sure which installer to download, choose the one from your operating system (Windows, Mac, or Linux), and select "Graphical Installer" if possible. Once it is downloaded, **open the installer and follow the instructions**. -## Open Spyder -**Search for the program _Anaconda Navigator_ and open it**. After a few seconds, you should see a window like this appear: +

+ + +
+ Basic Python Installation + +

Install Python

+ +The simplest way to install Python is by itself. Go to the Python [downloads](https://www.python.org/downloads/) and download the latest version. + +Once it is downloaded, **open the installer and follow the instructions**. + +Python is notorious for what are called **dependency issues**. To reduce the risk of these if not using a package/environment manager such as conda you should make use of *virtual environments*. These are simple to use, for an explanation see [here](https://docs.python.org/3/library/venv.html). + +To create one use the following command in a terminal +```bash + python -m venv /path/to/new/virtual/environment +``` + +

+ + + +## Writing and running your Programme + +As with installing Python there are many ways to write your program, from using a text editor to using an IDE. Below we give guidance on a couple of these methods. + +This is not an exhaustive list. + +

+ +
+ Text Editor and Command line +
+Perhaps the simplest method is to write your Python code in a text editor and then run on the command line, though this lacks the power of an IDE environment to make your life easier. + +Open the text editor of your choice and **write the following in a new file:** + +```print("Hello, world!")``` + +Make sure it is saved, for example as *hello_world.py* + +Open the command line window and type the following: + +```bash + python hello_world.py +``` + +This will run your programme and print -![Window showing six logos for different programs. A red arrow points to the "Launch" button below the Spyder logo.](navigator_spyder.png) + Hello World -Scroll until you find the right button and **press the "Launch" under Spyder.** This will open window that should look this: +to your screen. -![Window titled "Spyder" separated into three panes and with a top ribbon with many options. There are three labels: A, B, and C, which respectively point to the large pane on the left, the play button on the top ribbon, and the bottom-right pane.](spyder_clean.png) +For more information on using the command line, have a look at the lessons on [using the command line](../solving_problems/command_line.ipynb) and [argparse](../common_libs/argparse.ipynb). However, if you are a complete beginner, do not worry about this for now. + +

+ + + +
+ Spyder IDE + +

Using the Spyder IDE

+ +Spyder is a Python IDE that is provided with the Anaconda install, or can be installed [separately](https://www.spyder-ide.org/) + + +
Open Spyder
+ +If using Anaconda **Search for the program _Anaconda Navigator_ and open it**. After a few seconds, you should see a window like this appear: + +![Window showing six logos for different programs. A red arrow points to the "Launch" button below the Spyder logo.](images/navigator_spyder.png) + +Scroll until you find the right button and **press the "Launch" under Spyder.** +Otherwise find the Spyder launch button on your desktop or program list and **click it.** + +This will open window that should look this: + +![Window titled "Spyder" separated into three panes and with a top ribbon with many options. There are three labels: A, B, and C, which respectively point to the large pane on the left, the play button on the top ribbon, and the bottom-right pane.](images/spyder_clean.png) You may first see a pop-up suggesting to update Spyder. If so, click OK. -## Write a Python program +
Write a Python program
The left-hand pane is where you can write your program. **On line 8, paste the following text**: ```print("Hello, world!")``` It should look like this: -![Block of code with the line print("Hello, world!") written at the bottom.](hello_world.png) +![Block of code with the line print("Hello, world!") written at the bottom.](images/hello_world.png) This one-line program tells the computer to repeat the words "Hello, world!" to us in writing. Next, **save the program by pressing the "Save" button in the top ribbon** (Shortcut: Ctrl + S): -![Top ribbon with the save button circled in red.](save.png) -## Run a Python program +![Top ribbon with the save button circled in red.](images/save.png) + +
Run a Python program
To run the program, **press the "Play" button in the top ribbon** (Shortcut: F5): -![Top ribbon with the play button circled in red.](run.png) +![Top ribbon with the play button circled in red.](images/run.png) + +Anything that the computer writes as a result of the program is called an *output*. Read your output in the bottom-right pane: + +![Pane of text showing the words "Hello, world!" circled in red.](images/output.png) + +

+ + + +
+ VScode IDE + +

Using the VScode IDE

+ +Vscode is a general IDE that works with a range of programming languages it is provided with the Anaconda install, or can be installed [separately](https://code.visualstudio.com/) + + +
Open VScode
+ +If using Anaconda **Search for the program _Anaconda Navigator_ and open it**. After a few seconds, you should see a window like this appear: + +![Window showing six logos for different programs. A red arrow points to the "Launch" button below the VS Code logo.](images/navigator_code.png) + +Scroll until you find the right button and **press the "Launch" under VS code.** + +Otherwise find the VScode launch button on your desktop or program list and **click it.** + +Or if on the command line type **```code .```** + +This will open a window that should look this: + +![Window separated into two panes and with a side ribbon with many options.](images/code_clean.png) + +
Write a Python program
+ +Click on ```New File...``` to create a new file. Type the file name ```hello_world.py``` into the input box that appears. + +![Window with input box for text.](images/code_filename.png) + +VS code will then ask you where to save this file, select an appropriate directory. This will be your *work folder*. + + VS code might ask to install a Python extension - if it does, **agree to this**. Once the extension is installed it will ask you to choose the Python intepreter, **choose the one you wish to use**. This will depend on what you have installed. +![Window with text Select Python Interpreter](images/code_choose_int.png) + +Enter the code in the text window +![Window with large input box for text.](images/code_blank.png) + +```print("Hello, world!")``` + +![Block of code with the line print("Hello, world!") written at the bottom.](images/hello_world_code.png) + +Save this file, either by pressing ```ctrl-s``` or ```File->Save```. + +To run click the play button in the top right. + +Anything that the computer writes as a result of the program is called an *output*. Read your output in the bottom pane. -Anything that the computer writes as a result of the program is called an _output_. Read your output in the bottom-right pane: -![Pane of text showing the words "Hello, world!" circled in red.](output.png) +

-# Advice -You should now be in a position to write Python programs, or open pre-existing ones using File-> Open (Shortcut: Ctrl+O) on Spyder. There are many other Python code editors that work very similarly, such as _Visual Studio Code_ or _PyCharm_. +## Advice +You should now be in a position to write Python programs, or open pre-existing ones using File-> Open (Shortcut: Ctrl+O) on Spyder. There are many other Python code editors that work very similarly, such as *PyCharm*. Some Python code does not come in Python program files. The most popular alternative is the Jupyter Notebook, which Spyder is unable to open. diff --git a/lessons/common_libraries.md b/lessons/common_libraries.md deleted file mode 100644 index 79506dc4..00000000 --- a/lessons/common_libraries.md +++ /dev/null @@ -1,3 +0,0 @@ -# Common Libraries - -This section will introduce you to three commonly used libraries - NumPy, Matplotlib, and Pandas. It also covers how to read the documnetation of libraries like these. diff --git a/lessons/common_libs/argparse.ipynb b/lessons/common_libs/argparse.ipynb new file mode 100644 index 00000000..afe31fc2 --- /dev/null +++ b/lessons/common_libs/argparse.ipynb @@ -0,0 +1,69 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "55ea9f7b", + "metadata": {}, + "source": [ + "# Argparse" + ] + }, + { + "cell_type": "markdown", + "id": "ecc867e9", + "metadata": {}, + "source": [ + "## Learning Outcomes\n", + "\n", + "- Use the argparse module to run programs from the command line" + ] + }, + { + "cell_type": "markdown", + "id": "71e8fec6", + "metadata": {}, + "source": [ + "## What is the command line?" + ] + }, + { + "cell_type": "markdown", + "id": "bf761254", + "metadata": {}, + "source": [ + "The command line is a text-based interface that allows you to communicate directly with the computer. \n", + "\n", + "Running code from the command line takes up less space than from a GUI." + ] + }, + { + "cell_type": "markdown", + "id": "6598bcf6", + "metadata": {}, + "source": [ + "## Using argparse" + ] + }, + { + "cell_type": "markdown", + "id": "c4dc6b50", + "metadata": {}, + "source": [ + "## Command line shortcuts ?" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "base", + "language": "python", + "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3.12.3" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/lessons/common_libs/common_libraries.md b/lessons/common_libs/common_libraries.md new file mode 100644 index 00000000..46c2210a --- /dev/null +++ b/lessons/common_libs/common_libraries.md @@ -0,0 +1,70 @@ +# Common Libraries + +This section will introduce you to three commonly used libraries - NumPy, Matplotlib, and Pandas. It also covers how to read the documentation of libraries like these. + +Depending on how you installed Python you may or may not have these libraries installed. Below we explain how you can install them + +## Installing Python Libraries + +
+ Miniforge Installation + +

Using Miniforge

+ +If you installed Python using Miniforge then you have the *conda* and *mamba* package managers installed. Note that they can be used interchangably + +To install a package type the following in your terminal + +```bash +conda install +``` +For example to install *Numpy* +```bash +conda install numpy +``` + +

+ + +
+ Anaconda Installation + +

Using Anaconda

+ +If you installed Python using Anaconda then you have the conda package manager installed, but you will also have Anaconda Navigator installed. You can use this to manage libraries. + +**Search for the program _Anaconda Navigator_ and open it**. After a few seconds, you should see a window like this appear: + +![Window showing six logos for different programs. A red arrow points to the "Environment" button.](images/navi_environ_1.png) + +This will then show you which packages are installed in the current *environment*. + +![Window showing three sections, in the third section a list of installed libraries is shown.](images/navi_environ_2.png) + +Got to the dropdown in the top right which says installed. Select 'Not Installed' + +![Window showing three controls, one is a drop down with 'Not Installed' selected](images/navi_not_installed.png) + +The list will change to show libraries that can be installed. Find the one that you want and check it. A search box allows you to search the package list + +![Window showing three controls, one is a drop down with 'Not Installed' selected](images/navi_not_installed_list.png) + + + +

+ + +
+ Basic Python Installation + +

Using Python

+ +If you installed Python using the basic method then you won't have conda instead you can use *pip* which is Python's own library manager. + +To install a package type the following in your terminal + +```bash +pip install numpy +``` + +

\ No newline at end of file diff --git a/lessons/common_libs/downloads/cyclic_voltammetry_data.csv b/lessons/common_libs/downloads/cyclic_voltammetry_data.csv new file mode 100644 index 00000000..0428ff39 --- /dev/null +++ b/lessons/common_libs/downloads/cyclic_voltammetry_data.csv @@ -0,0 +1,163 @@ +# Cyclic Voltammetry of 5mM ferrocene in 0.1 M TBAPF6/MeCN +# Scan rate = 0.02 +# Voltage, micro Amps +0.199940681,-0.8834517 +0.20994091,-0.776574612 +0.219940662,-0.710948706 +0.229940891,-0.66344738 +0.23994112,-0.629072189 +0.249941349,-0.590946674 +0.259941578,-0.561571121 +0.269941807,-0.536570549 +0.279941559,-0.513445139 +0.289941788,-0.484069586 +0.299942017,-0.456569195 +0.309942245,-0.429694653 +0.319942474,-0.405318737 +0.329942703,-0.367193222 +0.339942455,-0.327161312 +0.349942684,-0.279785514 +0.359942913,-0.219972134 +0.369943142,-0.143033504 +0.379943371,-0.040156841 +0.3899436,0.099532843 +0.399943352,0.294223309 +0.409943581,0.571539879 +0.41994381,0.965545893 +0.429944038,1.537179708 +0.439944267,2.044937372 +0.449944496,3.509740829 +0.459944725,5.125391483 +0.469944477,7.372300625 +0.479944706,10.37484646 +0.489944935,14.32990551 +0.499945164,19.31935787 +0.509945393,25.45351982 +0.519945621,32.58488178 +0.529945374,40.69125652 +0.539945602,49.54762459 +0.549945831,58.96651745 +0.55994606,68.65417957 +0.569946289,78.3605814 +0.579946518,87.79821396 +0.58994627,96.69210911 +0.599946499,104.4859648 +0.609946728,110.9673262 +0.619946957,115.7048941 +0.629947186,118.4236765 +0.639947414,118.9674377 +0.649947643,117.5174236 +0.659947395,114.4111156 +0.669947624,110.3048086 +0.679947853,105.7547331 +0.689948082,101.2859344 +0.699948311,96.90461159 +0.70994854,92.79830456 +0.719948292,89.11697865 +0.729948521,85.8669281 +0.73994875,82.7981472 +0.749948978,80.12933731 +0.759949207,77.65431404 +0.769949436,75.42302608 +0.779949188,73.42300415 +0.789949417,71.58546448 +0.799949646,69.90418434 +0.809949875,68.3416605 +0.819950104,66.91038609 +0.829950333,65.62912464 +0.839950085,64.39161301 +0.849950314,63.24160099 +0.859950542,62.14783192 +0.869950771,61.1790657 +0.879951,60.23528576 +0.889951229,59.33527946 +0.899951458,58.49776268 +0.90995121,57.7039957 +0.919951439,56.93523884 +0.929951668,56.22899532 +0.939951897,55.57897091 +0.949952126,54.88522053 +0.959952354,54.34145927 +0.969952106,53.73518467 +0.979952335,53.16643715 +0.989952564,52.64143944 +0.999952793,52.12266445 +0.989952564,51.31640434 +0.979952335,50.55389404 +0.969952106,49.92263317 +0.959952354,49.34136868 +0.949952126,48.77886772 +0.939951897,48.28510284 +0.929951668,47.67885208 +0.919951439,47.24760056 +0.90995121,46.73509598 +0.899951458,46.29757404 +0.889951229,45.81632614 +0.879951,45.37882805 +0.869950771,45.04132271 +0.859950542,44.57881451 +0.849950314,44.24755573 +0.839950085,43.79754066 +0.829950333,43.47879887 +0.819950104,43.12252998 +0.809949875,42.7475214 +0.799949646,42.40376949 +0.789949417,42.05377102 +0.779949188,41.69125557 +0.769949436,41.31624699 +0.759949207,40.91625214 +0.749948978,40.52250385 +0.73994875,40.04747868 +0.729948521,39.52248096 +0.719948292,38.94746304 +0.70994854,38.20371628 +0.699948311,37.2474432 +0.689948082,36.04743481 +0.679947853,34.44116116 +0.669947624,32.30986595 +0.659947395,29.42857742 +0.649947643,25.77850819 +0.639947414,21.20344639 +0.629947186,15.57211876 +0.619946957,8.872008324 +0.609946728,1.409387589 +0.599946499,-6.840729713 +0.58994627,-15.45960903 +0.579946518,-24.35350418 +0.569946289,-32.99738169 +0.55994606,-41.26626253 +0.549945831,-48.72887135 +0.539945602,-55.27272224 +0.529945374,-60.50405502 +0.519945621,-64.30411339 +0.509945393,-66.52914286 +0.499945164,-67.14789867 +0.489944935,-66.29788876 +0.479944706,-64.2291069 +0.469944477,-61.70407534 +0.459944725,-58.82902145 +0.449944496,-55.49772978 +0.439944267,-52.0226717 +0.429944038,-48.77886772 +0.41994381,-45.72257996 +0.409943581,-43.03503036 +0.399943352,-40.55999517 +0.3899436,-38.4037137 +0.379943371,-36.40993834 +0.369943142,-34.64115858 +0.359942913,-33.04737806 +0.349942684,-31.61611557 +0.339942455,-30.35984039 +0.329942703,-29.15357351 +0.319942474,-28.07230949 +0.309942245,-27.05979347 +0.299942017,-26.12227201 +0.289941788,-25.32225847 +0.279941559,-24.56600666 +0.269941807,-23.85349274 +0.259941578,-23.18472862 +0.249941349,-22.62847424 +0.23994112,-22.02845812 +0.229940891,-21.53470516 +0.219940662,-21.10345364 +0.20994091,-20.70344687 diff --git a/lessons/common_libs/images/cyclic_voltammetry.png b/lessons/common_libs/images/cyclic_voltammetry.png new file mode 100644 index 00000000..9b50da11 Binary files /dev/null and b/lessons/common_libs/images/cyclic_voltammetry.png differ diff --git a/lessons/common_libs/images/cyclic_voltammetry_example.png b/lessons/common_libs/images/cyclic_voltammetry_example.png new file mode 100644 index 00000000..b71410b2 Binary files /dev/null and b/lessons/common_libs/images/cyclic_voltammetry_example.png differ diff --git a/lessons/common_libs/images/graph_legend.png b/lessons/common_libs/images/graph_legend.png new file mode 100644 index 00000000..664801ce Binary files /dev/null and b/lessons/common_libs/images/graph_legend.png differ diff --git a/lessons/common_libs/images/graph_style_example.png b/lessons/common_libs/images/graph_style_example.png new file mode 100644 index 00000000..b97ec4d9 Binary files /dev/null and b/lessons/common_libs/images/graph_style_example.png differ diff --git a/lessons/common_libs/images/label_examples.png b/lessons/common_libs/images/label_examples.png new file mode 100644 index 00000000..f7195fea Binary files /dev/null and b/lessons/common_libs/images/label_examples.png differ diff --git a/lessons/common_libs/images/line_styles.png b/lessons/common_libs/images/line_styles.png new file mode 100644 index 00000000..84113342 Binary files /dev/null and b/lessons/common_libs/images/line_styles.png differ diff --git a/lessons/common_libs/images/navi_environ_1.png b/lessons/common_libs/images/navi_environ_1.png new file mode 100644 index 00000000..2907d759 Binary files /dev/null and b/lessons/common_libs/images/navi_environ_1.png differ diff --git a/lessons/common_libs/images/navi_environ_2.png b/lessons/common_libs/images/navi_environ_2.png new file mode 100644 index 00000000..a4bacddb Binary files /dev/null and b/lessons/common_libs/images/navi_environ_2.png differ diff --git a/lessons/common_libs/images/navi_not_installed.png b/lessons/common_libs/images/navi_not_installed.png new file mode 100644 index 00000000..502f8cea Binary files /dev/null and b/lessons/common_libs/images/navi_not_installed.png differ diff --git a/lessons/common_libs/images/navi_not_installed_list.png b/lessons/common_libs/images/navi_not_installed_list.png new file mode 100644 index 00000000..bdf1f226 Binary files /dev/null and b/lessons/common_libs/images/navi_not_installed_list.png differ diff --git a/lessons/common_libs/images/radii_line.png b/lessons/common_libs/images/radii_line.png new file mode 100644 index 00000000..1878e0d3 Binary files /dev/null and b/lessons/common_libs/images/radii_line.png differ diff --git a/lessons/common_libs/images/radii_scatter.png b/lessons/common_libs/images/radii_scatter.png new file mode 100644 index 00000000..f83bcc3c Binary files /dev/null and b/lessons/common_libs/images/radii_scatter.png differ diff --git a/lessons/common_libs/images/single_line_fig.png b/lessons/common_libs/images/single_line_fig.png new file mode 100644 index 00000000..330ef2e9 Binary files /dev/null and b/lessons/common_libs/images/single_line_fig.png differ diff --git a/lessons/common_libs/images/svg/navi_environ_1.svg b/lessons/common_libs/images/svg/navi_environ_1.svg new file mode 100644 index 00000000..e70cde5c --- /dev/null +++ b/lessons/common_libs/images/svg/navi_environ_1.svg @@ -0,0 +1,66 @@ + + + + + + + + + + diff --git a/lessons/common_libs/images/tex_example.png b/lessons/common_libs/images/tex_example.png new file mode 100644 index 00000000..b78a894e Binary files /dev/null and b/lessons/common_libs/images/tex_example.png differ diff --git a/lessons/common_libs/intro_to_pandas.ipynb b/lessons/common_libs/intro_to_pandas.ipynb index 987d805f..3dc9bdb4 100644 --- a/lessons/common_libs/intro_to_pandas.ipynb +++ b/lessons/common_libs/intro_to_pandas.ipynb @@ -27,7 +27,7 @@ "id": "5ddeb90892d82a5b", "metadata": {}, "source": [ - "### Prerequisites\n", + "## Prerequisites\n", "- variables and data types\n", "- libraries (not sure if this is needed)\n", "- Boolean operators\n", @@ -40,7 +40,7 @@ "id": "a73114b516278ac5", "metadata": {}, "source": [ - "### Learning Outcomes\n", + "## Learning Outcomes\n", "- Read and write files\n", "- Understand what a dataframe is\n", "- Check files are imported correctly\n", @@ -59,17 +59,21 @@ }, { "cell_type": "code", + "execution_count": 1, "id": "705306f1027fa7e", "metadata": {}, - "source": "import pandas as pd", "outputs": [], - "execution_count": null + "source": [ + "import pandas as pd" + ] }, { "cell_type": "markdown", "id": "159944926f25cdc9", "metadata": {}, - "source": "## Reading files" + "source": [ + "## Reading files" + ] }, { "cell_type": "markdown", @@ -87,14 +91,354 @@ }, { "cell_type": "code", + "execution_count": 2, "id": "6ef4f4222b561d3e", "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
AtomicNumberSymbolNameAtomicMassCPKHexColorElectronConfigurationElectronegativityAtomicRadiusIonizationEnergyElectronAffinityOxidationStatesStandardStateMeltingPointBoilingPointDensityGroupBlockYearDiscovered
01HHydrogen1.008000FFFFFF1s12.20120.013.5980.754+1, -1Gas13.8120.280.000090Nonmetal1766
12HeHelium4.002600D9FFFF1s2NaN140.024.587NaN0Gas0.954.220.000179Noble gas1868
23LiLithium7.000000CC80FF[He]2s10.98182.05.3920.618+1Solid453.651615.000.534000Alkali metal1817
34BeBeryllium9.012183C2FF00[He]2s21.57153.09.323NaN+2Solid1560.002744.001.850000Alkaline earth metal1798
45BBoron10.810000FFB5B5[He]2s2 2p12.04192.08.2980.277+3Solid2348.004273.002.370000Metalloid1808
......................................................
113114FlFlerovium290.192000NaN[Rn]7s2 7p2 5f14 6d10 (predicted)NaNNaNNaNNaN6, 4,2, 1, 0Expected to be a SolidNaNNaNNaNPost-transition metal1998
114115McMoscovium290.196000NaN[Rn]7s2 7p3 5f14 6d10 (predicted)NaNNaNNaNNaN3, 1Expected to be a SolidNaNNaNNaNPost-transition metal2003
115116LvLivermorium293.205000NaN[Rn]7s2 7p4 5f14 6d10 (predicted)NaNNaNNaNNaN+4, +2, -2Expected to be a SolidNaNNaNNaNPost-transition metal2000
116117TsTennessine294.211000NaN[Rn]7s2 7p5 5f14 6d10 (predicted)NaNNaNNaNNaN+5, +3, +1, -1Expected to be a SolidNaNNaNNaNHalogen2010
117118OgOganesson295.216000NaN[Rn]7s2 7p6 5f14 6d10 (predicted)NaNNaNNaNNaN+6, +4, +2, +1, 0, -1Expected to be a GasNaNNaNNaNNoble gas2006
\n", + "

118 rows × 17 columns

\n", + "
" + ], + "text/plain": [ + " AtomicNumber Symbol Name AtomicMass CPKHexColor \\\n", + "0 1 H Hydrogen 1.008000 FFFFFF \n", + "1 2 He Helium 4.002600 D9FFFF \n", + "2 3 Li Lithium 7.000000 CC80FF \n", + "3 4 Be Beryllium 9.012183 C2FF00 \n", + "4 5 B Boron 10.810000 FFB5B5 \n", + ".. ... ... ... ... ... \n", + "113 114 Fl Flerovium 290.192000 NaN \n", + "114 115 Mc Moscovium 290.196000 NaN \n", + "115 116 Lv Livermorium 293.205000 NaN \n", + "116 117 Ts Tennessine 294.211000 NaN \n", + "117 118 Og Oganesson 295.216000 NaN \n", + "\n", + " ElectronConfiguration Electronegativity AtomicRadius \\\n", + "0 1s1 2.20 120.0 \n", + "1 1s2 NaN 140.0 \n", + "2 [He]2s1 0.98 182.0 \n", + "3 [He]2s2 1.57 153.0 \n", + "4 [He]2s2 2p1 2.04 192.0 \n", + ".. ... ... ... \n", + "113 [Rn]7s2 7p2 5f14 6d10 (predicted) NaN NaN \n", + "114 [Rn]7s2 7p3 5f14 6d10 (predicted) NaN NaN \n", + "115 [Rn]7s2 7p4 5f14 6d10 (predicted) NaN NaN \n", + "116 [Rn]7s2 7p5 5f14 6d10 (predicted) NaN NaN \n", + "117 [Rn]7s2 7p6 5f14 6d10 (predicted) NaN NaN \n", + "\n", + " IonizationEnergy ElectronAffinity OxidationStates \\\n", + "0 13.598 0.754 +1, -1 \n", + "1 24.587 NaN 0 \n", + "2 5.392 0.618 +1 \n", + "3 9.323 NaN +2 \n", + "4 8.298 0.277 +3 \n", + ".. ... ... ... \n", + "113 NaN NaN 6, 4,2, 1, 0 \n", + "114 NaN NaN 3, 1 \n", + "115 NaN NaN +4, +2, -2 \n", + "116 NaN NaN +5, +3, +1, -1 \n", + "117 NaN NaN +6, +4, +2, +1, 0, -1 \n", + "\n", + " StandardState MeltingPoint BoilingPoint Density \\\n", + "0 Gas 13.81 20.28 0.000090 \n", + "1 Gas 0.95 4.22 0.000179 \n", + "2 Solid 453.65 1615.00 0.534000 \n", + "3 Solid 1560.00 2744.00 1.850000 \n", + "4 Solid 2348.00 4273.00 2.370000 \n", + ".. ... ... ... ... \n", + "113 Expected to be a Solid NaN NaN NaN \n", + "114 Expected to be a Solid NaN NaN NaN \n", + "115 Expected to be a Solid NaN NaN NaN \n", + "116 Expected to be a Solid NaN NaN NaN \n", + "117 Expected to be a Gas NaN NaN NaN \n", + "\n", + " GroupBlock YearDiscovered \n", + "0 Nonmetal 1766 \n", + "1 Noble gas 1868 \n", + "2 Alkali metal 1817 \n", + "3 Alkaline earth metal 1798 \n", + "4 Metalloid 1808 \n", + ".. ... ... \n", + "113 Post-transition metal 1998 \n", + "114 Post-transition metal 2003 \n", + "115 Post-transition metal 2000 \n", + "116 Halogen 2010 \n", + "117 Noble gas 2006 \n", + "\n", + "[118 rows x 17 columns]" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "data = pd.read_csv(\"periodic_table.csv\")\n", "data" - ], - "outputs": [], - "execution_count": null + ] }, { "cell_type": "markdown", @@ -110,14 +454,17 @@ ] }, { - "metadata": {}, "cell_type": "markdown", - "source": "### Viewing the data", - "id": "613367f256897f36" + "id": "613367f256897f36", + "metadata": {}, + "source": [ + "### Viewing the data" + ] }, { - "metadata": {}, "cell_type": "markdown", + "id": "c00ce268787d2503", + "metadata": {}, "source": [ "Now that we have imported the data, it is important to view it is fully understand how it is formatted and ensure we imported it correctly. As you\n", "may have noticed, when we try to display the dataframe, only some of the rows display. This is because only the first and last 5 rows will be shown\n", @@ -135,134 +482,747 @@ "it can be changed using `.astype()`.\n", "\n", "To display the datatype of all columns, we can run the function on the whole dataframe:" - ], - "id": "c00ce268787d2503" + ] }, { - "metadata": {}, "cell_type": "code", - "source": "data.dtypes", + "execution_count": 3, "id": "de5e7c4b8c29071a", - "outputs": [], - "execution_count": null + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "AtomicNumber int64\n", + "Symbol object\n", + "Name object\n", + "AtomicMass float64\n", + "CPKHexColor object\n", + "ElectronConfiguration object\n", + "Electronegativity float64\n", + "AtomicRadius float64\n", + "IonizationEnergy float64\n", + "ElectronAffinity float64\n", + "OxidationStates object\n", + "StandardState object\n", + "MeltingPoint float64\n", + "BoilingPoint float64\n", + "Density float64\n", + "GroupBlock object\n", + "YearDiscovered object\n", + "dtype: object" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data.dtypes" + ] }, { - "metadata": {}, "cell_type": "markdown", - "source": "Or we can instead run the function on only one column:", - "id": "5d9551818a2553db" + "id": "5d9551818a2553db", + "metadata": {}, + "source": [ + "Or we can instead run the function on only one column:" + ] }, { - "metadata": {}, "cell_type": "code", - "source": "data[\"AtomicNumber\"].dtype", + "execution_count": 4, "id": "e4f7fa55f0ad8042", - "outputs": [], - "execution_count": null + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "dtype('int64')" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data[\"AtomicNumber\"].dtype" + ] }, { - "metadata": {}, "cell_type": "markdown", - "source": "To change the data type, we need to reassign that column. E.g. to change the \"Name\" data to a string:", - "id": "b870cf77a1aea35f" + "id": "b870cf77a1aea35f", + "metadata": {}, + "source": [ + "To change the data type, we need to reassign that column. E.g. to change the \"Name\" data to a string:" + ] }, { - "metadata": {}, "cell_type": "code", + "execution_count": 5, + "id": "d976fecb52130b29", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Data type before change: object\n", + "Data type after change: string\n" + ] + } + ], "source": [ "print(f'Data type before change: {data[\"Name\"].dtype}')\n", "data[\"Name\"] = data[\"Name\"].astype(\"string\")\n", "print(f'Data type after change: {data[\"Name\"].dtype}')" - ], - "id": "d976fecb52130b29", - "outputs": [], - "execution_count": null + ] }, { - "metadata": {}, "cell_type": "markdown", + "id": "822ab5f3e84a6ff2", + "metadata": {}, "source": [ "## Exercise\n", "\n", "Display the first 8 elements." - ], - "id": "822ab5f3e84a6ff2" + ] }, { - "metadata": {}, "cell_type": "code", - "source": "# Add your answer here", + "execution_count": 6, "id": "bce6df361acf974", + "metadata": {}, "outputs": [], - "execution_count": null + "source": [ + "# Add your answer here" + ] }, { - "metadata": {}, "cell_type": "code", + "execution_count": 7, + "id": "ac14452b9f70836e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
AtomicNumberSymbolNameAtomicMassCPKHexColorElectronConfigurationElectronegativityAtomicRadiusIonizationEnergyElectronAffinityOxidationStatesStandardStateMeltingPointBoilingPointDensityGroupBlockYearDiscovered
01HHydrogen1.008000FFFFFF1s12.20120.013.5980.754+1, -1Gas13.8120.280.000090Nonmetal1766
12HeHelium4.002600D9FFFF1s2NaN140.024.587NaN0Gas0.954.220.000179Noble gas1868
23LiLithium7.000000CC80FF[He]2s10.98182.05.3920.618+1Solid453.651615.000.534000Alkali metal1817
34BeBeryllium9.012183C2FF00[He]2s21.57153.09.323NaN+2Solid1560.002744.001.850000Alkaline earth metal1798
45BBoron10.810000FFB5B5[He]2s2 2p12.04192.08.2980.277+3Solid2348.004273.002.370000Metalloid1808
56CCarbon12.011000909090[He]2s2 2p22.55170.011.2601.263+4, +2, -4Solid3823.004098.002.267000NonmetalAncient
67NNitrogen14.0070003050F8[He] 2s2 2p33.04155.014.534NaN+5, +4, +3, +2, +1, -1, -2, -3Gas63.1577.360.001251Nonmetal1772
78OOxygen15.999000FF0D0D[He]2s2 2p43.44152.013.6181.461-2Gas54.3690.200.001429Nonmetal1774
\n", + "
" + ], + "text/plain": [ + " AtomicNumber Symbol Name AtomicMass CPKHexColor \\\n", + "0 1 H Hydrogen 1.008000 FFFFFF \n", + "1 2 He Helium 4.002600 D9FFFF \n", + "2 3 Li Lithium 7.000000 CC80FF \n", + "3 4 Be Beryllium 9.012183 C2FF00 \n", + "4 5 B Boron 10.810000 FFB5B5 \n", + "5 6 C Carbon 12.011000 909090 \n", + "6 7 N Nitrogen 14.007000 3050F8 \n", + "7 8 O Oxygen 15.999000 FF0D0D \n", + "\n", + " ElectronConfiguration Electronegativity AtomicRadius IonizationEnergy \\\n", + "0 1s1 2.20 120.0 13.598 \n", + "1 1s2 NaN 140.0 24.587 \n", + "2 [He]2s1 0.98 182.0 5.392 \n", + "3 [He]2s2 1.57 153.0 9.323 \n", + "4 [He]2s2 2p1 2.04 192.0 8.298 \n", + "5 [He]2s2 2p2 2.55 170.0 11.260 \n", + "6 [He] 2s2 2p3 3.04 155.0 14.534 \n", + "7 [He]2s2 2p4 3.44 152.0 13.618 \n", + "\n", + " ElectronAffinity OxidationStates StandardState \\\n", + "0 0.754 +1, -1 Gas \n", + "1 NaN 0 Gas \n", + "2 0.618 +1 Solid \n", + "3 NaN +2 Solid \n", + "4 0.277 +3 Solid \n", + "5 1.263 +4, +2, -4 Solid \n", + "6 NaN +5, +4, +3, +2, +1, -1, -2, -3 Gas \n", + "7 1.461 -2 Gas \n", + "\n", + " MeltingPoint BoilingPoint Density GroupBlock YearDiscovered \n", + "0 13.81 20.28 0.000090 Nonmetal 1766 \n", + "1 0.95 4.22 0.000179 Noble gas 1868 \n", + "2 453.65 1615.00 0.534000 Alkali metal 1817 \n", + "3 1560.00 2744.00 1.850000 Alkaline earth metal 1798 \n", + "4 2348.00 4273.00 2.370000 Metalloid 1808 \n", + "5 3823.00 4098.00 2.267000 Nonmetal Ancient \n", + "6 63.15 77.36 0.001251 Nonmetal 1772 \n", + "7 54.36 90.20 0.001429 Nonmetal 1774 " + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Answer\n", "data.head(8)" - ], - "id": "ac14452b9f70836e", - "outputs": [], - "execution_count": null + ] }, { - "metadata": {}, "cell_type": "markdown", - "source": "What element has atomic number 110? Hint: The table has 118 elements in it.", - "id": "ba7c9cb041afd40d" + "id": "ba7c9cb041afd40d", + "metadata": {}, + "source": [ + "What element has atomic number 110? Hint: The table has 118 elements in it." + ] }, { - "metadata": {}, "cell_type": "code", - "source": "# Add your answer here", + "execution_count": 8, "id": "1c4beea42f5bb2d8", + "metadata": {}, "outputs": [], - "execution_count": null + "source": [ + "# Add your answer here" + ] }, { - "metadata": {}, "cell_type": "code", + "execution_count": 9, + "id": "82f5627d2fea26b7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
AtomicNumberSymbolNameAtomicMassCPKHexColorElectronConfigurationElectronegativityAtomicRadiusIonizationEnergyElectronAffinityOxidationStatesStandardStateMeltingPointBoilingPointDensityGroupBlockYearDiscovered
109110DsDarmstadtium282.166NaN[Rn]7s2 5f14 6d8 (predicted)NaNNaNNaNNaN8, 6, 4, 2, 0Expected to be a SolidNaNNaNNaNTransition metal1994
110111RgRoentgenium282.169NaN[Rn]7s2 5f14 6d9 (predicted)NaNNaNNaNNaN5, 3, 1, -1Expected to be a SolidNaNNaNNaNTransition metal1994
111112CnCopernicium286.179NaN[Rn]7s2 5f14 6d10 (predicted)NaNNaNNaNNaN2, 1, 0Expected to be a SolidNaNNaNNaNTransition metal1996
112113NhNihonium286.182NaN[Rn]5f14 6d10 7s2 7p1 (predicted)NaNNaNNaNNaNNaNExpected to be a SolidNaNNaNNaNPost-transition metal2004
113114FlFlerovium290.192NaN[Rn]7s2 7p2 5f14 6d10 (predicted)NaNNaNNaNNaN6, 4,2, 1, 0Expected to be a SolidNaNNaNNaNPost-transition metal1998
114115McMoscovium290.196NaN[Rn]7s2 7p3 5f14 6d10 (predicted)NaNNaNNaNNaN3, 1Expected to be a SolidNaNNaNNaNPost-transition metal2003
115116LvLivermorium293.205NaN[Rn]7s2 7p4 5f14 6d10 (predicted)NaNNaNNaNNaN+4, +2, -2Expected to be a SolidNaNNaNNaNPost-transition metal2000
116117TsTennessine294.211NaN[Rn]7s2 7p5 5f14 6d10 (predicted)NaNNaNNaNNaN+5, +3, +1, -1Expected to be a SolidNaNNaNNaNHalogen2010
117118OgOganesson295.216NaN[Rn]7s2 7p6 5f14 6d10 (predicted)NaNNaNNaNNaN+6, +4, +2, +1, 0, -1Expected to be a GasNaNNaNNaNNoble gas2006
\n", + "
" + ], + "text/plain": [ + " AtomicNumber Symbol Name AtomicMass CPKHexColor \\\n", + "109 110 Ds Darmstadtium 282.166 NaN \n", + "110 111 Rg Roentgenium 282.169 NaN \n", + "111 112 Cn Copernicium 286.179 NaN \n", + "112 113 Nh Nihonium 286.182 NaN \n", + "113 114 Fl Flerovium 290.192 NaN \n", + "114 115 Mc Moscovium 290.196 NaN \n", + "115 116 Lv Livermorium 293.205 NaN \n", + "116 117 Ts Tennessine 294.211 NaN \n", + "117 118 Og Oganesson 295.216 NaN \n", + "\n", + " ElectronConfiguration Electronegativity AtomicRadius \\\n", + "109 [Rn]7s2 5f14 6d8 (predicted) NaN NaN \n", + "110 [Rn]7s2 5f14 6d9 (predicted) NaN NaN \n", + "111 [Rn]7s2 5f14 6d10 (predicted) NaN NaN \n", + "112 [Rn]5f14 6d10 7s2 7p1 (predicted) NaN NaN \n", + "113 [Rn]7s2 7p2 5f14 6d10 (predicted) NaN NaN \n", + "114 [Rn]7s2 7p3 5f14 6d10 (predicted) NaN NaN \n", + "115 [Rn]7s2 7p4 5f14 6d10 (predicted) NaN NaN \n", + "116 [Rn]7s2 7p5 5f14 6d10 (predicted) NaN NaN \n", + "117 [Rn]7s2 7p6 5f14 6d10 (predicted) NaN NaN \n", + "\n", + " IonizationEnergy ElectronAffinity OxidationStates \\\n", + "109 NaN NaN 8, 6, 4, 2, 0 \n", + "110 NaN NaN 5, 3, 1, -1 \n", + "111 NaN NaN 2, 1, 0 \n", + "112 NaN NaN NaN \n", + "113 NaN NaN 6, 4,2, 1, 0 \n", + "114 NaN NaN 3, 1 \n", + "115 NaN NaN +4, +2, -2 \n", + "116 NaN NaN +5, +3, +1, -1 \n", + "117 NaN NaN +6, +4, +2, +1, 0, -1 \n", + "\n", + " StandardState MeltingPoint BoilingPoint Density \\\n", + "109 Expected to be a Solid NaN NaN NaN \n", + "110 Expected to be a Solid NaN NaN NaN \n", + "111 Expected to be a Solid NaN NaN NaN \n", + "112 Expected to be a Solid NaN NaN NaN \n", + "113 Expected to be a Solid NaN NaN NaN \n", + "114 Expected to be a Solid NaN NaN NaN \n", + "115 Expected to be a Solid NaN NaN NaN \n", + "116 Expected to be a Solid NaN NaN NaN \n", + "117 Expected to be a Gas NaN NaN NaN \n", + "\n", + " GroupBlock YearDiscovered \n", + "109 Transition metal 1994 \n", + "110 Transition metal 1994 \n", + "111 Transition metal 1996 \n", + "112 Post-transition metal 2004 \n", + "113 Post-transition metal 1998 \n", + "114 Post-transition metal 2003 \n", + "115 Post-transition metal 2000 \n", + "116 Halogen 2010 \n", + "117 Noble gas 2006 " + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Answer\n", "data.tail(9)\n", "\n", "# The element with an atomic number of 110 is Darmstadtium." - ], - "id": "82f5627d2fea26b7", - "outputs": [], - "execution_count": null + ] }, { - "metadata": {}, "cell_type": "markdown", - "source": "Change the \"Symbol\" data to strings. Check the data type of the column after.", - "id": "9885f5ed07d28703" + "id": "9885f5ed07d28703", + "metadata": {}, + "source": [ + "Change the \"Symbol\" data to strings. Check the data type of the column after." + ] }, { - "metadata": {}, "cell_type": "code", - "source": "# Add your answer here", + "execution_count": 10, "id": "7fa9904a9de0f284", + "metadata": {}, "outputs": [], - "execution_count": null + "source": [ + "# Add your answer here" + ] }, { - "metadata": {}, "cell_type": "code", + "execution_count": 11, + "id": "d6403b10cf05d3b9", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Data type after change: string\n" + ] + } + ], "source": [ "# Answer\n", "data[\"Symbol\"] = data[\"Symbol\"].astype(\"string\")\n", "print(f'Data type after change: {data[\"Symbol\"].dtype}')" - ], - "id": "d6403b10cf05d3b9", - "outputs": [], - "execution_count": null + ] }, { - "metadata": {}, "cell_type": "markdown", + "id": "420135f8853d1421", + "metadata": {}, "source": [ "## Writing files\n", "\n", @@ -271,41 +1231,42 @@ "\n", "As DataFrames have an index column, we have to decide if we want to keep this or not. We can do this using the `index` parameter. To **NOT**\n", "include the index column, use `index=False`." - ], - "id": "420135f8853d1421" + ] }, { - "metadata": {}, "cell_type": "code", - "source": "data.to_csv(\"periodic_table_out.csv\", index=False)", + "execution_count": 12, "id": "484f5eeecf6e9533", + "metadata": {}, "outputs": [], - "execution_count": null + "source": [ + "data.to_csv(\"periodic_table_out.csv\", index=False)" + ] }, { - "metadata": {}, "cell_type": "markdown", + "id": "8cb03b854e801781", + "metadata": {}, "source": [ "> As with reading files, we can specify what separator we want the data to be written using `sep`. There are many other useful parameters for\n", "> specifying what data to save and how to save it. See [the documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_csv.html) for more infromation." - ], - "id": "8cb03b854e801781" + ] }, { - "metadata": {}, "cell_type": "markdown", + "id": "73f5ded338418595", + "metadata": {}, "source": [ "# To Do\n", "- select a subset of a df\n", "- create new columns\n", "- calculate statistics" - ], - "id": "73f5ded338418595" + ] } ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "base", "language": "python", "name": "python3" }, @@ -319,7 +1280,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.6" + "version": "3.12.9" } }, "nbformat": 4, diff --git a/lessons/common_libs/matplotlib_pyplot_basics.ipynb b/lessons/common_libs/matplotlib_pyplot_basics.ipynb new file mode 100644 index 00000000..5ab1b0ad --- /dev/null +++ b/lessons/common_libs/matplotlib_pyplot_basics.ipynb @@ -0,0 +1,1156 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "8ea296df-22a6-4136-a2fc-901fb1c81f68", + "metadata": { + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "# Matplotlib Pyplot" + ] + }, + { + "cell_type": "markdown", + "id": "fc5145a2", + "metadata": {}, + "source": [ + "## Prerequisites\n", + "\n", + "- [Variables](/lessons/variables/Variable_data_types.ipynb)\n", + "- [Lists](/lessons/variables/Variable_data_types.ipynb)\n", + "- Loops, [`for`](/lessons/loops_functions/for_loops.ipynb) and [`while`](/lessons/loops_functions/while_loops.ipynb)\n", + "- [Functions](/lessons/loops_functions/functions_and_scope.ipynb)\n", + "- [Files](/lessons/files/files_file_types.ipynb) and [reading files](/lessons/files/reading_files.ipynb)" + ] + }, + { + "cell_type": "markdown", + "id": "3f51056a", + "metadata": {}, + "source": [ + "## Learning Outcomes\n", + "\n", + "- Plot scatter and line plots of lists of data\n", + "- Include axis labels\n", + "- Modify the appearances of the plots\n", + "- Be able to save your plot to a specified directory" + ] + }, + { + "cell_type": "markdown", + "id": "a025f666", + "metadata": {}, + "source": [ + "## Matplotlib and Pyplot" + ] + }, + { + "cell_type": "markdown", + "id": "7d81fd03", + "metadata": {}, + "source": [ + "Matplotlib is a comprehensive library for creating static, animated, and interactive visualisations. Within Matplotlib, the widely-used module Pyplot provides a fairly intuitive way of plotting, and is able to open interactive figures on your screen.\n", + "\n", + "There are two different ways of using the library: an explicit or \"Axes\" interface, and an implicit \"pyplot\" interface. The explicit interfaces defines each figure *explicitly* and builds the visualisation step-by-step. The implicit method keeps track of the last Figure and Axes created and adds additional content to the object it thinks the user wants. If you are only plotting simple figures, the implicit method is sufficient, however if you wish to create multiple figures, you may run into problems trying to refer to the correct figure, and should use the explicit method. Be aware that many online examples will use the two methods interchangeably, and in some cases, at the same time. Have a look on the Matplotlib website for more information on the [two interfaces](https://matplotlib.org/stable/users/explain/figure/api_interfaces.html).\n", + "\n", + "For a discussion on explicit versus implicit interfaces, look to the end of the lesson. **The rest of the lesson will only use the implicit interface**.\n", + "\n", + "To use matplotlib.pyplot simply import it. It is usually imported using the alias `plt`. \n", + "\n", + "```Python\n", + "from matplotlib import pyplot as plt\n", + "```\n", + "\n", + "This is importing the module `pyplot` from the library `matplotlib` and assigning it the alias `plt`. From here on, pyplot functions can be called using `plt.`. \n", + "\n", + "When a figure is generated, it will appear in a separate window, and can be manipulated. " + ] + }, + { + "cell_type": "markdown", + "id": "486161f1", + "metadata": {}, + "source": [ + "## Simple line and scatter plots\n", + "\n", + "One of the most important commands within the `pyplot` module is `plt.plot(x,y)`. This command instructs Python to produce a line plot of data contained in the list with variable name `x` on the horizontal axis and the data contained in the list with variable name `y` on the vertical axis. Each point is then connected with a straight line. " + ] + }, + { + "cell_type": "markdown", + "id": "95867e69", + "metadata": {}, + "source": [ + "```Python\n", + "from matplotlib import pyplot as plt\n", + "\n", + "x = [1,2,3,4,5,6,7,8,9,10]\n", + "y = [1,4,9,16,25,36,49,64,81,100]\n", + "\n", + "plt.plot(x, y, color=\"pink\")\n", + "plt.show() \n", + "```\n", + "\n", + "The output is an interactive window with the graph on it. \n", + "\n", + "\"single" + ] + }, + { + "cell_type": "markdown", + "id": "b14bff49", + "metadata": {}, + "source": [ + "Going through step by step:\n", + "\n", + "- First we import the module pyplot and assign it the alias `plt`. You can do this in two ways, but they are equivalent:\n", + " 1. `from matplotlib import pyplot as plt`\n", + " 1. `import matplotlib.pyplot as plt`\n", + "\n", + "- Next we have defined the data we are plotting. This is two lists, of x and y data. \n", + "\n", + "- We call the function using `plt.plot(x, y)`. \n", + " - This creates a figure and automatically sizes the axes. \n", + " - The first two arguments of the function are the x and y data. If you only provide one list of data, it will automatically assign the x axis integer values from 0 upwards. \n", + " - There are numerous keyword arguments that you can put here to affect design (discussed in the next section). This includes `color`, `linewidth`, `marker`, `linestyle`, and `markersize`. Be aware that 'color' is spelled the US way. \n", + "\n", + "- `plt.show()` prints all created figures to your screen. In most IDEs this is required, but be aware that some IDEs (e.g. Jupyter) will automatically print the figure without needing this line. \n", + "\n", + "If you wanted to create a scatter graph instead of a line graph, you can easily do this by replacing `plt.plot()` with `plt.scatter()`." + ] + }, + { + "cell_type": "markdown", + "id": "3108958e", + "metadata": {}, + "source": [ + "
\n", + "
Exercise: Plot a line graph \n", + "\n", + "---\n", + "\n", + "Using the below lists for element group and corresponding radii, use Matplotlib.Pyplot to plot a line graph showing how atomic radii contract along a period.\n", + "\n", + ">```Python\n", + ">element = [\"B\", \"C\", \"N\", \"O\", \"F\", \"Ne\"]\n", + ">group = [13, 14, 15, 16, 17, 18]\n", + ">radii = [88, 77, 74, 73, 71, 71] # pm\n", + "\n", + "
\n", + "
" + ] + }, + { + "cell_type": "markdown", + "id": "6d349e7a", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "As we want to plot a line graph, we use the function `plt.plot()`. \n", + "\n", + "```Python\n", + "from matplotlib import pyplot as plt\n", + "\n", + "group = [13,14,15,16,17,18]\n", + "radii = [88,77,74,73,71,71]\n", + "\n", + "plt.plot(group,radii)\n", + "plt.show()\n", + "```\n", + "The result is a line graph that looks like this:\n", + "\n", + "\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "05e4ae0e", + "metadata": {}, + "source": [ + "
\n", + "
Exercise: Plot a scatter graph \n", + "\n", + "---\n", + "\n", + "Using the list of radii data for period 3, use Matplotlib.Pyplot to plot a scatter graph showing how atomic radii contract along a period.\n", + "\n", + ">```Python\n", + ">element = [\"Al\", \"Si\", \"P\", \"S\", \"Cl\", \"Ar\"]\n", + ">group = [13,14,15,16,17,18]\n", + ">radii = [125,118,110,104,99,98]\n", + "\n", + "
\n", + "
" + ] + }, + { + "cell_type": "markdown", + "id": "bf6a0e5f", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "As we want to plot a scatter graph, we use the function `plt.scatter()`.\n", + "\n", + "```Python\n", + "from matplotlib import pyplot as plt\n", + "\n", + "group = [13,14,15,16,17,18]\n", + "radii = [125,118,110,104,99,98]\n", + "\n", + "plt.scatter(group,radii)\n", + "plt.show()\n", + "```\n", + "\n", + "This results in a plot that looks like this:\n", + "\n", + "\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "20eeb005", + "metadata": {}, + "source": [ + "## Customising your plot (labels and design)" + ] + }, + { + "cell_type": "markdown", + "id": "fb5c802a", + "metadata": {}, + "source": [ + "There are numerous ways to improve your plot, mainly by making it look actually scientific. Below are various useful functions, from labels to design to mathematics which you can add to your graph. The Matplotlib documentation for all Pyplot functions can be found [here](https://matplotlib.org/stable/api/pyplot_summary.html), and an explanation as to the anatomy of a figure (what are labels, markers, legend, ticks, etc.) can be found [here](https://matplotlib.org/stable/users/explain/quick_start.html#parts-of-a-figure). \n", + "\n", + "But **be careful**. This lesson gives all functions in their *implicit* forms. The matplotlib documentation gives them in their *explicit* forms. For a discussion on implicit versus explicit in Matplotlib, look at the last section in this lesson." + ] + }, + { + "cell_type": "markdown", + "id": "3b361396", + "metadata": {}, + "source": [ + "
\n", + " Styling a line or scatter points \n", + "\n", + "The most basic adjustments you can make to your line or scatter plot is by using keyword arguments. For line styles, these are given by the Matplotlib `Lines2D` styles (a full description can be found [here](https://matplotlib.org/stable/api/_as_gen/matplotlib.lines.Line2D.html)).\n", + "\n", + "```Python\n", + "from matplotlib import pyplot as plt\n", + "\n", + "x = [1,2,3,4,5,6,7,8,9,10]\n", + "y = [1,4,9,16,25,36,49,64,81,100]\n", + "\n", + "plt.plot(x, y, color=\"red\", linestyle=\"--\", linewidth=2, marker=\"o\", markersize=5, alpha=0.5)\n", + "\n", + "plt.show()\n", + "```\n", + "\n", + "This plot is the output:\n", + "\n", + "\n", + "\n", + "Run the above code and look at the resulting plot with and without the keyword arguments.\n", + "\n", + "- `color` changes the colour of the line. It can take certain named colours, such as `\"red\"`, `\"green\"`, and `\"papayawhip\"`, etc., or hex code colours, such as `\"#880808\"`. If you do not use the `color` keyword, the line will take a default colour, usually blue. A full list of Matplotlib supported colours can be found [here](https://matplotlib.org/stable/gallery/color/named_colors.html).\n", + "\n", + "- `linestyle` changes the style of the line. Without the keyword, this defaults to a solid line. Other inputs could be `\"-\"` (solid), `\"--\"` (dashed), `\":\"` (dotted), `\"-.\"` (dashed-dotted), or `\"\"`/`\"None\"` (draws nothing). \n", + "\n", + "- `linewidth` changes the thickness of our line. The default is 1. \n", + "\n", + "- `marker` changes the marker at each plotted point. By default in a line diagram these would be `\"None\"`, however in a scatter plot these are a dot by default. Other kinds of marker could be `\"x\"` (a cross), `\"s\"` (a square), `\"D\"` (a diamond), or `\"v\"` (a downwards triangle). The full list of available markers can be found [here](https://matplotlib.org/stable/api/markers_api.html#module-matplotlib.markers).\n", + "\n", + "- `markersize` changes the size of the marker. The default can be changed, but is usually around 5. \n", + "\n", + "- `alpha` changes transparency, where 1 is solid and 0 is totally transparent. In this case, it will change the transparency of both the line and the marker. \n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "8ca84e3a", + "metadata": {}, + "source": [ + "
\n", + " Adding labels to your graph \n", + "\n", + "As with all science, it is important that your graph is showing useful information. A figure with no labels has no meaning. Below are the functions to add labels to your plot. Remember units!\n", + "\n", + "| Label | Description | Function | Example |\n", + "| -- | --- | --- | --- |\n", + "| Title | Add a title to the top of the figure | `title()` | `plt.title(\"Graph Title\")` |\n", + "| x-axis label | Labels the x axis | `xlabel()` | `plt.xlabel(\"x axis / unit\")` |\n", + "| y-axis label | Labels the y axis | `ylabel()` | `plt.ylabel(\"y axis / unit\")` |\n", + "| Legend | Adds a legend. More information on legend design can be found [here](https://matplotlib.org/stable/users/explain/axes/legend_guide.html). | `legend()` | `plt.legend([\"y = x^2\"])` |\n", + "\n", + "Here is an example of code adding some labels onto the figure. \n", + "\n", + "```Python\n", + "from matplotlib import pyplot as plt\n", + "\n", + "x = [1,2,3,4,5,6,7,8,9,10]\n", + "y = [1,4,9,16,25,36,49,64,81,100]\n", + "\n", + "plt.plot(x, y, color=\"#880808\", linestyle=\"--\", marker=\"o\", linewidth=2, markersize=5, alpha=0.5)\n", + "\n", + "plt.title(\"Quadratic Function\")\n", + "plt.xlabel(\"x-axis\", color=\"navy\", fontweight=\"bold\")\n", + "plt.ylabel(\"y-axis\", color=\"pink\", font=\"comic sans ms\")\n", + "plt.legend([\"y = x^2\"])\n", + "\n", + "plt.show() \n", + "```\n", + "\n", + "\n", + "\n", + "This example includes examples of the design elements you can add to text. This should not be taken as style advice. In reality, you should be consistent between all labels and style choices.\n", + "\n", + "Some of the basic labelling styles you can add are:\n", + "\n", + "- `color` sets the text colour. This can be a certain colour `color=\"palegoldenrod\"`, or a hex code `color=\"#c4a998\"`. A full list of Matplotlib supported colours can be found [here](https://matplotlib.org/stable/gallery/color/named_colors.html).\n", + "\n", + "- `weight` or `fontweight` sets the thickness of the font. This can be `\"normal\"`, `\"heavy\"`, `\"bold\"`, `\"light\"`, `\"ultrabold\"`, or `\"ultralight\"`.\n", + "\n", + "- `style` or `fontstyle` sets the style of the font. This can be `\"normal\"`, `\"italic\"`, or `\"oblique\"` (which is similar to italic).\n", + "\n", + "- `font` or `name` or `fontname` sets the type of font. Matplotlib supports many basic fonts.\n", + "\n", + "- `size` or `fontsize` sets the text size. This could be size in pixels, `\"100px\"`, or relative to the current/default fontsize `\"smaller\"`, `\"x-large\"`.\n", + "\n", + "- `alpha` sets transparency, taking values from 0 to 1.\n", + "\n", + "- `backgroundcolor` highlights behind the text, and can also be assigned either by certain names or by a hex code.\n", + "\n", + "A full list of these design keywords can be found [here](https://matplotlib.org/stable/users/explain/text/text_props.html).\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "52ef1731", + "metadata": {}, + "source": [ + "
\n", + " Adding ticks, gridlines, and setting limits to your graph\n", + "\n", + "In addition to line styles and labels, there are a number of graphical design elements that can really improve the look of a graph.\n", + "\n", + "By default, a Matplotlib generated graph will contain auto-generated major ticks at auto-generated intervals, no grid squares, and limits just above and below the values of data. You can customise these to suit your purpose. \n", + "\n", + "| Element | Description | Function | Example |\n", + "| -- | --- | --- | --- |\n", + "| Legend | Adds a legend. More information on legend design can be found [here](https://matplotlib.org/stable/users/explain/axes/legend_guide.html) | `legend()` | `plt.legend([\"y = x^2\"])` |\n", + "| Grid squares | Adds grid squares on either \"major\" ticks, \"minor\" ticks, or \"both\". Add design with Line2D properties. | `grid()` | `plt.grid(True, \"minor\", color=\"grey\")` |\n", + "| x-axis ticks | Manually changes ticks on the x-axis, add minor ticks with a kwarg (separately) | `xticks()` | `plt.xticks([0, 2, 4, 6, 8, 10]` |\n", + "| y-axis ticks | Manually changes ticks on the y-axis, add minor ticks with a kwarg (separately) | `yticks()` | `plt.yticks([0, 2, 4, 6, 8, 10]` |\n", + "| x-axis limits | Manually sets the first and last number on the x-axis | `xlim()` | `plt.xlim(0, 10)` |\n", + "| y-axis limits | Manually sets the first and last number on the y-axis | `ylim()` | `plt.ylim(0, 100)` |\n", + "\n", + "Here is an example of our quadratic function plot customised with gridlines, ticks, and limits.\n", + "\n", + "```Python\n", + "from matplotlib import pyplot as plt\n", + "import numpy as np\n", + "\n", + "x = [1,2,3,4,5,6,7,8,9,10]\n", + "y = [1,4,9,16,25,36,49,64,81,100]\n", + "\n", + "plt.plot(x, y, color=\"#880808\", linestyle=\"--\", marker=\"o\", linewidth=2, markersize=5, alpha=0.5)\n", + "\n", + "plt.title(\"Quadratic Function\")\n", + "plt.xlabel(\"x-axis\", color=\"navy\", fontweight=\"bold\")\n", + "plt.ylabel(\"y-axis\", color=\"pink\", font=\"comic sans ms\")\n", + "plt.legend([\"y = x^2\"])\n", + "\n", + "# Set the limits of the x and y axes\n", + "plt.xlim(0, 10)\n", + "plt.ylim(0, 100)\n", + "\n", + "# Major ticks\n", + "plt.xticks([0, 2, 4, 6, 8, 10])\n", + "plt.yticks([0, 20, 40, 60, 80, 100])\n", + "\n", + "# Minor ticks (using numpy 'arange' to quicky generate ticks)\n", + "plt.xticks(np.arange(0, 10, 0.2), minor=True)\n", + "plt.yticks(np.arange(0,100,2), minor=True)\n", + "\n", + "# Major grid lines are blue\n", + "plt.grid(True, \"major\", color=\"blue\", alpha=0.5)\n", + "\n", + "# Minor grid lines are grey\n", + "plt.grid(True, \"minor\", color=\"grey\", alpha=0.5)\n", + "\n", + "plt.show() \n", + "```\n", + "\n", + "This produces the following graph (styles and colours are to demonstrate technique and should not be considered guidance):\n", + "\n", + "\n", + "\n", + "Walking through these additional bits of code:\n", + "\n", + "- `plt.xlim(0,10)` sets the left boundary of the x-axis to 0 and the right boundary to 10. The same is done for `plt.ylim(0, 100)`, but with the bottom boundary being 0 and the top 100. \n", + "\n", + "- `plt.xticks([0, 2, 4, 6, 8, 10])` and `plt.yticks([0, 20, 40, 60, 80, 100])` mark the numbers at which major ticks appear. These are the longer lines on the axes, marked with numbers. \n", + "\n", + "- `plt.xticks(np.arange(0, 10, 0.2), minor=True)` and `plt.yticks(np.arange(0,100,2), minor=True)` mark the positions at which minor ticks appear. These are the shorter lines on the axes, not marked by numbers. This data should be given in a list or an array (arrays are basically powerful NumPy lists), and the function `np.arange()` (documentation [here](https://numpy.org/doc/stable/reference/generated/numpy.arange.html)) is a very quick way to produce them. All it does is create an array from the first number to the second number in steps of the third number, for example `no.arange(0,10,0.2)` creates an array of numbers from 0 to 10 in steps of 0.2.\n", + "\n", + "- `plt.grid(True, \"major\", color=\"blue\", alpha=0.5)` sets the major grid lines to be blue, and `plt.grid(True, \"minor\", color=\"grey\", alpha=0.5)` sets the minor grid lines to be grey. The `grid()` function can take any `Line2DStyle`, discussed above. If you wanted to set both major and minor grid lines to the same style, you could use the keyword \"both\" instead of \"major\" or \"minor\" and use only one line. \n", + "\n", + "Remember that a good scientific figure is consistent, labelled, contains units, and is easily readable. You should not have a mix of fonts, sizes, or a hodgepodge of colour, unless the colour helps in understanding the diagram. \n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "7a77c39f", + "metadata": {}, + "source": [ + "
\n", + " Inserting symbols, exponents and maths using LaTeX\n", + "\n", + "When displaying strings on plots generated using `matplotlib`, such as axis labels and legends, you may notice that you have not been able to add formatting. This is because strings are displayed in plain text. Missing formatting is important when labelling scientific data, particularly for units or chemical formulas.\n", + "\n", + "As an example, look at this code and the plot it has generated and compare the formatting of the title vs the legend:\n", + "\n", + "```Python\n", + "from matplotlib import pyplot as plt\n", + "\n", + "x = [1,2,3,4,5,6,7,8,9,10]\n", + "y = [1,4,9,16,25,36,49,64,81,100]\n", + "\n", + "plt.plot(x, y, color=\"#880808\", linestyle=\"--\", marker=\"o\", linewidth=2, markersize=5, alpha=0.5)\n", + "\n", + "plt.title(\"Quadratic Function $y = x^2$\")\n", + "plt.legend([\"y = x^2\"])\n", + "\n", + "plt.show() \n", + "```\n", + "\n", + "\n", + "\n", + "The title equation is correctly formatted using LaTeX, a document formatting system useful for mathematical and scientific notation.\n", + "\n", + "To insert LaTeX formatting, you must surround your text with the dollar sign, `$`. LaTeX can be very complicated, so below is a short summary of useful information. \n", + "\n", + "- To insert LaTeX, surround symbols or maths with a dollar sign: `$math$`.\n", + "\n", + "- Insert superscript using `^` and subscripts using `_`, e.g. `$dm^3$` or `$H_2O$` for $dm^3$ or $H_2O$. By default, this will only place the first character following the ^ or _ into the super- or subscript. To format multiple characters, use curly brackets {}. e.g. `$cm^{-1}$` or `$C_{80}$` to get $cm^{-1}$ and $C_{80}$ respectively. \n", + "\n", + "- Insert Greek symbols using `\\`. E.g. `$\\lambda$` for $\\lambda$ or `$\\Lambda$` for $\\Lambda$, where capitalising the first letter of the name makes the symbol capital too. \n", + "\n", + "- Other symbols can also be inserted using `\\`. For example, `$\\rightarrow$` for $\\rightarrow$, `$\\times$` for $\\times$, `$\\rightleftharpoons$` for $\\rightleftharpoons$, and many more.\n", + "\n", + "- A small gap can be inserted by writing `\\`. This is useful for units such as `$mol \\ dm^{-3}$`, which now renders with a gap, $mol \\ dm^{-3}$. Without the backslash, the two units would be right next to each other. \n", + "\n", + "- Fractions can be inserted by writing `$\\frac{numerator}{denominator}$` which renders as $\\frac{numerator}{denominator}$.\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "b6469fc8", + "metadata": {}, + "source": [ + "
\n", + "
Exercise: Create a formatted plot \n", + "\n", + "--- \n", + "\n", + "For the following data create a formatted line graph with the following design elements:\n", + "\n", + "- A dark blue solid line, with hexagonal markers of size 3.\n", + "\n", + "- The title \"A Quadratic Function\" in bold.\n", + "- Axes titles \"x-axis\" and \"y-axis\" in bold. \n", + "- Major ticks every integer on the x-axis, and every 10 on the y-axis. Make the numbers on the major ticks in extra small font. \n", + "- 10 minor ticks between each major tick.\n", + "- Grey gridlines, where gridlines on the major ticks are twice as thick as on the minor axis.\n", + "- The x-axis runs from -11 to 11, and the y-axis from -10 to 110.\n", + "\n", + ">```Python\n", + ">x = [-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\n", + ">y = [100, 81, 64, 49, 36, 25, 16, 9, 4, 1, 0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100]\n", + "\n", + "**Hints**:\n", + "\n", + "1. A hexagonal marker is indicated with the symbol `\"h\"` or `\"H\"` (depending on orientation).\n", + "1. The size of numbers on the axes can be adjusted within the `plt.xticks()` function using the keyword argument `size=\"\"`.\n", + "1. Use the NumPy function `np.arange()` to generate an array (list-like object) containing the axes ticks. The function `np.arange(0,10,1)` will generate an array of numbers starting with 0 and going up in steps of 1 up to (but not including) 10 i.e. [0,1,2,...8,9]. To get the tick to show, you must go past the number you want it to stop at. \n", + "1. Python draws the graph in the order you write the code lines. Therefore, setting limits should be the last thing you do. This is because setting ticks auto-scales the axes, and if you set limits before that, it will then overwrite the scale.\n", + "\n", + "
\n", + "
" + ] + }, + { + "cell_type": "markdown", + "id": "51048860", + "metadata": {}, + "source": [ + "\n", + "
\n", + " Click to view answer\n", + "\n", + "```Python\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "\n", + "x = [-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\n", + "y = [100, 81, 64, 49, 36, 25, 16, 9, 4, 1, 0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100]\n", + "\n", + "# Line and markers\n", + "plt.plot(x, y, marker=\"h\", markersize=3, linestyle=\"-\", color=\"navy\")\n", + "\n", + "# Labels\n", + "plt.title(\"A Quadratic Function\", weight=\"bold\") # Insert title\n", + "plt.xlabel(\"x-axis\", weight=\"bold\") # x-axis label\n", + "plt.ylabel(\"y-axis\", weight=\"bold\") # y-axis label\n", + "\n", + "# Ticks\n", + "## Major ticks\n", + "plt.xticks(np.arange(-12, 12, 1), size=\"x-small\") # Major ticks on x-axis, numbers made small\n", + "plt.yticks(np.arange(-50, 120, 10), size=\"x-small\") # Major ticks on y-axis, numbers made small\n", + "## Minor ticks\n", + "plt.xticks(np.arange(-12, 12, 0.1), minor=True) # Minor ticks on x-axis\n", + "plt.yticks(np.arange(-50, 120, 1), minor=True) # Minor ticks on y-axis\n", + "\n", + "# Grid\n", + "plt.grid(True, which=\"major\", color=\"grey\", linewidth=1) # Major grid lines\n", + "plt.grid(True, which=\"minor\", color=\"grey\", linewidth=0.5) # Minor grid lines\n", + "\n", + "# Limits\n", + "plt.xlim(-11, 11) # Set x-axis limits\n", + "plt.ylim(-10, 110) # Set y-axis limits\n", + "\n", + "plt.show()\n", + "```\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "a55c01ba-3804-4026-b278-faf4fdad8b78", + "metadata": {}, + "source": [ + "## Plotting multiple datasets on the same graph" + ] + }, + { + "cell_type": "markdown", + "id": "7c814dd9", + "metadata": {}, + "source": [ + "To plot multiple sets of data on the same graph you include more than one of the `plt.plot()` and/or the `plt.scatter()` commands.\n", + "\n", + "As multiple sets of data are to be plotted a legend should be included to indicate what each series represents. In the same `plt.plot()`/`plt.scatter()` code, after specifying the data to be plotted on the horizontal and vertical axes within the brackets, a comma should be added and then the option `label=\"\"` used, which should describe the data. For example: `plt.scatter(x,y, label=\"Quadratic\"). \n", + "\n", + "To display the legend, add the line `plt.legend()`, and a legend will be automatically generated. \n", + "\n", + "```Python\n", + "from matplotlib import pyplot as plt\n", + "\n", + "x = [0,1,2,3,4,5,6,7,8,9,10]\n", + "y_linear = [0,1,2,3,4,5,6,7,8,9,10]\n", + "y_quadratic = [0,1,4,9,16,25,36,49,64,81,100]\n", + "y_cubic = [0,1,8,27,64,125,216,343,512,729,1000]\n", + "\n", + "plt.plot(x, y_linear, color=\"green\", label=\"Linear $y = x$\")\n", + "plt.plot(x, y_quadratic, color=\"red\", label=\"Quadratic $y = x^2$\")\n", + "plt.plot(x, y_cubic, color=\"blue\", label=\"Cubic $y = x^3$\")\n", + "\n", + "plt.legend()\n", + "\n", + "plt.title(\"Quadratic and Cubic Functions\")\n", + "\n", + "plt.show()\n", + "```\n", + "\n", + "\n", + "\n", + "Other ways to use and customise a legend can be found in [here](https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.legend.html)." + ] + }, + { + "cell_type": "markdown", + "id": "b9b814d4", + "metadata": {}, + "source": [ + "
\n", + "
Exercise: Plotting two series on the same graph and using a legend \n", + "\n", + "---\n", + "\n", + "Using Matplotlib.Pyplot, plot both the radii data from the 2nd period and the 3rd period of the periodic table onto the same graph. \n", + "\n", + "Include a correctly formatted legend.\n", + "\n", + "```Python\n", + "group = [13,14,15,16,17,18]\n", + "radii_2nd_period = [88,77,74,73,71,71]\n", + "radii_3rd_period = [125,118,110,104,99,98]\n", + "```\n", + "\n", + "
\n", + "
" + ] + }, + { + "cell_type": "markdown", + "id": "e66dbc7b", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "\n", + "```Python\n", + "import matplotlib.pyplot as plt\n", + "\n", + "group = [13, 14, 15, 16, 17, 18]\n", + "radii_2nd_period = [88, 77, 74, 73, 71, 71]\n", + "radii_3rd_period = [125, 118, 110, 104, 99, 98]\n", + "\n", + "plt.scatter(group,radii_2nd_period, label=\"2nd Period\")\n", + "plt.scatter(group,radii_3rd_period, label=\"3rd Period\")\n", + "plt.xlabel(\"Group\")\n", + "plt.ylabel(\"Atomic radii / pm\")\n", + "plt.legend()\n", + "plt.show()\n", + "```\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "630154f7", + "metadata": {}, + "source": [ + "## Exporting plots as image files" + ] + }, + { + "cell_type": "markdown", + "id": "2cd1f585", + "metadata": {}, + "source": [ + "Once you have successfully created graphs with Python, you need to be able to save them for later use or to include them in other resources.\n", + "\n", + "`matplotlib` has a command for this:\n", + "\n", + "```Python\n", + "plt.savefig(\"file_name.png\")\n", + "```\n", + "\n", + "`\"file_name.png\"` is the name you choose for the saved graph. It will be saved in a `.png` format either in the same directory as your program is in, or in the root directory. To be sure your file ends up in the place you want it, you can specify a full directory. For a reminder on files and directories, look back at the [files and file types lesson](lessons/files/files_file_types.ipynb). Make sure you know where your image is being saved.\n", + "\n", + "It is also possible to save a graph as a PDF file by changing the `.png` extension to `.pdf`.\n", + "\n", + "Note the `plt.savefig()` command must go *before* the `plt.show()` command. If you do not do this, then the saved image file will be blank. \n", + "\n", + "If you save two graphs with the same name in the same directory, the previous plot will be written over by the newer plot. Give all your plots meaningful names to avoid this." + ] + }, + { + "cell_type": "markdown", + "id": "e0b87083", + "metadata": {}, + "source": [ + "
\n", + "
Exercise: Export a plot as an image \n", + "\n", + "---\n", + "\n", + "Take the following code generating some functions and add a line of code that will save the figure as an image somewhere on your device. This could be a directory labelled \"Images\" or \"Plots\", for example. \n", + "\n", + "```Python\n", + "from matplotlib import pyplot as plt\n", + "\n", + "x = [0,1,2,3,4,5,6,7,8,9,10]\n", + "y_linear = [0,1,2,3,4,5,6,7,8,9,10]\n", + "y_quadratic = [0,1,4,9,16,25,36,49,64,81,100]\n", + "y_cubic = [0,1,8,27,64,125,216,343,512,729,1000]\n", + "\n", + "plt.plot(x, y_linear, color=\"green\", label=\"Linear $y = x$\")\n", + "plt.plot(x, y_quadratic, color=\"red\", label=\"Quadratic $y = x^2$\")\n", + "plt.plot(x, y_cubic, color=\"blue\", label=\"Cubic $y = x^3$\")\n", + "plt.legend()\n", + "plt.title(\"Linear, Quadratic and Cubic Functions\")\n", + "plt.show()\n", + "```\n", + "\n", + "
\n", + "
" + ] + }, + { + "cell_type": "markdown", + "id": "384901ce", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "```Python\n", + "from matplotlib import pyplot as plt\n", + "\n", + "x = [0,1,2,3,4,5,6,7,8,9,10]\n", + "y_linear = [0,1,2,3,4,5,6,7,8,9,10]\n", + "y_quadratic = [0,1,4,9,16,25,36,49,64,81,100]\n", + "y_cubic = [0,1,8,27,64,125,216,343,512,729,1000]\n", + "\n", + "plt.plot(x, y_linear, color=\"green\", label=\"Linear $y = x$\")\n", + "plt.plot(x, y_quadratic, color=\"red\", label=\"Quadratic $y = x^2$\")\n", + "plt.plot(x, y_cubic, color=\"blue\", label=\"Cubic $y = x^3$\")\n", + "plt.legend()\n", + "plt.title(\"Linear, Quadratic and Cubic Functions\")\n", + "pls.savefig(\"C:/Users/Lilly/Plot-Images/functions_plot.png\")\n", + "plt.show()\n", + "```\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "45f73e90", + "metadata": {}, + "source": [ + "## Implicit and Explicit methods" + ] + }, + { + "cell_type": "markdown", + "id": "aa20c375", + "metadata": {}, + "source": [ + "As hinted at earlier, Matplotlib has [two main interfaces](https://matplotlib.org/stable/users/explain/figure/api_interfaces.html#api-interfaces): the implicit \"pyplot\" interface which is functions based, and the explicit \"Axes\" interface which is object-based.\n", + "\n", + "- The implicit interface only keeps track of the last Figure and Axes created, and adds design elements automatically to the object it thinks the user wants. This uses fewer lines of code.\n", + "\n", + "- The explicit interface defines each Figure or Axes object and design elements must be added to that object *explicitly*, building the visualisation step by step. This uses more lines of code, but results in less confusion for a long program with many outputs." + ] + }, + { + "cell_type": "markdown", + "id": "c209380d", + "metadata": {}, + "source": [ + "| Implicit form | Explicit form |\n", + "| --- | --- |\n", + "| Pyplot interface, functions based | Axes interface, object-based |\n", + "| Elements are automatically applied to the figure Python thinks you are working on. | You define each figure and call their specific names when adding elements. |\n", + "| Fewer lines of code needed. | More lines of code needed. |\n", + "| Useful if you only want to produce one figure, but may cause issues with multiple. | Better if you are producing multiple figures. |\n", + "| Figure is generated automatically with `plt.plot()`. | Figure is generated using `fig_name = plt.figure()` and subsequent plots added using `fig_name, ax = subplots()`, where ax is a variable describing the set of axes onto which things will be plotted. |\n", + "| Design elements are called using `plt.` alias, as in `plt.title(\"Plot Title\")`. | Design elements are called using the variable describing the axis you want to apply the design elements to, often called `ax`, as in `ax.set_title(\"Plot Title\")`. |\n", + "| Design functions are not preceded by the word 'set', as in `plt.title()`, `plt.xlabel`, etc. | Design functions are usually preceded by the word 'set', as in `ax.set_title()`, `ax.set_xlabel`, etc. |" + ] + }, + { + "cell_type": "markdown", + "id": "e1eb3220", + "metadata": {}, + "source": [ + "We have already seen above how the implicit form of Matplotlib.Pyplot works. Here, we will explain how the explicit form works.\n", + "\n", + "```Python\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "ax.plot([1,2,3,4], [1,4,9,16])\n", + "plt.show()\n", + "```\n", + "\n", + "- In the first line, `fig = plt.figure()`, a blank figure is created. The figure is like the backing for your plot, an empty canvas onto which you can put diagrams and plots. You can put multiple plots onto the same figure. You can also resize your figure to the dimensions you want. The figure is assigned the variable name `fig`. \n", + "\n", + "- In the second line, `ax = fig.subplots()`, a set of axes is added onto the figure. The axes are given the variable name `ax`.\n", + "\n", + "- In the third line, `ax.plot([1,2,3,4], [1,4,9,16])`, those data points are plotted onto the axes named `ax`. \n", + "\n", + "- Finally, the plot is displayed to the screen using `plt.show()`.\n", + "\n", + "Design elements can be added to the axes in a similar way as implicitly, except the function names are generally preceded by the word `set`, and refer to the ax variable name, not plt. For example, `ax.set_title(\"Plot Title\")`" + ] + }, + { + "cell_type": "markdown", + "id": "386b1667", + "metadata": {}, + "source": [ + "## Additional Matplotlib capabilities." + ] + }, + { + "cell_type": "markdown", + "id": "ef5bf941", + "metadata": {}, + "source": [ + "There are many other capabilities that may be of use to you. Here are some links to potentially useful MarPlotLib documentation. \n", + "\n", + "- Adding [multiple subplots to the same figure](https://matplotlib.org/stable/users/explain/axes/index.html).\n", + "- Make a plot with [log scaling on the y axis](https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.semilogy.html). Similar functions exist for the x axis, and to make both axes scale logarithmically.\n", + "- Adding [error bars](https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.errorbar.html).\n", + "- Creating a [bar graph](https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.bar.html).\n", + "- Creating a [pie chart](https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.pie.html).\n", + "- Creating a [3D plot](https://matplotlib.org/stable/gallery/mplot3d/index.html). \n", + "- Creating a [stem plot](https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.stem.html).\n", + "\n", + "A full list of matplotlib.pyplot functions can be found in the documentation [here](https://matplotlib.org/stable/api/pyplot_summary.html). " + ] + }, + { + "cell_type": "markdown", + "id": "5acc0b74", + "metadata": {}, + "source": [ + "## Further Practice" + ] + }, + { + "cell_type": "markdown", + "id": "a53a40ba", + "metadata": {}, + "source": [ + "### Question 1" + ] + }, + { + "cell_type": "markdown", + "id": "c1034573", + "metadata": {}, + "source": [ + "Write a function that will take plot x and y data according to a pre-set design, display it to the screen, and save it to a specified file. The function should allow the user to assign a title, a filename or filepath, and names for the x and y axes. The title, filename, and axes labels should take logical default values. Don't forget a dosctring!\n", + "\n", + "Here is some data you can use to test your code:\n", + "\n", + "```\n", + "gaussian_x = [-3.0, -2.5, -2.0, -1.5, -1.0, -0.5, 0.0, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0]\n", + "gaussian_y = [0.01, 0.04, 0.14, 0.32, 0.61, 0.88, 1.0, 0.88, 0.61, 0.32, 0.14, 0.04, 0.01]\n", + "```\n", + "\n", + "In you can't remember how to do this, look back at the [functions lesson](../loops_functions/functions_and_scope.ipynb) to revise functions, default arguments, and docstrings. " + ] + }, + { + "cell_type": "markdown", + "id": "150a90b7", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "The code below takes two positional arguments, and four default arguments. It will create a line plot formatted in a specific style, and the user can specify the title, filename/path, and x and y labels.\n", + "\n", + "```Python\n", + "import matplotlib.pyplot as plt\n", + "\n", + "\n", + "def plot_line(x, y, title=\"My Plot\", filename=\"my_plot.png\", x_label=\"x-axis\", y_label=\"y-axis\"):\n", + " \"\"\"\n", + " Plot a formatted line graph with specified x and y data, display plot and save it as an image.\n", + "\n", + " Parameters:\n", + " ============\n", + " x : list\n", + " x-axis data\n", + " y : list\n", + " y-axis data\n", + " title : str, optional\n", + " Title of the plot (default is \"My Plot\")\n", + " filename : str, optional\n", + " Name of the file to save the plot (default is \"my_plot.png\").\n", + " You can specify a full path if you want to save it in a specific directory.\n", + " x_label : str, optional\n", + " Label for the x-axis (default is \"x-axis\")\n", + " y_label : str, optional \n", + " Label for the y-axis (default is \"y-axis\")\n", + "\n", + " Returns:\n", + " ========\n", + " None\n", + " \"\"\"\n", + "\n", + " # Plot line\n", + " plt.plot(x, y, marker=\"h\", markersize=3, linestyle=\"-\", color=\"navy\")\n", + "\n", + " # Set labels\n", + " plt.title(title, weight=\"bold\") # Insert title\n", + " plt.xlabel(x_label, weight=\"bold\") # x-axis label\n", + " plt.ylabel(y_label, weight=\"bold\") # y-axis label\n", + "\n", + " # Add grid\n", + " plt.grid(True, which=\"major\", color=\"grey\", linewidth=1) # Major grid lines\n", + " plt.grid(True, which=\"minor\", color=\"grey\", linewidth=0.5) # Minor grid lines\n", + "\n", + " # Allow automatic minor ticks to be generated\n", + " plt.minorticks_on()\n", + "\n", + " # Limits and ticks are set automatically based on data\n", + "\n", + " # Save and display the figure\n", + " plt.savefig(filename)\n", + " plt.show()\n", + " return\n", + "\n", + "\n", + "gaussian_x = [-3.0, -2.5, -2.0, -1.5, -1.0, -0.5, 0.0, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0]\n", + "gaussian_y = [0.01, 0.04, 0.14, 0.32, 0.61, 0.88, 1.0, 0.88, 0.61, 0.32, 0.14, 0.04, 0.01]\n", + "\n", + "plot_line(gaussian_x, gaussian_y, title=\"Gaussian Plot\", filename=\"./code/images/gaussian_plot.png\")\n", + "```\n", + "\n", + "In this plot design, we have used the Pyplot function `minorticks_on()` which automatically generates minor ticks. Since we have not specified tick locations, Matplotlib automatically generates them.\n", + "\n", + "The function is called just using `plot_line()`.\n", + "\n", + "Don't forget to add a docstring to describe what your function does! \n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "5b863325", + "metadata": {}, + "source": [ + "### Question 2" + ] + }, + { + "cell_type": "markdown", + "id": "693c5072", + "metadata": {}, + "source": [ + "Cyclic voltammetry (CV) is an electrochemical technique which measures the current in an electrochemical cell against voltage, first a forward scan from low voltage to high voltage, followed by a reverse scan. A cyclic voltammogram is the plot generated from each measurement of current against voltage. The shape of the cyclic voltammogram can tell you whether the reaction at the electrode is electrochemically reversible, irreversible, or quasi-irreversible. \n", + "\n", + "Use Pyplot and the function from the previous question to plot a cyclic voltammetry curve from {download}`cyclic_voltammetry_data.csv<./downloads/cyclic_voltammetry_data.csv>`.\n", + "\n", + "You should get a voltammogram that looks something like this (make sure to relabel the title and axes appropriately!):\n", + "\n", + "\n", + "\n", + "**Hint**: Make sure to open the CSV file and look at the headers to figure out how to parse them. They may also give you information that you should label on your plot." + ] + }, + { + "cell_type": "markdown", + "id": "0d1fc051", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "Your cyclic voltammogram should look something like this:\n", + "\n", + "\n", + "\n", + "Our code can use the function we defined in the previous question to generate this plot. We first import Pyplot, then define our function, then we can insert the code that reads our CSV file, extracts the data, and calls the function to plot our cyclic voltammogram.\n", + "\n", + "```Python\n", + "from matplotlib import pyplot as plt\n", + "\n", + "\n", + "def plot_line(x, y, title=\"My Plot\", filename=\"my_plot.png\", x_label=\"x-axis\", y_label=\"y-axis\"):\n", + " \"\"\"\n", + " Plot a formatted line graph with specified x and y data, display plot and save it as an image.\n", + "\n", + " Parameters:\n", + " ============\n", + " x : list\n", + " x-axis data\n", + " y : list\n", + " y-axis data\n", + " title : str, optional\n", + " Title of the plot (default is \"My Plot\")\n", + " filename : str, optional\n", + " Name of the file to save the plot (default is \"my_plot.png\").\n", + " You can specify a full path if you want to save it in a specific directory.\n", + " x_label : str, optional\n", + " Label for the x-axis (default is \"x-axis\")\n", + " y_label : str, optional\n", + " Label for the y-axis (default is \"y-axis\")\n", + "\n", + " Returns:\n", + " ========\n", + " None\n", + " \"\"\"\n", + "\n", + " # Plot line\n", + " plt.plot(x, y, marker=\"h\", markersize=3, linestyle=\"-\", color=\"navy\")\n", + "\n", + " # Set labels\n", + " plt.title(title) # Insert title\n", + " plt.xlabel(x_label) # x-axis label\n", + " plt.ylabel(y_label) # y-axis label\n", + "\n", + " # Add grid\n", + " plt.grid(True, which=\"major\", color=\"grey\", linewidth=1) # Major grid lines\n", + " plt.grid(True, which=\"minor\", color=\"grey\", linewidth=0.5) # Minor grid lines\n", + "\n", + " # Allow automatic minor ticks to be generated\n", + " plt.minorticks_on()\n", + "\n", + " # Limits and ticks are set automatically based on data\n", + "\n", + " # Save and display the figure\n", + " plt.savefig(filename)\n", + " plt.show()\n", + " return\n", + "\n", + "\n", + "# Read data from CSV file and save to lists\n", + "with open(\"cyclic_voltammetry_data.csv\", \"r\") as file:\n", + " x_data = []\n", + " y_data = []\n", + " file = file.read()\n", + " content = file.split(\"\\n\")\n", + " for line in content:\n", + " if line[0] == \"#\": # Skip header line\n", + " continue\n", + " else:\n", + " line = line.split(\",\")\n", + " x_data.append(float(line[0]))\n", + " y_data.append(float(line[1]))\n", + "\n", + "# Plot the data\n", + "plot_line(\n", + " x_data,\n", + " y_data,\n", + " title=\"Cyclic Voltammetry of 5 mM ferrocene in 0.1 M TBAPF$_6$/MeCN\",\n", + " filename=\"cyclic_voltammetry_plot.png\",\n", + " x_label=\"Voltage (V)\",\n", + " y_label=\"Current ($\\mu$A)\",\n", + ")\n", + "\n", + "```\n", + "\n", + "Make sure you have specified the correct file directory to access the CSV file!\n", + "\n", + "You may notice in this solution that when we call the function `plot_line`, the arguments are stacked vertically. This is a style chosen because otherwise the line becomes very long and difficult to read. Readability and consistency is very important when programming in Python, and so there is a style guide called Pep8 which guides the best practice when writing Python code. Have a look at the [Python style guide lesson](../solving_problems/style-and-comments.ipynb) for a summary of the best style practices. \n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "537b8740", + "metadata": {}, + "source": [ + "## Summary" + ] + }, + { + "cell_type": "markdown", + "id": "562e5e23", + "metadata": {}, + "source": [ + "- Import Matplotlib.Pyplot using the command: `from matplotlib import pyplot as plt`. \n", + "- Generate a line graph using `plt.plot(x, y)`, where x and y are lists (or numpy arrays) of corresponding x and y coordinates. \n", + "- Generate a scatter graph using `plt.scatter(x, y)`, where x and y are lists (or numpy arrays) of corresponding x and y coordinates.\n", + "- Use `plt.show()` to display your plot. \n", + "- Add labels using `plt.title(\"Plot Title\")`, `plt.xlabel(\"x-axis title\")`, `plt.ylabel(\"y-axis label\")` and `plt.legend(\"Legend\")`. \n", + "- Add graph styles using `plt.grid()`, `plt.xticks()`, `plt.yticks()`, and set minor ticks either using `plt.minorticks_on()` or `plt.xticks([0,1,2,...,100], minor=True)`. Set axis limits using `plt.xlim()` or `plt.ylim()`.\n", + "- Use LaTeX to format strings into scientific notation.\n", + " - Insert LaTeX by surrounding the items with dollar signs `$`.\n", + " - Insert superscript using `$cm^{-1}$` and subscript using `$C_{80}$`.\n", + " - Insert Greek letters using backslash, e.g. `$\\pi$` ($\\pi$) or `$\\Pi$` ($\\Pi$).\n", + " - Insert other symbols using a backslash, e.g. `$\\rightarrow$` for $\\rightarrow$, `$\\times$` for $\\times$, `$\\rightleftharpoons$` for $\\rightleftharpoons$\n", + " - Insert a small gap using a backslash, e.g. `$mol \\ dm^{-3}$` to create a gap between 'mol' and 'dm', $mol \\ dm^{-3}$\n", + " - Add fractions using `$\\frac{numerator}{denominator}$`, $\\frac{numerator}{denominator}$.\n", + "\n", + "- Use more than one `plt.plot()` or `plt.scatter()` line to plot multiple datasets on the same axis. \n", + " - Add labels to each `plt.plot()` to auto-generate a legend. E.g. `plt.plot(x, y, label=\"Data Series A\")`\n", + "\n", + "- The implicit interface only keeps track of the last figure and axis created. It requires fewer lines of code, and elements are added using `plt.` and the function.\n", + "- The explicit interface requires a specific figure and axis to be called to add design elements. It requires more lines of code, elements are added using `ax.` (where ax is often the variable name given to a certain axis), and functions are usually preceded by `set_`.\n", + "\n", + "- Save your files using `plt.savefig()`.\n", + "- Understand the difference between Matplotlib's implicit form (used throughout the lesson), and its explicit form." + ] + }, + { + "cell_type": "markdown", + "id": "a15b9887", + "metadata": {}, + "source": [ + "## Useful Matplotlib links" + ] + }, + { + "cell_type": "markdown", + "id": "4d269fbb", + "metadata": {}, + "source": [ + "List of [Matplotlib.Pyplot functions](https://matplotlib.org/stable/api/pyplot_summary.html)\n", + "\n", + "Styles:\n", + "\n", + "- [Line2DStyles](https://matplotlib.org/stable/api/_as_gen/matplotlib.lines.Line2D.html)\n", + "\n", + "- [Supported colours](https://matplotlib.org/stable/gallery/color/named_colors.html)\n", + "\n", + "- [Text styles](https://matplotlib.org/stable/users/explain/text/text_props.html)\n", + "\n", + "Graph elements:\n", + "\n", + "- [Using and designing a legend](https://matplotlib.org/stable/users/explain/axes/legend_guide.html)\n", + "\n", + "- [List of possible markers](https://matplotlib.org/stable/api/markers_api.html#module-matplotlib.markers)\n", + "\n", + "- [Adding multiple subplots to the same figure](https://matplotlib.org/stable/users/explain/axes/index.html). This adds multiple plots side-by-side on the same figure, and is usually accessed using Matplotlib's explicit interface.\n", + "\n", + "- Plot with [log scaling on the y axis](https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.semilogy.html). Similar functions exist for the x axis, and to make both axes scale logarithmically.\n", + "\n", + "- Adding [error bars](https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.errorbar.html).\n", + "\n", + "Plot types:\n", + "\n", + "- Creating a [bar graph](https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.bar.html).\n", + "\n", + "- Creating a [pie chart](https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.pie.html).\n", + "\n", + "- Creating a [3D plot](https://matplotlib.org/stable/gallery/mplot3d/index.html). \n", + "\n", + "- Creating a [stem plot](https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.stem.html).\n", + "\n" + ] + } + ], + "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.12.3" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/lessons/common_libs/python-in-chem_pyplot_basics_SM.ipynb b/lessons/common_libs/python-in-chem_pyplot_basics_SM.ipynb deleted file mode 100644 index 84c169bb..00000000 --- a/lessons/common_libs/python-in-chem_pyplot_basics_SM.ipynb +++ /dev/null @@ -1,466 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "8ea296df-22a6-4136-a2fc-901fb1c81f68", - "metadata": { - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, - "source": [ - "# Matplotlib Pyplot Basics\n", - "\n", - "
\n", - "\n", - "## Pre-requesites\n", - "\n", - "- Variables\n", - "- Lists\n", - "- ...\n", - "- ...\n", - "- ...\n", - "- ...\n", - "\n", - "
\n", - "\n", - "## Learning Outcomes\n", - "\n", - "- Plot scatter and line plots of lists of data\n", - "- Include axis labels\n", - "- Modify some of the appearances of the plots \n", - "\n", - "One of the important applications of Python is to create high quality visualisations such as graphs. There are multiple libraries that can be used for producing plots, but one of the most widely used in chemistry is `matplotlib`.\n", - "\n", - "\n", - "The library `matplotlib` has multiple modules. The module of interest here is `pyplot` and its primary function is generating data plots. This module has a widely used alias, `plt`, and can be imported using the following line of code.\n", - "\n", - "`import matplotlib.pyplot as plt`\n", - "\n", - "### Line plots\n", - "\n", - "One of the most important commands within the `pyplot` module is `plt.plot(x,y)`. This command instructs Python to produce a line plot of data contained in the list with variable name `x` on the horizontal axis and the data contained in the list with variable name `y` on the vertical axis." - ] - }, - { - "cell_type": "markdown", - "id": "b22a7fac-c022-4a7f-93d1-9995bb2b488e", - "metadata": { - "slideshow": { - "slide_type": "" - }, - "tags": [ - "instructions" - ] - }, - "source": [ - "### Activity 1 Plotting a line graph\n", - "\n", - "\n", - "The code below implements `pyplot` to plot a line graph of the following atomic radii data.\n", - "\n", - "**Table 1** Atomic radii of second row p-block elements\n", - "\n", - "|Element |\tGroup\t| Atomic radii / pm |\n", - "|---|---|---|\n", - "|$\\text{B}$|\t13\t|$88$|\n", - "|$\\text{C}$|\t14\t|$77$|\n", - "|$\\text{N}$|\t15\t|$74$|\n", - "|$\\text{O}$|\t16\t|$73$|\n", - "|$\\text{F}$|\t17\t|$71$|\n", - "|$\\text{Ne}$|\t18\t|$71$|\n", - "\n", - "(a)\tEnter the data contained in the list for the `radii` variable.\n", - "\n", - "(b)\tChange the strings contained in the `plt.xlabel(\"horizontal axis title\")` and `plt.ylabel(\"vertical axis title\")` to reflect the data that is being plotted\n", - "\n", - "Possible (c) ..... discuss the trend?????\n" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "33eee2a9-87e2-4392-b5ac-17b797f550d9", - "metadata": { - "slideshow": { - "slide_type": "" - }, - "tags": [ - "student" - ] - }, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYgAAAEGCAYAAAB/+QKOAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAALEwAACxMBAJqcGAAAKrtJREFUeJzt3Xl8VfWd//HXJwvZIGFJWBICgaCooKJeUFEQ1FqrrVoXRu1irXWD2tGOnY4zvxk77XS6Oa3Tjqi4lNZaRrBUreNaZVNRDAjIWnbCvhN2SPL5/XEPGPEmuUDuPcnN+/l4nAf3nHuW92lsPvme7znfY+6OiIjI0dLCDiAiIs2TCoSIiMSkAiEiIjGpQIiISEwqECIiElNG2AGaUmFhoZeVlYUdQ0SkxZg5c+YWdy+K9V1KFYiysjIqKirCjiEi0mKY2ar6vtMlJhERiUkFQkREYlKBEBGRmFQgREQkJhUIERGJSQVCRERiUoEQEZGYWn2B2H+ohiemLuf95VvDjiIi0qy0+gJhBk++s5yH//q3sKOIiDQrrb5AZGWkc/uQ3ry/fBszV20PO46ISLPR6gsEwE2DetA+N5NHJy8NO4qISLOR0AJhZveZ2Xwzm2dm48ws28ymmdnsYFpnZi/Us21NnfVeSmTOvKwMbh3ci78u3MTC9VWJPJSISIuRsAJhZiXAd4CIu/cH0oEb3X2Iuw9w9wHAdGBiPbvYd3g9d78qUTkPu2VwT/LapPPo5GWJPpSISIuQ6EtMGUCOmWUAucC6w1+YWT5wMfBCgjPEpX1uG756Xk9enruOlVv2hB1HRCR0CSsQ7r4WeAhYDawHdrr7G3VWuQZ4y93ru6aTbWYVZva+mV1T33HM7I5gvYrNmzefUObbLuxFRnoaj09VK0JEJJGXmDoAVwO9gGIgz8y+WmeVm4BxDeyip7tHgJuBh82sPNZK7j7G3SPuHikqivnOi7h1zs9mRKQ7z89cw4ad+09oXyIiLV0iLzFdCqxw983ufohoX8NgADMrBAYB/1ffxkELBHdfDkwGzkpg1iPuHFpOrcOT05Yn43AiIs1WIgvEauA8M8s1MwMuARYG310PvOzuMf9MN7MOZpYVfC4ELgAWJDDrEaUdc7nqzGKe/WA12/ccTMYhRUSapUT2QXwAPA/MAj4OjjUm+PpGjrq8ZGYRM3symD0VqDCzOcAk4KfunpQCAXD3sHL2Harht++tTNYhRUSaHXP3sDM0mUgk4k31Tuo7fl/B+8u38t4Dl9A2K6Ve3S0icoSZzQz6ez9DT1LXY+TwPlTtr+bZ9+t9n7eISEpTgajHgNL2XNinkCffWcH+QzVhxxERSToViAaMHFbO5l0HeH7mmrCjiIgknQpEA84v78SA0vY8NmUZ1TW1YccREUkqFYgGmBmjhvdhzfZ9/GXuusY3EBFJISoQjbjklM707dKO0ZOWUVubOnd8iYg0RgWiEWlpxsjh5SzZtJs3F24MO46ISNKoQMThytO70aNjLqMnLSWVnhsREWmICkQcMtLTuPOi3sxZs5P3lm0NO46ISFKoQMTpurO707ldFo9M0mtJRaR1UIGIU3ZmOrcP6c17y7Yya/X2sOOIiCScCsQxuPncHhTkZDJ6kl4oJCKpTwXiGORlZXDrBWX8deFGFm2o70V4IiKpQQXiGH1jcBm5bdJ5dLJaESKS2lQgjlH73DZ85dwe/GXOOlZv3Rt2HBGRhFGBOA7fGtKbjLQ0HpuqVoSIpC4ViOPQJT+b6yPdeb5iDRurYr41VUSkxVOBOE53DS2nuraWJ6ctDzuKiEhCqEAcpx6dcrnqzGKe/WA12/ccDDuOiEiTU4E4AXcP68PegzWMfW9l2FFERJpcQguEmd1nZvPNbJ6ZjTOzbDMba2YrzGx2MA2oZ9tbzGxJMN2SyJzHq2/Xdlx6ahfGvreS3Qeqw44jItKkElYgzKwE+A4Qcff+QDpwY/D199x9QDDNjrFtR+BB4FxgEPCgmXVIVNYTMXJ4OTv3HWLcB6vDjiIi0qQSfYkpA8gxswwgF4j3tWyfB950923uvh14E7g8QRlPyNk9OjC4vBNPTFvO/kM1YccREWkyCSsQ7r4WeAhYDawHdrr7G8HXPzazuWb2KzPLirF5CVBZZ35NsOwzzOwOM6sws4rNmzc34RnEb9TwPmzadYA/zVoTyvFFRBIhkZeYOgBXA72AYiDPzL4KPACcAgwEOgLfP5HjuPsYd4+4e6SoqOgEUx+fweWdOLO0PY9NWUZ1TW0oGUREmloiLzFdCqxw983ufgiYCAx29/UedQD4LdE+hqOtBUrrzHcPljVLZsaoYeVUbtvHy3PXhx1HRKRJJLJArAbOM7NcMzPgEmChmXUDCJZdA8yLse3rwGVm1iFoiVwWLGu2Lj21Cyd1bsujk5dRW6vXkopIy5fIPogPgOeBWcDHwbHGAM+a2cfBskLgPwDMLGJmTwbbbgN+BHwYTD8MljVbaWnGyOHlLN64i7cWbQo7jojICTP31PlrNxKJeEVFRWjHr66pZdhDk+nUNosXRg4m2kgSEWm+zGymu0difacnqZtQRnoad11UzpzKHUxftjXsOCIiJ0QFooldf053itpl8cjkpWFHERE5ISoQTSw7M53bh/Ti3aVbmV25I+w4IiLHTQUiAW4+tycFOZmMnqRWhIi0XCoQCdA2K4NbBpfxxoKN/G3jrrDjiIgcFxWIBLl1cBm5bdJ5dLJeSyoiLZMKRIJ0yGvDzYN68NKcdazeujfsOCIix0wFIoG+NaQ36WY8PlWtCBFpeVQgEqhrQTbXndOdCRVr2FS1P+w4IiLHRAUiwe66qDfVtbU89c6KsKOIiBwTFYgE69kpjy+eUcwf3l/Fjr0Hw44jIhI3FYgkuHtYOXsO1vC791aFHUVEJG4qEElward8Lj21M799bwV7DlSHHUdEJC4qEEkycngfduw9xLgZq8OOIiISFxWIJDm7RwfO792JJ6Yt50B1TdhxREQapQKRRKOG92Fj1QEmzmq2b08VETlCBSKJLujTiTO6F/DYlGVU19SGHUdEpEEqEElkZowc1odVW/fyfx+vDzuOiEiDVCCS7LLTutCnc1tGT1pGbW3qvO5VRFJPowXCzLqY2VNm9mowf5qZ3Zb4aKkpLc0YOaycxRt38faiTWHHERGpVzwtiLHA60BxMP834N54dm5m95nZfDObZ2bjzCzbzJ41s8XBsqfNLLOebWvMbHYwvRTP8VqKL51ZTPcOOTwyeSnuakWISPMUT4EodPfxQC2Au1cDjd6naWYlwHeAiLv3B9KBG4FngVOA04Ec4Fv17GKfuw8IpqviyNliZKancedF5Xy0egfvL98WdhwRkZjiKRB7zKwT4ABmdh6wM879ZwA5ZpYB5ALr3P0VDwAzgO7HkbvFu+Gc7hS2zWL0ZL2WVESap3gKxHeBl4ByM3sX+D1wT2Mbufta4CFgNbAe2Onubxz+Pri09DXgtXp2kW1mFWb2vpldU99xzOyOYL2KzZs3x3E6zUN2ZjrfGtKLaUu2MKdyR9hxREQ+o9EC4e6zgIuAwcCdQD93n9vYdmbWAbga6EW0/yLPzL5aZ5XRwFR3n1bPLnq6ewS4GXjYzMrryTfG3SPuHikqKmosVrPylXN7kJ+doVaEiDRLGfV9YWbX1vPVyWaGu09sZN+XAivcfXOwv4lEi8wfzOxBoIhowYkpaIHg7svNbDJwFpBSr2Zrl53JNwaX8eu3l7Jk4y5O6tIu7EgiIkc01IL4UgPTF+PY92rgPDPLNTMDLgEWmtm3gM8DN7l7zMeJzayDmWUFnwuBC4AF8Z1Sy/KNC3qRk5nOo1NSqvaJSAqotwXh7rcCmFkvd//U69DMrFdjO3b3D8zseWAWUA18BIwB9gCrgOnRusFEd/+hmUWAu9z9W8CpwONmVku0iP3U3VOyQHTMa8PN5/Zg7Hsrue/SkyntmBt2JBERAKyx+/DNbJa7n33Uspnufk5Ckx2HSCTiFRUVYcc4Zut37mPozydx48Ae/Oia/mHHEZFWJPh9Hon1XUN9EKcA/YCCo/oj8oHspo3YunUryOG6s7vzXEUl91zSh87t9D+viISvoT6IvkT7Gtrz6f6Hs4HbE56slbnzonKqa2p56p0Vja8sIpIEDfVBvAi8aGbnu/v0JGZqlXoV5nHlGcX8YfoqRl7Uh4LcmCOQiIgkTb0tCDP7x+DjzWb266OnJOVrVUYOK2fPwRp+P31l2FFEROpvQQALg39bXq9vC3Vqt3wuOaUzT7+7gtuG9CK3TUM/HhGRxKq3BeHufwk+7nX339WdgL3Jidf6jBxezva9hxg3ozLsKCLSysUzFtMDcS6TJnBOz46c26sjT0xdzoHqRgfNFRFJmIb6IL5gZr8BSo7qfxhL9ME3SZBRw/uwoWo/f561NuwoItKKNdSCWEe0/2E/MLPO9BLRoTIkQYacVMjpJQU8NmUZNXotqYiEpKHbXOcAc8zsj+5+KImZWj0zY9Twcu76wyxe+Xg9XzqzuPGNRESaWDzDfas4hOCy07pSXpTHI5P0WlIRCUc8ndQSgrQ04+5hfVi0YReTFm8KO46ItELHVCDMLM3M8hMVRj7t6gHFlLTP4X/eVitCRJKv0QJhZn80s3wzywPmAQvM7HuJjyaZ6WnceVFvZq3ewQcrtoUdR0RamXhaEKe5exVwDfAq0VeIfi2RoeQTIyKlFLZtwyOT9FpSEUmueApEppllEi0QLwWd1rrekSTZmencdmFvpi3ZwsdrdoYdR0RakXgKxOPASiAPmGpmPYGqRIaST/vqeT1ol53B6MlqRYhI8sRzm+uv3b3E3a/wqFXA8CRkk0C77ExuOb+M1+ZvYOmmXWHHEZFWoqGhNr4a/PvdoyfgO0lLKADcekEZWRlpPDp5edhRRKSVaKgFkRf8266eSZKoU9ssbhrUgxdmr6VymwbTFZHEa2i478eDf//96An4STw7N7P7zGy+mc0zs3Fmlm1mvczsAzNbambPmVmberZ9IFhnsZlp7Cfg9iG9STN4YppaESKSePE8BzHZzMrqzA8EPoxjuxKil6Ii7t4fSAduBH4G/Mrd+wDbgdtibHtasG4/4HJgtJmlx3NCqay4fQ7XntWd5z6sZPOuA2HHEZEUF89dTD8BXjOzkWb2Y6J3Nd0a5/4zgBwzywBygfXAxcDzwfe/I3r77NGuBv7X3Q+4+wpgKTAozmOmtLuGlXOoppan310RdhQRSXHx3MX0OnAX8N/AN4Er3H1WHNutBR4CVhMtDDuJDhe+w90Pv09iDVASY/MSoO4r1epbDzO7w8wqzKxi8+bNjcVq8XoV5vGF07vxzPRV7NyncRRFJHHiucT0r8BvgKHAD4DJZnZlHNt1INoS6AUUE+30vvxEwsbi7mPcPeLukaKioqbefbM0clg5uw9U88z0lWFHEZEUFs8lpk7AIHefHnRcfx64N47tLgVWuPvm4OnricAFQPvgkhNAdyDWa9PWAqV15utbr1XqV1zA8L5FPP3uSvYe1Mv9RCQx4rnEdK+776szv8rdPxfHvlcD55lZrpkZcAmwAJgEXB+scwvwYoxtXwJuNLMsM+sFnATMiOOYrcao4X3Ytucg/zujsvGVRUSOQzyXmIrM7CEze8XM3j48Nbadu39AtDN6FvBxcKwxwPeB75rZUqKtk6eC41xlZj8Mtp0PjCdaUF4DRrl7zXGdYYqKlHVkUK+OPDFtOQera8OOIyIpyBp7z4CZvQE8B9xPtLP6FmCzu38/8fGOTSQS8YqKirBjJM2Uv23mlqdn8PPrzmDEwNLGNxAROYqZzXT3SKzv4uqDcPengEPuPsXdv0n0VlUJ2dCTCulXnM+jU5ZRU6sBdkWkacVTIA7fS7nezK40s7OAjgnMJHEyM0YN78OKLXt4dd76sOOISIqJp0D8h5kVAP9A9DLTk8B9CU0lcft8v670LsrjkUnL9FpSEWlS8dzF9LK773T3ee4+3N3PcfeXkhFOGpeeZtx9UTkL11cxeXHqPygoIskTTwtCmrlrziqhpH2OXigkIk1KBSIFZKanccfQ3ny4cjszVmwLO46IpAgViBTxdwNLKWzbhkcmqRUhIk0jo74vgjfH1cvdf9n0ceR4ZWemc+sFvfjF64uZt3Yn/UsKwo4kIi1cQy2I+t4kpzfKNVNfO78n7bIy1BchIk2i3hZE8OY4aUHyszP5+uCejJ68jKWbdtOnc9uwI4lICxbPWEzZZjbKzEab2dOHp2SEk2N36wW9yMpI4/Epy8KOIiItXDyd1M8AXYkO8z2F6NDbuxIZSo5fYdssbhzYgz9/tJa1O/Y1voGISD3iKRB93P1fgT3u/jvgSuDcxMaSE3HH0N4APDF1echJRKQlO5axmHaYWX+gAOicuEhyoorb5/Dls0oYN2M1W3YfCDuOiLRQ8RSIMcHrQ/8f0Rf5LAB+ntBUcsLuGlbOwZpann5nRdhRRKSFimcspifdfbu7T3X33u7e2d0fS0Y4OX7lRW25on83npm+iqr9hxrfQETkKPHcxfSfZta+znwHM/uPhKaSJnH3sHJ2Hajmmemrwo4iIi1QPJeYvuDuOw7PuPt24IqEJZIm07+kgGF9i3j6nRXsO6g3torIsYmnQKSbWdbhGTPLAbIaWF+akVHD+7B1z0Ge+3B12FFEpIWJp0A8C7xlZreZ2W3Am8DvEhtLmsrAso4MLOvAmKnLOVhdG3YcEWlB4umk/hnwY+DUYPqRuzd6F5OZ9TWz2XWmKjO718yeq7NspZnNrmf7lWb2cbBexTGel9Qxcngf1u3czwuz14YdRURakHrHYqrL3V8FXj2WHbv7YmAAgJmlA2uBP7v7w4fXMbP/AnY2sJvh7r7lWI4rnzXs5CJO65bPY1OWcd3Z3UlPs7AjiUgLUG8LwszeCf7dFfz1f3jaZWZVx3icS4Bl7n7kdhozM2AEMO54gkv8zIxRw/uwfPMeXp+/Iew4ItJC1Fsg3P3C4N927p5fZ2rn7vnHeJwb+WwhGAJsdPcl9UUA3jCzmWZ2R307NrM7zKzCzCo2b9Y7metzef+u9C7M45FJS3H3sOOISAsQz3MQz8SzrIHt2wBXAROO+uomGm49XOjuZwNfAEaZ2dBYK7n7GHePuHukqKgo3litTnqacdewcuavq2LK31RIRaRx8dzF1K/ujJllAOccwzG+AMxy941H7eNa4Ln6NnL3tcG/m4A/A4OO4ZgSwzUDSuhWkM3oSRoKXEQa11AfxANmtgs4o27/A7ARePEYjhGrpXApsMjd19Rz7Dwza3f4M3AZMO8YjikxtMlI446hvZmxchsfrtwWdhwRaeYa6oP4CdGRW39/VP9DJ3d/IJ6dB7/cPwdMPOqrz/RJmFmxmb0SzHYB3jGzOcAM4P/c/bX4TkkacuPAHnTMa8PoSXotqYg0rMHbXN291swGHu/O3X0P0CnG8m/EWLaOYAgPd18OnHm8x5X65bRJ57YLe/GL1xczafEmhvfVyO0iEls8fRCzTqRISPPz1fN60qNjLrf+9kNGPTuLym17w44kIs1QPAXiXGC6mS0zs7nB081zEx1MEqcgJ5PX7x3KfZeezFuLNnLJL6fwi9cXsedAddjRRKQZscbuiTeznrGW133orbmIRCJeUaFROY7F+p37+Nmri3hh9jo6t8viHy8/hWvPKiFNT1uLtApmNtPdI7G+i2csplVAKXBx8HlvPNtJy9CtIIeHbzyLiSMHU9w+h/snzOGa0e9SobucRFq9eB6UexD4PnD4zqVM4A+JDCXJd3aPDky8ezC/+rsz2VR1gOsfm8494z5i7Y59YUcTkZDE0xL4MtEnoffAkbuN2iUylIQjLc348lndefv+i/jOJSfxxvwNXPzQZH75xmL2HlT/hEhrE0+BOOjRjgqHI882SArLbZPBdz93Mm/fP4zP9+vKr99eysUPTeHPH62htlbjOIm0FvEUiPFm9jjQ3sxuB/4KPJHYWNIclLTP4dc3ncWf7j6fzvlZ3PfcHK599D1mrd4edjQRSYJG72ICMLPPER3uwoDX3f3NRAc7HrqLKXFqa52JH63l568tYtOuA1wzoJjvf+EUuhXkhB1NRE5AQ3cxxXOb63eB5w4PntecqUAk3p4D1Tw6eRljpi0nzeCui8q5c2g5OW3Sw44mIsfhhG5zJdoh/YaZTTOzb5tZl6aNJy1JXlYG93++L2999yIuObULD/91CRf/12RenL1W75kQSTFxXWICMLMzgL8DrgPWuPuliQx2PNSCSL4ZK7bxw5fnM29tFWf3aM+DX+rHmaXtw44lInE60RbEYZuADcBWQCO8CQCDenXkxVEX8vPrzmD1tn1c/ci7fHf8bDbs3B92NBE5QfE8KDfSzCYDbxEdmfV2dz8j0cGk5UhPM0YMLGXy94Zx97ByXp6znuEPTeY3by1h/6GasOOJyHGKp5P6J0Q7qWcnJdEJ0CWm5mH11r385NWFvDpvAyXtc3jgilO48vRumGl8J5Hm5oTuYmpJVCCal+nLtvLDlxewcH0VA8s68G9f7Mfp3QvCjiUidTRVH4TIMTm/vBMv33MhP7n2dJZv3sNVj7zD9ybMYVOV+idEWgIVCEmo9DTjpkE9mPS9YdwxpDcvzF7L8Icm88ikpeqfEGnmVCAkKfKzM3ngilN5876LuKBPIb94fTGX/nIKr3y8Xs9PiDRTKhCSVGWFeYz5eoQ/futc2mZlMPLZWdw45n3mrd0ZdjQROUrCCoSZ9TWz2XWmKjO718x+YGZr6yy/op7tLzezxWa21Mz+KVE5JRyD+xTy8j0X8uMv92fJpt186X/e4Z/+NJfNuw6EHU1EAkm5i8nM0oG1RN9vfSuw290famT9vwGfA9YAHwI3ufuCho6ju5happ37DvGbt5Yw9r2VZGem8+2L+3DrBWVkZWh8J5FEaw53MV0CLDuG91gPApa6+3J3Pwj8L3B1wtJJqApyMvl/XzyNN+4bynm9O/LTVxfxuV9O5bV5G9Q/IRKiZBWIG4Fxdea/bWZzzexpM+sQY/0SoLLO/Jpg2WeY2R1mVmFmFZs3b266xJJ0vYva8uQtA/n9NweRnZnGXX+Yyc1PfMDC9VVhRxNplRJeIMysDdFXlk4IFj0KlAMDgPXAf53I/t19jLtH3D1SVFR0IruSZmLoyUW88p0h/OjqfizaUMWVv57GAxM/Zstu9U+IJFMyWhBfAGa5+0YAd9/o7jXuXkv0zXSDYmyzFiitM989WCatREZ6Gl87v4zJ9w/nlsFlTKioZPgvJvPE1OUcrK4NO55Iq5CMAnETdS4vmVm3Ot99GZgXY5sPgZPMrFfQArkReCmhKaVZKsjN5MEv9eO1e4cSKevAj19ZyGW/msKbCzaqf0IkwRJaIMwsj+idSBPrLP65mX1sZnOB4cB9wbrFZvYKgLtXA98GXgcWAuPdfX4is0rz1qdzW3576yDG3jqQ9DTj9t9X8LWnZrB4w66wo4mkLA3WJy3OoZpann1/Fb/66xJ27T/Ezef24Luf60vHvDZhRxNpcZrDba4iTSYzPY1vXNCLyfcP4+vnlzFuRiXDfjGJp95ZwaEa9U+INBUVCGmxOuS14QdX9eO1vx/CgB4d+NHLC/j8w1N5e5H6J0SaggqEtHgndWnH724dyNPfiIDDN8dWcMtvP2TJRvVPiJwIFQhJCWbGxad04bV7h/KvXzyN2au3c/l/T+PBF+exfc/BsOOJtEgqEJJS2mSkcduFvZj8veHcNKiUZ95fxbCHJjP2XfVPiBwr3cUkKW3xhl386OUFvLN0C72L8ri4b2f6leTTr7iA3oV5ZKTrbyRp3Rq6iykj2WFEkqlv13Y8c9sg3lq4idGTl/LM+6s4EDyJnZWRxind8ulXfHgq4JSu7cjO1CiyIqAWhLQy1TW1LNu8h/nrdjJ/XRXz1+1kwboqqvZXA9FXpJYX5XFat2jBOFw4CnIzQ04ukhgNtSBUIKTVc3fWbN/H/HVVLDhSOKrYULX/yDol7XOOFIt+xfn0K8mna342ZhZicpETp0tMIg0wM0o75lLaMZfL+3c9snzr7gNHisXhlsabCzdy+G+qjnlt6Fecz2nd8jktKB69CvNIT1PRkNSgAiFSj05tsxh6chFDT/5kGPk9B6pZtCEoGmurmL9+J799dyUHgzukcjLTObVbu09dnjq5a1u9HU9aJF1iEjlBB6trWbpp95F+jQXrqliwvordB6L9GhlpRp/ObY+0MvoVR1sc+dnq15Dw6RKTSAK1yUjjtOCX/g3Bstpap3L73iOXp+avq2Laki1MnPXJa016dMz91B1U/Yrz6ZyfHc5JiMSgAiGSAGlpRs9OefTslMcVp3/yCpRNu/YfaWUcLhyvzttw5PvCtllBS+OTwtGzYy5p6teQEKhAiCRR53bZdO6bzfC+nY8sq9p/iEXrd9W59baKJ6Yup7o2evm3bVbGkX6Nw8XjpM7taJOhh/wksVQgREKWn53JoF4dGdSr45FlB6prWLJx96eKxviKSvYerAEgM904qXO7T1oaJQWc2i2ftln6v7Q0Hf3XJNIMZWWk07+kgP4lBUeW1dQ6K7fuCS5PRS9Rvb1oExNmrgHADMo65dW5RFVA/+J8OrXNCus0pIVTgRBpIaJPebelvKgtXzqzGIg+5Lex6sCnngyfU7mD/5u7HogWjQv7FHJDpJTLTuuiYUTkmKhAiLRgZkbXgmy6FmRzyaldjizfufcQC9ZXMX35Vv40cw3fGfcR+dkZXD2ghBGRUvqX5OspcGmUnoMQSXG1tc705VsZX1HJa/M2cKC6llO6tmNEpJRrzirRu7xbuVDGYjKzvsBzdRb1Bv4NKAG+BBwElgG3uvuOGNuvBHYBNUB1fSdQlwqESMN27jvEX+asY0JFJXPW7CQz3bj01C6MiJQy5KRCDX/eCoU+WJ+ZpQNrgXOBvsDb7l5tZj8DcPfvx9hmJRBx9y3xHkcFQiR+izZUMaFiDX/+aC3b9hykS34W153dnRsipfQqzAs7niRJcygQlwEPuvsFRy3/MnC9u38lxjYrUYEQSbiD1bXRu6EqKpm0eBO1DgPLOnBDpJQrT+9Gnm6dTWnNoUA8Dcxy9/85avlfgOfc/Q8xtlkBbAcceNzdx9Sz7zuAOwB69OhxzqpVq5o6vkirsbFqPxNnrWVCRSXLt+wht006XzyjGyMipZzTs4M6tlNQqAXCzNoA64B+7r6xzvJ/ASLAtR4jhJmVuPtaM+sMvAnc4+5TGzqWWhAiTcPdmbV6O+M/XMPLc9ex52ANvQvzuD7SnevO7k4XjRmVMsIuEFcDo9z9sjrLvgHcCVzi7nvj2McPgN3u/lBD66lAiDS9PQeqeeXj9UyoWMOMldtIMxjWtzMjIt25+JQuGvKjhQt7NNebgHF1wlwO/CNwUX3FwczygDR33xV8vgz4YRKyishR8rIyuCFSyg2RUlZs2cPzMyt5fuYa7vrDJjrmteGaASWMGNidU7rmhx1VmlhCWxDBL/fVQG933xksWwpkAVuD1d5397vMrBh40t2vMLPewJ+D7zOAP7r7jxs7nloQIslRU+tMXbKZCRWVvLlgI4dqnDO6F3BDpJSrziymIEfvumgpQu+kThYVCJHk27bnIC/OXstzH1ayaMMusjLS+Hy/royIlDK4vJOGKm/mVCBEJOHcnfnrqphQUckLs9exc98hStrncP053bn+nO6UdswNO6LEoAIhIkm1/1ANby7YyPiKSt5ZugV3GFzeiRGRUi7v31WDBjYjKhAiEpq1O/bxp5lrmDCzkspt+2iXncFVZxZzQ6SUM7sX6NmKkKlAiEjoamudD1ZsY0JFJa/MW8/+Q7Wc3KXtkUEDC/XeilCoQIhIs1K1/xAvz1nPhJmVfLR6BxlpxiWnduaGc0oZ1rdIgwYmkQqEiDRbSzbuYsLMNUyctYYtuw9S1C6La88u4YZzSunTuW3Y8VKeCoSINHuHamqZtGgT4yvWMGnxJmpqnXN6duCGc7pz5RndaJetZysSQQVCRFqUTbv288JHaxlfsYalm3aTk5nOFad3Y0SkO4N6dVTHdhNSgRCRFsnd+ahyBxMq1vCXOevYfaCask653BAp5dqzS+hWkBN2xBZPBUJEWrx9B2t4dd56xldU8v7y6KCBQ04qYkSklEtP60xWhp6tOB4qECKSUlZv3Xtk0MB1O/fTPjeTawaUcEOkO/2KC8KO16KoQIhISqqpdd5duoXxFZW8MX8jB2tqKe2YQ3Yra010yG3D+LvOP65twx7uW0QkIdLTjKEnFzH05CJ27D3IS3PW8cHybTip84dvPPITdIeXCoSIpIT2uW34+vllfP38srCjpAw9rigiIjGpQIiISEwqECIiEpMKhIiIxKQCISIiMalAiIhITCoQIiISkwqEiIjElFJDbZjZZmDVcW5eCGxpwjgtgc459bW28wWd87Hq6e5Fsb5IqQJxIsysor7xSFKVzjn1tbbzBZ1zU9IlJhERiUkFQkREYlKB+MSYsAOEQOec+lrb+YLOucmoD0JERGJSC0JERGJSgRARkZhaZYEws6fNbJOZzauz7EdmNtfMZpvZG2ZWHGbGphTrfOt89w9m5mZWGEa2RKnnZ/wDM1sb/Ixnm9kVYWZsavX9nM3sHjNbZGbzzeznYeVLhHp+zs/V+RmvNLPZIUZscvWc8wAzez845wozG9QUx2qVBQIYC1x+1LJfuPsZ7j4AeBn4t2SHSqCxfPZ8MbNS4DJgdbIDJcFYYpwz8Ct3HxBMryQ5U6KN5ahzNrPhwNXAme7eD3gohFyJNJajztnd/+7wzxj4EzAxhFyJNJbP/rf9c+Dfg3P+t2D+hLXKAuHuU4FtRy2rqjObB6nzUttY5xv4FfCPpNC5HtbAOaeses75buCn7n4gWGdT0oMlUEM/ZzMzYAQwLqmhEqyec3YgP/hcAKxrimO1ygJRHzP7sZlVAl8htVoQn2FmVwNr3X1O2FmS7NvBpcSnzaxD2GGS4GRgiJl9YGZTzGxg2IGSaAiw0d2XhB0kCe4FfhH8/noIeKApdqoCUYe7/4u7lwLPAt8OO0+imFku8M+keBGM4VGgHBgArAf+K9Q0yZEBdATOA74HjA/+sm4NbiLFWg8NuBu4L/j9dR/wVFPsVAUitmeB68IOkUDlQC9gjpmtBLoDs8ysa6ipEszdN7p7jbvXAk8ATdKR18ytASZ61AyglujAbinNzDKAa4Hnws6SJLfwSV/LBJrov20ViICZnVRn9mpgUVhZEs3dP3b3zu5e5u5lRH+JnO3uG0KOllBm1q3O7JeBz9zVlYJeAIYDmNnJQBtax0inlwKL3H1N2EGSZB1wUfD5YqBJLqtlNMVOWhozGwcMAwrNbA3wIHCFmfUl+hfWKuCu8BI2rVjn6+5N0gRtrur5GQ8zswFEO/RWAneGlS8R6jnnp4Gng1siDwK3eAoNn9DAf9s3kqKXl+r5Od8O/HfQctoP3NEkx0qh/1ZERKQJ6RKTiIjEpAIhIiIxqUCIiEhMKhAiIhKTCoSIiMSkAiEtgpmVxRqN9hj3cZeZfb2JM90c53on/MyFmRWb2fPHsP4/HzX/Xp08N9dZPszMXj7RfJJ6VCCkVTCzDHd/zN1/34S7LQMaLRBNxd3Xufv1x7DJpwqEuw8OPpaRxNzScqlASEuSbmZPBO81eMPMcuBTY+HPNbM/Hx6Ez8wmm9nDZlYB/H3wPoj7g7/EZ9eZasysZ/CX9dvBft4ysx7Bfsaa2a/N7D0zW25mh39J/5ToQHizzey+YPtpZjYrmAbHPIuAmbUNjjPLzD4OBlDEzAYGGbLNLC843/51WyJm1s/MZgTHnnvUSACY2U+BnOD7Z4Nlu2PlPmq7vGAgwxlm9tHhTNJKubsmTc1+IvpXbzUwIJgfD3w1+DwXuCj4/EPg4eDzZGB0nX38ALj/qP2OAsYHn/9C9EljgG8CLwSfxxId3yYNOA1YGiwfBrxcZ1+5QHbw+SSgok72eTHOKQPIDz4XAkv55OHV/yA6KucjwANH7wf4DfCV4HMbICfG/nfHmo+R+8g88J91/ndtD/wNyAv7568pnKlVDrUhLdYKd58dfJ4JlJlZAdDe3acEy39H9Jf5YfUO1mZmFxAdouDCYNH5RAd4A3iGT7905QWPDvK3wMy61LPLTOB/guE8aogOtd0QA/7TzIYSHeKlBOgCbCBa6D4kOmzCd2JsOx34FzPrTnQwvqYa0voy4Cozuz+YzwZ6AAubaP/SgqhASEtyoM7nGiAnjm32xFoYDNz3FHCVu++OtU4Dx65vuOz7gI3AmURbG/sb2edXgCLgHHc/FIysmx181wloS7ToZHPUebj7H83sA+BK4BUzu9Pd347jPBpjwHXuvrgJ9iUtnPogpEVz953AdjMbEiz6GjClgU0ws0yirYzvu/vf6nz1HtFB3iD6y3taI4ffBbSrM18ArA9aGl8D0hvZvgDYFBSH4UDPOt89Dvwr0aHnfxbjHHoDy93918CLwBkx9n8oONfGctf1OnDP4XdGmNlZjZyDpDAVCEkFtxB9m9Zcoi8D+mEj6w8GIsC/1+moLgbuAW4N9vM14O8b2c9coMbM5gSdvaOBW8xsDnAK9bRe6ngWiJjZx8DXCYaYD27FPeTufyTaoTzQzC4+atsRwDwzmw30B2LdnTUGmHu4k7qB3HX9iGirZa6ZzQ/mpZXSaK4iIhKTWhAiIhKTCoSIiMSkAiEiIjGpQIiISEwqECIiEpMKhIiIxKQCISIiMf1/UrX+9LECVKYAAAAASUVORK5CYII=\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "\n", - "import matplotlib.pyplot as plt\n", - "\n", - "group = [13,14,15,16,17,18]\n", - "#radii = []\n", - "radii = [88,77,74,73,71,71]\n", - "\n", - "plt.plot(group,radii)\n", - "plt.xlabel(\"horizontal axis title\")\n", - "plt.ylabel(\"vertical axis title\")\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "cfd6e7b2", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYgAAAEGCAYAAAB/+QKOAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAALEwAACxMBAJqcGAAAKMtJREFUeJzt3Xl4VeW59/HvnXmAMCVMGRiCooKKsEVFQSJUrXWqClVrq3RAhdZW254e3/Oe2uH0PT2V1g7HoWjVOpQqFm21jlUGJ9QwySBWCENCmGQKMyS53z/2BiPuJDuQnZXs/D7Xta9kr72Ge12B/PKsZ63nMXdHRETkSElBFyAiIq2TAkJERKJSQIiISFQKCBERiUoBISIiUaUEXUBzys3N9b59+wZdhohImzFv3ryP3T0v2mcJFRB9+/altLQ06DJERNoMM1tT32e6xCQiIlEpIEREJCoFhIiIRKWAEBGRqBQQIiISlQJCRESiUkCIiEhU7T4g9h2s4f45Zcwt2xJ0KSIirUq7DwgzeOCNMn7zz38FXYqISKvS7gMiPSWZb47sz9yyrcxbsy3ockREWo12HxAA1wwvonNWKvfOWhF0KSIirUZcA8LMbjWzpWa2xMymmVmGmb1uZgsjr0oze6aebWvqrPf3eNaZnZ7ChBH9+OcHm/hgfVU8DyUi0mbELSDMLB+4BQi5+2AgGbja3Ue6+xB3HwK8DcyoZxd7D63n7pfGq85Drh/Rh+y0ZO6dtTLehxIRaRPifYkpBcg0sxQgC6g89IGZ5QDnAc/EuYaYdM5K47oz+/Dc+5Ws/nh30OWIiAQubgHh7uuAKcBaYD2ww91frrPK5cCr7l7fNZ0MMys1s7lmdnl9xzGziZH1Sjdv3nxMNX/9nH6kJCfxhzlqRYiIxPMSUxfgMqAf0BvINrPr6qxyDTCtgV30cfcQcC3wGzMrjraSu09195C7h/Lyos55EbPuORmMDxXw1LwKNuzYd0z7EhFp6+J5iWkssMrdN7v7QcJ9DSMAzCwXGA78o76NIy0Q3L0MmAWcFsdaD7txVDG1Dg+8XtYShxMRabXiGRBrgTPNLMvMDBgDfBD57CrgOXeP+me6mXUxs/TI97nA2cCyONZ6WGHXLC49tTePv7OWbbsPtMQhRURapXj2QbwDPAXMBxZHjjU18vHVHHF5ycxCZvZA5O2JQKmZLQJmAr9w9xYJCICbRxez92AND721uqUOKSLS6pi7B11DswmFQt5cc1JPfKSUuWVbeOv2MXRIT6ipu0VEDjOzeZH+3s/Qk9T1mFQygKp91Tw+t975vEVEEpoCoh5DCjtzzoBcHnhjFfsO1gRdjohIi1NANGDS6GI279zPU/Mqgi5FRKTFKSAacFZxN4YUdua+2SuprqkNuhwRkRalgGiAmTG5ZAAV2/by7PuVjW8gIpJAFBCNGHNCdwb26Mg9M1dSW5s4d3yJiDRGAdGIpCRjUkkxH23axSsfbAy6HBGRFqOAiMEXTu5FUdcs7pm5gkR6bkREpCEKiBikJCdx47n9WVSxg7dWbgm6HBGRFqGAiNGVQwvo3jGdu2dqWlIRaR8UEDHKSE3mmyP789bKLcxfuy3ockRE4k4B0QTXnlFEp8xU7pmpCYVEJPEpIJogOz2FCWf35Z8fbGT5hvomwhMRSQwKiCa6YURfstKSuXeWWhEiktgUEE3UOSuNL59RxLOLKlm7ZU/Q5YiIxI0C4ih8Y2R/UpKSuG+OWhEikrgUEEehR04GV4UKeKq0go1VUWdNFRFp8xQQR+mmUcVU19bywOtlQZciIhIXCoijVNQti0tP7c3j76xl2+4DQZcjItLsFBDH4ObRA9hzoIaH31oddCkiIs0urgFhZrea2VIzW2Jm08wsw8weNrNVZrYw8hpSz7bXm9lHkdf18azzaA3s2ZGxJ/bg4bdWs2t/ddDliIg0q7gFhJnlA7cAIXcfDCQDV0c+/oG7D4m8FkbZtitwB3AGMBy4w8y6xKvWYzGppJgdew8y7Z21QZciItKs4n2JKQXINLMUIAuIdVq2C4BX3H2ru28DXgEujFONx2RoURdGFHfj/tfL2HewJuhyRESaTdwCwt3XAVOAtcB6YIe7vxz5+Odm9r6Z3WVm6VE2zwfK67yviCz7DDObaGalZla6efPmZjyD2E0uGcCmnfv56/yKQI4vIhIP8bzE1AW4DOgH9Aayzew64HbgBOB0oCvww2M5jrtPdfeQu4fy8vKOseqjM6K4G6cWdua+2SuprqkNpAYRkeYWz0tMY4FV7r7Z3Q8CM4AR7r7ew/YDDxHuYzjSOqCwzvuCyLJWycyYPLqY8q17ee799UGXIyLSLOIZEGuBM80sy8wMGAN8YGa9ACLLLgeWRNn2JeB8M+sSaYmcH1nWao09sQfHde/AvbNWUluraUlFpO2LZx/EO8BTwHxgceRYU4HHzWxxZFku8F8AZhYyswci224Ffga8F3n9NLKs1UpKMiaVFPPhxp28unxT0OWIiBwzc0+cv3ZDoZCXlpYGdvzqmlpGT5lFtw7pPDNpBOFGkohI62Vm89w9FO0zPUndjFKSk7jp3GIWlW/n7ZVbgi5HROSYKCCa2VXDCsjrmM7ds1YEXYqIyDFRQDSzjNRkvjmyH2+u2MLC8u1BlyMictQUEHFw7Rl96JSZyj0z1YoQkbZLAREHHdJTuH5EX15etpF/bdwZdDkiIkdFAREnE0b0JSstmXtnaVpSEWmbFBBx0iU7jWuHF/H3RZWs3bIn6HJERJpMARFH3xjZn2Qz/jBHrQgRaXsUEHHUs1MGVw4rYHppBZuq9gVdjohIkygg4uymc/tTXVvLH99YFXQpIiJNooCIsz7dsrn4lN48NncN2/ccCLocEZGYKSBawM2ji9l9oIY/vbUm6FJERGKmgGgBJ/bKYeyJ3XnorVXs3l8ddDkiIjFRQLSQSSUD2L7nINPeXRt0KSIiMVFAtJChRV04q3837n+9jP3VNUGXIyLSKAVEC5pcMoCNVfuZMb/Vzp4qInKYAqIFnT2gG6cUdOK+2SuprqkNuhwRkQYpIFqQmTFp9ADWbNnDPxavD7ocEZEGNRoQkbminzaz+Wb2vpktNrP3W6K4RHT+ST0Y0L0D98xcSW1t4kz3KiKJJ5YWxOPAQ8CVwCXAxZGvchSSkoxJo4v5cONOXlu+KehyRETqFUtAbHb3v7v7Kndfc+gVy87N7FYzW2pmS8xsmpllmNnjZvZhZNmDZpZaz7Y1ZrYw8vp7k86qlbvk1N4UdMnk7lkrcFcrQkRap1gC4g4ze8DMrjGzKw69GtvIzPKBW4CQuw8GkoGrCbdITgBOBjKBb9Szi73uPiTyujSms2kjUpOTuPHcYhas3c7csq1BlyMiElUsATEBGAJcSPjS0qHLTLFIATLNLAXIAird/XmPAN4FCppcdQIYN6yA3A7p3DNL05KKSOuUEsM6p7v7wKbu2N3XmdkUYC2wF3jZ3V8+9Hnk0tJXgO/Us4sMMysFqoFfuPsz0VYys4nARICioqKmlhmYjNRkvjGyH794YTmLyrdzamHnoEsSEfmUWFoQb5nZSU3dsZl1AS4D+gG9gWwzu67OKvcAc9z99Xp20cfdQ8C1wG/MrDjaSu4+1d1D7h7Ky8trapmB+vIZReRkpKgVISKtUiwBcSawMNKx3JTbXMcCq9x9s7sfBGYAIwDM7A4gD7itvo3dfV3kaxkwCzgthmO2KR0zUrlhRF9eWrqRjzbuDLocEZFPiSUgLgSOA86nabe5rgXONLMsMzNgDPCBmX0DuAC4xt2jPk5sZl3MLD3yfS5wNrAshmO2OTec3Y/M1GTuna1pSUWkdWk0ICK3tHYjfLnoUqBbLLe5uvs7wFPAfGBx5FhTgfuAHsDbkVtYfwSHH8h7ILL5iUCpmS0CZhLug0jIgOianca1ZxTxt4WVlG/dE3Q5IiKHWWP34Ud+gY8jfIkI4HJgurv/V3xLa7pQKOSlpaVBl9Fk63fsZdQvZ3L16UX87PLBQZcjIu2Imc2L9Pd+RiyXmL5M+E6mO9z9DsJ9El9pzgLbu16dMrlyaAFPlJazaee+oMsREQFiC4hKIKPO+3RA41U3sxvPLaa6ppY/vrEq6FJERIDYAmIHsNTMHjazh4AlwHYz+52Z/S6+5bUf/XKz+cIpvXns7TXs2HMw6HJERGJ6UO7pyOuQWfEpRSaNLubZRZU88vZqvj3muKDLEZF2rtGAcPc/tUQhAif2ymHMCd158M1VfH1kP7LSYslvEZH40IRBrcykkmK27TnItHfLgy5FRNo5BUQrM6xPV87o15X755Sxv7om6HJEpB2rNyDM7HYzS7jhLdqCySUD2FC1j6fn62YxEQlOQy2IMuA7ZrYgcgfTlyID8EmcjTwul5PzO3Hf7JXUaFpSEQlIvQHh7k+4+w3ufhrwW6A/MMPM5pjZj8xseItV2c6YGZNLilm9ZQ/PL14fdDki0k7F1Afh7gvc/b/dvYTwYH1LqX8mOGkG55/Uk+K8bO6eqWlJRSQYTe6kdvcqd/+ru0+MR0ESlpRk3Dx6AMs37GTmh5uCLkdE2iHdxdSKXTakN/mdM/nf19SKEJGWp4BoxVKTk7jx3P7MX7udd1ZtDbocEWlnGrrN9YTI16HRXi1XYvs2PlRIboc07p6paUlFpGU1NJbDbcBE4FdRPnPgvLhUJJ+SkZrM18/pz/+8uJzFFTs4uaBT0CWJSDvR0G2uEyNfS6K8FA4t6Lozi+iYkcI9s9SKEJGWU28LwszOc/fXzOyKaJ+7+4xoy6X5dcxI5fqz+nL3rBWs2LSTAd07Bl2SiLQDDXVSnxv5ekmU18VxrkuOMOHsvqSnJHHvrLKgSxGRdqLeFkRkelHcfULLlSP16dYhnWuGF/HI22v47tjjKOyaFXRJIpLgGrrEdFtDG7r7rxvbuZndSviJawcWAxOAXsBfgG7APOAr7n4gyra3A18HaoBb3P2lxo6X6L45sj+PzV3D/a+X8dPLBgddjogkuIYuMXWMvELAzUB+5HUT0OhtrmaWD9wChNx9MJAMXA38D3CXuw8AthEOgSO3PSmy7iDgQuAeM0uO/bQSU+/OmVxxWgFPvFfO5p37gy5HRBJcQ3cx/cTdfwIUAEPd/Xvu/j1gGFAU4/5TgEwzSwGygPWEb499KvL5n4DLo2x3GfAXd9/v7quAFYAGBwRuGl3MwZpaHnxzVdCliEiCi+VJ6h5A3UtAByLLGuTu64ApwFrCwbCD8CWl7e5eHVmtgnCr5Ej5QN0p1epbDzObaGalZla6efPmxspq8/rlZvP5k3vx6Ntr2LH3YNDliEgCiyUgHgHeNbMfm9mPgXcI/+XfoMjcEZcB/YDeQDbhy0XNyt2nunvI3UN5eXnNvftWadLoYnbtr+bRt1cHXYqIJLBGA8Ldfw58jXB/wTZggrv/vxj2PRZY5e6b3f0gMAM4G+gcueQE4ctX0aZNWwcU1nlf33rt0qDenSgZmMeDb65mz4HqxjcQETkKsc4HMQ+YBjwNbDGzWPog1gJnmlmWmRkwBlgGzASuiqxzPfC3KNv+HbjazNLNrB9wHPBuLLW2F5NLBrB19wH+8m554yuLiByFRgPCzC41s4+AVcDsyNcXGtvO3d8h3Bk9n/AtrknAVOCHwG1mtoLwra5/rHOcn0a2XQo8SThQXgQmu3tNk88ugYX6dmV4v67c/3oZB6prgy5HRBKQNTbPgJktInzn0T/d/TQzKwGuc/fP3J4atFAo5KWlpUGX0WJm/2sz1z/4Lr+88hTGn17Y+AYiIkcws3nuHor2WSyXmA66+xYgycyS3H0m4WcjJGCjjstlUO8c7p29kppaTSgkIs0rloDYbmYdgDnA42b2W2B3fMuSWJgZk0sGsOrj3bywZH3Q5YhIgoklIC4D9gC3Eu4PWEl4wD5pBS4Y1JP+edncPXOlpiUVkWbVYEBEhrd4zt1r3b3a3f/k7r+LXHKSViA5ybj53GI+WF/FrA8T/0FBEWk5DQZE5M6hWjPTNGat2OWn5ZPfOVMTColIs4rlEtMuYLGZ/dHMfnfoFe/CJHapyUlMHNWf91Zv491VW4MuR0QSRCwBMQP4T8Kd1PPqvKQV+dLpheR2SOPumWpFiEjzqHc+iEPcvdFxlyR4GanJTDi7H3e+9CFL1u1gcL6uCorIsYlpqA1pG75yVh86pqeoL0JEmoUCIoHkZKTy1RF9eGHJBlZs2hV0OSLSxikgEsyEs/uRnpLEH2avDLoUEWnjYhms7xUz61znfRcza/fzQ7dWuR3Sufr0Ip5esI512/cGXY6ItGGxtCBy3X37oTfuvg3oHreK5JhNHNUfgPvnlAVciYi0ZbEERG3d+R/MrA+gMR1asd6dM/niaflMe3ctH+/aH3Q5ItJGxRIQ/wG8YWaPmtljhJ+HuD2+Zcmxuml0MQdqannwjVVBlyIibVQsU46+CAwFngD+Agxzd/VBtHLFeR24aHAvHn17DVX7DgZdjoi0QfUGhJmdEPk6FCgCKiOvosgyaeVuHl3Mzv3VPPr2mqBLEZE2qKEnqW8DJgK/ivKZE55lTlqxwfmdGD0wjwffWMXXzu5HZlpy0CWJSBtSbwvC3SdGvpZEeSkc2ojJJQPYsvsAT7y3NuhSRKSNaXQspsicEF8A+tZd391/Hb+ypLmc3rcrp/ftwtQ5ZVx7Rh/SUvRspIjEJpbfFs8CNwDdgI51Xg0ys4FmtrDOq8rMvmtmT9RZttrMFtaz/WozWxxZrzT2U5IjTSoZQOWOfTyzcF3QpYhIG9JoCwIocPdTmrpjd/8QGAKHWyHrgKfd/TeH1jGzXwE7GthNibt/3NRjy6eNPj6Pk3rlcN/slVw5tIDkJAu6JBFpA2JpQbxgZucf43HGACvd/fDtNGZmwHhg2jHuWxphZkwuGUDZ5t28tHRD0OWISBsRS0DMBZ42s72Ry0Q7zayqice5ms8GwUhgo7t/VM82DrxsZvPMbGJ9OzaziWZWamalmzdrTub6XDi4J/1zs7l75grc9SC8iDQuloD4NXAWkOXuOe7e0d1zYj2AmaUBlwLTj/joGhpuPZzj7kOBzwOTzWxUtJXcfaq7h9w9lJeXF2tZ7U5yknHT6GKWVlYx+18KUhFpXCwBUQ4s8aP/s/PzwHx333hogZmlAFcQfjo7KndfF/m6CXgaGH6Ux5eIy4fk06tTBvfM1FDgItK4WAKiDJhlZreb2W2HXk04RrSWwlhgubtXRNvAzLLNrOOh74HzgSVNOKZEkZaSxMRR/Xl39VbeW7016HJEpJWLJSBWAa8CaTThNlc4/Mv9c8CMIz76TJ+EmfU2s+cjb3sQHiBwEfAu8I/ImFByjK4+vYiu2WncM1PTkopIwxq9zdXdfwJgZh0i72Oey9LddxN+fuLI5TdEWVYJXBT5vgw4NdbjSOwy05L5+jn9uPOlD5n54SZKBmpqDxGJLpYZ5Qab2QJgKbA0clfRoPiXJvFy3Zl9KOqaxYSH3mPy4/Mp37on6JJEpBWK5RLTVOA2d+/j7n2A7wH3x7csiadOmam89N1R3Dr2eF5dvpExv57NnS8tZ/f+6qBLE5FWJJaAyHb3mYfeuPssIDtuFUmLyExL5jtjj2Pm90dz0eCe3D1zJSVTZvHUvApqa/WchIjEeBeTmf2nmfWNvP4v4TubJAH06pTJb64+jRmTRtC7cybfn76Iy+95k1Ld5STS7sUSEF8D8gjfifRXIBeYEM+ipOUNLerCjJtHcNeXTmVT1X6uuu9tvj1tAeu27w26NBEJSCyD9Y1191vqLjCzcXz2yWhp45KSjC+eVsAFg3py3+wy/jB7JS8v3cCNo/pz0+histJi+eciIokilhbE7TEukwSRlZbCbZ87nte+P5oLBvXkd6+t4Lwps3l6gfonRNoTq28EDTP7POHnEsbz6SExcoCT3L3VDX0RCoW8tFRTRzS3eWu28pNnl/F+xQ6GFHbmR5ecxNCiLkGXJSLNwMzmuXso2mcNtSAqgVJgHzCvzuvvhIe+kHZiWJ+uPDPpbKaMO5XK7Xu54p63+O5fFrB+h/onRBJZvS2IwyuYpbr7wTrvRwJXu/vkeBfXVGpBxN/u/dXcO2slU18vI8ngpnOLuXFUMZlpyUGXJiJH4WhbEAC4+0EzO83M7jSz1cBPgeXNXKO0EdnpKXz/goG8etu5jDmxB7/550ec96tZ/G3hOs0zIZJg6g0IMzvezO4ws+XA74G1hFscJe7++xarUFqlwq5Z3H3tUJ688Sy6dUjjO39ZyJX3vsWi8u1BlyYizaShFsRy4DzgYnc/JxIKNS1TlrQVw/t15W+Tz+GXV57C2q17uezuN7ntyYVs2LEv6NJE5Bg1FBBXAOuBmWZ2v5mNATTbvXxGcpIx/vRCZv1gNDePLua5RespmTKL37/6EfsO6m8KkbYqlk7qbOAywhP/nAc8Ajzt7i/Hv7ymUSd167B2yx7++4UPeGHJBvI7Z3L7RSfwhZN7Yaa/L0Ram2PtpN7t7n9290uAAmAB8MNmrlESSFG3LO69bhjTvnkmOZmpfOvPCxj/h7dZXLEj6NJEpAkabUG0JWpBtD41tc6TpeVMeelDtu45wFVDC/jBBQPpnpMRdGkiwjG2IESORXKScc3wImb+YDQTR/bnmYXrKJkyi7tnrlD/hEgrp4CQFpGTkcrtF53IK7eey9kDcrnzpQ8Z++vZPL94vZ6fEGmlFBDSovrmZjP1qyH+/I0z6JCewqTH53P11LksWaf+CZHWJm4BYWYDzWxhnVeVmX3XzH5sZuvqLL+onu0vNLMPzWyFmf17vOqUYIwYkMtz3z6Hn39xMB9t2sUl//sG//7X99m8c3/QpYlIRIt0UptZMrAOOIPwZEO73H1KI+v/C/gcUAG8B1zj7ssaOo46qdumHXsP8vtXP+Lht1aTkZrMt84bwISz+5KeovGdROKtNXRSjwFWuvuaGNcfDqxw9zJ3PwD8hfCzGJKAOmWm8n8vPomXbx3Fmf278osXlvO5X8/hxSUb1D8hEqCWCoirgWl13n/LzN43swfNLNrEAvlAeZ33FZFln2FmE82s1MxKN2/e3HwVS4vrn9eBB64/nUe+NpyM1CRuemwe197/Dh+srwq6NJF2Ke4BYWZpwKV8MkXpvUAxMITwUB6/Opb9u/tUdw+5eygvL+9YdiWtxKjj83j+lpH87LJBLN9QxRd+9zq3z1jMx7vUPyHSklqiBfF5YL67bwRw943uXuPutcD9hC8nHWkdUFjnfUFkmbQTKclJfOWsvsz6fgnXj+jL9NJySu6cxf1zyjhQXRt0eSLtQksExDXUubxkZr3qfPZFYEmUbd4DjjOzfpEWyNWEZ7KTdqZTVip3XDKIF787ilDfLvz8+Q84/67ZvLJso/onROIsrgERGejvc8CMOot/aWaLzex9oAS4NbJubzN7HsDdq4FvAS8BHwBPuvvSeNYqrduA7h14aMJwHp5wOslJxjcfKeUrf3yXDzfsDLo0kYSlsZikzTlYU8vjc9dw1z8/Yue+g1x7RhG3fW4gXbPTgi5NpM1pDbe5ijSb1OQkbji7H7O+P5qvntWXae+WM/rOmfzxjVUcrFH/hEhzUUBIm9UlO40fXzqIF78zkiFFXfjZc8u44DdzeG25+idEmoMCQtq843p05E8TTufBG0Lg8LWHS7n+off4aKP6J0SOhQJCEoKZcd4JPXjxu6P4z4tPYuHabVz429e5429L2Lb7QNDlibRJCghJKGkpSXz9nH7M+kEJ1wwv5NG5axg9ZRYPv6n+CZGm0l1MktA+3LCTnz23jDdWfEz/vGzOG9idQfk5DOrdif652aQk628kad8auosppaWLEWlJA3t25NGvD+fVDzZxz6wVPDp3DfsjT2KnpyRxQq8cBvU+9OrECT07kpGqUWRFQC0IaWeqa2pZuXk3Syt3sLSyiqWVO1hWWUXVvmogPEVqcV42J/UKB8ah4OiUlRpw5SLx0VALQgEh7Z67U7FtL0srq1h2ODiq2FC17/A6+Z0zD4fFoN45DMrPoWdOBmYWYOUix06XmEQaYGYUds2isGsWFw7ueXj5ll37D4fFoZbGKx9s5NDfVF2z0xjUO4eTeuVwUiQ8+uVmk5yk0JDEoIAQqUe3DumMOj6PUcd/Moz87v3VLN8QCY11VSxdv4OH3lzNgcgdUpmpyZzYq+OnLk8d37ODZseTNkmXmESO0YHqWlZs2nW4X2NZZRXL1lexa3+4XyMlyRjQvcPhVsag3uEWR06G+jUkeLrEJBJHaSlJnBT5pT8usqy21inftufw5amllVW8/tHHzJj/ybQmRV2zPnUH1aDeOXTPyQjmJESiUECIxEFSktGnWzZ9umVz0cmfTIGyaee+w62MQ8HxwpINhz/P7ZAeaWl8Ehx9umaRpH4NCYACQqQFde+YQfeBGZQM7H54WdW+gyxfv7POrbdV3D+njOra8OXfDukph/s1DoXHcd07kpaih/wkvhQQIgHLyUhleL+uDO/X9fCy/dU1fLRx16dC48nScvYcqAEgNdk4rnvHT1oa+Z04sVcOHdL1X1qaj/41ibRC6SnJDM7vxOD8ToeX1dQ6q7fsjlyeCl+iem35JqbPqwDADPp2y65ziaoTg3vn0K1DelCnIW2cAkKkjQg/5d2B4rwOXHJqbyD8kN/Gqv2fejJ8Ufl2/vH+eiAcGucMyGVcqJDzT+qhYUSkSRQQIm2YmdGzUwY9O2Uw5sQeh5fv2HOQZeureLtsC3+dV8Et0xaQk5HCZUPyGR8qZHB+jp4Cl0bpOQiRBFdb67xdtoUnS8t5cckG9lfXckLPjowPFXL5afmay7udC2QsJjMbCDxRZ1F/4EdAPnAJcABYCUxw9+1Rtl8N7ARqgOr6TqAuBYRIw3bsPciziyqZXlrOooodpCYbY0/swfhQISOPy9Xw5+1Q4IP1mVkysA44AxgIvObu1Wb2PwDu/sMo26wGQu7+cazHUUCIxG75hiqml1bw9IJ1bN19gB456Vw5tIBxoUL65WYHXZ60kNYQEOcDd7j72Ucs/yJwlbt/Oco2q1FAiMTdgera8N1QpeXM/HATtQ6n9+3CuFAhXzi5F9m6dTahtYaAeBCY7+7/e8TyZ4En3P2xKNusArYBDvzB3afWs++JwESAoqKiYWvWrGnu8kXajY1V+5gxfx3TS8sp+3g3WWnJXHxKL8aHChnWp4s6thNQoAFhZmlAJTDI3TfWWf4fQAi4wqMUYWb57r7OzLoDrwDfdvc5DR1LLQiR5uHuzF+7jSffq+C59yvZfaCG/rnZXBUq4MqhBfTQmFEJI+iAuAyY7O7n11l2A3AjMMbd98Swjx8Du9x9SkPrKSBEmt/u/dU8v3g900sreHf1VpIMRg/szvhQAeed0ENDfrRxQY/meg0wrU4xFwL/BpxbXziYWTaQ5O47I9+fD/y0BWoVkSNkp6cwLlTIuFAhqz7ezVPzynlqXgU3PbaJrtlpXD4kn/GnF3BCz5ygS5VmFtcWROSX+1qgv7vviCxbAaQDWyKrzXX3m8ysN/CAu19kZv2BpyOfpwB/dvefN3Y8tSBEWkZNrTPno81MLy3nlWUbOVjjnFLQiXGhQi49tTedMjXXRVsReCd1S1FAiLS8rbsP8LeF63jivXKWb9hJekoSFwzqyfhQISOKu2mo8lZOASEicefuLK2sYnppOc8srGTH3oPkd87kqmEFXDWsgMKuWUGXKFEoIESkRe07WMMryzbyZGk5b6z4GHcYUdyN8aFCLhzcU4MGtiIKCBEJzLrte/nrvAqmzyunfOteOmakcOmpvRkXKuTUgk56tiJgCggRCVxtrfPOqq1MLy3n+SXr2XewluN7dDg8aGCu5q0IhAJCRFqVqn0HeW7ReqbPK2fB2u2kJBljTuzOuGGFjB6Yp0EDW5ACQkRarY827mT6vApmzK/g410HyOuYzhVD8xk3rJAB3TsEXV7CU0CISKt3sKaWmcs38WRpBTM/3ERNrTOsTxfGDSvgC6f0omOGnq2IBwWEiLQpm3bu45kF63iytIIVm3aRmZrMRSf3YnyogOH9uqpjuxkpIESkTXJ3FpRvZ3ppBc8uqmTX/mr6dstiXKiQK4bm06tTZtAltnkKCBFp8/YeqOGFJet5srScuWXhQQNHHpfH+FAhY0/qTnqKnq04GgoIEUkoa7fsOTxoYOWOfXTOSuXyIfmMCxUwqHenoMtrUxQQIpKQamqdN1d8zJOl5by8dCMHamop7JpJRjtrTXTJSuPJm846qm2DHu5bRCQukpOMUcfnMer4PLbvOcDfF1XyTtlWnMT5wzcWOXG6w0sBISIJoXNWGl89qy9fPatv0KUkDD2uKCIiUSkgREQkKgWEiIhEpYAQEZGoFBAiIhKVAkJERKJSQIiISFQKCBERiSqhhtows83AmqPcPBf4uBnLaQt0zomvvZ0v6Jybqo+750X7IKEC4liYWWl945EkKp1z4mtv5ws65+akS0wiIhKVAkJERKJSQHxiatAFBEDnnPja2/mCzrnZqA9CRESiUgtCRESiUkCIiEhU7TIgzOxBM9tkZkvqLPuZmb1vZgvN7GUz6x1kjc0p2vnW+ex7ZuZmlhtEbfFSz8/4x2a2LvIzXmhmFwVZY3Or7+dsZt82s+VmttTMfhlUffFQz8/5iTo/49VmtjDAEptdPec8xMzmRs651MyGN8ex2mVAAA8DFx6x7E53P8XdhwDPAT9q6aLi6GE+e76YWSFwPrC2pQtqAQ8T5ZyBu9x9SOT1fAvXFG8Pc8Q5m1kJcBlwqrsPAqYEUFc8PcwR5+zuXzr0Mwb+CswIoK54epjP/tv+JfCTyDn/KPL+mLXLgHD3OcDWI5ZV1XmbDYkzqW208424C/g3EuhcD2ngnBNWPed8M/ALd98fWWdTixcWRw39nM3MgPHAtBYtKs7qOWcHciLfdwIqm+NY7TIg6mNmPzezcuDLJFYL4jPM7DJgnbsvCrqWFvatyKXEB82sS9DFtIDjgZFm9o6ZzTaz04MuqAWNBDa6+0dBF9ICvgvcGfn9NQW4vTl2qoCow93/w90LgceBbwVdT7yYWRbwf0jwEIziXqAYGAKsB34VaDUtIwXoCpwJ/AB4MvKXdXtwDQnWemjAzcCtkd9ftwJ/bI6dKiCiexy4Mugi4qgY6AcsMrPVQAEw38x6BlpVnLn7Rnevcfda4H6gWTryWrkKYIaHvQvUEh7YLaGZWQpwBfBE0LW0kOv5pK9lOs30b1sBEWFmx9V5exmwPKha4s3dF7t7d3fv6+59Cf8SGeruGwIuLa7MrFedt18EPnNXVwJ6BigBMLPjgTTax0inY4Hl7l4RdCEtpBI4N/L9eUCzXFZLaY6dtDVmNg0YDeSaWQVwB3CRmQ0k/BfWGuCm4CpsXtHO192bpQnaWtXzMx5tZkMId+itBm4Mqr54qOecHwQejNwSeQC43hNo+IQG/m1fTYJeXqrn5/xN4LeRltM+YGKzHCuB/q2IiEgz0iUmERGJSgEhIiJRKSBERCQqBYSIiESlgBARkagUECJNYGY9zOzPZlZmZvPM7G0z+2LQdYnEgwJCJEaRISqeAea4e393H0b4fvuCI9Zrl88XSeLRcxAiMTKzMcCP3P3cKJ/dQHhohw5AMuEntR8E+gN7gInu/r6Z/RjY5e5TItstAS6O7OZFYB4wFFgKfNXd98TznEQaohaESOwGAfMb+HwocFUkQH4CLHD3UwgPjPhIDPsfCNzj7icCVcCkY6xX5JgoIESOkpndbWaLzOy9yKJX3P3QOP3nAI8CuPtrQDczy4m2nzrK3f3NyPePRfYhEhgFhEjslhJuJQDg7pOBMUBeZNHuGPZRzaf/32XU+f7I6726/iuBUkCIxO41IMPMbq6zLKuedV8nPPEUZjYa+Dgya+FqIiFjZkMJD7t+SJGZnRX5/lrgjeYqXORoqJNapAkiQ4bfBZwBbCbcargPyARC7v6tyHpdid5JnQn8DcgH3gHOAj4f2f2LQCkwDFgGfEWd1BIkBYRIK2BmfYHn3H1w0LWIHKJLTCIiEpVaECIiEpVaECIiEpUCQkREolJAiIhIVAoIERGJSgEhIiJR/X8D2Z9Pp/uTogAAAABJRU5ErkJggg==\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "#Possible answer to Activity 1\n", - "\n", - "import matplotlib.pyplot as plt\n", - "\n", - "group = [13,14,15,16,17,18]\n", - "radii = [88,77,74,73,71,71]\n", - "\n", - "plt.plot(group,radii)\n", - "plt.xlabel(\"Group\")\n", - "plt.ylabel(\"Atomic radii / pm\")\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "id": "217704b2-aeb8-4db0-9a1d-f3e81947b2de", - "metadata": { - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, - "source": [ - "The commands `plt.xlabel(\" \")` and `plt.ylabel(\" \")` are used to include labels for the horizontal and vertical axes, respectively.\n", - "\n", - "The axis labels are strings inside the brackets, between speech marks in the same way strings are used in the `print()` function.\n", - "\n", - "The command `plt.show()` instructs pyplot to display the graph. \n", - "(SM: this seems overly simplistic but i'm not completely sure the difference between interactive and non-interactive mode. \n", - "\n", - "
\n", - "\n", - "### Scatter plots\n", - "\n", - "Another option instead if a line plot is to use a scatter plot. For this option in `pyplot` use the command:\n", - "`plt.scatter(x,y)`\n", - "where `x` is the variable name of the list to be plotted on the x-axis, and `y` the variable name of the list to be plotted on the y-axis.\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "id": "a641c831-ce97-4bd8-9c8b-1169eb369b71", - "metadata": { - "slideshow": { - "slide_type": "" - }, - "tags": [ - "instructions" - ] - }, - "source": [ - "### Activity 2 Plotting a scatter graph\n", - "\n", - "\n", - "Table 2 contains the atomic radii of the third row p-block elements. hydrides. In the cell below complete the code to generate a sactter plot of this data, with group on the horizontal axis and atomic radii on the vertical axis.\n", - "\n", - "(*Hint:* it is not necessary to write the code from scratch. It is perfectly acceptable to copy the code from activity 1 and modify it to include the desired data.)\n", - "\n", - "
\n", - "\n", - "**Table 2** Atomic radii of third row p-block elements\n", - "\n", - "|Element |\tGroup\t| Atomic radii / pm |\n", - "|---|---|---|\n", - "|$\\text{Al}$|\t13\t|$125$|\n", - "|$\\text{Si}$|\t14\t|$118$|\n", - "|$\\text{P}$|\t15\t|$110$|\n", - "|$\\text{S}$|\t16\t|$104$|\n", - "|$\\text{Cl}$|\t17\t|$99$|\n", - "|$\\text{Ar}$|\t18\t|$98$|\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "89b96bae-bc5a-43f3-a966-9385d2ee8fbc", - "metadata": { - "slideshow": { - "slide_type": "" - }, - "tags": [ - "student" - ] - }, - "outputs": [], - "source": [ - "\n", - "import matplotlib.pyplot as plt\n", - "\n", - "group = \n", - "radii = \n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "abe65330", - "metadata": { - "slideshow": { - "slide_type": "" - }, - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "#Possible answer to Activity 2\n", - "\n", - "import matplotlib.pyplot as plt\n", - "\n", - "group = [13,14,15,16,17,18]\n", - "radii = [125,118,110,104,99,98]\n", - "\n", - "plt.scatter(group,radii)\n", - "plt.xlabel(\"Group\")\n", - "plt.ylabel(\"Atomic radii / pm\")\n", - "plt.show()\n" - ] - }, - { - "cell_type": "markdown", - "id": "a55c01ba-3804-4026-b278-faf4fdad8b78", - "metadata": {}, - "source": [ - "### Plotting multiple datasets\n", - "\n", - "To plot multiple sets of data on the same graph you include more than one of the\n", - "`plt.plot()` and/or the `plt.scatter()` commands.\n", - "\n", - "As multiple sets of data are to be plotted a legend should be included to indicate what each series represents. In the same `plt.plot()`/`plt.scatter()` code, after specifying the data to be plotted on the horizontal and vertical axes within the brackets, a comma should be added and then the option `label=(\"\")` used. A string can then be included between the speech marks to label the series. For example, to plot a scatter graph of the lists `x` and `y` with the series name `Series A` you would use the following command:\n", - "`plt.scatter(x,y, label=\"Series A\")`\n", - "\n", - "By default, the legend option is not turned on in `matplotlib`. To show the legends you need to include the line `plt.legend()`.\n" - ] - }, - { - "cell_type": "markdown", - "id": "221e04f1", - "metadata": {}, - "source": [ - "### Activity 3 Plotting multiple datasets and including legends\n", - "\n", - "Complete the code in the cell below to generate a plot that contains the atomic radii of both the second and third row elements of the p-block. Remember to include a legend." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "67345c3a", - "metadata": {}, - "outputs": [], - "source": [ - "import matplotlib.pyplot as plt\n", - "\n", - "group = []\n", - "radii_2nd_period = []\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4b45182f", - "metadata": {}, - "outputs": [], - "source": [ - "#Possible answer to Activity 3\n", - "\n", - "import matplotlib.pyplot as plt\n", - "\n", - "group = [13,14,15,16,17,18]\n", - "radii_2nd_period = [88,77,74,73,71,71]\n", - "radii_3rd_period = [125,118,110,104,99,98]\n", - "\n", - "plt.scatter(group,radii_2nd_period, label=\"2nd Period\")\n", - "plt.scatter(group,radii_3rd_period, label=\"3rd Period\")\n", - "plt.xlabel(\"Group\")\n", - "plt.ylabel(\"Atomic radii / pm\")\n", - "plt.legend()\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "id": "abef10e9", - "metadata": {}, - "source": [ - "## Further customisation options\n", - "\n", - "### Changing the colour on graphs\n", - "\n", - "There are many options within `matplotlib` to modify the appearance of a graph. For example, you may want to change the colour of lines or data points in your graph. This may not seem like an important aspect of coding, but this can be useful if you are creating multiple charts for reports or presentations, and you want consistency between them. \n", - "\n", - "`matplotlib` chooses default colours for plotting multiple datasets: the first `plt.plot()`/`plt.scatter()` routine will use the colour blue, the second will use orange, and so on.\n", - "\n", - "Changing the colour of a line or scatter plot in Python requires a small addition to the `plt.plot()` or `plt.scatter()` routines. This command is `color=\"\"`, where this is preceeded by a comma (similar to the syntax of `label=\"\"` command in the same routines). \n", - "\n", - "Note that the syntax in `matplotlib` uses the American spelling for ‘color’, instead of the British spelling.\n", - "\n", - "For example, if you wanted to change the colour of the scatter plots from blue to red in the completed code from activity 3 the entire line would appear\n", - "\n", - " plt.scatter(group,radii_2nd_period, label=\"2nd Period\", color=\"red\")\n", - "\n", - "This will however change the next plotted series to the default blue, so to fully customise you would need to state the colours for each series.\n", - "\n", - "Most of the common colours you could name are included in `matplotlib`. For a full list of the available colours you can check the [Matplotlib documentation]." - ] - }, - { - "cell_type": "markdown", - "id": "d4c09ef7", - "metadata": {}, - "source": [ - "### Gridlines\n", - "\n", - "There are instances where you may want to include gridlines on your plots. To include major grdilines you would use the command:\n", - "\n", - " plt.grid()\n", - "\n", - "If you wanted to include major gridlines and minor gridlines you would use the two following commands:\n", - "\n", - " plt.grid(which='both')\n", - " plt.minorticks_on()\n", - "\n", - "Where the second command turns on the minor ticks on both axis, and the 'both' in the plt.grid() command indicates both the minor and major gridlines. Further options can be found in the Matplotlib documentation (https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.grid.html)" - ] - }, - { - "cell_type": "markdown", - "id": "630154f7", - "metadata": {}, - "source": [ - "### Exporting plots as image files\n", - "\n", - "Once you have successfully created graphs with Python, you need to be able to save them for later use or to include them in other resources.\n", - "\n", - "`matplotlib` has a command for this:\n", - "\n", - " plt.savefig(\"file_name.png\")\n", - "\n", - "Here, `\"file_name.png\"` is the name you choose for the saved graph. It will be saved in a `.png` format.\n", - "\n", - "It is also possible to save a graph as a PDF file by changing the `.png` extension in the previous routine to `.pdf`.\n", - "\n", - "Note the `plt.savefig()` command must go *before* the `plt.show()` command. If you do not do this, then the saved image file will be blank. \n", - "\n", - "\n", - "\n", - "$$$$ SM - This is how it works in jupyterlab, not sure how it will work elsewhere $$$$" - ] - }, - { - "cell_type": "markdown", - "id": "d6857f12", - "metadata": {}, - "source": [ - "### Superscripts and subscripts on plots\n", - "\n", - "When displaying strings on plots generated using `matplotlib`, such as axis labels and legends, you may noticed that you have not been able to add formatting, this is because strings are displayed in plain text. This missing formatting is important when labelling scientific data, particularly for units or chemical formulas.\n", - "\n", - "As an example, consider the line of code to label the y axis with the concentration of some reaction species, [A], with the incorrect formatting for the units of concentration. \n", - "\n", - " plt.ylabel(\"[A]/mol dm-3\")\n", - " \n", - "To correctly display the ‘$-3$’ in superscript you can use the `pyplot` command:\n", - "\n", - " plt.ylabel(\"[A]/mol dm$^{-3}$\")\n", - " \n", - "In this command:\n", - "\n", - "* the first and second dollar signs, `$`, indicate the start and end of and the text you want to be formatted (the dollar signs will not be printed in the string)\n", - "* the curly braces, `{}`, contain the text you want to apply formatting to\n", - "* the caret, `^`, goes before the curly braces and is used to indicate the text within the braces should be a superscript.\n", - "\n", - "\n", - "Another common formatting option you will need is subscript. This is especially important when it comes to chemical formulas. Subscripts use a similar syntax to superscripts, but use an underscore `_` instead of the caret `^`.\n", - "\n", - "So if in the above example A was nitrogen dioxide you would use the following command:\n", - " \n", - " plt.ylabel(\"[NO$_{2}$]/mol dm$^{-3}$\")\n" - ] - }, - { - "cell_type": "markdown", - "id": "0f09f12d", - "metadata": {}, - "source": [ - "## Todo\n", - "\n", - "Add more activities related to the options above" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c96f413a", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "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.10.12" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/lessons/files.md b/lessons/files.md deleted file mode 100644 index 78632af1..00000000 --- a/lessons/files.md +++ /dev/null @@ -1,3 +0,0 @@ -# Using Files - -This section will teach you how to read and write files using Python. diff --git a/lessons/files/data_record b/lessons/files/data_record new file mode 100644 index 00000000..e69de29b diff --git a/lessons/files/data_record.csv b/lessons/files/data_record.csv new file mode 100644 index 00000000..3f61e414 --- /dev/null +++ b/lessons/files/data_record.csv @@ -0,0 +1,900 @@ +3.651685393258427,5.074906367041199,2.1161048689138577,5.305867665418227,3.589263420724095,3.7265917602996255,0.6554307116104868,3.3021223470661676,0.9051186017478152,2.908863920099875,3.6641697877652937,1.223470661672909,0.35268414481897625,0.24968789013732834,1.647940074906367,5.855181023720349,4.4818976279650435,2.7590511860174782,1.9600499375780276,1.6541822721598003,3.8951310861423223,5.224719101123595,2.9712858926342074,5.474406991260924,4.800249687890138,0.9488139825218477,0.6173533083645443,0.6616729088639202,1.7602996254681649,4.057428214731585,0.24781523096129837,0.8926342072409489,5.099875156054932,4.001248439450687,1.317103620474407,2.5842696629213484,0.717852684144819,6.179775280898876,4.313358302122348,0.7116104868913858,0.6928838951310862,4.956304619225968,3.8077403245942576,1.2359550561797754,0.7365792759051186,1.079900124843945,5.724094881398252,2.702871410736579,1.0923845193508115,4.444444444444445,2.9837702871410734,3.183520599250936,4.132334581772784,5.81772784019975,1.797752808988764,3.6267166042446943,3.9076154806491883,4.875156054931336,6.029962546816479,3.2397003745318353,2.4032459425717856,3.3645443196004994,2.9837702871410734,1.8102372034956304,5.6491885143570535,3.5830212234706615,2.446941323345818,5.855181023720349,1.8164794007490637,3.3957553058676653,3.6766541822721597,3.957553058676654,5.705368289637952,3.595505617977528,5.593008739076155,6.104868913857677,4.138576779026217,2.303370786516854,0.9550561797752809,1.2796504369538078,5.730337078651686,3.3645443196004994,2.5343320848938826,0.9800249687890138,5.930087390761548,4.1260923845193505,5.1248439450686645,1.4544319600499376,3.576779026217228,2.958801498127341,5.436953807740325,0.466916354556804,1.9101123595505618,1.8352059925093633,2.1972534332084894,5.031210986267166,0.6928838951310862,4.856429463171036,4.425717852684145,4.157303370786517, +3.682896379525593,5.1123595505617985,2.153558052434457,5.33083645443196,3.6142322097378274,3.745318352059925,0.6803995006242198,3.3270911360799,0.9363295880149812,2.933832709113608,3.682896379525593,1.2546816479400749,0.3757802746566792,0.27965043695380776,1.6729088639200997,5.880149812734083,4.51310861423221,2.790262172284644,1.9850187265917605,1.6791510611735332,3.920099875156055,5.262172284644195,2.9962546816479403,5.50561797752809,4.831460674157303,0.9737827715355806,0.6491885143570537,0.686641697877653,1.7915106117353308,4.082397003745319,0.2727840199750312,0.9300873907615481,5.1248439450686645,4.019975031210986,1.34207240948814,2.6092384519350813,0.7490636704119851,6.210986267166042,4.33832709113608,0.7303370786516854,0.717852684144819,4.975031210986267,3.8389513108614235,1.2671660424469413,0.7677902621722846,1.104868913857678,5.7553058676654185,2.7340823970037453,1.1235955056179776,4.475655430711611,3.0087390761548067,3.214731585518102,4.157303370786517,5.855181023720349,1.8164794007490637,3.651685393258427,3.9325842696629216,4.912609238451935,6.054931335830212,3.2709113607990012,2.4219725343320846,3.383270911360799,3.0149812734082393,1.8289637952559301,5.68039950062422,3.607990012484395,2.4656679151061174,5.880149812734083,1.8414481897627966,3.420724094881398,3.7078651685393256,3.9887640449438204,5.730337078651686,3.6267166042446943,5.6242197253433215,6.129837702871411,4.16354556803995,2.340823970037453,0.9800249687890138,1.3108614232209737,5.767790262172285,3.3895131086142323,2.571785268414482,0.9987515605493134,5.961298377028713,4.151061173533084,5.149812734082397,1.4856429463171037,3.6017478152309614,2.990012484394507,5.468164794007491,0.49063670411985016,1.941323345817728,1.8601747815230962,2.2347066167290888,5.068664169787765,0.7303370786516854,4.887640449438202,4.450686641697877,4.18227215980025, +3.714107365792759,5.143570536828964,2.184769038701623,5.3620474406991265,3.639200998751561,3.7702871410736583,0.7053682896379525,3.3583021223470664,0.9675405742821472,2.958801498127341,3.7078651685393256,1.2796504369538078,0.39825218476903873,0.3096129837702871,1.6978776529338326,5.9113607990012484,4.544319600499376,2.82147315855181,2.009987515605493,1.6978776529338326,3.951310861423221,5.293383270911361,3.0149812734082393,5.536828963795256,4.856429463171036,1.0049937578027466,0.6803995006242198,0.7116104868913858,1.8227215980024971,4.107365792759051,0.29712858926342073,0.9612983770287141,5.143570536828964,4.044943820224719,1.3670411985018727,2.634207240948814,0.7865168539325842,6.242197253433209,4.3632958801498125,0.7553058676654182,0.7428214731585518,5.0,3.8639200998751564,1.2983770287141074,0.7927590511860175,1.1298377028714106,5.786516853932584,2.7715355805243447,1.161048689138577,4.506866416978776,3.0399500624219726,3.245942571785269,4.188514357053683,5.892634207240949,1.8414481897627966,3.6704119850187267,3.9637952559300875,4.950062421972534,6.086142322097379,3.295880149812734,2.446941323345818,3.4019975031210987,3.046192259675406,1.8539325842696628,5.711610486891385,3.6329588014981273,2.4906367041198503,5.8988764044943816,1.8664169787765295,3.4456928838951315,3.7390761548064915,4.019975031210986,5.7553058676654185,3.651685393258427,5.655430711610487,6.1485642946317105,4.18227215980025,2.3720349563046192,1.0049937578027466,1.348314606741573,5.805243445692884,3.420724094881398,2.602996254681648,1.0237203495630463,5.992509363295881,4.176029962546816,5.174781523096129,1.5168539325842696,3.6267166042446943,3.0212234706616727,5.499375780274657,0.5149812734082396,1.9725343320848938,1.8851435705368291,2.2659176029962547,5.106117353308365,0.7615480649188515,4.918851435705368,4.475655430711611,4.207240948813983, +3.745318352059925,5.174781523096129,2.215980024968789,5.3870162297128585,3.6641697877652937,3.7952559300873907,0.7240948813982522,3.383270911360799,0.9987515605493134,2.977528089887641,3.7265917602996255,1.3108614232209737,0.4213483146067416,0.33957553058676654,1.7228464419475658,5.942571785268415,4.575530586766542,2.8464419475655434,2.034956304619226,1.7228464419475658,3.982521847690387,5.324594257178527,3.0399500624219726,5.568039950062421,4.887640449438202,1.0362047440699127,0.7053682896379525,0.7365792759051186,1.8539325842696628,4.132334581772784,0.32209737827715357,0.9987515605493134,5.168539325842697,4.069912609238452,1.3857677902621723,2.6591760299625467,0.8177278401997503,6.30461922596754,4.388264669163545,0.7740324594257179,0.7677902621722846,5.0187265917602994,3.888888888888889,1.3358302122347065,0.8239700374531835,1.161048689138577,5.81772784019975,2.8027465667915106,1.1922596754057428,4.538077403245943,3.0649188514357055,3.2833957553058677,4.213483146067416,5.930087390761548,1.8664169787765295,3.6953807740324596,3.9887640449438204,4.987515605493134,6.111111111111111,3.320848938826467,2.4656679151061174,3.4269662921348316,3.0836454431960054,1.8726591760299625,5.736579275905119,3.651685393258427,2.5093632958801497,5.9238451935081144,1.8913857677902621,3.470661672908864,3.7702871410736583,4.057428214731585,5.774032459425719,3.6766541822721597,5.686641697877653,6.167290886392011,4.200998751560549,2.4032459425717856,1.0299625468164793,1.3795255930087391,5.848938826466916,3.451935081148564,2.634207240948814,1.042446941323346,6.023720349563047,4.200998751560549,5.199750312109863,1.5480649188514357,3.651685393258427,3.0524344569288386,5.524344569288389,0.5387016229712859,2.00374531835206,1.9101123595505618,2.2971285892634206,5.149812734082397,0.7990012484394506,4.950062421972534,4.500624219725343,4.225967540574282, +3.776529338327091,5.212234706616729,2.253433208489388,5.418227215980025,3.689138576779026,3.81398252184769,0.7490636704119851,3.408239700374532,1.0237203495630463,3.0024968789013733,3.745318352059925,1.34207240948814,0.44382022471910115,0.36953807740324596,1.7415730337078652,5.97378277153558,4.606741573033708,2.8776529338327093,2.0599250936329585,1.7415730337078652,4.00749063670412,5.355805243445693,3.0649188514357055,5.599250936329588,4.918851435705368,1.0611735330836456,0.7365792759051186,0.7615480649188515,1.8851435705368291,4.157303370786517,0.3464419475655431,1.0299625468164793,5.187265917602996,4.0886392009987516,1.410736579275905,2.6779026217228465,0.8551810237203495,6.30461922596754,4.413233458177278,0.7927590511860175,0.7927590511860175,5.043695380774032,3.920099875156055,1.3670411985018727,0.8551810237203495,1.1860174781523096,5.848938826466916,2.8339575530586765,1.229712858926342,4.563046192259676,3.0961298377028714,3.3146067415730336,4.238451935081149,5.961298377028713,1.8913857677902621,3.714107365792759,4.019975031210986,5.024968789013733,6.1360799001248445,3.352059925093633,2.4843945068664173,3.4456928838951315,3.114856429463171,1.8976279650436954,5.767790262172285,3.6766541822721597,2.5343320848938826,5.942571785268415,1.916354556803995,3.495630461922597,3.801498127340824,4.0886392009987516,5.799001248439451,3.7078651685393256,5.717852684144819,6.192259675405743,4.225967540574282,2.4406991260923845,1.0549313358302121,1.4169787765293382,5.8863920099875156,3.4831460674157304,2.671660424469413,1.0674157303370786,6.054931335830212,4.225967540574282,5.224719101123595,1.5792759051186018,3.6766541822721597,3.089887640449438,5.555555555555556,0.5630461922596754,2.034956304619226,1.941323345817728,2.328339575530587,5.187265917602996,0.8302122347066168,4.975031210986267,4.531835205992509,4.250936329588015, +3.801498127340824,5.243445692883895,2.2846441947565546,5.443196004993759,3.714107365792759,3.8389513108614235,0.7740324594257179,3.4332084893882646,1.0549313358302121,3.027465667915106,3.7702871410736583,1.373283395755306,0.466916354556804,0.3995006242197253,1.766541822721598,5.998751560549313,4.637952559300874,2.908863920099875,2.084893882646692,1.766541822721598,4.038701622971286,5.3870162297128585,3.089887640449438,5.630461922596755,4.943820224719102,1.0923845193508115,0.7677902621722846,0.7865168539325842,1.916354556803995,4.18227215980025,0.3714107365792759,1.0611735330836456,5.212234706616729,4.1136079900124844,1.4294631710362047,2.702871410736579,0.8863920099875156,6.30461922596754,4.438202247191011,0.8114856429463172,0.8177278401997503,5.062421972534332,3.9450686641697876,1.3982521847690388,0.8801498127340824,1.2109862671660423,5.880149812734083,2.871410736579276,1.260923845193508,4.594257178526841,3.1210986267166043,3.352059925093633,4.263420724094882,5.998751560549313,1.916354556803995,3.732833957553059,4.051186017478152,5.062421972534332,6.161048689138577,3.3770287141073654,2.5031210986267167,3.464419475655431,3.1460674157303368,1.916354556803995,5.799001248439451,3.6953807740324596,2.5530586766541825,5.967540574282147,1.941323345817728,3.5205992509363297,3.83270911360799,4.119850187265917,5.823970037453184,3.732833957553059,5.749063670411985,6.210986267166042,4.244694132334582,2.471910112359551,1.079900124843945,1.4544319600499376,5.9238451935081144,3.5143570536828963,2.702871410736579,1.0861423220973783,6.086142322097379,4.244694132334582,5.249687890137328,1.6104868913857677,3.701622971285893,3.1210986267166043,5.586766541822722,0.5867665418227216,2.066167290886392,1.9662921348314608,2.3657927590511862,5.224719101123595,0.867665418227216,5.0062421972534334,4.556803995006242,4.275905118601748, +3.83270911360799,5.274656679151062,2.3158551810237205,5.474406991260924,3.7390761548064915,3.857677902621723,0.7927590511860175,3.4581772784019975,1.0861423220973783,3.046192259675406,3.7890137328339577,1.3982521847690388,0.4893882646691636,0.42946317103620474,1.7915106117353308,6.029962546816479,4.66916354556804,2.9400749063670415,2.1098626716604243,1.7852684144818978,4.069912609238452,5.418227215980025,3.114856429463171,5.66167290886392,4.975031210986267,1.1235955056179776,0.7990012484394506,0.8114856429463172,1.9475655430711611,4.207240948813983,0.39637952559300876,1.0986267166042447,5.230961298377029,4.132334581772784,1.4544319600499376,2.727840199750312,0.9238451935081149,6.367041198501872,4.456928838951311,0.8364544319600499,0.8426966292134832,5.087390761548065,3.970037453183521,1.4294631710362047,0.9113607990012486,1.2421972534332086,5.9113607990012484,2.902621722846442,1.2921348314606742,4.6254681647940075,3.15230961298377,3.383270911360799,4.288389513108614,6.036204744069912,1.9350811485642945,3.7578027465667914,4.0761548064918856,5.099875156054932,6.186017478152309,3.4019975031210987,2.521847690387016,3.4893882646691634,3.1772784019975036,1.941323345817728,5.830212234706617,3.7203495630461925,2.578027465667915,5.986267166042447,1.9662921348314608,3.545568039950062,3.8639200998751564,4.151061173533084,5.848938826466916,3.7578027465667914,5.7802746566791505,6.229712858926342,4.263420724094882,2.5093632958801497,1.104868913857678,1.4856429463171037,5.961298377028713,3.545568039950062,2.7340823970037453,1.1111111111111112,6.117353308364544,4.269662921348314,5.274656679151062,1.6416978776529338,3.7265917602996255,3.15230961298377,5.611735330836455,0.6104868913857677,2.097378277153558,1.9912609238451935,2.397003745318352,5.262172284644195,0.898876404494382,5.0374531835206,4.581772784019975,4.294631710362047, +3.8639200998751564,5.312109862671661,2.35330836454432,5.499375780274657,3.764044943820225,3.882646691635456,0.8177278401997503,3.4893882646691634,1.1173533083645444,3.0711610486891385,3.81398252184769,1.4294631710362047,0.5124843945068664,0.45942571785268416,1.8164794007490637,6.061173533083646,4.700374531835206,2.9712858926342074,2.128589263420724,1.8102372034956304,4.094881398252185,5.449438202247191,3.139825218476904,5.692883895131087,5.0062421972534334,1.1485642946317103,0.8302122347066168,0.8364544319600499,1.978776529338327,4.2322097378277155,0.4207240948813982,1.1298377028714106,5.2559300873907615,4.157303370786517,1.4794007490636705,2.746566791510612,0.9550561797752809,6.367041198501872,4.4818976279650435,0.8551810237203495,0.8614232209737829,5.106117353308365,3.9950062421972534,1.466916354556804,0.9425717852684146,1.2671660424469413,5.942571785268415,2.9400749063670415,1.3295880149812733,4.656679151061174,3.183520599250936,3.4144818976279647,4.31960049937578,6.067415730337078,1.9600499375780276,3.776529338327091,4.107365792759051,5.1373283395755305,6.210986267166042,3.4332084893882646,2.5405742821473156,3.508114856429463,3.2084893882646695,1.9662921348314608,5.861423220973783,3.745318352059925,2.596754057428215,6.01123595505618,1.9912609238451935,3.5705368289637955,3.8951310861423223,4.188514357053683,5.867665418227216,3.7890137328339577,5.811485642946318,6.242197253433209,4.288389513108614,2.5405742821473156,1.1298377028714106,1.523096129837703,6.004993757802747,3.576779026217228,2.7715355805243447,1.1298377028714106,6.1485642946317105,4.294631710362047,5.299625468164794,1.6729088639200997,3.7515605493133584,3.183520599250936,5.64294631710362,0.6367041198501873,2.128589263420724,2.0224719101123596,2.428214731585518,5.305867665418227,0.9363295880149812,5.068664169787765,4.606741573033708,4.31960049937578, +3.8951310861423223,5.343320848938826,2.3845193508114857,5.5305867665418225,3.7890137328339577,3.9076154806491883,0.8426966292134832,3.5143570536828963,1.1423220973782773,3.0961298377028714,3.83270911360799,1.4606741573033708,0.534956304619226,0.4893882646691636,1.8414481897627966,6.086142322097379,4.7315855181023725,3.0024968789013733,2.153558052434457,1.8289637952559301,4.1260923845193505,5.480649188514358,3.1647940074906367,5.724094881398252,5.0374531835206,1.1797752808988764,0.8614232209737829,0.8614232209737829,2.016229712858926,4.257178526841448,0.44569288389513106,1.161048689138577,5.274656679151062,4.176029962546816,1.4981273408239701,2.7715355805243447,0.9925093632958802,6.429463171036204,4.506866416978776,0.8739076154806492,0.8863920099875156,5.131086142322098,4.02621722846442,1.4981273408239701,0.9737827715355806,1.2921348314606742,5.97378277153558,2.9712858926342074,1.3607990012484397,4.681647940074906,3.2084893882646695,3.451935081148564,4.344569288389513,6.104868913857677,1.9850187265917605,3.7952559300873907,4.132334581772784,5.174781523096129,6.235955056179775,3.4581772784019975,2.5593008739076155,3.5268414481897628,3.2397003745318353,1.9850187265917605,5.892634207240949,3.764044943820225,2.6217228464419473,6.029962546816479,2.016229712858926,3.595505617977528,3.926342072409488,4.219725343320849,5.892634207240949,3.81398252184769,5.842696629213483,6.242197253433209,4.307116104868914,2.578027465667915,1.1548064918851435,1.554307116104869,6.0424469413233455,3.607990012484395,2.8027465667915106,1.1548064918851435,6.179775280898876,4.31960049937578,5.324594257178527,1.704119850187266,3.776529338327091,3.214731585518102,5.674157303370786,0.6616729088639202,2.15980024968789,2.0474406991260925,2.4656679151061174,5.343320848938826,0.9675405742821472,5.099875156054932,4.631710362047441,4.344569288389513, +3.926342072409488,5.3745318352059925,2.4157303370786516,5.555555555555556,3.81398252184769,3.926342072409488,0.8614232209737829,3.5393258426966296,1.1735330836454432,3.114856429463171,3.857677902621723,1.4918851435705367,0.5580524344569288,0.519350811485643,1.8664169787765295,6.117353308364544,4.762796504369538,3.033707865168539,2.1785268414481895,1.8476903870162298,4.157303370786517,5.511860174781523,3.1897627965043696,5.7553058676654185,5.062421972534332,1.2109862671660423,0.8863920099875156,0.8863920099875156,2.0474406991260925,4.282147315855181,0.4700374531835206,1.198501872659176,5.299625468164794,4.200998751560549,1.523096129837703,2.7965043695380776,1.0237203495630463,6.429463171036204,4.531835205992509,0.898876404494382,0.9113607990012486,5.149812734082397,4.051186017478152,1.529338327091136,0.9987515605493134,1.3233458177278403,6.004993757802747,3.0024968789013733,1.3982521847690388,4.712858926342073,3.2397003745318353,3.4831460674157304,4.369538077403246,6.142322097378277,2.009987515605493,3.8202247191011236,4.16354556803995,5.212234706616729,6.242197253433209,3.4831460674157304,2.578027465667915,3.5518102372034956,3.2709113607990012,2.009987515605493,5.9238451935081144,3.7890137328339577,2.640449438202247,6.054931335830212,2.0411985018726595,3.620474406991261,3.957553058676654,4.250936329588015,5.917602996254682,3.8451935081148565,5.8739076154806495,6.30461922596754,4.325842696629214,2.6092384519350813,1.1797752808988764,1.591760299625468,6.079900124843945,3.639200998751561,2.8339575530586765,1.1735330836454432,6.210986267166042,4.344569288389513,5.34956304619226,1.735330836454432,3.801498127340824,3.245942571785269,5.705368289637952,0.6803995006242198,2.1910112359550564,2.0724094881398254,2.4968789013732833,5.380774032459426,0.9987515605493134,5.131086142322098,4.656679151061174,4.369538077403246, +3.957553058676654,5.411985018726591,2.453183520599251,5.586766541822722,3.8389513108614235,3.951310861423221,0.8863920099875156,3.564294631710362,1.2047440699126093,3.139825218476904,3.8764044943820224,1.5168539325842696,0.5811485642946317,0.548689138576779,1.8913857677902621,6.1485642946317105,4.794007490636704,3.0649188514357055,2.203495630461923,1.8726591760299625,4.18227215980025,5.543071161048689,3.214731585518102,5.786516853932584,5.093632958801498,1.2359550561797754,0.9176029962546817,0.9113607990012486,2.0786516853932584,4.307116104868914,0.4950062421972534,1.229712858926342,5.318352059925093,4.225967540574282,1.5418227215980027,2.82147315855181,1.0611735330836456,6.491885143570538,4.556803995006242,0.9176029962546817,0.9363295880149812,5.174781523096129,4.0761548064918856,1.5605493133583022,1.0299625468164793,1.348314606741573,6.036204744069912,3.0399500624219726,1.4294631710362047,4.7440699126092385,3.2646691635455682,3.5205992509363297,4.394506866416979,6.173533083645444,2.034956304619226,3.8389513108614235,4.188514357053683,5.249687890137328,6.30461922596754,3.5143570536828963,2.596754057428215,3.5705368289637955,3.3021223470661676,2.0287141073657926,5.955056179775282,3.8077403245942576,2.66541822721598,6.073657927590512,2.0599250936329585,3.6454431960049942,3.982521847690387,4.282147315855181,5.942571785268415,3.870162297128589,5.905118601747815,6.30461922596754,4.3508114856429465,2.6466916354556806,1.2047440699126093,1.6229712858926344,6.117353308364544,3.6704119850187267,2.871410736579276,1.198501872659176,6.242197253433209,4.369538077403246,5.3745318352059925,1.766541822721598,3.826466916354557,3.2833957553058677,5.730337078651686,0.7053682896379525,2.2222222222222223,2.097378277153558,2.5280898876404496,5.424469413233458,1.0362047440699127,5.15605493133583,4.681647940074906,4.388264669163545, +3.9887640449438204,5.443196004993759,2.4843945068664173,5.611735330836455,3.8639200998751564,3.9762796504369535,0.9113607990012486,3.589263420724095,1.2359550561797754,3.1647940074906367,3.8951310861423223,1.5480649188514357,0.6036204744069913,0.5786516853932584,1.916354556803995,6.179775280898876,4.825218476903871,3.0961298377028714,2.2284644194756553,1.8913857677902621,4.213483146067416,5.574282147315855,3.233458177278402,5.81772784019975,5.1248439450686645,1.2671660424469413,0.9488139825218477,0.9363295880149812,2.1098626716604243,4.332084893882647,0.5199750312109862,1.2671660424469413,5.337078651685393,4.244694132334582,1.5667915106117354,2.84019975031211,1.0923845193508115,6.491885143570538,4.581772784019975,0.9363295880149812,0.9612983770287141,5.199750312109863,4.1011235955056184,1.5980024968789013,1.0611735330836456,1.373283395755306,6.067415730337078,3.0711610486891385,1.4606741573033708,4.775280898876405,3.295880149812734,3.5518102372034956,4.419475655430712,6.210986267166042,2.0599250936329585,3.857677902621723,4.219725343320849,5.287141073657928,6.30461922596754,3.5393258426966296,2.6217228464419473,3.589263420724095,3.3333333333333335,2.0536828963795255,5.986267166042447,3.83270911360799,2.68414481897628,6.098626716604246,2.084893882646692,3.6704119850187267,4.013732833957553,4.31960049937578,5.961298377028713,3.8951310861423223,5.936329588014981,6.30461922596754,4.369538077403246,2.6779026217228465,1.229712858926342,1.6604244694132335,6.154806491885144,3.701622971285893,2.902621722846442,1.2172284644194757,6.30461922596754,4.394506866416979,5.399500624219725,1.797752808988764,3.8514357053682895,3.3146067415730336,5.761548064918852,0.7303370786516854,2.253433208489388,2.128589263420724,2.565543071161049,5.461922596754057,1.0674157303370786,5.187265917602996,4.70661672908864,4.413233458177278, +4.019975031210986,5.474406991260924,2.521847690387016,5.64294631710362,3.888888888888889,3.9950062421972534,0.9300873907615481,3.620474406991261,1.260923845193508,3.183520599250936,3.920099875156055,1.5792759051186018,0.6242197253433208,0.6086142322097379,1.941323345817728,6.20474406991261,4.856429463171036,3.1273408239700373,2.253433208489388,1.916354556803995,4.244694132334582,5.605493133583021,3.258426966292135,5.848938826466916,5.149812734082397,1.2983770287141074,0.9800249687890138,0.9612983770287141,2.1410736579275906,4.357053682896379,0.5443196004993758,1.2983770287141074,5.3620474406991265,4.269662921348314,1.591760299625468,2.865168539325843,1.1298377028714106,6.554307116104869,4.606741573033708,0.9550561797752809,0.9862671660424469,5.218476903870163,4.132334581772784,1.6292134831460674,1.0861423220973783,1.404494382022472,6.098626716604246,3.102372034956305,1.4981273408239701,4.800249687890138,3.3270911360799,3.589263420724095,4.450686641697877,6.242197253433209,2.0786516853932584,3.882646691635456,4.244694132334582,5.324594257178527,6.367041198501872,3.564294631710362,2.640449438202247,3.6142322097378274,3.3645443196004994,2.0786516853932584,6.0174781523096135,3.857677902621723,2.7091136079900124,6.117353308364544,2.1098626716604243,3.6953807740324596,4.044943820224719,4.3508114856429465,5.986267166042447,3.926342072409488,5.967540574282147,6.367041198501872,4.388264669163545,2.715355805243446,1.2484394506866416,1.6978776529338326,6.198501872659176,3.732833957553059,2.933832709113608,1.2359550561797754,6.30461922596754,4.413233458177278,5.424469413233458,1.8227215980024971,3.8764044943820224,3.3458177278401995,5.792759051186017,0.7553058676654182,2.2846441947565546,2.153558052434457,2.596754057428215,5.499375780274657,1.104868913857678,5.218476903870163,4.737827715355805,4.438202247191011, +4.044943820224719,5.511860174781523,2.5530586766541825,5.667915106117353,3.9138576779026217,4.019975031210986,0.9550561797752809,3.6454431960049942,1.2921348314606742,3.2084893882646695,3.938826466916354,1.6042446941323347,0.6491885143570537,0.6367041198501873,1.9662921348314608,6.235955056179775,4.887640449438202,3.1585518102372037,2.278401997503121,1.9350811485642945,4.269662921348314,5.64294631710362,3.2833957553058677,5.880149812734083,5.181023720349563,1.3233458177278403,1.0112359550561798,0.9862671660424469,2.1722846441947565,4.382022471910113,0.5692883895131086,1.3295880149812733,5.380774032459426,4.288389513108614,1.6104868913857677,2.8901373283395753,1.16729088639201,6.554307116104869,4.6254681647940075,0.9800249687890138,1.0112359550561798,5.243445692883895,4.157303370786517,1.6604244694132335,1.1173533083645444,1.4294631710362047,6.129837702871411,3.139825218476904,1.529338327091136,4.831460674157303,3.352059925093633,3.620474406991261,4.475655430711611,6.30461922596754,2.1036204744069913,3.9013732833957557,4.275905118601748,5.3620474406991265,6.367041198501872,3.595505617977528,2.6591760299625467,3.6329588014981273,3.3957553058676653,2.097378277153558,6.048689138576779,3.8764044943820224,2.727840199750312,6.1360799001248445,2.134831460674157,3.7203495630461925,4.0761548064918856,4.382022471910113,6.01123595505618,3.951310861423221,5.998751560549313,6.367041198501872,4.413233458177278,2.746566791510612,1.2734082397003745,1.7290886392009988,6.235955056179775,3.764044943820225,2.9712858926342074,1.260923845193508,6.367041198501872,4.438202247191011,5.449438202247191,1.8539325842696628,3.9013732833957557,3.3770287141073654,5.81772784019975,0.7802746566791511,2.3158551810237205,2.1785268414481895,2.6279650436953808,5.536828963795256,1.136079900124844,5.249687890137328,4.762796504369538,4.463171036204744, +4.0761548064918856,5.543071161048689,2.5842696629213484,5.69912609238452,3.938826466916354,4.044943820224719,0.9800249687890138,3.6704119850187267,1.3233458177278403,3.233458177278402,3.9637952559300875,1.6354556803995006,0.6741573033707865,0.6679151061173533,1.9912609238451935,6.242197253433209,4.918851435705368,3.1897627965043696,2.303370786516854,1.9600499375780276,4.300873907615481,5.674157303370786,3.3083645443196006,5.9113607990012484,5.212234706616729,1.3545568039950062,1.0362047440699127,1.0112359550561798,2.203495630461923,4.406991260923846,0.5942571785268415,1.3670411985018727,5.405742821473158,4.313358302122348,1.6354556803995006,2.9151061173533086,1.198501872659176,6.616729088639201,4.65043695380774,0.9987515605493134,1.0299625468164793,5.262172284644195,4.18227215980025,1.6978776529338326,1.1485642946317103,1.4544319600499376,6.161048689138577,3.17103620474407,1.5605493133583022,4.8626716604244695,3.383270911360799,3.651685393258427,4.500624219725343,6.30461922596754,2.128589263420724,3.920099875156055,4.300873907615481,5.399500624219725,6.367041198501872,3.620474406991261,2.6779026217228465,3.651685393258427,3.4332084893882646,2.122347066167291,6.079900124843945,3.9013732833957557,2.752808988764045,6.161048689138577,2.15980024968789,3.745318352059925,4.107365792759051,4.413233458177278,6.036204744069912,3.9762796504369535,6.029962546816479,6.367041198501872,4.431960049937578,2.7840199750312107,1.2983770287141074,1.766541822721598,6.30461922596754,3.7952559300873907,3.0024968789013733,1.2796504369538078,6.367041198501872,4.463171036204744,5.480649188514358,1.8851435705368291,3.926342072409488,3.408239700374532,5.848938826466916,0.8052434456928839,2.3470661672908864,2.203495630461923,2.66541822721598,5.580524344569288,1.1735330836454432,5.280898876404494,4.787765293383271,4.4818976279650435, +4.107365792759051,5.574282147315855,2.6217228464419473,5.724094881398252,3.9637952559300875,4.063670411985019,0.9987515605493134,3.6953807740324596,1.3545568039950062,3.2521847690387014,3.982521847690387,1.6666666666666667,0.6928838951310862,0.6991260923845194,2.016229712858926,6.30461922596754,4.950062421972534,3.2209737827715355,2.328339575530587,1.978776529338327,4.332084893882647,5.705368289637952,3.3333333333333335,5.942571785268415,5.237203495630462,1.3857677902621723,1.0674157303370786,1.0362047440699127,2.2347066167290888,4.431960049937578,0.618601747815231,1.3982521847690388,5.424469413233458,4.332084893882647,1.6541822721598003,2.933832709113608,1.2359550561797754,6.616729088639201,4.675405742821473,1.017478152309613,1.0549313358302121,5.287141073657928,4.213483146067416,1.7290886392009988,1.1797752808988764,1.4856429463171037,6.192259675405743,3.202247191011236,1.5980024968789013,4.893882646691636,3.408239700374532,3.689138576779026,4.525593008739076,6.367041198501872,2.153558052434457,3.9450686641697876,4.332084893882647,5.436953807740325,6.429463171036204,3.6454431960049942,2.696629213483146,3.6766541822721597,3.464419475655431,2.1410736579275906,6.111111111111111,3.920099875156055,2.7715355805243447,6.179775280898876,2.184769038701623,3.7702871410736583,4.138576779026217,4.444444444444445,6.054931335830212,4.00749063670412,6.061173533083646,6.429463171036204,4.450686641697877,2.8152309612983775,1.3233458177278403,1.797752808988764,6.30461922596754,3.826466916354557,3.0399500624219726,1.3046192259675407,6.429463171036204,4.488139825218477,5.50561797752809,1.916354556803995,3.951310861423221,3.4456928838951315,5.880149812734083,0.8239700374531835,2.3782771535580522,2.2347066167290888,2.696629213483146,5.617977528089888,1.2047440699126093,5.312109862671661,4.812734082397004,4.506866416978776, +4.138576779026217,5.611735330836455,2.6529338327091136,5.7553058676654185,3.9887640449438204,4.0886392009987516,1.0237203495630463,3.7265917602996255,1.3795255930087391,3.2771535580524347,4.00749063670412,1.6978776529338326,0.717852684144819,0.7303370786516854,2.0411985018726595,6.30461922596754,4.9812734082397006,3.2521847690387014,2.35330836454432,2.00374531835206,4.357053682896379,5.736579275905119,3.3583021223470664,5.967540574282147,5.268414481897628,1.410736579275905,1.0986267166042447,1.0611735330836456,2.2659176029962547,4.456928838951311,0.6429463171036205,1.4294631710362047,5.449438202247191,4.357053682896379,1.6791510611735332,2.958801498127341,1.2671660424469413,6.679151061173534,4.700374531835206,1.042446941323346,1.079900124843945,5.305867665418227,4.238451935081149,1.7602996254681649,1.2047440699126093,1.5106117353308364,6.223470661672909,3.2397003745318353,1.6292134831460674,4.918851435705368,3.439450686641698,3.7203495630461925,4.55056179775281,6.367041198501872,2.1785268414481895,3.9637952559300875,4.3632958801498125,5.474406991260924,6.429463171036204,3.6766541822721597,2.715355805243446,3.6953807740324596,3.495630461922597,2.1660424469413235,6.1360799001248445,3.9450686641697876,2.7965043695380776,6.20474406991261,2.209737827715356,3.7952559300873907,4.169787765293384,4.4818976279650435,6.079900124843945,4.032459425717852,6.092384519350812,6.429463171036204,4.475655430711611,2.8464419475655434,1.348314606741573,1.8352059925093633,6.367041198501872,3.857677902621723,3.0711610486891385,1.3233458177278403,6.429463171036204,4.51310861423221,5.5305867665418225,1.9475655430711611,3.9762796504369535,3.4769038701622974,5.905118601747815,0.8489388264669163,2.4094881398252186,2.259675405742821,2.727840199750312,5.655430711610487,1.2359550561797754,5.337078651685393,4.837702871410737,4.531835205992509, +4.169787765293384,5.64294631710362,2.68414481897628,5.7802746566791505,4.013732833957553,4.1136079900124844,1.048689138576779,3.7515605493133584,1.410736579275905,3.3021223470661676,4.02621722846442,1.7228464419475658,0.7428214731585518,0.7553058676654182,2.066167290886392,6.367041198501872,5.012484394506866,3.2833957553058677,2.3782771535580522,2.0224719101123596,4.388264669163545,5.767790262172285,3.383270911360799,5.998751560549313,5.299625468164794,1.4419475655430714,1.1298377028714106,1.0861423220973783,2.2971285892634206,4.4818976279650435,0.6679151061173533,1.466916354556804,5.468164794007491,4.382022471910113,1.704119850187266,2.9837702871410734,1.3046192259675407,6.679151061173534,4.725343320848939,1.0611735330836456,1.104868913857678,5.33083645443196,4.263420724094882,1.7915106117353308,1.2359550561797754,1.5355805243445693,6.242197253433209,3.2709113607990012,1.6666666666666667,4.950062421972534,3.464419475655431,3.7578027465667914,4.581772784019975,6.429463171036204,2.1972534332084894,3.9887640449438204,4.388264669163545,5.511860174781523,6.491885143570538,3.701622971285893,2.7340823970037453,3.714107365792759,3.5268414481897628,2.184769038701623,6.167290886392011,3.9637952559300875,2.8152309612983775,6.223470661672909,2.2347066167290888,3.8202247191011236,4.200998751560549,4.51310861423221,6.104868913857677,4.057428214731585,6.123595505617978,6.429463171036204,4.49438202247191,2.8838951310861427,1.373283395755306,1.8726591760299625,6.367041198501872,3.888888888888889,3.102372034956305,1.348314606741573,6.491885143570538,4.538077403245943,5.555555555555556,1.978776529338327,4.001248439450687,3.508114856429463,5.936329588014981,0.8739076154806492,2.4406991260923845,2.2846441947565546,2.7590511860174782,5.69912609238452,1.2734082397003745,5.36828963795256,4.8626716604244695,4.556803995006242, +4.200998751560549,5.674157303370786,2.7215980024968793,5.811485642946318,4.038701622971286,4.132334581772784,1.0674157303370786,3.776529338327091,1.4419475655430714,3.320848938826467,4.044943820224719,1.7540574282147314,0.7615480649188515,0.7865168539325842,2.091136079900125,6.367041198501872,5.043695380774032,3.3146067415730336,2.4032459425717856,2.0474406991260925,4.419475655430712,5.799001248439451,3.408239700374532,6.029962546816479,5.324594257178527,1.4731585518102372,1.161048689138577,1.1111111111111112,2.328339575530587,4.506866416978776,0.6928838951310862,1.4981273408239701,5.493133583021224,4.400749063670412,1.7228464419475658,3.0087390761548067,1.3358302122347065,6.741573033707866,4.750312109862672,1.079900124843945,1.1298377028714106,5.34956304619226,4.288389513108614,1.8289637952559301,1.2671660424469413,1.5605493133583022,6.30461922596754,3.3083645443196006,1.6978776529338326,4.9812734082397006,3.495630461922597,3.7890137328339577,4.606741573033708,6.429463171036204,2.2222222222222223,4.00749063670412,4.419475655430712,5.549313358302123,6.491885143570538,3.7265917602996255,2.752808988764045,3.7390761548064915,3.5580524344569286,2.209737827715356,6.198501872659176,3.9887640449438204,2.84019975031211,6.242197253433209,2.259675405742821,3.8451935081148565,4.2322097378277155,4.544319600499376,6.123595505617978,4.0886392009987516,6.1485642946317105,6.491885143570538,4.519350811485642,2.9151061173533086,1.3982521847690388,1.9038701622971288,6.429463171036204,3.920099875156055,3.139825218476904,1.3670411985018727,6.491885143570538,4.563046192259676,5.580524344569288,2.009987515605493,4.02621722846442,3.5393258426966296,5.967540574282147,0.898876404494382,2.4656679151061174,2.3158551810237205,2.7965043695380776,5.736579275905119,1.3046192259675407,5.399500624219725,4.887640449438202,4.575530586766542, +4.2322097378277155,5.711610486891385,2.752808988764045,5.836454431960051,4.063670411985019,4.157303370786517,1.0923845193508115,3.801498127340824,1.4731585518102372,3.3458177278401995,4.069912609238452,1.7852684144818978,0.7865168539325842,0.8177278401997503,2.1161048689138577,6.429463171036204,5.074906367041199,3.3458177278401995,2.428214731585518,2.066167290886392,4.444444444444445,5.830212234706617,3.4332084893882646,6.061173533083646,5.355805243445693,1.4981273408239701,1.1922596754057428,1.136079900124844,2.3657927590511862,4.525593008739076,0.717852684144819,1.5355805243445693,5.511860174781523,4.425717852684145,1.7478152309612984,3.027465667915106,1.373283395755306,6.741573033707866,4.769038701622971,1.104868913857678,1.1548064918851435,5.3745318352059925,4.31960049937578,1.8601747815230962,1.2921348314606742,1.591760299625468,6.30461922596754,3.339575530586767,1.7290886392009988,5.012484394506866,3.5268414481897628,3.826466916354557,4.631710362047441,6.491885143570538,2.247191011235955,4.02621722846442,4.444444444444445,5.586766541822722,6.491885143570538,3.7578027465667914,2.7715355805243447,3.7578027465667914,3.589263420724095,2.2347066167290888,6.229712858926342,4.013732833957553,2.8589263420724094,6.242197253433209,2.2846441947565546,3.870162297128589,4.263420724094882,4.575530586766542,6.1485642946317105,4.1136079900124844,6.179775280898876,6.491885143570538,4.538077403245943,2.9525593008739075,1.4232209737827717,1.941323345817728,6.491885143570538,3.9450686641697876,3.17103620474407,1.3920099875156053,6.554307116104869,4.581772784019975,5.605493133583021,2.0411985018726595,4.057428214731585,3.5705368289637955,5.992509363295881,0.9238451935081149,2.4968789013732833,2.340823970037453,2.8277153558052435,5.774032459425719,1.34207240948814,5.430711610486892,4.912609238451935,4.600499375780275, +4.263420724094882,5.742821473158552,2.7840199750312107,5.867665418227216,4.0886392009987516,4.18227215980025,1.1173533083645444,3.826466916354557,1.4981273408239701,3.370786516853933,4.0886392009987516,1.8164794007490637,0.8114856429463172,0.8489388264669163,2.1410736579275906,6.429463171036204,5.106117353308365,3.3770287141073654,2.453183520599251,2.091136079900125,4.475655430711611,5.861423220973783,3.4581772784019975,6.092384519350812,5.3870162297128585,1.529338327091136,1.2172284644194757,1.161048689138577,2.397003745318352,4.55056179775281,0.7428214731585518,1.5667915106117354,5.5305867665418225,4.444444444444445,1.766541822721598,3.0524344569288386,1.404494382022472,6.803995006242197,4.794007490636704,1.1235955056179776,1.1735330836454432,5.393258426966292,4.344569288389513,1.8913857677902621,1.3233458177278403,1.616729088639201,6.367041198501872,3.370786516853933,1.766541822721598,5.0374531835206,3.5518102372034956,3.857677902621723,4.656679151061174,6.554307116104869,2.272159800249688,4.051186017478152,4.475655430711611,5.6242197253433215,6.554307116104869,3.7827715355805243,2.7965043695380776,3.776529338327091,3.620474406991261,2.253433208489388,6.242197253433209,4.032459425717852,2.8838951310861427,6.30461922596754,2.303370786516854,3.8951310861423223,4.294631710362047,4.612983770287141,6.173533083645444,4.138576779026217,6.210986267166042,6.491885143570538,4.556803995006242,2.9837702871410734,1.4481897627965044,1.9725343320848938,6.491885143570538,3.9762796504369535,3.202247191011236,1.410736579275905,6.554307116104869,4.606741573033708,5.630461922596755,2.0724094881398254,4.082397003745319,3.6017478152309614,6.023720349563047,0.9488139825218477,2.5280898876404496,2.3657927590511862,2.8589263420724094,5.811485642946318,1.373283395755306,5.461922596754057,4.943820224719102,4.6254681647940075, +4.288389513108614,5.774032459425719,2.82147315855181,5.892634207240949,4.1136079900124844,4.200998751560549,1.136079900124844,3.857677902621723,1.529338327091136,3.3895131086142323,4.1136079900124844,1.8414481897627966,0.8302122347066168,0.8801498127340824,2.1660424469413235,6.491885143570538,5.1373283395755305,3.408239700374532,2.471910112359551,2.1098626716604243,4.500624219725343,5.892634207240949,3.4769038701622974,6.123595505617978,5.418227215980025,1.5605493133583022,1.2484394506866416,1.1860174781523096,2.428214731585518,4.575530586766542,0.7677902621722846,1.5980024968789013,5.555555555555556,4.4694132334581775,1.7915106117353308,3.077403245942572,1.4419475655430714,6.803995006242197,4.818976279650437,1.1423220973782773,1.198501872659176,5.418227215980025,4.369538077403246,1.9225967540574282,1.3545568039950062,1.6416978776529338,6.367041198501872,3.408239700374532,1.797752808988764,5.068664169787765,3.5830212234706615,3.888888888888889,4.681647940074906,6.554307116104869,2.2971285892634206,4.069912609238452,4.500624219725343,5.66167290886392,6.554307116104869,3.8077403245942576,2.8152309612983775,3.801498127340824,3.651685393258427,2.278401997503121,6.30461922596754,4.057428214731585,2.902621722846442,6.30461922596754,2.328339575530587,3.920099875156055,4.325842696629214,4.644194756554308,6.198501872659176,4.169787765293384,6.242197253433209,6.554307116104869,4.581772784019975,3.0212234706616727,1.4731585518102372,2.009987515605493,6.554307116104869,4.00749063670412,3.2397003745318353,1.435705368289638,6.616729088639201,4.631710362047441,5.655430711610487,2.1036204744069913,4.107365792759051,3.639200998751561,6.054931335830212,0.9737827715355806,2.5593008739076155,2.3907615480649187,2.8963795255930087,5.855181023720349,1.410736579275905,5.493133583021224,4.9687890137328345,4.644194756554308, +4.31960049937578,5.805243445692884,2.852684144818976,5.9238451935081144,4.144818976279651,4.225967540574282,1.161048689138577,3.882646691635456,1.5605493133583022,3.4144818976279647,4.132334581772784,1.8726591760299625,0.8551810237203495,0.9051186017478152,2.1910112359550564,6.491885143570538,5.162297128589263,3.439450686641698,2.4968789013732833,2.128589263420724,4.531835205992509,5.9238451935081144,3.5018726591760303,6.154806491885144,5.443196004993759,1.585518102372035,1.2796504369538078,1.2109862671660423,2.459425717852684,4.600499375780275,0.7927590511860175,1.6354556803995006,5.574282147315855,4.488139825218477,1.8164794007490637,3.0961298377028714,1.4731585518102372,6.866416978776529,4.843945068664169,1.161048689138577,1.223470661672909,5.443196004993759,4.400749063670412,1.9600499375780276,1.3857677902621723,1.6729088639200997,6.429463171036204,3.439450686641698,1.8352059925093633,5.099875156054932,3.607990012484395,3.926342072409488,4.712858926342073,6.616729088639201,2.322097378277154,4.0886392009987516,4.531835205992509,5.69912609238452,6.616729088639201,3.8389513108614235,2.8339575530586765,3.8202247191011236,3.682896379525593,2.2971285892634206,6.30461922596754,4.0761548064918856,2.9275905118601746,6.30461922596754,2.35330836454432,3.9450686641697876,4.357053682896379,4.675405742821473,6.217228464419476,4.194756554307116,6.30461922596754,6.554307116104869,4.600499375780275,3.0524344569288386,1.4981273408239701,2.0411985018726595,6.554307116104869,4.038701622971286,3.2709113607990012,1.4544319600499376,6.616729088639201,4.656679151061174,5.68039950062422,2.134831460674157,4.132334581772784,3.6704119850187267,6.079900124843945,0.9925093632958802,2.5905118601747814,2.4219725343320846,2.9275905118601746,5.892634207240949,1.4419475655430714,5.5181023720349565,4.9937578027465666,4.66916354556804, +4.3508114856429465,5.842696629213483,2.8901373283395753,5.948813982521848,4.169787765293384,4.244694132334582,1.1860174781523096,3.9076154806491883,1.585518102372035,3.439450686641698,4.151061173533084,1.9038701622971288,0.8801498127340824,0.9363295880149812,2.209737827715356,6.554307116104869,5.19350811485643,3.470661672908864,2.521847690387016,2.153558052434457,4.563046192259676,5.955056179775282,3.5268414481897628,6.186017478152309,5.474406991260924,1.616729088639201,1.3108614232209737,1.2359550561797754,2.4906367041198503,4.6254681647940075,0.8177278401997503,1.6666666666666667,5.599250936329588,4.51310861423221,1.8352059925093633,3.1210986267166043,1.5106117353308364,6.866416978776529,4.868913857677903,1.1860174781523096,1.2484394506866416,5.461922596754057,4.425717852684145,1.9912609238451935,1.410736579275905,1.6978776529338326,6.429463171036204,3.470661672908864,1.8664169787765295,5.131086142322098,3.639200998751561,3.957553058676654,4.737827715355805,6.616729088639201,2.340823970037453,4.1136079900124844,4.556803995006242,5.736579275905119,6.616729088639201,3.8639200998751564,2.852684144818976,3.8389513108614235,3.714107365792759,2.322097378277154,6.367041198501872,4.1011235955056184,2.9463171036204745,6.367041198501872,2.3782771535580522,3.970037453183521,4.382022471910113,4.70661672908864,6.242197253433209,4.225967540574282,6.30461922596754,6.554307116104869,4.619225967540574,3.089887640449438,1.523096129837703,2.0786516853932584,6.616729088639201,4.069912609238452,3.3021223470661676,1.4794007490636705,6.679151061173534,4.681647940074906,5.705368289637952,2.1660424469413235,4.157303370786517,3.701622971285893,6.111111111111111,1.017478152309613,2.6217228464419473,2.446941323345818,2.958801498127341,5.930087390761548,1.4794007490636705,5.549313358302123,5.0187265917602994,4.694132334581773, +4.382022471910113,5.8739076154806495,2.9213483146067416,5.980024968789014,4.194756554307116,4.269662921348314,1.2047440699126093,3.9325842696629216,1.616729088639201,3.4581772784019975,4.176029962546816,1.9350811485642945,0.898876404494382,0.9675405742821472,2.2347066167290888,6.554307116104869,5.224719101123595,3.5018726591760303,2.546816479400749,2.1722846441947565,4.588014981273409,5.992509363295881,3.5518102372034956,6.217228464419476,5.50561797752809,1.647940074906367,1.34207240948814,1.260923845193508,2.521847690387016,4.65043695380774,0.8426966292134832,1.6978776529338326,5.617977528089888,4.538077403245943,1.8601747815230962,3.1460674157303368,1.5418227215980027,6.928838951310862,4.893882646691636,1.2047440699126093,1.2734082397003745,5.48689138576779,4.450686641697877,2.0224719101123596,1.4419475655430714,1.7228464419475658,6.491885143570538,3.508114856429463,1.8976279650436954,5.15605493133583,3.6641697877652937,3.9950062421972534,4.762796504369538,6.679151061173534,2.3657927590511862,4.132334581772784,4.588014981273409,5.774032459425719,6.616729088639201,3.888888888888889,2.871410736579276,3.8639200998751564,3.745318352059925,2.3470661672908864,6.367041198501872,4.1260923845193505,2.9712858926342074,6.367041198501872,2.4032459425717856,3.9950062421972534,4.413233458177278,4.7440699126092385,6.242197253433209,4.250936329588015,6.367041198501872,6.616729088639201,4.644194756554308,3.1210986267166043,1.5480649188514357,2.1161048689138577,6.679151061173534,4.1011235955056184,3.339575530586767,1.4981273408239701,6.679151061173534,4.70661672908864,5.730337078651686,2.1972534332084894,4.18227215980025,3.732833957553059,6.142322097378277,1.042446941323346,2.6529338327091136,2.471910112359551,2.9962546816479403,5.97378277153558,1.5106117353308364,5.580524344569288,5.043695380774032,4.719101123595506, +4.413233458177278,5.905118601747815,2.9525593008739075,6.004993757802747,4.219725343320849,4.294631710362047,1.229712858926342,3.957553058676654,1.647940074906367,3.4831460674157304,4.194756554307116,1.9600499375780276,0.9238451935081149,0.9987515605493134,2.259675405742821,6.616729088639201,5.2559300873907615,3.5268414481897628,2.571785268414482,2.1972534332084894,4.619225967540574,6.023720349563047,3.576779026217228,6.242197253433209,5.5305867665418225,1.6729088639200997,1.373283395755306,1.285892634207241,2.5530586766541825,4.675405742821473,0.867665418227216,1.735330836454432,5.64294631710362,4.556803995006242,1.8789013732833957,3.17103620474407,1.5792759051186018,6.928838951310862,4.918851435705368,1.223470661672909,1.2983770287141074,5.50561797752809,4.475655430711611,2.0536828963795255,1.4731585518102372,1.7540574282147314,6.491885143570538,3.5393258426966296,1.9350811485642945,5.187265917602996,3.6953807740324596,4.02621722846442,4.787765293383271,6.679151061173534,2.3907615480649187,4.151061173533084,4.612983770287141,5.811485642946318,6.679151061173534,3.920099875156055,2.8901373283395753,3.882646691635456,3.7827715355805243,2.3657927590511862,6.429463171036204,4.144818976279651,2.990012484394507,6.429463171036204,2.428214731585518,4.019975031210986,4.444444444444445,4.775280898876405,6.30461922596754,4.275905118601748,6.367041198501872,6.616729088639201,4.662921348314606,3.1585518102372037,1.5730337078651684,2.1473158551810236,6.679151061173534,4.132334581772784,3.370786516853933,1.523096129837703,6.741573033707866,4.7315855181023725,5.7553058676654185,2.2284644194756553,4.207240948813983,3.764044943820225,6.167290886392011,1.0674157303370786,2.68414481897628,2.4968789013732833,3.027465667915106,6.01123595505618,1.5418227215980027,5.611735330836455,5.068664169787765,4.737827715355805, +4.444444444444445,5.942571785268415,2.990012484394507,6.036204744069912,4.244694132334582,4.313358302122348,1.2546816479400749,3.9887640449438204,1.6791510611735332,3.508114856429463,4.219725343320849,1.9912609238451935,0.9488139825218477,1.0299625468164793,2.2846441947565546,6.616729088639201,5.287141073657928,3.5580524344569286,2.596754057428215,2.215980024968789,4.65043695380774,6.054931335830212,3.6017478152309614,6.30461922596754,5.561797752808988,1.704119850187266,1.3982521847690388,1.3108614232209737,2.5842696629213484,4.700374531835206,0.8926342072409489,1.766541822721598,5.66167290886392,4.581772784019975,1.9038701622971288,3.1897627965043696,1.6104868913857677,6.991260923845194,4.937578027465668,1.2484394506866416,1.3233458177278403,5.5305867665418225,4.506866416978776,2.091136079900125,1.4981273408239701,1.7790262172284643,6.554307116104869,3.5705368289637955,1.9662921348314608,5.218476903870163,3.7265917602996255,4.057428214731585,4.812734082397004,6.741573033707866,2.4157303370786516,4.176029962546816,4.644194756554308,5.848938826466916,6.679151061173534,3.9450686641697876,2.908863920099875,3.9013732833957557,3.81398252184769,2.3907615480649187,6.429463171036204,4.169787765293384,3.0149812734082393,6.429463171036204,2.453183520599251,4.044943820224719,4.475655430711611,4.806491885143571,6.30461922596754,4.307116104868914,6.429463171036204,6.616729088639201,4.681647940074906,3.1897627965043696,1.5980024968789013,2.184769038701623,6.741573033707866,4.16354556803995,3.4019975031210987,1.5418227215980027,6.741573033707866,4.750312109862672,5.7802746566791505,2.259675405742821,4.2322097378277155,3.801498127340824,6.198501872659176,1.0923845193508115,2.715355805243446,2.5280898876404496,3.058676654182272,6.048689138576779,1.5792759051186018,5.64294631710362,5.093632958801498,4.762796504369538, +4.475655430711611,5.97378277153558,3.0212234706616727,6.061173533083646,4.269662921348314,4.33832709113608,1.2734082397003745,4.013732833957553,1.704119850187266,3.5268414481897628,4.238451935081149,2.0224719101123596,0.9675405742821472,1.0549313358302121,2.309612983770287,6.616729088639201,5.318352059925093,3.589263420724095,2.6217228464419473,2.2409488139825218,4.675405742821473,6.086142322097379,3.6267166042446943,6.30461922596754,5.593008739076155,1.735330836454432,1.4294631710362047,1.3358302122347065,2.6154806491885143,4.725343320848939,0.9176029962546817,1.8039950062421974,5.686641697877653,4.600499375780275,1.9288389513108615,3.214731585518102,1.647940074906367,6.991260923845194,4.962546816479401,1.2671660424469413,1.34207240948814,5.549313358302123,4.531835205992509,2.122347066167291,1.529338327091136,1.8039950062421974,6.554307116104869,3.607990012484395,1.9975031210986267,5.249687890137328,3.7515605493133584,4.094881398252185,4.843945068664169,6.803995006242197,2.4406991260923845,4.194756554307116,4.675405742821473,5.8863920099875156,6.741573033707866,3.970037453183521,2.9275905118601746,3.926342072409488,3.8451935081148565,2.4094881398252186,6.491885143570538,4.188514357053683,3.033707865168539,6.429463171036204,2.478152309612984,4.069912609238452,4.506866416978776,4.837702871410737,6.367041198501872,4.332084893882647,6.429463171036204,6.679151061173534,4.70661672908864,3.227215980024969,1.6229712858926344,2.215980024968789,6.803995006242197,4.194756554307116,3.439450686641698,1.5667915106117354,6.803995006242197,4.775280898876405,5.805243445692884,2.2908863920099876,4.257178526841448,3.83270911360799,6.229712858926342,1.1173533083645444,2.746566791510612,2.5530586766541825,3.089887640449438,6.086142322097379,1.6104868913857677,5.674157303370786,5.118601747815231,4.787765293383271, +4.506866416978776,6.004993757802747,3.0524344569288386,6.092384519350812,4.294631710362047,4.3632958801498125,1.2983770287141074,4.038701622971286,1.735330836454432,3.5518102372034956,4.263420724094882,2.0474406991260925,0.9925093632958802,1.0861423220973783,2.33458177278402,6.679151061173534,5.34956304619226,3.620474406991261,2.6466916354556806,2.259675405742821,4.70661672908864,6.117353308364544,3.651685393258427,6.367041198501872,5.617977528089888,1.7602996254681649,1.4606741573033708,1.3607990012484397,2.6466916354556806,4.750312109862672,0.9425717852684146,1.8352059925093633,5.705368289637952,4.6254681647940075,1.9475655430711611,3.2397003745318353,1.6791510611735332,7.0536828963795255,4.987515605493134,1.285892634207241,1.3670411985018727,5.574282147315855,4.556803995006242,2.153558052434457,1.5605493133583022,1.8352059925093633,6.616729088639201,3.639200998751561,2.034956304619226,5.274656679151062,3.7827715355805243,4.1260923845193505,4.868913857677903,6.803995006242197,2.4656679151061174,4.213483146067416,4.700374531835206,5.9238451935081144,6.741573033707866,3.9950062421972534,2.9463171036204745,3.9450686641697876,3.8764044943820224,2.4344569288389515,6.491885143570538,4.213483146067416,3.058676654182272,6.491885143570538,2.5031210986267167,4.094881398252185,4.538077403245943,4.868913857677903,6.367041198501872,4.357053682896379,6.491885143570538,6.679151061173534,4.725343320848939,3.258426966292135,1.647940074906367,2.253433208489388,6.803995006242197,4.225967540574282,3.470661672908864,1.585518102372035,6.803995006242197,4.800249687890138,5.830212234706617,2.322097378277154,4.282147315855181,3.8639200998751564,6.242197253433209,1.136079900124844,2.777777777777778,2.578027465667915,3.1273408239700373,6.129837702871411,1.647940074906367,5.69912609238452,5.149812734082397,4.812734082397004, +4.538077403245943,6.0424469413233455,3.089887640449438,6.117353308364544,4.31960049937578,4.382022471910113,1.3233458177278403,4.063670411985019,1.766541822721598,3.576779026217228,4.282147315855181,2.0786516853932584,1.017478152309613,1.1173533083645444,2.359550561797753,6.679151061173534,5.380774032459426,3.651685393258427,2.671660424469413,2.2846441947565546,4.737827715355805,6.1485642946317105,3.6766541822721597,6.367041198501872,5.6491885143570535,1.7915106117353308,1.4918851435705367,1.3857677902621723,2.68414481897628,4.775280898876405,0.9675405742821472,1.8664169787765295,5.724094881398252,4.65043695380774,1.9725343320848938,3.2646691635455682,1.7166042446941323,7.0536828963795255,5.012484394506866,1.3046192259675407,1.3920099875156053,5.593008739076155,4.588014981273409,2.184769038701623,1.591760299625468,1.8601747815230962,6.616729088639201,3.6766541822721597,2.066167290886392,5.305867665418227,3.8077403245942576,4.16354556803995,4.893882646691636,6.866416978776529,2.4843945068664173,4.238451935081149,4.7315855181023725,5.961298377028713,6.741573033707866,4.02621722846442,2.9712858926342074,3.9637952559300875,3.9076154806491883,2.453183520599251,6.554307116104869,4.238451935081149,3.077403245942572,6.491885143570538,2.5280898876404496,4.1136079900124844,4.569288389513109,4.906367041198502,6.367041198501872,4.388264669163545,6.491885143570538,6.679151061173534,4.7440699126092385,3.2896379525593007,1.6729088639200997,2.2846441947565546,6.866416978776529,4.257178526841448,3.5018726591760303,1.6042446941323347,6.866416978776529,4.825218476903871,5.855181023720349,2.35330836454432,4.307116104868914,3.8951310861423223,6.30461922596754,1.161048689138577,2.808988764044944,2.6092384519350813,3.1585518102372037,6.167290886392011,1.6791510611735332,5.730337078651686,5.174781523096129,4.831460674157303, +4.563046192259676,6.073657927590512,3.1210986267166043,6.1485642946317105,4.344569288389513,4.406991260923846,1.348314606741573,4.0886392009987516,1.797752808988764,3.595505617977528,4.300873907615481,2.1098626716604243,1.0362047440699127,1.1485642946317103,2.3845193508114857,6.741573033707866,5.411985018726591,3.682896379525593,2.696629213483146,2.303370786516854,4.762796504369538,6.179775280898876,3.6953807740324596,6.429463171036204,5.68039950062422,1.8227215980024971,1.523096129837703,1.410736579275905,2.715355805243446,4.800249687890138,0.9925093632958802,1.9038701622971288,5.749063670411985,4.66916354556804,1.9975031210986267,3.2833957553058677,1.7478152309612984,7.116104868913857,5.0374531835206,1.3295880149812733,1.4169787765293382,5.617977528089888,4.612983770287141,2.2222222222222223,1.616729088639201,1.8851435705368291,6.679151061173534,3.7078651685393256,2.1036204744069913,5.337078651685393,3.8389513108614235,4.194756554307116,4.918851435705368,6.866416978776529,2.5093632958801497,4.257178526841448,4.7565543071161045,5.998751560549313,6.803995006242197,4.051186017478152,2.990012484394507,3.9887640449438204,3.938826466916354,2.478152309612984,6.554307116104869,4.257178526841448,3.102372034956305,6.491885143570538,2.546816479400749,4.138576779026217,4.600499375780275,4.937578027465668,6.429463171036204,4.413233458177278,6.554307116104869,6.741573033707866,4.769038701622971,3.3270911360799,1.6978776529338326,2.322097378277154,6.866416978776529,4.288389513108614,3.5393258426966296,1.6292134831460674,6.866416978776529,4.850187265917603,5.880149812734083,2.3845193508114857,4.332084893882647,3.926342072409488,6.30461922596754,1.1860174781523096,2.84019975031211,2.634207240948814,3.1897627965043696,6.20474406991261,1.7166042446941323,5.761548064918852,5.199750312109863,4.856429463171036, +4.594257178526841,6.104868913857677,3.15230961298377,6.173533083645444,4.369538077403246,4.431960049937578,1.3670411985018727,4.119850187265917,1.8227215980024971,3.620474406991261,4.325842696629214,2.1410736579275906,1.0611735330836456,1.1797752808988764,2.4094881398252186,6.741573033707866,5.443196004993759,3.714107365792759,2.7215980024968793,2.328339575530587,4.794007490636704,6.210986267166042,3.7203495630461925,6.429463171036204,5.705368289637952,1.8476903870162298,1.554307116104869,1.435705368289638,2.746566791510612,4.825218476903871,1.0112359550561798,1.9350811485642945,5.767790262172285,4.694132334581773,2.016229712858926,3.3083645443196006,1.7852684144818978,7.116104868913857,5.062421972534332,1.348314606741573,1.4419475655430714,5.636704119850187,4.637952559300874,2.253433208489388,1.647940074906367,1.916354556803995,6.679151061173534,3.7390761548064915,2.134831460674157,5.36828963795256,3.8639200998751564,4.2322097378277155,4.943820224719102,6.928838951310862,2.5343320848938826,4.282147315855181,4.787765293383271,6.036204744069912,6.803995006242197,4.0761548064918856,3.0087390761548067,4.00749063670412,3.970037453183521,2.5031210986267167,6.616729088639201,4.282147315855181,3.1210986267166043,6.554307116104869,2.571785268414482,4.16354556803995,4.631710362047441,4.9687890137328345,6.429463171036204,4.438202247191011,6.554307116104869,6.741573033707866,4.787765293383271,3.3583021223470664,1.7228464419475658,2.359550561797753,6.928838951310862,4.31960049937578,3.5705368289637955,1.647940074906367,6.928838951310862,4.875156054931336,5.905118601747815,2.4157303370786516,4.357053682896379,3.9637952559300875,6.367041198501872,1.2109862671660423,2.871410736579276,2.6591760299625467,3.227215980024969,6.242197253433209,1.7478152309612984,5.792759051186017,5.224719101123595,4.881398252184769, +4.6254681647940075,6.142322097378277,3.1897627965043696,6.20474406991261,4.394506866416979,4.450686641697877,1.3920099875156053,4.144818976279651,1.8539325842696628,3.6454431960049942,4.344569288389513,2.1660424469413235,1.079900124843945,1.2047440699126093,2.4344569288389515,6.803995006242197,5.474406991260924,3.745318352059925,2.746566791510612,2.3470661672908864,4.825218476903871,6.242197253433209,3.745318352059925,6.491885143570538,5.736579275905119,1.8789013732833957,1.5792759051186018,1.4606741573033708,2.777777777777778,4.850187265917603,1.0362047440699127,1.9662921348314608,5.792759051186017,4.712858926342073,2.0411985018726595,3.3333333333333335,1.8164794007490637,7.17852684144819,5.081148564294631,1.3670411985018727,1.466916354556804,5.66167290886392,4.662921348314606,2.2846441947565546,1.6791510611735332,1.941323345817728,6.741573033707866,3.776529338327091,2.1660424469413235,5.393258426966292,3.8951310861423223,4.263420724094882,4.9687890137328345,6.928838951310862,2.5593008739076155,4.300873907615481,4.812734082397004,6.073657927590512,6.866416978776529,4.107365792759051,3.027465667915106,4.02621722846442,4.001248439450687,2.521847690387016,6.616729088639201,4.300873907615481,3.1460674157303368,6.554307116104869,2.596754057428215,4.188514357053683,4.662921348314606,5.0,6.429463171036204,4.4694132334581775,6.616729088639201,6.741573033707866,4.812734082397004,3.3957553058676653,1.7478152309612984,2.3907615480649187,6.991260923845194,4.3508114856429465,3.6017478152309614,1.6729088639200997,6.928838951310862,4.893882646691636,5.930087390761548,2.446941323345818,4.382022471910113,3.9950062421972534,6.367041198501872,1.2359550561797754,2.902621722846442,2.68414481897628,3.258426966292135,6.30461922596754,1.7852684144818978,5.823970037453184,5.249687890137328,4.906367041198502, +4.656679151061174,6.173533083645444,3.2209737827715355,6.229712858926342,4.419475655430712,4.475655430711611,1.4169787765293382,4.169787765293384,1.8851435705368291,3.6641697877652937,4.369538077403246,2.1972534332084894,1.104868913857678,1.2359550561797754,2.459425717852684,6.803995006242197,5.50561797752809,3.776529338327091,2.7715355805243447,2.3720349563046192,4.850187265917603,6.30461922596754,3.7702871410736583,6.491885143570538,5.767790262172285,1.9101123595505618,1.6104868913857677,1.4856429463171037,2.808988764044944,4.875156054931336,1.0611735330836456,2.00374531835206,5.811485642946318,4.737827715355805,2.0599250936329585,3.3583021223470664,1.8539325842696628,7.17852684144819,5.106117353308365,1.3920099875156053,1.4856429463171037,5.686641697877653,4.694132334581773,2.3158551810237205,1.704119850187266,1.9662921348314608,6.741573033707866,3.8077403245942576,2.203495630461923,5.424469413233458,3.926342072409488,4.294631710362047,5.0,6.991260923845194,2.5842696629213484,4.31960049937578,4.843945068664169,6.111111111111111,6.866416978776529,4.132334581772784,3.046192259675406,4.051186017478152,4.032459425717852,2.546816479400749,6.679151061173534,4.325842696629214,3.1647940074906367,6.554307116104869,2.6217228464419473,4.213483146067416,4.694132334581773,5.0374531835206,6.491885143570538,4.49438202247191,6.616729088639201,6.803995006242197,4.831460674157303,3.4269662921348316,1.772784019975031,2.428214731585518,6.991260923845194,4.382022471910113,3.639200998751561,1.6916354556803994,6.991260923845194,4.918851435705368,5.955056179775282,2.478152309612984,4.406991260923846,4.02621722846442,6.429463171036204,1.260923845193508,2.933832709113608,2.715355805243446,3.2896379525593007,6.30461922596754,1.8164794007490637,5.855181023720349,5.274656679151062,4.925093632958801, +4.687890137328339,6.20474406991261,3.258426966292135,6.242197253433209,4.444444444444445,4.500624219725343,1.435705368289638,4.194756554307116,1.916354556803995,3.689138576779026,4.388264669163545,2.2284644194756553,1.1298377028714106,1.2671660424469413,2.4843945068664173,6.866416978776529,5.536828963795256,3.8077403245942576,2.7965043695380776,2.3907615480649187,4.881398252184769,6.30461922596754,3.7952559300873907,6.554307116104869,5.799001248439451,1.9350811485642945,1.6416978776529338,1.5106117353308364,2.84019975031211,4.900124843945068,1.0861423220973783,2.034956304619226,5.836454431960051,4.7565543071161045,2.084893882646692,3.3770287141073654,1.8851435705368291,7.240948813982522,5.131086142322098,1.410736579275905,1.5106117353308364,5.705368289637952,4.719101123595506,2.35330836454432,1.735330836454432,1.9975031210986267,6.803995006242197,3.8389513108614235,2.2347066167290888,5.455680399500624,3.951310861423221,4.332084893882647,5.024968789013733,7.0536828963795255,2.602996254681648,4.344569288389513,4.868913857677903,6.1485642946317105,6.866416978776529,4.157303370786517,3.0649188514357055,4.069912609238452,4.063670411985019,2.565543071161049,6.679151061173534,4.3508114856429465,3.1897627965043696,6.616729088639201,2.6466916354556806,4.238451935081149,4.725343320848939,5.068664169787765,6.491885143570538,4.519350811485642,6.679151061173534,6.803995006242197,4.850187265917603,3.464419475655431,1.797752808988764,2.459425717852684,7.0536828963795255,4.413233458177278,3.6704119850187267,1.7166042446941323,6.991260923845194,4.943820224719102,5.980024968789014,2.5093632958801497,4.431960049937578,4.057428214731585,6.429463171036204,1.285892634207241,2.965043695380774,2.740324594257179,3.3270911360799,6.367041198501872,1.8476903870162298,5.880149812734083,5.299625468164794,4.950062421972534, +4.719101123595506,6.242197253433209,3.2896379525593007,6.30461922596754,4.4694132334581775,4.519350811485642,1.4606741573033708,4.219725343320849,1.941323345817728,3.714107365792759,4.413233458177278,2.259675405742821,1.1485642946317103,1.2983770287141074,2.5093632958801497,6.866416978776529,5.568039950062421,3.8389513108614235,2.82147315855181,2.4157303370786516,4.912609238451935,6.367041198501872,3.8202247191011236,6.554307116104869,5.823970037453184,1.9662921348314608,1.6729088639200997,1.5355805243445693,2.871410736579276,4.925093632958801,1.1111111111111112,2.0724094881398254,5.855181023720349,4.781523096129837,2.1098626716604243,3.4019975031210987,1.9225967540574282,7.240948813982522,5.15605493133583,1.4294631710362047,1.5355805243445693,5.730337078651686,4.7440699126092385,2.3845193508114857,1.766541822721598,2.0224719101123596,6.803995006242197,3.8764044943820224,2.272159800249688,5.48689138576779,3.982521847690387,4.3632958801498125,5.049937578027466,7.0536828963795255,2.6279650436953808,4.3632958801498125,4.900124843945068,6.186017478152309,6.928838951310862,4.188514357053683,3.0836454431960054,4.0886392009987516,4.094881398252185,2.5905118601747814,6.741573033707866,4.369538077403246,3.2084893882646695,6.616729088639201,2.671660424469413,4.263420724094882,4.750312109862672,5.099875156054932,6.491885143570538,4.55056179775281,6.679151061173534,6.803995006242197,4.875156054931336,3.495630461922597,1.8227215980024971,2.4968789013732833,7.116104868913857,4.444444444444445,3.7078651685393256,1.735330836454432,7.0536828963795255,4.9687890137328345,6.01123595505618,2.5405742821473156,4.456928838951311,4.0886392009987516,6.491885143570538,1.3046192259675407,2.9962546816479403,2.7652933832709112,3.3583021223470664,6.429463171036204,1.8851435705368291,5.9113607990012484,5.324594257178527,4.975031210986267, +4.750312109862672,6.30461922596754,3.320848938826467,6.30461922596754,4.49438202247191,4.544319600499376,1.4856429463171037,4.250936329588015,1.9725343320848938,3.732833957553059,4.431960049937578,2.2846441947565546,1.1735330836454432,1.3295880149812733,2.5343320848938826,6.928838951310862,5.599250936329588,3.870162297128589,2.84019975031211,2.4344569288389515,4.937578027465668,6.367041198501872,3.8451935081148565,6.616729088639201,5.855181023720349,1.9975031210986267,1.704119850187266,1.5605493133583022,2.902621722846442,4.950062421972534,1.136079900124844,2.1036204744069913,5.880149812734083,4.806491885143571,2.128589263420724,3.4269662921348316,1.9600499375780276,7.303370786516854,5.181023720349563,1.4544319600499376,1.5605493133583022,5.749063670411985,4.775280898876405,2.4157303370786516,1.797752808988764,2.0474406991260925,6.866416978776529,3.9076154806491883,2.303370786516854,5.511860174781523,4.00749063670412,4.400749063670412,5.074906367041199,7.116104868913857,2.6529338327091136,4.382022471910113,4.931335830212235,6.223470661672909,6.928838951310862,4.213483146067416,3.102372034956305,4.1136079900124844,4.132334581772784,2.6092384519350813,6.741573033707866,4.394506866416979,3.227215980024969,6.616729088639201,2.696629213483146,4.288389513108614,4.781523096129837,5.131086142322098,6.554307116104869,4.575530586766542,6.741573033707866,6.866416978776529,4.893882646691636,3.533083645443196,1.8476903870162298,2.5343320848938826,7.116104868913857,4.475655430711611,3.7390761548064915,1.7602996254681649,7.0536828963795255,4.9937578027465666,6.036204744069912,2.571785268414482,4.4818976279650435,4.119850187265917,6.491885143570538,1.3295880149812733,3.027465667915106,2.790262172284644,3.3895131086142323,6.429463171036204,1.916354556803995,5.942571785268415,5.355805243445693,4.9937578027465666, +4.781523096129837,6.30461922596754,3.3583021223470664,6.367041198501872,4.519350811485642,4.563046192259676,1.5043695380774034,4.275905118601748,2.00374531835206,3.7578027465667914,4.450686641697877,2.3158551810237205,1.198501872659176,1.3545568039950062,2.5593008739076155,6.928838951310862,5.630461922596755,3.9013732833957557,2.865168539325843,2.453183520599251,4.9687890137328345,6.429463171036204,3.870162297128589,6.616729088639201,5.8863920099875156,2.0287141073657926,1.7290886392009988,1.585518102372035,2.933832709113608,4.975031210986267,1.161048689138577,2.134831460674157,5.8988764044943816,4.825218476903871,2.153558052434457,3.4456928838951315,1.9912609238451935,7.303370786516854,5.205992509363296,1.4731585518102372,1.585518102372035,5.774032459425719,4.800249687890138,2.446941323345818,1.8227215980024971,2.0786516853932584,6.866416978776529,3.938826466916354,2.33458177278402,5.543071161048689,4.038701622971286,4.431960049937578,5.099875156054932,7.116104868913857,2.6779026217228465,4.406991260923846,4.956304619225968,6.242197253433209,6.991260923845194,4.238451935081149,3.1273408239700373,4.132334581772784,4.16354556803995,2.634207240948814,6.803995006242197,4.413233458177278,3.2521847690387014,6.679151061173534,2.7215980024968793,4.313358302122348,4.812734082397004,5.168539325842697,6.554307116104869,4.606741573033708,6.741573033707866,6.866416978776529,4.912609238451935,3.564294631710362,1.8726591760299625,2.565543071161049,7.17852684144819,4.500624219725343,3.7702871410736583,1.7790262172284643,7.116104868913857,5.0187265917602994,6.061173533083646,2.602996254681648,4.506866416978776,4.157303370786517,6.491885143570538,1.3545568039950062,3.058676654182272,2.82147315855181,3.420724094881398,6.491885143570538,1.9538077403245941,5.97378277153558,5.380774032459426,5.0187265917602994, +4.806491885143571,6.367041198501872,3.3895131086142323,6.367041198501872,4.544319600499376,4.588014981273409,1.529338327091136,4.300873907615481,2.034956304619226,3.7827715355805243,4.475655430711611,2.3470661672908864,1.2172284644194757,1.3857677902621723,2.5842696629213484,6.991260923845194,5.66167290886392,3.9325842696629216,2.8901373283395753,2.478152309612984,5.0,6.429463171036204,3.8951310861423223,6.679151061173534,5.9113607990012484,2.0536828963795255,1.7602996254681649,1.6104868913857677,2.965043695380774,5.0,1.1860174781523096,2.1722846441947565,5.917602996254682,4.850187265917603,2.1722846441947565,3.470661672908864,2.0287141073657926,7.365792759051186,5.230961298377029,1.4918851435705367,1.6104868913857677,5.792759051186017,4.825218476903871,2.4843945068664173,1.8539325842696628,2.1036204744069913,6.928838951310862,3.9762796504369535,2.3720349563046192,5.574282147315855,4.063670411985019,4.4694132334581775,5.131086142322098,7.17852684144819,2.702871410736579,4.425717852684145,4.987515605493134,6.30461922596754,6.991260923845194,4.269662921348314,3.1460674157303368,4.151061173533084,4.194756554307116,2.6591760299625467,6.803995006242197,4.438202247191011,3.2709113607990012,6.679151061173534,2.746566791510612,4.33832709113608,4.843945068664169,5.199750312109863,6.616729088639201,4.631710362047441,6.803995006242197,6.866416978776529,4.937578027465668,3.6017478152309614,1.8976279650436954,2.602996254681648,7.17852684144819,4.531835205992509,3.8077403245942576,1.8039950062421974,7.116104868913857,5.043695380774032,6.086142322097379,2.634207240948814,4.531835205992509,4.188514357053683,6.554307116104869,1.3795255930087391,3.0836454431960054,2.8464419475655434,3.4581772784019975,6.491885143570538,1.9850187265917605,6.004993757802747,5.405742821473158,5.043695380774032, +4.837702871410737,6.367041198501872,3.420724094881398,6.367041198501872,4.569288389513109,4.612983770287141,1.554307116104869,4.325842696629214,2.0599250936329585,3.801498127340824,4.49438202247191,2.3720349563046192,1.2421972534332086,1.4169787765293382,2.6092384519350813,6.991260923845194,5.692883895131087,3.9637952559300875,2.9151061173533086,2.4968789013732833,5.024968789013733,6.491885143570538,3.9138576779026217,6.679151061173534,5.942571785268415,2.084893882646692,1.7915106117353308,1.6354556803995006,2.9962546816479403,5.024968789013733,1.2109862671660423,2.203495630461923,5.942571785268415,4.868913857677903,2.1972534332084894,3.495630461922597,2.0599250936329585,7.365792759051186,5.249687890137328,1.5106117353308364,1.6354556803995006,5.81772784019975,4.850187265917603,2.515605493133583,1.8851435705368291,2.128589263420724,6.928838951310862,4.00749063670412,2.4032459425717856,5.605493133583021,4.094881398252185,4.500624219725343,5.15605493133583,7.17852684144819,2.727840199750312,4.444444444444445,5.012484394506866,6.30461922596754,6.991260923845194,4.294631710362047,3.1647940074906367,4.176029962546816,4.225967540574282,2.6779026217228465,6.866416978776529,4.463171036204744,3.295880149812734,6.679151061173534,2.7715355805243447,4.3632958801498125,4.875156054931336,5.230961298377029,6.616729088639201,4.656679151061174,6.803995006242197,6.928838951310862,4.956304619225968,3.6329588014981273,1.9225967540574282,2.634207240948814,7.240948813982522,4.563046192259676,3.8389513108614235,1.8227215980024971,7.17852684144819,5.062421972534332,6.111111111111111,2.66541822721598,4.556803995006242,4.219725343320849,6.554307116104869,1.404494382022472,3.114856429463171,2.871410736579276,3.4893882646691634,6.554307116104869,2.0224719101123596,6.036204744069912,5.430711610486892,5.068664169787765, +4.868913857677903,6.429463171036204,3.4581772784019975,6.429463171036204,4.594257178526841,4.631710362047441,1.5730337078651684,4.357053682896379,2.091136079900125,3.826466916354557,4.519350811485642,2.4032459425717856,1.2671660424469413,1.4481897627965044,2.634207240948814,7.0536828963795255,5.724094881398252,3.9950062421972534,2.9400749063670415,2.521847690387016,5.056179775280899,6.491885143570538,3.938826466916354,6.741573033707866,5.97378277153558,2.1161048689138577,1.8227215980024971,1.6604244694132335,3.033707865168539,5.049937578027466,1.2359550561797754,2.2347066167290888,5.961298377028713,4.893882646691636,2.2222222222222223,3.5205992509363297,2.097378277153558,7.428214731585518,5.274656679151062,1.5355805243445693,1.6541822721598003,5.836454431960051,4.881398252184769,2.546816479400749,1.9101123595505618,2.15980024968789,6.991260923845194,4.044943820224719,2.4344569288389515,5.630461922596755,4.1260923845193505,4.531835205992509,5.181023720349563,7.240948813982522,2.746566791510612,4.4694132334581775,5.043695380774032,6.367041198501872,7.0536828963795255,4.31960049937578,3.183520599250936,4.194756554307116,4.257178526841448,2.702871410736579,6.866416978776529,4.4818976279650435,3.3146067415730336,6.741573033707866,2.790262172284644,4.388264669163545,4.906367041198502,5.262172284644195,6.616729088639201,4.687890137328339,6.803995006242197,6.928838951310862,4.975031210986267,3.6704119850187267,1.941323345817728,2.671660424469413,7.303370786516854,4.594257178526841,3.870162297128589,1.8476903870162298,7.17852684144819,5.087390761548065,6.1360799001248445,2.696629213483146,4.588014981273409,4.250936329588015,6.616729088639201,1.4294631710362047,3.1460674157303368,2.8963795255930087,3.5205992509363297,6.616729088639201,2.0536828963795255,6.061173533083646,5.455680399500624,5.087390761548065, +4.900124843945068,6.429463171036204,3.4893882646691634,6.429463171036204,4.619225967540574,4.656679151061174,1.5980024968789013,4.382022471910113,2.122347066167291,3.8451935081148565,4.538077403245943,2.4344569288389515,1.285892634207241,1.4731585518102372,2.6529338327091136,7.0536828963795255,5.7553058676654185,4.02621722846442,2.965043695380774,2.5405742821473156,5.087390761548065,6.554307116104869,3.9637952559300875,6.741573033707866,5.998751560549313,2.1410736579275906,1.8539325842696628,1.6853932584269664,3.0649188514357055,5.074906367041199,1.260923845193508,2.272159800249688,5.986267166042447,4.912609238451935,2.2409488139825218,3.5393258426966296,2.128589263420724,7.428214731585518,5.299625468164794,1.554307116104869,1.6791510611735332,5.861423220973783,4.906367041198502,2.578027465667915,1.941323345817728,2.184769038701623,6.991260923845194,4.0761548064918856,2.471910112359551,5.66167290886392,4.151061173533084,4.569288389513109,5.205992509363296,7.303370786516854,2.7715355805243447,4.488139825218477,5.068664169787765,6.429463171036204,7.0536828963795255,4.3508114856429465,3.202247191011236,4.213483146067416,4.288389513108614,2.7215980024968793,6.928838951310862,4.506866416978776,3.339575530586767,6.741573033707866,2.8152309612983775,4.413233458177278,4.937578027465668,5.299625468164794,6.679151061173534,4.712858926342073,6.866416978776529,6.928838951310862,5.0,3.701622971285893,1.9662921348314608,2.702871410736579,7.303370786516854,4.6254681647940075,3.9076154806491883,1.8664169787765295,7.240948813982522,5.1123595505617985,6.161048689138577,2.727840199750312,4.612983770287141,4.282147315855181,6.616729088639201,1.4481897627965044,3.1772784019975036,2.9275905118601746,3.5580524344569286,6.616729088639201,2.091136079900125,6.092384519350812,5.480649188514358,5.1123595505617985, +4.931335830212235,6.491885143570538,3.5205992509363297,6.491885143570538,4.644194756554308,4.681647940074906,1.6229712858926344,4.406991260923846,2.153558052434457,3.870162297128589,4.563046192259676,2.4656679151061174,1.3108614232209737,1.5043695380774034,2.6779026217228465,7.116104868913857,5.786516853932584,4.057428214731585,2.990012484394507,2.565543071161049,5.1123595505617985,6.554307116104869,3.9887640449438204,6.803995006242197,6.029962546816479,2.1722846441947565,1.8851435705368291,1.710362047440699,3.0961298377028714,5.099875156054932,1.285892634207241,2.303370786516854,6.004993757802747,4.937578027465668,2.2659176029962547,3.564294631710362,2.1660424469413235,7.49063670411985,5.324594257178527,1.5730337078651684,1.704119850187266,5.8863920099875156,4.931335830212235,2.6154806491885143,1.9725343320848938,2.209737827715356,7.0536828963795255,4.107365792759051,2.5031210986267167,5.692883895131087,4.18227215980025,4.600499375780275,5.230961298377029,7.303370786516854,2.7965043695380776,4.506866416978776,5.099875156054932,6.429463171036204,7.116104868913857,4.375780274656679,3.2209737827715355,4.238451935081149,4.31960049937578,2.746566791510612,6.928838951310862,4.525593008739076,3.3583021223470664,6.741573033707866,2.84019975031211,4.438202247191011,4.9687890137328345,5.33083645443196,6.679151061173534,4.737827715355805,6.866416978776529,6.991260923845194,5.0187265917602994,3.732833957553059,1.9912609238451935,2.740324594257179,7.365792759051186,4.656679151061174,3.938826466916354,1.8913857677902621,7.240948813982522,5.1373283395755305,6.186017478152309,2.7590511860174782,4.637952559300874,4.31960049937578,6.679151061173534,1.4731585518102372,3.2084893882646695,2.9525593008739075,3.589263420724095,6.679151061173534,2.122347066167291,6.123595505617978,5.50561797752809,5.1373283395755305, +4.962546816479401,6.491885143570538,3.5580524344569286,6.491885143570538,4.66916354556804,4.700374531835206,1.6416978776529338,4.431960049937578,2.1785268414481895,3.8951310861423223,4.581772784019975,2.4906367041198503,1.3358302122347065,1.5355805243445693,2.702871410736579,7.116104868913857,5.81772784019975,4.0886392009987516,3.0149812734082393,2.5842696629213484,5.143570536828964,6.616729088639201,4.013732833957553,6.803995006242197,6.061173533083646,2.203495630461923,1.9101123595505618,1.735330836454432,3.1273408239700373,5.118601747815231,1.3108614232209737,2.340823970037453,6.029962546816479,4.962546816479401,2.2846441947565546,3.589263420724095,2.1972534332084894,7.49063670411985,5.34956304619226,1.5980024968789013,1.7290886392009988,5.905118601747815,4.962546816479401,2.6466916354556806,2.00374531835206,2.2409488139825218,7.0536828963795255,4.144818976279651,2.5405742821473156,5.724094881398252,4.207240948813983,4.637952559300874,5.262172284644195,7.365792759051186,2.82147315855181,4.531835205992509,5.1248439450686645,6.491885143570538,7.116104868913857,4.400749063670412,3.2397003745318353,4.257178526841448,4.3508114856429465,2.7715355805243447,6.991260923845194,4.55056179775281,3.383270911360799,6.803995006242197,2.865168539325843,4.463171036204744,5.0,5.3620474406991265,6.679151061173534,4.769038701622971,6.928838951310862,6.991260923845194,5.0374531835206,3.7702871410736583,2.016229712858926,2.777777777777778,7.428214731585518,4.687890137328339,3.970037453183521,1.9101123595505618,7.303370786516854,5.162297128589263,6.210986267166042,2.790262172284644,4.662921348314606,4.3508114856429465,6.679151061173534,1.4981273408239701,3.2397003745318353,2.977528089887641,3.620474406991261,6.741573033707866,2.153558052434457,6.154806491885144,5.5305867665418225,5.162297128589263, +4.9937578027465666,6.554307116104869,3.589263420724095,6.554307116104869,4.694132334581773,4.725343320848939,1.6666666666666667,4.456928838951311,2.209737827715356,3.9138576779026217,4.600499375780275,2.521847690387016,1.3545568039950062,1.5667915106117354,2.727840199750312,7.17852684144819,5.848938826466916,4.119850187265917,3.0399500624219726,2.6092384519350813,5.174781523096129,6.616729088639201,4.038701622971286,6.866416978776529,6.086142322097379,2.2284644194756553,1.941323345817728,1.7602996254681649,3.1585518102372037,5.143570536828964,1.3358302122347065,2.3720349563046192,6.048689138576779,4.9812734082397006,2.309612983770287,3.6142322097378274,2.2347066167290888,7.553058676654182,5.3745318352059925,1.616729088639201,1.7540574282147314,5.930087390761548,4.987515605493134,2.6779026217228465,2.0287141073657926,2.2659176029962547,7.116104868913857,4.176029962546816,2.571785268414482,5.749063670411985,4.238451935081149,4.66916354556804,5.287141073657928,7.365792759051186,2.8464419475655434,4.55056179775281,5.15605493133583,6.491885143570538,7.116104868913857,4.431960049937578,3.258426966292135,4.275905118601748,4.382022471910113,2.790262172284644,6.991260923845194,4.575530586766542,3.4019975031210987,6.803995006242197,2.8901373283395753,4.488139825218477,5.031210986267166,5.393258426966292,6.741573033707866,4.794007490636704,6.928838951310862,6.991260923845194,5.062421972534332,3.801498127340824,2.0411985018726595,2.808988764044944,7.428214731585518,4.719101123595506,4.00749063670412,1.9350811485642945,7.303370786516854,5.187265917602996,6.235955056179775,2.82147315855181,4.687890137328339,4.382022471910113,6.741573033707866,1.523096129837703,3.2709113607990012,3.0087390761548067,3.6579275905118602,6.741573033707866,2.1910112359550564,6.186017478152309,5.561797752808988,5.181023720349563, +5.024968789013733,6.554307116104869,3.6267166042446943,6.554307116104869,4.719101123595506,4.750312109862672,1.6916354556803994,4.488139825218477,2.2409488139825218,3.938826466916354,4.6254681647940075,2.5530586766541825,1.3795255930087391,1.5980024968789013,2.752808988764045,7.17852684144819,5.880149812734083,4.151061173533084,3.0649188514357055,2.6279650436953808,5.199750312109863,6.679151061173534,4.063670411985019,6.866416978776529,6.117353308364544,2.259675405742821,1.9725343320848938,1.7852684144818978,3.1897627965043696,5.168539325842697,1.3607990012484397,2.4032459425717856,6.073657927590512,5.0062421972534334,2.33458177278402,3.6329588014981273,2.2659176029962547,7.553058676654182,5.393258426966292,1.6354556803995006,1.7790262172284643,5.948813982521848,5.012484394506866,2.715355805243446,2.0599250936329585,2.2908863920099876,7.116104868913857,4.207240948813983,2.602996254681648,5.7802746566791505,4.269662921348314,4.700374531835206,5.312109862671661,7.428214731585518,2.865168539325843,4.575530586766542,5.181023720349563,6.554307116104869,7.17852684144819,4.456928838951311,3.2771535580524347,4.300873907615481,4.413233458177278,2.8152309612983775,7.0536828963795255,4.594257178526841,3.4269662921348316,6.803995006242197,2.9151061173533086,4.51310861423221,5.062421972534332,5.424469413233458,6.741573033707866,4.818976279650437,6.991260923845194,7.0536828963795255,5.081148564294631,3.8389513108614235,2.066167290886392,2.8464419475655434,7.49063670411985,4.750312109862672,4.038701622971286,1.9538077403245941,7.365792759051186,5.212234706616729,6.242197253433209,2.852684144818976,4.712858926342073,4.413233458177278,6.741573033707866,1.5480649188514357,3.3021223470661676,3.033707865168539,3.689138576779026,6.803995006242197,2.2222222222222223,6.217228464419476,5.586766541822722,5.205992509363296, +5.056179775280899,6.616729088639201,3.6579275905118602,6.616729088639201,4.7440699126092385,4.769038701622971,1.710362047440699,4.51310861423221,2.272159800249688,3.9637952559300875,4.644194756554308,2.5842696629213484,1.404494382022472,1.6229712858926344,2.777777777777778,7.17852684144819,5.9113607990012484,4.18227215980025,3.089887640449438,2.6529338327091136,5.230961298377029,6.679151061173534,4.0886392009987516,6.928838951310862,6.1485642946317105,2.2908863920099876,2.00374531835206,1.8102372034956304,3.2209737827715355,5.19350811485643,1.3857677902621723,2.4406991260923845,6.092384519350812,5.024968789013733,2.35330836454432,3.6579275905118602,2.303370786516854,7.615480649188515,5.418227215980025,1.6541822721598003,1.8039950062421974,5.97378277153558,5.0374531835206,2.746566791510612,2.091136079900125,2.322097378277154,7.17852684144819,4.244694132334582,2.640449438202247,5.811485642946318,4.294631710362047,4.737827715355805,5.337078651685393,7.428214731585518,2.8901373283395753,4.594257178526841,5.212234706616729,6.616729088639201,7.17852684144819,4.4818976279650435,3.3021223470661676,4.31960049937578,4.444444444444445,2.8339575530586765,7.0536828963795255,4.619225967540574,3.4456928838951315,6.866416978776529,2.9400749063670415,4.538077403245943,5.093632958801498,5.461922596754057,6.803995006242197,4.850187265917603,6.991260923845194,7.0536828963795255,5.099875156054932,3.870162297128589,2.091136079900125,2.8776529338327093,7.49063670411985,4.781523096129837,4.069912609238452,1.9725343320848938,7.365792759051186,5.230961298377029,6.30461922596754,2.8838951310861427,4.737827715355805,4.444444444444445,6.803995006242197,1.5730337078651684,3.3333333333333335,3.058676654182272,3.7203495630461925,6.803995006242197,2.259675405742821,6.242197253433209,5.611735330836455,5.230961298377029, +5.081148564294631,6.616729088639201,3.689138576779026,6.616729088639201,4.775280898876405,4.794007490636704,1.735330836454432,4.538077403245943,2.2971285892634206,3.982521847690387,4.66916354556804,2.6092384519350813,1.4232209737827717,1.6541822721598003,2.8027465667915106,7.240948813982522,5.942571785268415,4.213483146067416,3.114856429463171,2.671660424469413,5.262172284644195,6.741573033707866,4.1136079900124844,6.928838951310862,6.179775280898876,2.3158551810237205,2.034956304619226,1.8352059925093633,3.2521847690387014,5.218476903870163,1.410736579275905,2.471910112359551,6.111111111111111,5.049937578027466,2.3782771535580522,3.682896379525593,2.33458177278402,7.615480649188515,5.443196004993759,1.6791510611735332,1.8227215980024971,5.992509363295881,5.068664169787765,2.777777777777778,2.1161048689138577,2.3470661672908864,7.17852684144819,4.275905118601748,2.671660424469413,5.842696629213483,4.325842696629214,4.769038701622971,5.3620474406991265,7.49063670411985,2.9151061173533086,4.612983770287141,5.243445692883895,6.616729088639201,7.240948813982522,4.51310861423221,3.320848938826467,4.33832709113608,4.4818976279650435,2.8589263420724094,7.116104868913857,4.637952559300874,3.470661672908864,6.866416978776529,2.965043695380774,4.563046192259676,5.118601747815231,5.493133583021224,6.803995006242197,4.875156054931336,7.0536828963795255,7.0536828963795255,5.1248439450686645,3.9076154806491883,2.1161048689138577,2.9151061173533086,7.553058676654182,4.812734082397004,4.107365792759051,1.9975031210986267,7.428214731585518,5.2559300873907615,6.30461922596754,2.9151061173533086,4.762796504369538,4.475655430711611,6.803995006242197,1.5980024968789013,3.3645443196004994,3.0836454431960054,3.7515605493133584,6.866416978776529,2.2908863920099876,6.30461922596754,5.636704119850187,5.2559300873907615, +5.1123595505617985,6.679151061173534,3.7265917602996255,6.679151061173534,4.800249687890138,4.818976279650437,1.7602996254681649,4.563046192259676,2.328339575530587,4.00749063670412,4.687890137328339,2.640449438202247,1.4481897627965044,1.6853932584269664,2.8277153558052435,7.240948813982522,5.97378277153558,4.238451935081149,3.139825218476904,2.696629213483146,5.287141073657928,6.741573033707866,4.132334581772784,6.991260923845194,6.20474406991261,2.3470661672908864,2.066167290886392,1.8601747815230962,3.2833957553058677,5.243445692883895,1.435705368289638,2.5031210986267167,6.1360799001248445,5.068664169787765,2.397003745318352,3.7078651685393256,2.3720349563046192,7.677902621722847,5.468164794007491,1.6978776529338326,1.8476903870162298,6.0174781523096135,5.093632958801498,2.808988764044944,2.1473158551810236,2.3720349563046192,7.240948813982522,4.307116104868914,2.7091136079900124,5.867665418227216,4.3508114856429465,4.806491885143571,5.393258426966292,7.553058676654182,2.9400749063670415,4.637952559300874,5.268414481897628,6.679151061173534,7.240948813982522,4.538077403245943,3.339575530586767,4.3632958801498125,4.51310861423221,2.8776529338327093,7.116104868913857,4.662921348314606,3.4893882646691634,6.866416978776529,2.990012484394507,4.588014981273409,5.149812734082397,5.524344569288389,6.803995006242197,4.900124843945068,7.0536828963795255,7.116104868913857,5.143570536828964,3.938826466916354,2.1410736579275906,2.9463171036204745,7.615480649188515,4.843945068664169,4.138576779026217,2.016229712858926,7.428214731585518,5.280898876404494,6.367041198501872,2.9463171036204745,4.787765293383271,4.51310861423221,6.866416978776529,1.616729088639201,3.3957553058676653,3.114856429463171,3.7890137328339577,6.928838951310862,2.328339575530587,6.30461922596754,5.66167290886392,5.274656679151062, +5.143570536828964,6.679151061173534,3.7578027465667914,6.679151061173534,4.825218476903871,4.837702871410737,1.7790262172284643,4.588014981273409,2.359550561797753,4.032459425717852,4.712858926342073,2.671660424469413,1.4731585518102372,1.7166042446941323,2.852684144818976,7.303370786516854,6.004993757802747,4.269662921348314,3.1647940074906367,2.715355805243446,5.318352059925093,6.803995006242197,4.157303370786517,6.991260923845194,6.235955056179775,2.3782771535580522,2.091136079900125,1.8851435705368291,3.3146067415730336,5.268414481897628,1.4606741573033708,2.5405742821473156,6.154806491885144,5.093632958801498,2.4219725343320846,3.7265917602996255,2.4032459425717856,7.677902621722847,5.493133583021224,1.7166042446941323,1.8726591760299625,6.036204744069912,5.118601747815231,2.8464419475655434,2.1785268414481895,2.4032459425717856,7.240948813982522,4.344569288389513,2.740324594257179,5.8988764044943816,4.382022471910113,4.837702871410737,5.418227215980025,7.553058676654182,2.965043695380774,4.656679151061174,5.299625468164794,6.679151061173534,7.303370786516854,4.563046192259676,3.3583021223470664,4.382022471910113,4.544319600499376,2.902621722846442,7.17852684144819,4.687890137328339,3.5143570536828963,6.928838951310862,3.0149812734082393,4.612983770287141,5.181023720349563,5.555555555555556,6.866416978776529,4.931335830212235,7.116104868913857,7.116104868913857,5.168539325842697,3.9762796504369535,2.1660424469413235,2.9837702871410734,7.615480649188515,4.875156054931336,4.169787765293384,2.0411985018726595,7.49063670411985,5.305867665418227,6.367041198501872,2.977528089887641,4.812734082397004,4.544319600499376,6.866416978776529,1.6416978776529338,3.4269662921348316,3.139825218476904,3.8202247191011236,6.928838951310862,2.359550561797753,6.367041198501872,5.686641697877653,5.299625468164794, +5.174781523096129,6.741573033707866,3.7890137328339577,6.679151061173534,4.850187265917603,4.8626716604244695,1.8039950062421974,4.619225967540574,2.3845193508114857,4.051186017478152,4.7315855181023725,2.702871410736579,1.4918851435705367,1.7478152309612984,2.8776529338327093,7.303370786516854,6.036204744069912,4.300873907615481,3.183520599250936,2.740324594257179,5.34956304619226,6.803995006242197,4.18227215980025,7.0536828963795255,6.242197253433209,2.4032459425717856,2.122347066167291,1.9101123595505618,3.3458177278401995,5.293383270911361,1.4856429463171037,2.571785268414482,6.179775280898876,5.118601747815231,2.446941323345818,3.7515605493133584,2.4406991260923845,7.740324594257178,5.5181023720349565,1.7415730337078652,1.8976279650436954,6.061173533083646,5.149812734082397,2.8776529338327093,2.209737827715356,2.428214731585518,7.303370786516854,4.375780274656679,2.7715355805243447,5.930087390761548,4.406991260923846,4.875156054931336,5.443196004993759,7.615480649188515,2.990012484394507,4.675405742821473,5.324594257178527,6.741573033707866,7.303370786516854,4.594257178526841,3.3770287141073654,4.400749063670412,4.575530586766542,2.9275905118601746,7.17852684144819,4.70661672908864,3.533083645443196,6.928838951310862,3.033707865168539,4.637952559300874,5.212234706616729,5.593008739076155,6.866416978776529,4.956304619225968,7.116104868913857,7.116104868913857,5.187265917602996,4.00749063670412,2.1910112359550564,3.0212234706616727,7.677902621722847,4.906367041198502,4.207240948813983,2.0599250936329585,7.49063670411985,5.33083645443196,6.367041198501872,3.0024968789013733,4.837702871410737,4.575530586766542,6.928838951310862,1.6666666666666667,3.4581772784019975,3.1647940074906367,3.8514357053682895,6.991260923845194,2.397003745318352,6.367041198501872,5.711610486891385,5.324594257178527, +5.205992509363296,6.803995006242197,3.826466916354557,6.741573033707866,4.875156054931336,4.887640449438202,1.8289637952559301,4.644194756554308,2.4157303370786516,4.0761548064918856,4.750312109862672,2.727840199750312,1.5168539325842696,1.772784019975031,2.902621722846442,7.365792759051186,6.067415730337078,4.332084893882647,3.2084893882646695,2.7590511860174782,5.3745318352059925,6.866416978776529,4.207240948813983,7.0536828963795255,6.30461922596754,2.4344569288389515,2.153558052434457,1.9350811485642945,3.383270911360799,5.318352059925093,1.5106117353308364,2.6092384519350813,6.198501872659176,5.1373283395755305,2.4656679151061174,3.776529338327091,2.471910112359551,7.740324594257178,5.543071161048689,1.7602996254681649,1.9225967540574282,6.079900124843945,5.174781523096129,2.908863920099875,2.2347066167290888,2.453183520599251,7.303370786516854,4.413233458177278,2.808988764044944,5.961298377028713,4.438202247191011,4.906367041198502,5.468164794007491,7.615480649188515,3.0087390761548067,4.700374531835206,5.355805243445693,6.803995006242197,7.303370786516854,4.619225967540574,3.3957553058676653,4.425717852684145,4.606741573033708,2.9463171036204745,7.240948813982522,4.7315855181023725,3.5580524344569286,6.991260923845194,3.058676654182272,4.662921348314606,5.243445692883895,5.6242197253433215,6.866416978776529,4.987515605493134,7.17852684144819,7.17852684144819,5.205992509363296,4.044943820224719,2.215980024968789,3.0524344569288386,7.740324594257178,4.937578027465668,4.238451935081149,2.084893882646692,7.553058676654182,5.355805243445693,6.429463171036204,3.033707865168539,4.8626716604244695,4.606741573033708,6.928838951310862,1.6916354556803994,3.4893882646691634,3.1897627965043696,3.888888888888889,7.0536828963795255,2.428214731585518,6.367041198501872,5.736579275905119,5.34956304619226, +5.237203495630462,6.803995006242197,3.857677902621723,6.741573033707866,4.900124843945068,4.906367041198502,1.8476903870162298,4.66916354556804,2.446941323345818,4.1011235955056184,4.775280898876405,2.7590511860174782,1.5418227215980027,1.8039950062421974,2.9275905118601746,7.365792759051186,6.092384519350812,4.3632958801498125,3.233458177278402,2.777777777777778,5.405742821473158,6.866416978776529,4.2322097378277155,7.116104868913857,6.30461922596754,2.4656679151061174,2.184769038701623,1.9600499375780276,3.4144818976279647,5.343320848938826,1.5355805243445693,2.640449438202247,6.223470661672909,5.162297128589263,2.4906367041198503,3.7952559300873907,2.5093632958801497,7.740324594257178,5.561797752808988,1.7790262172284643,1.9475655430711611,6.104868913857677,5.199750312109863,2.9400749063670415,2.2659176029962547,2.478152309612984,7.365792759051186,4.444444444444445,2.84019975031211,5.986267166042447,4.4694132334581775,4.937578027465668,5.493133583021224,7.677902621722847,3.033707865168539,4.719101123595506,5.380774032459426,6.803995006242197,7.365792759051186,4.644194756554308,3.4144818976279647,4.444444444444445,4.637952559300874,2.9712858926342074,7.240948813982522,4.750312109862672,3.576779026217228,6.991260923845194,3.0836454431960054,4.687890137328339,5.274656679151062,5.655430711610487,6.928838951310862,5.012484394506866,7.17852684144819,7.17852684144819,5.230961298377029,4.0761548064918856,2.2409488139825218,3.089887640449438,7.740324594257178,4.9687890137328345,4.269662921348314,2.1036204744069913,7.553058676654182,5.3745318352059925,6.429463171036204,3.0649188514357055,4.887640449438202,4.637952559300874,6.928838951310862,1.7166042446941323,3.5205992509363297,3.2209737827715355,3.920099875156055,7.0536828963795255,2.459425717852684,6.429463171036204,5.761548064918852,5.36828963795256, +5.268414481897628,6.866416978776529,3.888888888888889,6.803995006242197,4.925093632958801,4.931335830212235,1.8726591760299625,4.694132334581773,2.478152309612984,4.119850187265917,4.794007490636704,2.790262172284644,1.5605493133583022,1.8352059925093633,2.9525593008739075,7.428214731585518,6.123595505617978,4.394506866416979,3.258426966292135,2.8027465667915106,5.436953807740325,6.928838951310862,4.257178526841448,7.116104868913857,6.367041198501872,2.4906367041198503,2.215980024968789,1.9850187265917605,3.4456928838951315,5.36828963795256,1.5605493133583022,2.671660424469413,6.242197253433209,5.181023720349563,2.5093632958801497,3.8202247191011236,2.5405742821473156,7.8027465667915115,5.586766541822722,1.797752808988764,1.9662921348314608,6.129837702871411,5.224719101123595,2.977528089887641,2.2971285892634206,2.5093632958801497,7.365792759051186,4.475655430711611,2.871410736579276,6.0174781523096135,4.49438202247191,4.975031210986267,5.524344569288389,7.677902621722847,3.058676654182272,4.737827715355805,5.411985018726591,6.866416978776529,7.365792759051186,4.675405742821473,3.4332084893882646,4.463171036204744,4.66916354556804,2.990012484394507,7.303370786516854,4.775280898876405,3.6017478152309614,6.991260923845194,3.108614232209738,4.712858926342073,5.305867665418227,5.686641697877653,6.928838951310862,5.0374531835206,7.240948813982522,7.17852684144819,5.249687890137328,4.107365792759051,2.2659176029962547,3.1210986267166043,7.8027465667915115,5.0,4.307116104868914,2.128589263420724,7.615480649188515,5.399500624219725,6.491885143570538,3.0961298377028714,4.912609238451935,4.675405742821473,6.991260923845194,1.7415730337078652,3.5518102372034956,3.245942571785269,3.951310861423221,7.116104868913857,2.4968789013732833,6.429463171036204,5.792759051186017,5.393258426966292, +5.299625468164794,6.866416978776529,3.926342072409488,6.803995006242197,4.950062421972534,4.950062421972534,1.8976279650436954,4.719101123595506,2.5031210986267167,4.144818976279651,4.818976279650437,2.8152309612983775,1.585518102372035,1.8664169787765295,2.977528089887641,7.428214731585518,6.154806491885144,4.425717852684145,3.2833957553058677,2.82147315855181,5.461922596754057,6.928838951310862,4.282147315855181,7.17852684144819,6.367041198501872,2.521847690387016,2.2409488139825218,2.009987515605493,3.4769038701622974,5.393258426966292,1.585518102372035,2.7091136079900124,6.242197253433209,5.205992509363296,2.5343320848938826,3.8451935081148565,2.578027465667915,7.8027465667915115,5.611735330836455,1.8227215980024971,1.9912609238451935,6.1485642946317105,5.2559300873907615,3.0087390761548067,2.322097378277154,2.5343320848938826,7.428214731585518,4.51310861423221,2.908863920099875,6.048689138576779,4.525593008739076,5.0062421972534334,5.549313358302123,7.740324594257178,3.0836454431960054,4.762796504369538,5.436953807740325,6.866416978776529,7.428214731585518,4.700374531835206,3.451935081148564,4.488139825218477,4.700374531835206,3.0149812734082393,7.303370786516854,4.794007490636704,3.620474406991261,7.0536828963795255,3.1335830212234708,4.737827715355805,5.337078651685393,5.724094881398252,6.991260923845194,5.068664169787765,7.240948813982522,7.240948813982522,5.268414481897628,4.144818976279651,2.2908863920099876,3.1585518102372037,7.8027465667915115,5.031210986267166,4.33832709113608,2.1473158551810236,7.615480649188515,5.424469413233458,6.491885143570538,3.1273408239700373,4.937578027465668,4.70661672908864,6.991260923845194,1.7602996254681649,3.5830212234706615,3.2709113607990012,3.9887640449438204,7.17852684144819,2.5280898876404496,6.491885143570538,5.81772784019975,5.418227215980025, +5.324594257178527,6.928838951310862,3.957553058676654,6.866416978776529,4.975031210986267,4.975031210986267,1.916354556803995,4.750312109862672,2.5343320848938826,4.169787765293384,4.837702871410737,2.8464419475655434,1.6104868913857677,1.8976279650436954,3.0024968789013733,7.49063670411985,6.186017478152309,4.456928838951311,3.3083645443196006,2.8464419475655434,5.493133583021224,6.991260923845194,4.307116104868914,7.17852684144819,6.429463171036204,2.5530586766541825,2.272159800249688,2.034956304619226,3.508114856429463,5.418227215980025,1.6104868913857677,2.740324594257179,6.30461922596754,5.224719101123595,2.5593008739076155,3.870162297128589,2.6092384519350813,7.865168539325843,5.636704119850187,1.8414481897627966,2.016229712858926,6.173533083645444,5.280898876404494,3.0399500624219726,2.35330836454432,2.5593008739076155,7.428214731585518,4.544319600499376,2.9400749063670415,6.079900124843945,4.55056179775281,5.043695380774032,5.574282147315855,7.8027465667915115,3.108614232209738,4.781523096129837,5.468164794007491,6.928838951310862,7.428214731585518,4.725343320848939,3.4769038701622974,4.506866416978776,4.7315855181023725,3.033707865168539,7.365792759051186,4.818976279650437,3.6454431960049942,7.0536828963795255,3.1585518102372037,4.762796504369538,5.36828963795256,5.7553058676654185,6.991260923845194,5.093632958801498,7.303370786516854,7.240948813982522,5.293383270911361,4.176029962546816,2.3158551810237205,3.1960049937578026,7.865168539325843,5.062421972534332,4.375780274656679,2.1722846441947565,7.677902621722847,5.449438202247191,6.491885143570538,3.1585518102372037,4.962546816479401,4.737827715355805,7.0536828963795255,1.7852684144818978,3.6142322097378274,3.3021223470661676,4.019975031210986,7.17852684144819,2.565543071161049,6.491885143570538,5.842696629213483,5.436953807740325, +5.355805243445693,6.928838951310862,3.9887640449438204,6.866416978776529,5.0,5.0,1.941323345817728,4.775280898876405,2.565543071161049,4.188514357053683,4.856429463171036,2.8776529338327093,1.6292134831460674,1.9225967540574282,3.027465667915106,7.49063670411985,6.217228464419476,4.488139825218477,3.3333333333333335,2.865168539325843,5.524344569288389,6.991260923845194,4.332084893882647,7.240948813982522,6.429463171036204,2.578027465667915,2.303370786516854,2.0599250936329585,3.5393258426966296,5.443196004993759,1.6354556803995006,2.7715355805243447,6.30461922596754,5.249687890137328,2.578027465667915,3.888888888888889,2.6466916354556806,7.865168539325843,5.66167290886392,1.8601747815230962,2.0411985018726595,6.192259675405743,5.305867665418227,3.0711610486891385,2.3845193508114857,2.5905118601747814,7.49063670411985,4.575530586766542,2.977528089887641,6.104868913857677,4.581772784019975,5.074906367041199,5.599250936329588,7.8027465667915115,3.1335830212234708,4.800249687890138,5.493133583021224,6.991260923845194,7.428214731585518,4.750312109862672,3.495630461922597,4.525593008739076,4.762796504369538,3.058676654182272,7.365792759051186,4.843945068664169,3.6641697877652937,7.0536828963795255,3.183520599250936,4.787765293383271,5.399500624219725,5.786516853932584,6.991260923845194,5.118601747815231,7.303370786516854,7.240948813982522,5.312109862671661,4.213483146067416,2.340823970037453,3.227215980024969,7.927590511860175,5.087390761548065,4.406991260923846,2.1910112359550564,7.677902621722847,5.474406991260924,6.554307116104869,3.1897627965043696,4.987515605493134,4.769038701622971,7.0536828963795255,1.8102372034956304,3.6454431960049942,3.3270911360799,4.051186017478152,7.240948813982522,2.596754057428215,6.554307116104869,5.867665418227216,5.461922596754057, +5.3870162297128585,6.991260923845194,4.02621722846442,6.928838951310862,5.024968789013733,5.0187265917602994,1.9662921348314608,4.800249687890138,2.596754057428215,4.213483146067416,4.881398252184769,2.908863920099875,1.6541822721598003,1.9538077403245941,3.0524344569288386,7.553058676654182,6.242197253433209,4.519350811485642,3.3583021223470664,2.8901373283395753,5.549313358302123,7.0536828963795255,4.3508114856429465,7.240948813982522,6.491885143570538,2.6092384519350813,2.33458177278402,2.084893882646692,3.5705368289637955,5.468164794007491,1.6541822721598003,2.808988764044944,6.30461922596754,5.274656679151062,2.602996254681648,3.9138576779026217,2.6779026217228465,7.927590511860175,5.686641697877653,1.8851435705368291,2.066167290886392,6.217228464419476,5.337078651685393,3.108614232209738,2.4157303370786516,2.6154806491885143,7.49063670411985,4.612983770287141,3.0087390761548067,6.1360799001248445,4.606741573033708,5.1123595505617985,5.6242197253433215,7.865168539325843,3.15230961298377,4.825218476903871,5.524344569288389,6.991260923845194,7.49063670411985,4.781523096129837,3.5143570536828963,4.55056179775281,4.794007490636704,3.0836454431960054,7.428214731585518,4.8626716604244695,3.689138576779026,7.116104868913857,3.2084893882646695,4.812734082397004,5.430711610486892,5.81772784019975,7.0536828963795255,5.149812734082397,7.365792759051186,7.303370786516854,5.33083645443196,4.244694132334582,2.3657927590511862,3.2646691635455682,7.927590511860175,5.118601747815231,4.438202247191011,2.215980024968789,7.740324594257178,5.499375780274657,6.554307116104869,3.2209737827715355,5.012484394506866,4.800249687890138,7.116104868913857,1.8352059925093633,3.6766541822721597,3.352059925093633,4.082397003745319,7.240948813982522,2.634207240948814,6.554307116104869,5.892634207240949,5.48689138576779, +5.418227215980025,6.991260923845194,4.057428214731585,6.928838951310862,5.049937578027466,5.043695380774032,1.9850187265917605,4.825218476903871,2.6217228464419473,4.238451935081149,4.900124843945068,2.933832709113608,1.6791510611735332,1.9850187265917605,3.077403245942572,7.553058676654182,6.30461922596754,4.55056179775281,3.383270911360799,2.908863920099875,5.580524344569288,7.0536828963795255,4.375780274656679,7.303370786516854,6.491885143570538,2.640449438202247,2.3657927590511862,2.1098626716604243,3.6017478152309614,5.493133583021224,1.6791510611735332,2.84019975031211,6.367041198501872,5.293383270911361,2.6217228464419473,3.938826466916354,2.715355805243446,7.927590511860175,5.711610486891385,1.9038701622971288,2.091136079900125,6.235955056179775,5.3620474406991265,3.139825218476904,2.4406991260923845,2.640449438202247,7.553058676654182,4.644194756554308,3.0399500624219726,6.167290886392011,4.637952559300874,5.143570536828964,5.655430711610487,7.865168539325843,3.1772784019975036,4.843945068664169,5.555555555555556,7.0536828963795255,7.49063670411985,4.806491885143571,3.533083645443196,4.569288389513109,4.831460674157303,3.102372034956305,7.428214731585518,4.887640449438202,3.7078651685393256,7.116104868913857,3.233458177278402,4.837702871410737,5.461922596754057,5.855181023720349,7.0536828963795255,5.174781523096129,7.365792759051186,7.303370786516854,5.355805243445693,4.282147315855181,2.3907615480649187,3.295880149812734,7.990012484394507,5.149812734082397,4.475655430711611,2.2347066167290888,7.740324594257178,5.524344569288389,6.616729088639201,3.2521847690387014,5.0374531835206,4.831460674157303,7.116104868913857,1.8601747815230962,3.701622971285893,3.3770287141073654,4.119850187265917,7.303370786516854,2.66541822721598,6.616729088639201,5.917602996254682,5.511860174781523, +5.449438202247191,7.0536828963795255,4.094881398252185,6.928838951310862,5.074906367041199,5.068664169787765,2.009987515605493,4.850187265917603,2.6529338327091136,4.257178526841448,4.925093632958801,2.965043695380774,1.6978776529338326,2.016229712858926,3.102372034956305,7.615480649188515,6.30461922596754,4.581772784019975,3.408239700374532,2.933832709113608,5.611735330836455,7.116104868913857,4.400749063670412,7.303370786516854,6.554307116104869,2.66541822721598,2.397003745318352,2.134831460674157,3.6329588014981273,5.5181023720349565,1.704119850187266,2.8776529338327093,6.367041198501872,5.318352059925093,2.6466916354556806,3.9637952559300875,2.752808988764045,7.990012484394507,5.730337078651686,1.9225967540574282,2.1161048689138577,6.242197253433209,5.3870162297128585,3.17103620474407,2.471910112359551,2.671660424469413,7.553058676654182,4.675405742821473,3.077403245942572,6.198501872659176,4.66916354556804,5.174781523096129,5.68039950062422,7.927590511860175,3.202247191011236,4.868913857677903,5.580524344569288,7.0536828963795255,7.553058676654182,4.831460674157303,3.5518102372034956,4.588014981273409,4.8626716604244695,3.1273408239700373,7.428214731585518,4.906367041198502,3.732833957553059,7.116104868913857,3.258426966292135,4.8626716604244695,5.493133583021224,5.8863920099875156,7.0536828963795255,5.199750312109863,7.428214731585518,7.303370786516854,5.3745318352059925,4.313358302122348,2.4157303370786516,3.3333333333333335,7.990012484394507,5.181023720349563,4.506866416978776,2.259675405742821,7.8027465667915115,5.543071161048689,6.616729088639201,3.2833957553058677,5.062421972534332,4.868913857677903,7.17852684144819,1.8851435705368291,3.732833957553059,3.408239700374532,4.151061173533084,7.365792759051186,2.696629213483146,6.616729088639201,5.942571785268415,5.5305867665418225, +5.480649188514358,7.0536828963795255,4.1260923845193505,6.991260923845194,5.099875156054932,5.087390761548065,2.034956304619226,4.881398252184769,2.68414481897628,4.282147315855181,4.943820224719102,2.9962546816479403,1.7228464419475658,2.0474406991260925,3.1210986267166043,7.615480649188515,6.367041198501872,4.612983770287141,3.4332084893882646,2.9525593008739075,5.636704119850187,7.116104868913857,4.425717852684145,7.365792759051186,6.554307116104869,2.696629213483146,2.4219725343320846,2.15980024968789,3.6641697877652937,5.543071161048689,1.7290886392009988,2.908863920099875,6.367041198501872,5.337078651685393,2.671660424469413,3.982521847690387,2.7840199750312107,7.990012484394507,5.7553058676654185,1.9475655430711611,2.134831460674157,6.30461922596754,5.411985018726591,3.202247191011236,2.5031210986267167,2.696629213483146,7.615480649188515,4.712858926342073,3.108614232209738,6.223470661672909,4.694132334581773,5.212234706616729,5.705368289637952,7.927590511860175,3.227215980024969,4.887640449438202,5.611735330836455,7.116104868913857,7.553058676654182,4.8626716604244695,3.5705368289637955,4.612983770287141,4.893882646691636,3.1460674157303368,7.49063670411985,4.931335830212235,3.7515605493133584,7.17852684144819,3.2771535580524347,4.887640449438202,5.5181023720349565,5.917602996254682,7.116104868913857,5.230961298377029,7.428214731585518,7.365792759051186,5.393258426966292,4.3508114856429465,2.4406991260923845,3.3645443196004994,8.05243445692884,5.212234706616729,4.538077403245943,2.278401997503121,7.8027465667915115,5.568039950062421,6.616729088639201,3.3146067415730336,5.087390761548065,4.900124843945068,7.17852684144819,1.9101123595505618,3.764044943820225,3.4332084893882646,4.18227215980025,7.365792759051186,2.7340823970037453,6.679151061173534,5.967540574282147,5.555555555555556, +5.511860174781523,7.116104868913857,4.157303370786517,6.991260923845194,5.1248439450686645,5.1123595505617985,2.0536828963795255,4.906367041198502,2.715355805243446,4.307116104868914,4.9687890137328345,3.027465667915106,1.7478152309612984,2.0724094881398254,3.1460674157303368,7.677902621722847,6.367041198501872,4.644194756554308,3.4581772784019975,2.977528089887641,5.667915106117353,7.17852684144819,4.450686641697877,7.365792759051186,6.616729088639201,2.727840199750312,2.453183520599251,2.184769038701623,3.6953807740324596,5.568039950062421,1.7540574282147314,2.9400749063670415,6.429463171036204,5.3620474406991265,2.690387016229713,4.00749063670412,2.82147315855181,8.05243445692884,5.7802746566791505,1.9662921348314608,2.15980024968789,6.30461922596754,5.443196004993759,3.2397003745318353,2.5280898876404496,2.7215980024968793,7.615480649188515,4.7440699126092385,3.1460674157303368,6.242197253433209,4.725343320848939,5.243445692883895,5.730337078651686,7.990012484394507,3.2521847690387014,4.906367041198502,5.636704119850187,7.17852684144819,7.553058676654182,4.887640449438202,3.589263420724095,4.631710362047441,4.925093632958801,3.17103620474407,7.49063670411985,4.956304619225968,3.776529338327091,7.17852684144819,3.3021223470661676,4.912609238451935,5.549313358302123,5.948813982521848,7.116104868913857,5.2559300873907615,7.49063670411985,7.365792759051186,5.418227215980025,4.382022471910113,2.4656679151061174,3.4019975031210987,8.11485642946317,5.243445692883895,4.575530586766542,2.303370786516854,7.865168539325843,5.593008739076155,6.679151061173534,3.3458177278401995,5.118601747815231,4.931335830212235,7.240948813982522,1.9288389513108615,3.7952559300873907,3.4581772784019975,4.219725343320849,7.428214731585518,2.7652933832709112,6.679151061173534,5.998751560549313,5.580524344569288, +5.543071161048689,7.116104868913857,4.194756554307116,7.0536828963795255,5.149812734082397,5.1373283395755305,2.0786516853932584,4.931335830212235,2.740324594257179,4.325842696629214,4.987515605493134,3.0524344569288386,1.766541822721598,2.1036204744069913,3.17103620474407,7.677902621722847,6.429463171036204,4.675405742821473,3.4831460674157304,2.9962546816479403,5.69912609238452,7.17852684144819,4.475655430711611,7.428214731585518,6.616729088639201,2.752808988764045,2.4843945068664173,2.209737827715356,3.732833957553059,5.593008739076155,1.7790262172284643,2.977528089887641,6.429463171036204,5.380774032459426,2.715355805243446,4.032459425717852,2.852684144818976,8.05243445692884,5.805243445692884,1.9850187265917605,2.184769038701623,6.30461922596754,5.468164794007491,3.2709113607990012,2.5593008739076155,2.752808988764045,7.677902621722847,4.781523096129837,3.1772784019975036,6.30461922596754,4.750312109862672,5.280898876404494,5.7553058676654185,8.05243445692884,3.2709113607990012,4.931335830212235,5.667915106117353,7.17852684144819,7.615480649188515,4.912609238451935,3.607990012484395,4.65043695380774,4.956304619225968,3.1960049937578026,7.553058676654182,4.975031210986267,3.7952559300873907,7.17852684144819,3.3270911360799,4.937578027465668,5.580524344569288,5.980024968789014,7.17852684144819,5.280898876404494,7.49063670411985,7.365792759051186,5.436953807740325,4.419475655430712,2.4906367041198503,3.439450686641698,8.11485642946317,5.274656679151062,4.606741573033708,2.322097378277154,7.865168539325843,5.617977528089888,6.679151061173534,3.3770287141073654,5.143570536828964,4.962546816479401,7.240948813982522,1.9538077403245941,3.826466916354557,3.4831460674157304,4.250936329588015,7.49063670411985,2.8027465667915106,6.741573033707866,6.023720349563047,5.605493133583021, +5.574282147315855,7.17852684144819,4.225967540574282,7.0536828963795255,5.174781523096129,5.15605493133583,2.1036204744069913,4.956304619225968,2.7715355805243447,4.3508114856429465,5.0062421972534334,3.0836454431960054,1.7915106117353308,2.134831460674157,3.1960049937578026,7.677902621722847,6.429463171036204,4.70661672908864,3.508114856429463,3.0212234706616727,5.724094881398252,7.240948813982522,4.500624219725343,7.428214731585518,6.616729088639201,2.7840199750312107,2.515605493133583,2.2347066167290888,3.764044943820225,5.617977528089888,1.8039950062421974,3.0087390761548067,6.429463171036204,5.405742821473158,2.7340823970037453,4.051186017478152,2.8901373283395753,8.11485642946317,5.830212234706617,2.00374531835206,2.209737827715356,6.367041198501872,5.493133583021224,3.3021223470661676,2.5905118601747814,2.777777777777778,7.677902621722847,4.812734082397004,3.2084893882646695,6.30461922596754,4.781523096129837,5.312109862671661,5.786516853932584,8.05243445692884,3.295880149812734,4.950062421972534,5.692883895131087,7.240948813982522,7.615480649188515,4.943820224719102,3.6267166042446943,4.675405742821473,4.987515605493134,3.214731585518102,7.553058676654182,5.0,3.8202247191011236,7.240948813982522,3.352059925093633,4.962546816479401,5.611735330836455,6.0174781523096135,7.17852684144819,5.312109862671661,7.553058676654182,7.428214731585518,5.455680399500624,4.450686641697877,2.515605493133583,3.470661672908864,8.177278401997503,5.305867665418227,4.637952559300874,2.340823970037453,7.927590511860175,5.64294631710362,6.741573033707866,3.408239700374532,5.168539325842697,4.9937578027465666,7.303370786516854,1.978776529338327,3.857677902621723,3.5143570536828963,4.282147315855181,7.49063670411985,2.8339575530586765,6.741573033707866,6.048689138576779,5.6242197253433215, +5.599250936329588,7.17852684144819,4.257178526841448,7.116104868913857,5.199750312109863,5.181023720349563,2.122347066167291,4.987515605493134,2.8027465667915106,4.375780274656679,5.031210986267166,3.114856429463171,1.8102372034956304,2.1660424469413235,3.2209737827715355,7.740324594257178,6.491885143570538,4.737827715355805,3.5268414481897628,3.0399500624219726,5.7553058676654185,7.240948813982522,4.525593008739076,7.49063670411985,6.679151061173534,2.8152309612983775,2.546816479400749,2.259675405742821,3.7952559300873907,5.64294631710362,1.8289637952559301,3.0399500624219726,6.491885143570538,5.430711610486892,2.7590511860174782,4.0761548064918856,2.9213483146067416,8.11485642946317,5.855181023720349,2.0287141073657926,2.2347066167290888,6.367041198501872,5.524344569288389,3.3333333333333335,2.6217228464419473,2.8027465667915106,7.740324594257178,4.843945068664169,3.245942571785269,6.367041198501872,4.806491885143571,5.343320848938826,5.811485642946318,8.11485642946317,3.320848938826467,4.9687890137328345,5.724094881398252,7.240948813982522,7.677902621722847,4.9687890137328345,3.651685393258427,4.694132334581773,5.0187265917602994,3.2397003745318353,7.615480649188515,5.0187265917602994,3.8389513108614235,7.240948813982522,3.3770287141073654,4.987515605493134,5.64294631710362,6.048689138576779,7.17852684144819,5.337078651685393,7.553058676654182,7.428214731585518,5.480649188514358,4.488139825218477,2.5405742821473156,3.508114856429463,8.239700374531834,5.337078651685393,4.675405742821473,2.3657927590511862,7.927590511860175,5.667915106117353,6.741573033707866,3.439450686641698,5.19350811485643,5.031210986267166,7.303370786516854,2.00374531835206,3.888888888888889,3.5393258426966296,4.31960049937578,7.553058676654182,2.871410736579276,6.803995006242197,6.073657927590512,5.6491885143570535, +5.630461922596755,7.240948813982522,4.294631710362047,7.116104868913857,5.224719101123595,5.205992509363296,2.1473158551810236,5.012484394506866,2.8339575530586765,4.394506866416979,5.049937578027466,3.139825218476904,1.8352059925093633,2.1910112359550564,3.245942571785269,7.740324594257178,6.491885143570538,4.769038701622971,3.5518102372034956,3.0649188514357055,5.786516853932584,7.303370786516854,4.55056179775281,7.49063670411985,6.679151061173534,2.84019975031211,2.578027465667915,2.2846441947565546,3.826466916354557,5.667915106117353,1.8539325842696628,3.077403245942572,6.491885143570538,5.449438202247191,2.7840199750312107,4.1011235955056184,2.958801498127341,8.177278401997503,5.8739076154806495,2.0474406991260925,2.259675405742821,6.367041198501872,5.549313358302123,3.370786516853933,2.6466916354556806,2.8339575530586765,7.740324594257178,4.881398252184769,3.2771535580524347,6.367041198501872,4.837702871410737,5.380774032459426,5.836454431960051,8.11485642946317,3.3458177278401995,4.9937578027465666,5.749063670411985,7.303370786516854,7.677902621722847,4.9937578027465666,3.6704119850187267,4.712858926342073,5.049937578027466,3.258426966292135,7.615480649188515,5.043695380774032,3.8639200998751564,7.240948813982522,3.4019975031210987,5.012484394506866,5.674157303370786,6.079900124843945,7.240948813982522,5.3620474406991265,7.615480649188515,7.428214731585518,5.499375780274657,4.519350811485642,2.565543071161049,3.5393258426966296,8.239700374531834,5.36828963795256,4.70661672908864,2.3845193508114857,7.990012484394507,5.692883895131087,6.741573033707866,3.470661672908864,5.218476903870163,5.062421972534332,7.365792759051186,2.0287141073657926,3.920099875156055,3.564294631710362,4.3508114856429465,7.553058676654182,2.902621722846442,6.803995006242197,6.098626716604246,5.674157303370786, +5.66167290886392,7.303370786516854,4.325842696629214,7.17852684144819,5.249687890137328,5.224719101123595,2.1722846441947565,5.0374531835206,2.8589263420724094,4.419475655430712,5.074906367041199,3.17103620474407,1.8601747815230962,2.2222222222222223,3.2709113607990012,7.8027465667915115,6.554307116104869,4.800249687890138,3.576779026217228,3.0836454431960054,5.811485642946318,7.303370786516854,4.569288389513109,7.553058676654182,6.741573033707866,2.871410736579276,2.602996254681648,2.309612983770287,3.857677902621723,5.692883895131087,1.8789013732833957,3.108614232209738,6.491885143570538,5.474406991260924,2.8027465667915106,4.1260923845193505,2.990012484394507,8.177278401997503,5.8988764044943816,2.066167290886392,2.278401997503121,6.429463171036204,5.574282147315855,3.4019975031210987,2.6779026217228465,2.8589263420724094,7.8027465667915115,4.912609238451935,3.3146067415730336,6.429463171036204,4.868913857677903,5.411985018726591,5.861423220973783,8.177278401997503,3.370786516853933,5.012484394506866,5.7802746566791505,7.365792759051186,7.677902621722847,5.024968789013733,3.689138576779026,4.737827715355805,5.081148564294631,3.2833957553058677,7.677902621722847,5.068664169787765,3.882646691635456,7.303370786516854,3.4269662921348316,5.0374531835206,5.705368289637952,6.111111111111111,7.240948813982522,5.393258426966292,7.615480649188515,7.49063670411985,5.524344569288389,4.55056179775281,2.5905118601747814,3.576779026217228,8.302122347066168,5.399500624219725,4.737827715355805,2.4094881398252186,7.990012484394507,5.711610486891385,6.803995006242197,3.5018726591760303,5.243445692883895,5.093632958801498,7.365792759051186,2.0536828963795255,3.951310861423221,3.595505617977528,4.382022471910113,7.615480649188515,2.9400749063670415,6.866416978776529,6.123595505617978,5.69912609238452, +5.692883895131087,7.303370786516854,4.357053682896379,7.17852684144819,5.274656679151062,5.249687890137328,2.1910112359550564,5.062421972534332,2.8901373283395753,4.444444444444445,5.093632958801498,3.202247191011236,1.8789013732833957,2.253433208489388,3.295880149812734,7.8027465667915115,6.554307116104869,4.831460674157303,3.6017478152309614,3.102372034956305,5.842696629213483,7.365792759051186,4.594257178526841,7.553058676654182,6.741573033707866,2.902621722846442,2.634207240948814,2.33458177278402,3.888888888888889,5.711610486891385,1.9038701622971288,3.1460674157303368,6.554307116104869,5.493133583021224,2.8277153558052435,4.144818976279651,3.027465667915106,8.239700374531834,5.9238451935081144,2.091136079900125,2.303370786516854,6.429463171036204,5.599250936329588,3.4332084893882646,2.7091136079900124,2.8838951310861427,7.8027465667915115,4.943820224719102,3.3458177278401995,6.429463171036204,4.893882646691636,5.449438202247191,5.8863920099875156,8.177278401997503,3.3957553058676653,5.031210986267166,5.805243445692884,7.365792759051186,7.740324594257178,5.049937578027466,3.7078651685393256,4.7565543071161045,5.1123595505617985,3.3021223470661676,7.677902621722847,5.087390761548065,3.9076154806491883,7.303370786516854,3.451935081148564,5.062421972534332,5.736579275905119,6.1485642946317105,7.240948813982522,5.418227215980025,7.677902621722847,7.49063670411985,5.543071161048689,4.588014981273409,2.6154806491885143,3.6142322097378274,8.302122347066168,5.430711610486892,4.775280898876405,2.428214731585518,8.05243445692884,5.736579275905119,6.803995006242197,3.533083645443196,5.268414481897628,5.1248439450686645,7.365792759051186,2.0724094881398254,3.982521847690387,3.620474406991261,4.413233458177278,7.677902621722847,2.9712858926342074,6.866416978776529,6.1485642946317105,5.717852684144819, +5.724094881398252,7.365792759051186,4.394506866416979,7.240948813982522,5.299625468164794,5.274656679151062,2.215980024968789,5.087390761548065,2.9213483146067416,4.463171036204744,5.118601747815231,3.233458177278402,1.9038701622971288,2.2846441947565546,3.320848938826467,7.865168539325843,6.616729088639201,4.8626716604244695,3.6267166042446943,3.1273408239700373,5.8739076154806495,7.365792759051186,4.619225967540574,7.615480649188515,6.803995006242197,2.9275905118601746,2.66541822721598,2.359550561797753,3.920099875156055,5.736579275905119,1.9288389513108615,3.1772784019975036,6.554307116104869,5.5181023720349565,2.8464419475655434,4.169787765293384,3.058676654182272,8.239700374531834,5.948813982521848,2.1098626716604243,2.328339575530587,6.429463171036204,5.630461922596755,3.464419475655431,2.7340823970037453,2.9151061173533086,7.865168539325843,4.9812734082397006,3.3770287141073654,6.491885143570538,4.925093632958801,5.480649188514358,5.917602996254682,8.239700374531834,3.4144818976279647,5.056179775280899,5.836454431960051,7.428214731585518,7.740324594257178,5.074906367041199,3.7265917602996255,4.775280898876405,5.143570536828964,3.3270911360799,7.740324594257178,5.1123595505617985,3.926342072409488,7.303370786516854,3.4769038701622974,5.081148564294631,5.767790262172285,6.179775280898876,7.303370786516854,5.449438202247191,7.677902621722847,7.49063670411985,5.561797752808988,4.619225967540574,2.640449438202247,3.6454431960049942,8.3645443196005,5.461922596754057,4.806491885143571,2.453183520599251,8.05243445692884,5.761548064918852,6.866416978776529,3.564294631710362,5.293383270911361,5.15605493133583,7.428214731585518,2.097378277153558,4.013732833957553,3.6454431960049942,4.450686641697877,7.677902621722847,3.0024968789013733,6.928838951310862,6.173533083645444,5.742821473158552, +5.7553058676654185,7.365792759051186,4.425717852684145,7.240948813982522,5.324594257178527,5.293383270911361,2.2409488139825218,5.118601747815231,2.9525593008739075,4.488139825218477,5.1373283395755305,3.258426966292135,1.9288389513108615,2.3158551810237205,3.3458177278401995,7.865168539325843,6.616729088639201,4.893882646691636,3.651685393258427,3.1460674157303368,5.8988764044943816,7.428214731585518,4.644194756554308,7.615480649188515,6.803995006242197,2.958801498127341,2.696629213483146,2.3845193508114857,3.951310861423221,5.761548064918852,1.9538077403245941,3.2084893882646695,6.616729088639201,5.536828963795256,2.871410736579276,4.194756554307116,3.0961298377028714,8.302122347066168,5.97378277153558,2.128589263420724,2.35330836454432,6.491885143570538,5.655430711610487,3.5018726591760303,2.7652933832709112,2.9400749063670415,7.865168539325843,5.012484394506866,3.4144818976279647,6.491885143570538,4.950062421972534,5.5181023720349565,5.942571785268415,8.302122347066168,3.439450686641698,5.074906367041199,5.867665418227216,7.428214731585518,7.8027465667915115,5.106117353308365,3.745318352059925,4.800249687890138,5.181023720349563,3.352059925093633,7.740324594257178,5.131086142322098,3.951310861423221,7.365792759051186,3.5018726591760303,5.106117353308365,5.799001248439451,6.210986267166042,7.303370786516854,5.474406991260924,7.740324594257178,7.553058676654182,5.586766541822722,4.656679151061174,2.6591760299625467,3.682896379525593,8.426966292134832,5.493133583021224,4.837702871410737,2.471910112359551,8.11485642946317,5.786516853932584,6.866416978776529,3.595505617977528,5.318352059925093,5.19350811485643,7.428214731585518,2.122347066167291,4.044943820224719,3.6704119850187267,4.4818976279650435,7.740324594257178,3.0399500624219726,6.928838951310862,6.20474406991261,5.767790262172285, +5.786516853932584,7.428214731585518,4.463171036204744,7.240948813982522,5.34956304619226,5.318352059925093,2.259675405742821,5.143570536828964,2.977528089887641,4.51310861423221,5.15605493133583,3.2896379525593007,1.9475655430711611,2.340823970037453,3.370786516853933,7.927590511860175,6.679151061173534,4.925093632958801,3.6766541822721597,3.17103620474407,5.930087390761548,7.428214731585518,4.66916354556804,7.677902621722847,6.866416978776529,2.990012484394507,2.727840199750312,2.4094881398252186,3.982521847690387,5.786516853932584,1.978776529338327,3.245942571785269,6.616729088639201,5.561797752808988,2.8963795255930087,4.219725343320849,3.1273408239700373,8.302122347066168,5.998751560549313,2.1473158551810236,2.3782771535580522,6.491885143570538,5.68039950062422,3.533083645443196,2.7965043695380776,2.965043695380774,7.927590511860175,5.049937578027466,3.4456928838951315,6.491885143570538,4.9812734082397006,5.549313358302123,5.967540574282147,8.302122347066168,3.464419475655431,5.093632958801498,5.892634207240949,7.49063670411985,7.8027465667915115,5.131086142322098,3.764044943820225,4.818976279650437,5.212234706616729,3.370786516853933,7.8027465667915115,5.15605493133583,3.970037453183521,7.365792759051186,3.5205992509363297,5.131086142322098,5.830212234706617,6.242197253433209,7.365792759051186,5.499375780274657,7.740324594257178,7.553058676654182,5.605493133583021,4.687890137328339,2.68414481897628,3.714107365792759,8.426966292134832,5.524344569288389,4.875156054931336,2.4968789013732833,8.11485642946317,5.811485642946318,6.866416978776529,3.6267166042446943,5.343320848938826,5.224719101123595,7.49063670411985,2.1473158551810236,4.0761548064918856,3.701622971285893,4.51310861423221,7.8027465667915115,3.0711610486891385,6.991260923845194,6.229712858926342,5.786516853932584, +5.81772784019975,7.428214731585518,4.49438202247191,7.303370786516854,5.3745318352059925,5.337078651685393,2.2846441947565546,5.168539325842697,3.0087390761548067,4.531835205992509,5.181023720349563,3.320848938826467,1.9725343320848938,2.3720349563046192,3.3957553058676653,7.927590511860175,6.679151061173534,4.950062421972534,3.701622971285893,3.1897627965043696,5.961298377028713,7.49063670411985,4.694132334581773,7.677902621722847,6.866416978776529,3.0149812734082393,2.7590511860174782,2.4344569288389515,4.013732833957553,5.811485642946318,2.00374531835206,3.2771535580524347,6.616729088639201,5.586766541822722,2.9151061173533086,4.238451935081149,3.1647940074906367,8.3645443196005,6.023720349563047,2.1722846441947565,2.4032459425717856,6.554307116104869,5.711610486891385,3.564294631710362,2.8277153558052435,2.9962546816479403,7.927590511860175,5.081148564294631,3.4769038701622974,6.554307116104869,5.0062421972534334,5.580524344569288,5.992509363295881,8.3645443196005,3.4893882646691634,5.118601747815231,5.9238451935081144,7.553058676654182,7.8027465667915115,5.15605493133583,3.7827715355805243,4.837702871410737,5.243445692883895,3.3957553058676653,7.8027465667915115,5.181023720349563,3.9950062421972534,7.365792759051186,3.545568039950062,5.15605493133583,5.861423220973783,6.30461922596754,7.365792759051186,5.5305867665418225,7.8027465667915115,7.553058676654182,5.6242197253433215,4.725343320848939,2.7091136079900124,3.7515605493133584,8.489388264669165,5.555555555555556,4.906367041198502,2.515605493133583,8.177278401997503,5.836454431960051,6.928838951310862,3.6579275905118602,5.36828963795256,5.2559300873907615,7.49063670411985,2.1722846441947565,4.107365792759051,3.7265917602996255,4.55056179775281,7.8027465667915115,3.108614232209738,6.991260923845194,6.242197253433209,5.811485642946318, +5.842696629213483,7.49063670411985,4.525593008739076,7.303370786516854,5.405742821473158,5.3620474406991265,2.309612983770287,5.19350811485643,3.0399500624219726,4.556803995006242,5.199750312109863,3.352059925093633,1.9975031210986267,2.4032459425717856,3.420724094881398,7.990012484394507,6.741573033707866,4.9812734082397006,3.7265917602996255,3.214731585518102,5.986267166042447,7.49063670411985,4.719101123595506,7.740324594257178,6.928838951310862,3.046192259675406,2.7840199750312107,2.459425717852684,4.044943820224719,5.836454431960051,2.0287141073657926,3.3083645443196006,6.679151061173534,5.605493133583021,2.9400749063670415,4.263420724094882,3.1960049937578026,8.3645443196005,6.0424469413233455,2.1910112359550564,2.428214731585518,6.554307116104869,5.736579275905119,3.595505617977528,2.852684144818976,3.0212234706616727,7.990012484394507,5.1123595505617985,3.5143570536828963,6.554307116104869,5.0374531835206,5.617977528089888,6.0174781523096135,8.3645443196005,3.5143570536828963,5.1373283395755305,5.948813982521848,7.553058676654182,7.865168539325843,5.187265917602996,3.801498127340824,4.8626716604244695,5.274656679151062,3.4144818976279647,7.865168539325843,5.199750312109863,4.013732833957553,7.428214731585518,3.5705368289637955,5.181023720349563,5.8863920099875156,6.30461922596754,7.365792759051186,5.555555555555556,7.8027465667915115,7.615480649188515,5.6491885143570535,4.7565543071161045,2.7340823970037453,3.7827715355805243,8.551810237203496,5.586766541822722,4.937578027465668,2.5405742821473156,8.177278401997503,5.855181023720349,6.928838951310862,3.689138576779026,5.393258426966292,5.287141073657928,7.553058676654182,2.1972534332084894,4.138576779026217,3.7515605493133584,4.581772784019975,7.865168539325843,3.139825218476904,7.0536828963795255,6.30461922596754,5.836454431960051, +5.8739076154806495,7.49063670411985,4.563046192259676,7.365792759051186,5.430711610486892,5.3870162297128585,2.328339575530587,5.218476903870163,3.0711610486891385,4.581772784019975,5.224719101123595,3.3770287141073654,2.016229712858926,2.4344569288389515,3.4456928838951315,7.990012484394507,6.741573033707866,5.012484394506866,3.7515605493133584,3.233458177278402,6.0174781523096135,7.553058676654182,4.7440699126092385,7.740324594257178,6.928838951310862,3.077403245942572,2.8152309612983775,2.4843945068664173,4.082397003745319,5.861423220973783,2.0536828963795255,3.3458177278401995,6.679151061173534,5.630461922596755,2.958801498127341,4.288389513108614,3.233458177278402,8.426966292134832,6.067415730337078,2.209737827715356,2.446941323345818,6.554307116104869,5.761548064918852,3.6329588014981273,2.8838951310861427,3.046192259675406,7.990012484394507,5.149812734082397,3.545568039950062,6.616729088639201,5.068664169787765,5.6491885143570535,6.048689138576779,8.426966292134832,3.533083645443196,5.162297128589263,5.980024968789014,7.615480649188515,7.865168539325843,5.212234706616729,3.826466916354557,4.881398252184769,5.305867665418227,3.439450686641698,7.865168539325843,5.224719101123595,4.038701622971286,7.428214731585518,3.595505617977528,5.205992509363296,5.917602996254682,6.367041198501872,7.428214731585518,5.580524344569288,7.865168539325843,7.615480649188515,5.667915106117353,4.794007490636704,2.7590511860174782,3.8202247191011236,8.551810237203496,5.617977528089888,4.975031210986267,2.5593008739076155,8.239700374531834,5.880149812734083,6.991260923845194,3.7203495630461925,5.418227215980025,5.318352059925093,7.553058676654182,2.2222222222222223,4.169787765293384,3.776529338327091,4.612983770287141,7.865168539325843,3.1772784019975036,7.0536828963795255,6.30461922596754,5.861423220973783, +5.905118601747815,7.553058676654182,4.594257178526841,7.365792759051186,5.455680399500624,5.405742821473158,2.35330836454432,5.249687890137328,3.0961298377028714,4.600499375780275,5.243445692883895,3.408239700374532,2.0411985018726595,2.4656679151061174,3.470661672908864,8.05243445692884,6.803995006242197,5.043695380774032,3.776529338327091,3.258426966292135,6.048689138576779,7.553058676654182,4.769038701622971,7.8027465667915115,6.991260923845194,3.102372034956305,2.8464419475655434,2.5093632958801497,4.1136079900124844,5.8863920099875156,2.0786516853932584,3.3770287141073654,6.679151061173534,5.6491885143570535,2.9837702871410734,4.313358302122348,3.2646691635455682,8.426966292134832,6.092384519350812,2.2347066167290888,2.471910112359551,6.616729088639201,5.786516853932584,3.6641697877652937,2.9151061173533086,3.077403245942572,8.05243445692884,5.181023720349563,3.5830212234706615,6.616729088639201,5.093632958801498,5.686641697877653,6.073657927590512,8.426966292134832,3.5580524344569286,5.181023720349563,6.004993757802747,7.615480649188515,7.927590511860175,5.237203495630462,3.8451935081148565,4.900124843945068,5.337078651685393,3.464419475655431,7.927590511860175,5.243445692883895,4.057428214731585,7.428214731585518,3.620474406991261,5.230961298377029,5.948813982521848,6.367041198501872,7.428214731585518,5.611735330836455,7.865168539325843,7.615480649188515,5.686641697877653,4.825218476903871,2.7840199750312107,3.857677902621723,8.614232209737828,5.64294631710362,5.0062421972534334,2.5842696629213484,8.239700374531834,5.905118601747815,6.991260923845194,3.7515605493133584,5.443196004993759,5.34956304619226,7.615480649188515,2.2409488139825218,4.200998751560549,3.8077403245942576,4.65043695380774,7.927590511860175,3.2084893882646695,7.116104868913857,6.30461922596754,5.880149812734083, +5.936329588014981,7.553058676654182,4.6254681647940075,7.428214731585518,5.480649188514358,5.430711610486892,2.3782771535580522,5.274656679151062,3.1273408239700373,4.6254681647940075,5.268414481897628,3.439450686641698,2.066167290886392,2.4906367041198503,3.495630461922597,8.05243445692884,6.803995006242197,5.074906367041199,3.801498127340824,3.2771535580524347,6.073657927590512,7.615480649188515,4.787765293383271,7.8027465667915115,6.991260923845194,3.1335830212234708,2.8776529338327093,2.5343320848938826,4.144818976279651,5.9113607990012484,2.1036204744069913,3.4144818976279647,6.741573033707866,5.674157303370786,3.0087390761548067,4.332084893882647,3.3021223470661676,8.489388264669165,6.117353308364544,2.253433208489388,2.4968789013732833,6.616729088639201,5.81772784019975,3.6953807740324596,2.9400749063670415,3.102372034956305,8.05243445692884,5.212234706616729,3.6142322097378274,6.679151061173534,5.1248439450686645,5.717852684144819,6.098626716604246,8.489388264669165,3.5830212234706615,5.199750312109863,6.036204744069912,7.677902621722847,7.927590511860175,5.268414481897628,3.8639200998751564,4.925093632958801,5.36828963795256,3.4831460674157304,7.927590511860175,5.268414481897628,4.082397003745319,7.49063670411985,3.6454431960049942,5.2559300873907615,5.980024968789014,6.429463171036204,7.428214731585518,5.636704119850187,7.927590511860175,7.677902621722847,5.711610486891385,4.8626716604244695,2.808988764044944,3.888888888888889,8.614232209737828,5.674157303370786,5.043695380774032,2.602996254681648,8.302122347066168,5.930087390761548,6.991260923845194,3.7827715355805243,5.468164794007491,5.3870162297128585,7.615480649188515,2.2659176029962547,4.2322097378277155,3.83270911360799,4.681647940074906,7.990012484394507,3.245942571785269,7.116104868913857,6.367041198501872,5.905118601747815, +5.967540574282147,7.615480649188515,4.662921348314606,7.428214731585518,5.50561797752809,5.455680399500624,2.397003745318352,5.299625468164794,3.1585518102372037,4.65043695380774,5.287141073657928,3.464419475655431,2.084893882646692,2.521847690387016,3.5205992509363297,8.11485642946317,6.866416978776529,5.106117353308365,3.826466916354557,3.3021223470661676,6.104868913857677,7.615480649188515,4.812734082397004,7.8027465667915115,7.0536828963795255,3.1647940074906367,2.908863920099875,2.5593008739076155,4.176029962546816,5.936329588014981,2.128589263420724,3.4456928838951315,6.741573033707866,5.692883895131087,3.027465667915106,4.357053682896379,3.3333333333333335,8.489388264669165,6.142322097378277,2.272159800249688,2.521847690387016,6.616729088639201,5.842696629213483,3.732833957553059,2.9712858926342074,3.1273408239700373,8.11485642946317,5.249687890137328,3.6454431960049942,6.679151061173534,5.149812734082397,5.7553058676654185,6.123595505617978,8.551810237203496,3.607990012484395,5.224719101123595,6.061173533083646,7.740324594257178,7.927590511860175,5.293383270911361,3.882646691635456,4.943820224719102,5.399500624219725,3.508114856429463,7.990012484394507,5.293383270911361,4.1011235955056184,7.49063670411985,3.6704119850187267,5.280898876404494,6.01123595505618,6.429463171036204,7.49063670411985,5.66167290886392,7.927590511860175,7.677902621722847,5.730337078651686,4.893882646691636,2.8339575530586765,3.926342072409488,8.67665418227216,5.705368289637952,5.074906367041199,2.6279650436953808,8.302122347066168,5.955056179775282,7.0536828963795255,3.81398252184769,5.493133583021224,5.418227215980025,7.677902621722847,2.2908863920099876,4.263420724094882,3.857677902621723,4.712858926342073,7.990012484394507,3.2771535580524347,7.17852684144819,6.367041198501872,5.930087390761548, +5.998751560549313,7.615480649188515,4.694132334581773,7.49063670411985,5.5305867665418225,5.474406991260924,2.4219725343320846,5.324594257178527,3.183520599250936,4.66916354556804,5.305867665418227,3.495630461922597,2.1098626716604243,2.5530586766541825,3.545568039950062,8.11485642946317,6.866416978776529,5.1373283395755305,3.8514357053682895,3.320848938826467,6.1360799001248445,7.677902621722847,4.837702871410737,7.865168539325843,7.0536828963795255,3.1897627965043696,2.933832709113608,2.5842696629213484,4.207240948813983,5.961298377028713,2.153558052434457,3.4769038701622974,6.741573033707866,5.717852684144819,3.0524344569288386,4.382022471910113,3.370786516853933,8.551810237203496,6.167290886392011,2.2908863920099876,2.546816479400749,6.679151061173534,5.867665418227216,3.764044943820225,3.0024968789013733,3.1585518102372037,8.11485642946317,5.280898876404494,3.682896379525593,6.741573033707866,5.181023720349563,5.786516853932584,6.1485642946317105,8.551810237203496,3.6329588014981273,5.243445692883895,6.092384519350812,7.740324594257178,7.990012484394507,5.318352059925093,3.9013732833957557,4.962546816479401,5.430711610486892,3.5268414481897628,7.990012484394507,5.312109862671661,4.1260923845193505,7.553058676654182,3.6953807740324596,5.305867665418227,6.0424469413233455,6.491885143570538,7.49063670411985,5.692883895131087,7.990012484394507,7.677902621722847,5.749063670411985,4.931335830212235,2.8589263420724094,3.957553058676654,8.739076154806492,5.736579275905119,5.106117353308365,2.6466916354556806,8.3645443196005,5.980024968789014,7.0536828963795255,3.8451935081148565,5.5181023720349565,5.449438202247191,7.677902621722847,2.3158551810237205,4.294631710362047,3.888888888888889,4.7440699126092385,8.05243445692884,3.3083645443196006,7.17852684144819,6.429463171036204,5.955056179775282, +6.029962546816479,7.677902621722847,4.725343320848939,7.49063670411985,5.555555555555556,5.499375780274657,2.446941323345818,5.34956304619226,3.214731585518102,4.694132334581773,5.33083645443196,3.5268414481897628,2.134831460674157,2.5842696629213484,3.5705368289637955,8.177278401997503,6.928838951310862,5.168539325842697,3.870162297128589,3.3458177278401995,6.161048689138577,7.677902621722847,4.8626716604244695,7.865168539325843,7.0536828963795255,3.2209737827715355,2.965043695380774,2.6092384519350813,4.238451935081149,5.986267166042447,2.1785268414481895,3.5143570536828963,6.803995006242197,5.742821473158552,3.0711610486891385,4.400749063670412,3.4019975031210987,8.551810237203496,6.186017478152309,2.3158551810237205,2.571785268414482,6.679151061173534,5.8988764044943816,3.7952559300873907,3.033707865168539,3.183520599250936,8.177278401997503,5.312109862671661,3.714107365792759,6.741573033707866,5.212234706616729,5.81772784019975,6.179775280898876,8.614232209737828,3.6579275905118602,5.262172284644195,6.117353308364544,7.8027465667915115,7.990012484394507,5.34956304619226,3.920099875156055,4.987515605493134,5.461922596754057,3.5518102372034956,8.05243445692884,5.337078651685393,4.144818976279651,7.553058676654182,3.7203495630461925,5.33083645443196,6.073657927590512,6.491885143570538,7.553058676654182,5.717852684144819,7.990012484394507,7.740324594257178,5.774032459425719,4.962546816479401,2.8838951310861427,3.9950062421972534,8.739076154806492,5.767790262172285,5.143570536828964,2.671660424469413,8.3645443196005,6.004993757802747,7.116104868913857,3.8764044943820224,5.543071161048689,5.480649188514358,7.740324594257178,2.340823970037453,4.31960049937578,3.9138576779026217,4.781523096129837,8.11485642946317,3.3458177278401995,7.240948813982522,6.429463171036204,5.97378277153558, +6.061173533083646,7.677902621722847,4.762796504369538,7.49063670411985,5.580524344569288,5.524344569288389,2.4656679151061174,5.380774032459426,3.245942571785269,4.719101123595506,5.34956304619226,3.5580524344569286,2.153558052434457,2.6154806491885143,3.589263420724095,8.177278401997503,6.928838951310862,5.199750312109863,3.8951310861423223,3.3645443196004994,6.192259675405743,7.740324594257178,4.887640449438202,7.927590511860175,7.116104868913857,3.2521847690387014,2.9962546816479403,2.634207240948814,4.269662921348314,6.01123595505618,2.203495630461923,3.545568039950062,6.803995006242197,5.761548064918852,3.0961298377028714,4.425717852684145,3.439450686641698,8.614232209737828,6.210986267166042,2.33458177278402,2.596754057428215,6.679151061173534,5.9238451935081144,3.826466916354557,3.058676654182272,3.2084893882646695,8.177278401997503,5.34956304619226,3.7515605493133584,6.803995006242197,5.237203495630462,5.855181023720349,6.20474406991261,8.614232209737828,3.6766541822721597,5.287141073657928,6.1485642946317105,7.8027465667915115,8.05243445692884,5.3745318352059925,3.938826466916354,5.0062421972534334,5.493133583021224,3.5705368289637955,8.05243445692884,5.355805243445693,4.169787765293384,7.553058676654182,3.745318352059925,5.355805243445693,6.104868913857677,6.554307116104869,7.553058676654182,5.742821473158552,8.05243445692884,7.740324594257178,5.792759051186017,4.9937578027465666,2.908863920099875,4.02621722846442,8.801498127340825,5.799001248439451,5.174781523096129,2.690387016229713,8.426966292134832,6.023720349563047,7.116104868913857,3.9076154806491883,5.568039950062421,5.511860174781523,7.740324594257178,2.3657927590511862,4.3508114856429465,3.938826466916354,4.812734082397004,8.11485642946317,3.3770287141073654,7.240948813982522,6.429463171036204,5.998751560549313, +6.086142322097379,7.740324594257178,4.794007490636704,7.553058676654182,5.605493133583021,5.543071161048689,2.4906367041198503,5.405742821473158,3.2771535580524347,4.737827715355805,5.3745318352059925,3.5830212234706615,2.1785268414481895,2.640449438202247,3.6142322097378274,8.177278401997503,,,3.920099875156055,3.3895131086142323,6.223470661672909,7.740324594257178,4.912609238451935,7.927590511860175,7.116104868913857,3.2771535580524347,3.027465667915106,2.6591760299625467,4.300873907615481,6.036204744069912,2.2284644194756553,3.576779026217228,6.803995006242197,5.786516853932584,3.1210986267166043,4.450686641697877,3.470661672908864,8.614232209737828,6.235955056179775,2.35330836454432,2.6154806491885143,6.741573033707866,5.948813982521848,3.8639200998751564,3.089887640449438,3.2397003745318353,8.239700374531834,,3.7827715355805243,6.803995006242197,5.268414481897628,5.8863920099875156,,8.67665418227216,3.701622971285893,5.305867665418227,6.179775280898876,,8.05243445692884,5.399500624219725,3.957553058676654,5.024968789013733,5.5305867665418225,3.595505617977528,8.11485642946317,5.380774032459426,4.188514357053683,7.615480649188515,3.764044943820225,5.380774032459426,6.1360799001248445,6.554307116104869,7.553058676654182,5.774032459425719,8.05243445692884,7.740324594257178,5.811485642946318,5.031210986267166,2.933832709113608,4.063670411985019,,5.830212234706617,5.205992509363296,2.7091136079900124,,6.048689138576779,7.116104868913857,3.938826466916354,5.593008739076155,5.549313358302123,,2.3907615480649187,4.382022471910113,3.9637952559300875,4.843945068664169,,3.4144818976279647,7.240948813982522,6.491885143570538,6.023720349563047, +6.117353308364544,7.8027465667915115,4.831460674157303,7.553058676654182,5.630461922596755,5.568039950062421,2.515605493133583,5.430711610486892,3.3021223470661676,4.762796504369538,5.393258426966292,3.6142322097378274,2.203495630461923,2.671660424469413,3.639200998751561,8.239700374531834,,,3.9450686641697876,3.408239700374532,6.242197253433209,7.8027465667915115,4.937578027465668,7.990012484394507,7.17852684144819,3.3083645443196006,3.058676654182272,2.68414481897628,4.332084893882647,6.061173533083646,2.253433208489388,3.6142322097378274,6.866416978776529,5.805243445692884,3.139825218476904,4.475655430711611,3.508114856429463,8.67665418227216,6.242197253433209,2.3782771535580522,2.640449438202247,6.741573033707866,5.97378277153558,3.8951310861423223,3.1210986267166043,3.2646691635455682,8.239700374531834,,3.81398252184769,6.866416978776529,5.293383270911361,5.9238451935081144,,8.67665418227216,,5.324594257178527,6.20474406991261,,8.05243445692884,5.430711610486892,3.9762796504369535,5.049937578027466,5.561797752808988,3.620474406991261,8.11485642946317,5.405742821473158,4.213483146067416,7.615480649188515,3.7890137328339577,5.405742821473158,6.167290886392011,6.616729088639201,7.615480649188515,5.799001248439451,8.11485642946317,7.8027465667915115,5.836454431960051,5.062421972534332,,4.1011235955056184,,5.861423220973783,5.243445692883895,2.7340823970037453,,6.073657927590512,7.17852684144819,3.970037453183521,5.617977528089888,5.580524344569288,,2.4094881398252186,4.413233458177278,3.9950062421972534,4.881398252184769,,3.4456928838951315,7.303370786516854,6.491885143570538,6.048689138576779, +6.1485642946317105,7.8027465667915115,4.8626716604244695,7.615480649188515,5.655430711610487,5.593008739076155,2.5343320848938826,5.455680399500624,3.3333333333333335,4.787765293383271,5.418227215980025,3.6454431960049942,2.2222222222222223,2.702871410736579,3.6641697877652937,8.239700374531834,,,3.970037453183521,3.4269662921348316,6.30461922596754,7.8027465667915115,4.962546816479401,7.990012484394507,7.17852684144819,3.339575530586767,3.089887640449438,2.7091136079900124,4.3632958801498125,6.086142322097379,2.272159800249688,3.6454431960049942,6.866416978776529,5.830212234706617,3.1647940074906367,4.49438202247191,3.545568039950062,8.67665418227216,6.30461922596754,2.397003745318352,2.66541822721598,6.741573033707866,6.004993757802747,3.926342072409488,3.1460674157303368,3.2896379525593007,8.302122347066168,,,6.866416978776529,5.324594257178527,5.955056179775282,,8.739076154806492,,5.34956304619226,6.235955056179775,,8.11485642946317,5.455680399500624,4.001248439450687,5.068664169787765,5.593008739076155,3.639200998751561,8.177278401997503,5.424469413233458,4.2322097378277155,7.615480649188515,3.81398252184769,5.430711610486892,6.198501872659176,6.616729088639201,7.615480649188515,5.830212234706617,8.11485642946317,7.8027465667915115,5.855181023720349,5.099875156054932,,4.132334581772784,,5.892634207240949,5.274656679151062,2.752808988764045,,6.098626716604246,7.17852684144819,4.001248439450687,5.6491885143570535,5.611735330836455,,2.4344569288389515,4.444444444444445,4.019975031210986,4.912609238451935,,3.4831460674157304,7.303370786516854,6.554307116104869,6.067415730337078, +,7.865168539325843,4.893882646691636,,5.68039950062422,5.611735330836455,2.5593008739076155,,3.3645443196004994,4.806491885143571,5.436953807740325,3.6766541822721597,2.247191011235955,2.7340823970037453,3.689138576779026,8.302122347066168,,,3.9950062421972534,3.451935081148564,6.30461922596754,7.865168539325843,4.987515605493134,8.05243445692884,7.240948813982522,3.3645443196004994,3.114856429463171,2.7340823970037453,4.400749063670412,6.111111111111111,2.2971285892634206,3.682896379525593,6.866416978776529,5.848938826466916,3.183520599250936,4.519350811485642,3.576779026217228,8.739076154806492,6.30461922596754,2.4157303370786516,2.690387016229713,6.803995006242197,6.029962546816479,3.957553058676654,3.1772784019975036,3.3146067415730336,8.302122347066168,,,6.928838951310862,5.34956304619226,5.986267166042447,,8.801498127340825,,5.36828963795256,6.242197253433209,,8.11485642946317,5.480649188514358,4.019975031210986,5.087390761548065,5.6242197253433215,3.6641697877652937,8.177278401997503,5.449438202247191,4.257178526841448,7.677902621722847,3.8389513108614235,5.455680399500624,6.229712858926342,6.679151061173534,7.615480649188515,5.855181023720349,8.177278401997503,7.8027465667915115,5.880149812734083,5.131086142322098,,4.169787765293384,,5.9238451935081144,5.305867665418227,2.777777777777778,,6.123595505617978,7.240948813982522,4.032459425717852,5.674157303370786,5.64294631710362,,2.459425717852684,4.475655430711611,4.044943820224719,4.943820224719102,,3.5143570536828963,7.365792759051186,6.554307116104869,6.092384519350812, +,7.865168539325843,4.931335830212235,,5.705368289637952,5.636704119850187,2.5842696629213484,,3.3957553058676653,4.831460674157303,5.455680399500624,3.701622971285893,2.272159800249688,2.7652933832709112,3.714107365792759,,,,4.019975031210986,3.470661672908864,6.367041198501872,7.865168539325843,5.0062421972534334,,7.240948813982522,3.3957553058676653,3.1460674157303368,2.7590511860174782,4.431960049937578,6.1360799001248445,,3.714107365792759,6.928838951310862,5.8739076154806495,3.2084893882646695,4.544319600499376,3.6142322097378274,8.739076154806492,6.30461922596754,2.4406991260923845,2.715355805243446,6.803995006242197,6.054931335830212,3.9950062421972534,3.2084893882646695,3.3458177278401995,8.3645443196005,,,6.928838951310862,5.380774032459426,6.023720349563047,,8.801498127340825,,5.3870162297128585,6.30461922596754,,8.177278401997503,5.50561797752809,4.038701622971286,5.1123595505617985,5.655430711610487,3.682896379525593,8.239700374531834,5.468164794007491,4.275905118601748,7.677902621722847,3.8639200998751564,5.480649188514358,6.242197253433209,6.679151061173534,7.677902621722847,5.880149812734083,8.177278401997503,7.865168539325843,5.8988764044943816,5.168539325842697,,,,5.955056179775282,5.343320848938826,2.7965043695380776,,6.1485642946317105,7.240948813982522,4.063670411985019,5.69912609238452,5.674157303370786,,2.4843945068664173,4.506866416978776,4.069912609238452,4.9812734082397006,,3.5518102372034956,7.365792759051186,6.616729088639201,6.117353308364544, +,7.927590511860175,4.962546816479401,,5.730337078651686,5.655430711610487,2.602996254681648,,3.420724094881398,4.850187265917603,5.480649188514358,3.732833957553059,2.2908863920099876,2.790262172284644,3.7390761548064915,,,,4.044943820224719,3.495630461922597,6.367041198501872,7.927590511860175,5.031210986267166,,7.303370786516854,3.4269662921348316,3.1772784019975036,2.7840199750312107,4.463171036204744,,,3.745318352059925,6.928838951310862,5.8988764044943816,3.233458177278402,4.569288389513109,3.6454431960049942,8.801498127340825,6.367041198501872,2.459425717852684,2.740324594257179,6.866416978776529,6.086142322097379,4.02621722846442,3.2397003745318353,3.370786516853933,8.3645443196005,,,6.991260923845194,5.411985018726591,6.054931335830212,,8.863920099875156,,5.411985018726591,6.30461922596754,,8.177278401997503,5.536828963795256,4.057428214731585,5.131086142322098,5.686641697877653,3.7078651685393256,8.239700374531834,5.493133583021224,4.294631710362047,7.677902621722847,3.888888888888889,5.50561797752809,6.30461922596754,6.741573033707866,7.677902621722847,5.9113607990012484,8.239700374531834,7.865168539325843,5.917602996254682,5.199750312109863,,,,5.986267166042447,5.3745318352059925,2.82147315855181,,6.173533083645444,7.240948813982522,4.094881398252185,5.724094881398252,5.705368289637952,,2.5093632958801497,4.538077403245943,4.1011235955056184,5.012484394506866,,3.5830212234706615,7.428214731585518,,6.1360799001248445, +,7.927590511860175,4.9937578027465666,,5.7553058676654185,5.68039950062422,2.6279650436953808,,3.451935081148564,4.875156054931336,5.499375780274657,3.764044943820225,2.3158551810237205,2.82147315855181,3.764044943820225,,,,4.069912609238452,3.5143570536828963,6.367041198501872,7.990012484394507,5.056179775280899,,7.303370786516854,3.4581772784019975,3.2084893882646695,2.808988764044944,4.49438202247191,,,3.7827715355805243,6.928838951310862,5.917602996254682,3.2521847690387014,,3.682896379525593,8.801498127340825,6.367041198501872,2.478152309612984,2.7590511860174782,6.866416978776529,6.111111111111111,4.057428214731585,3.2646691635455682,3.3957553058676653,8.426966292134832,,,6.991260923845194,5.436953807740325,6.092384519350812,,8.863920099875156,,5.430711610486892,6.367041198501872,,8.239700374531834,5.561797752808988,4.0761548064918856,5.149812734082397,5.717852684144819,3.7265917602996255,8.302122347066168,5.5181023720349565,4.31960049937578,7.740324594257178,3.9138576779026217,5.5305867665418225,6.30461922596754,6.741573033707866,7.740324594257178,5.936329588014981,8.239700374531834,7.865168539325843,5.942571785268415,5.237203495630462,,,,6.0174781523096135,5.405742821473158,2.84019975031211,,6.192259675405743,7.303370786516854,4.1260923845193505,5.749063670411985,5.742821473158552,,2.5343320848938826,4.569288389513109,4.1260923845193505,5.043695380774032,,3.6142322097378274,7.428214731585518,,6.161048689138577, +,7.990012484394507,5.031210986267166,,5.7802746566791505,5.705368289637952,,,3.4831460674157304,4.900124843945068,5.524344569288389,3.7952559300873907,2.340823970037453,2.852684144818976,3.7890137328339577,,,,4.094881398252185,3.5393258426966296,6.429463171036204,7.990012484394507,5.081148564294631,,7.365792759051186,3.4831460674157304,3.2397003745318353,2.8339575530586765,4.525593008739076,,,3.81398252184769,6.991260923845194,,3.2771535580524347,,3.714107365792759,8.863920099875156,6.429463171036204,2.4968789013732833,2.7840199750312107,6.866416978776529,6.1360799001248445,4.0886392009987516,3.295880149812734,,8.426966292134832,,,7.0536828963795255,5.468164794007491,6.123595505617978,,8.926342072409488,,5.455680399500624,6.367041198501872,,8.239700374531834,,4.094881398252185,5.174781523096129,5.749063670411985,3.7515605493133584,8.302122347066168,5.536828963795256,4.33832709113608,7.740324594257178,3.938826466916354,5.555555555555556,,6.803995006242197,7.740324594257178,5.961298377028713,8.302122347066168,7.927590511860175,5.961298377028713,5.268414481897628,,,,6.048689138576779,5.443196004993759,2.865168539325843,,6.217228464419476,7.303370786516854,4.157303370786517,5.774032459425719,5.774032459425719,,2.5530586766541825,4.600499375780275,4.151061173533084,5.081148564294631,,3.651685393258427,,,6.186017478152309, +,,5.062421972534332,,5.805243445692884,,,,3.5143570536828963,4.918851435705368,5.543071161048689,3.8202247191011236,2.359550561797753,2.8838951310861427,3.81398252184769,,,,4.119850187265917,3.5580524344569286,6.429463171036204,8.05243445692884,5.106117353308365,,7.365792759051186,3.5143570536828963,3.2709113607990012,2.8589263420724094,4.556803995006242,,,3.8451935081148565,6.991260923845194,,3.295880149812734,,3.7515605493133584,8.863920099875156,6.429463171036204,2.521847690387016,2.808988764044944,6.928838951310862,6.161048689138577,4.1260923845193505,3.3270911360799,,8.489388264669165,,,7.0536828963795255,5.493133583021224,6.161048689138577,,,,5.474406991260924,6.429463171036204,,8.239700374531834,,4.1136079900124844,5.19350811485643,5.7802746566791505,3.776529338327091,8.3645443196005,5.561797752808988,4.3632958801498125,7.740324594257178,3.9637952559300875,5.580524344569288,,6.803995006242197,,5.992509363295881,8.302122347066168,7.927590511860175,5.980024968789014,5.305867665418227,,,,6.079900124843945,5.474406991260924,2.8838951310861427,,6.242197253433209,7.365792759051186,4.18227215980025,5.799001248439451,5.805243445692884,,2.578027465667915,4.631710362047441,4.18227215980025,5.1123595505617985,,3.682896379525593,,,6.210986267166042, +,,5.093632958801498,,5.830212234706617,,,,3.5393258426966296,4.943820224719102,5.568039950062421,3.8514357053682895,2.3845193508114857,2.908863920099875,3.8389513108614235,,,,4.144818976279651,3.5830212234706615,6.491885143570538,,5.131086142322098,,7.428214731585518,3.545568039950062,3.295880149812734,2.8838951310861427,4.588014981273409,,,3.882646691635456,6.991260923845194,,3.320848938826467,,,8.926342072409488,6.429463171036204,2.5405742821473156,2.8339575530586765,6.928838951310862,,,3.352059925093633,,8.489388264669165,,,7.116104868913857,5.524344569288389,6.192259675405743,,,,5.493133583021224,6.429463171036204,,8.302122347066168,,4.132334581772784,5.212234706616729,5.811485642946318,3.7952559300873907,8.3645443196005,5.580524344569288,4.382022471910113,7.8027465667915115,3.9887640449438204,5.605493133583021,,6.866416978776529,,6.0174781523096135,8.3645443196005,7.927590511860175,6.004993757802747,5.337078651685393,,,,6.111111111111111,5.50561797752809,2.908863920099875,,6.242197253433209,7.365792759051186,4.213483146067416,5.823970037453184,5.836454431960051,,2.602996254681648,4.662921348314606,4.207240948813983,5.143570536828964,,3.7203495630461925,,,6.229712858926342, +,,5.131086142322098,,5.855181023720349,,,,3.5705368289637955,4.9687890137328345,5.586766541822722,3.882646691635456,2.4094881398252186,2.9400749063670415,3.8639200998751564,,,,4.169787765293384,3.6017478152309614,6.491885143570538,,5.15605493133583,,7.428214731585518,3.5705368289637955,3.3270911360799,2.908863920099875,4.619225967540574,,,3.9138576779026217,7.0536828963795255,,3.3458177278401995,,,8.926342072409488,6.491885143570538,2.5593008739076155,2.8589263420724094,6.928838951310862,,,3.383270911360799,,8.551810237203496,,,7.116104868913857,,,,,,5.5181023720349565,6.491885143570538,,8.302122347066168,,4.151061173533084,5.237203495630462,5.842696629213483,3.8202247191011236,8.426966292134832,5.605493133583021,4.406991260923846,7.8027465667915115,4.00749063670412,5.630461922596755,,,,6.0424469413233455,8.3645443196005,7.990012484394507,6.023720349563047,5.3745318352059925,,,,,5.543071161048689,2.9275905118601746,,6.30461922596754,7.428214731585518,4.244694132334582,5.848938826466916,5.867665418227216,,2.6279650436953808,4.694132334581773,4.2322097378277155,5.174781523096129,,3.7515605493133584,,,6.242197253433209, +,,5.162297128589263,,,,,,3.6017478152309614,4.987515605493134,5.605493133583021,3.9076154806491883,2.428214731585518,2.9712858926342074,,,,,4.194756554307116,3.6267166042446943,6.554307116104869,,5.181023720349563,,7.49063670411985,3.6017478152309614,3.3583021223470664,2.933832709113608,4.65043695380774,,,,7.0536828963795255,,3.3645443196004994,,,8.98876404494382,,2.5842696629213484,2.8838951310861427,6.991260923845194,,,3.4144818976279647,,8.551810237203496,,,7.116104868913857,,,,,,5.536828963795256,6.491885143570538,,8.3645443196005,,4.176029962546816,5.2559300873907615,5.880149812734083,3.8389513108614235,8.426966292134832,5.6242197253433215,4.425717852684145,7.8027465667915115,4.032459425717852,,,,,6.073657927590512,8.426966292134832,7.990012484394507,6.0424469413233455,5.405742821473158,,,,,,2.9525593008739075,,,7.428214731585518,,5.8739076154806495,5.905118601747815,,,,4.257178526841448,5.212234706616729,,,,,6.30461922596754, +,,,,,,,,3.6329588014981273,5.012484394506866,5.630461922596755,3.938826466916354,2.453183520599251,3.0024968789013733,,,,,4.213483146067416,3.6454431960049942,6.554307116104869,,5.205992509363296,,7.49063670411985,3.6329588014981273,,2.958801498127341,4.681647940074906,,,,7.0536828963795255,,3.3895131086142323,,,8.98876404494382,,2.602996254681648,2.908863920099875,6.991260923845194,,,,,,,,7.17852684144819,,,,,,5.555555555555556,6.491885143570538,,8.3645443196005,,4.194756554307116,5.274656679151062,5.9113607990012484,3.8639200998751564,8.489388264669165,5.6491885143570535,4.450686641697877,,4.057428214731585,,,,,6.098626716604246,8.426966292134832,7.990012484394507,6.067415730337078,,,,,,,2.9712858926342074,,,7.428214731585518,,5.8988764044943816,5.936329588014981,,,,4.288389513108614,5.243445692883895,,,,,6.30461922596754, +,,,,,,,,3.6579275905118602,5.0374531835206,5.6491885143570535,,2.471910112359551,3.033707865168539,,,,,,3.6704119850187267,6.616729088639201,,5.224719101123595,,7.553058676654182,,,2.9837702871410734,4.712858926342073,,,,7.116104868913857,,3.408239700374532,,,9.051186017478152,,,2.9275905118601746,6.991260923845194,,,,,,,,7.17852684144819,,,,,,5.580524344569288,6.554307116104869,,,,4.213483146067416,5.299625468164794,5.942571785268415,3.888888888888889,8.489388264669165,,4.4694132334581775,,4.082397003745319,,,,,6.123595505617978,8.489388264669165,8.05243445692884,6.086142322097379,,,,,,,2.9962546816479403,,,7.49063670411985,,5.9238451935081144,5.967540574282147,,,,,5.274656679151062,,,,,6.30461922596754, +,,,,,,,,3.689138576779026,5.056179775280899,,,2.4968789013732833,3.058676654182272,,,,,,3.689138576779026,6.616729088639201,,5.249687890137328,,7.553058676654182,,,3.0087390761548067,,,,,7.116104868913857,,3.4332084893882646,,,9.051186017478152,,,2.9525593008739075,7.0536828963795255,,,,,,,,7.240948813982522,,,,,,,,,,,4.2322097378277155,5.318352059925093,5.97378277153558,3.9076154806491883,8.551810237203496,,4.49438202247191,,4.107365792759051,,,,,6.154806491885144,8.489388264669165,8.05243445692884,6.104868913857677,,,,,,,3.0149812734082393,,,7.49063670411985,,5.948813982521848,5.998751560549313,,,,,,,,,,6.367041198501872, +,,,,,,,,3.7203495630461925,,,,,3.089887640449438,,,,,,3.714107365792759,6.679151061173534,,5.274656679151062,,7.553058676654182,,,3.033707865168539,,,,,,,3.4581772784019975,,,9.113607990012484,,,2.977528089887641,,,,,,,,,7.240948813982522,,,,,,,,,,,4.250936329588015,5.337078651685393,6.004993757802747,3.9325842696629216,8.551810237203496,,,,4.132334581772784,,,,,6.179775280898876,8.551810237203496,8.05243445692884,6.129837702871411,,,,,,,3.0399500624219726,,,7.553058676654182,,5.97378277153558,6.029962546816479,,,,,,,,,,6.367041198501872, +,,,,,,,,,,,,,3.1210986267166043,,,,,,3.732833957553059,6.679151061173534,,5.299625468164794,,,,,3.058676654182272,,,,,,,,,,9.113607990012484,,,,,,,,,,,,7.303370786516854,,,,,,,,,,,4.269662921348314,5.3620474406991265,6.036204744069912,3.951310861423221,8.614232209737828,,,,,,,,,6.210986267166042,8.551810237203496,8.11485642946317,6.1485642946317105,,,,,,,3.058676654182272,,,7.553058676654182,,,,,,,,,,,,,6.367041198501872, +,,,,,,,,,,,,,3.15230961298377,,,,,,3.7515605493133584,6.741573033707866,,5.324594257178527,,,,,3.0836454431960054,,,,,,,,,,9.176029962546817,,,,,,,,,,,,7.303370786516854,,,,,,,,,,,4.288389513108614,5.380774032459426,6.067415730337078,3.9762796504369535,8.614232209737828,,,,,,,,,6.235955056179775,,8.11485642946317,6.167290886392011,,,,,,,3.077403245942572,,,7.553058676654182,,,,,,,,,,,,,6.429463171036204, +,,,,,,,,,,,,,,,,,,,,6.741573033707866,,,,,,,,,,,,,,,,,9.176029962546817,,,,,,,,,,,,,,,,,,,,,,,,5.399500624219725,6.098626716604246,,8.67665418227216,,,,,,,,,6.242197253433209,,8.11485642946317,6.192259675405743,,,,,,,3.102372034956305,,,7.615480649188515,,,,,,,,,,,,,6.429463171036204, +,,,,,,,,,,,,,,,,,,,,6.803995006242197,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5.424469413233458,,,,,,,,,,,,6.30461922596754,,,6.210986267166042,,,,,,,3.1210986267166043,,,7.615480649188515,,,,,,,,,,,,,, +3.651685393258427,5.074906367041199,2.1161048689138577,5.305867665418227,3.589263420724095,3.7265917602996255,0.6554307116104868,3.3021223470661676,0.9051186017478152,2.908863920099875,3.6641697877652937,1.223470661672909,0.35268414481897625,0.24968789013732834,1.647940074906367,5.855181023720349,4.4818976279650435,2.7590511860174782,1.9600499375780276,1.6541822721598003,3.8951310861423223,5.224719101123595,2.9712858926342074,5.474406991260924,4.800249687890138,0.9488139825218477,0.6173533083645443,0.6616729088639202,1.7602996254681649,4.057428214731585,0.24781523096129837,0.8926342072409489,5.099875156054932,4.001248439450687,1.317103620474407,2.5842696629213484,0.717852684144819,6.179775280898876,4.313358302122348,0.7116104868913858,0.6928838951310862,4.956304619225968,3.8077403245942576,1.2359550561797754,0.7365792759051186,1.079900124843945,5.724094881398252,2.702871410736579,1.0923845193508115,4.444444444444445,2.9837702871410734,3.183520599250936,4.132334581772784,5.81772784019975,1.797752808988764,3.6267166042446943,3.9076154806491883,4.875156054931336,6.029962546816479,3.2397003745318353,2.4032459425717856,3.3645443196004994,2.9837702871410734,1.8102372034956304,5.6491885143570535,3.5830212234706615,2.446941323345818,5.855181023720349,1.8164794007490637,3.3957553058676653,3.6766541822721597,3.957553058676654,5.705368289637952,3.595505617977528,5.593008739076155,6.104868913857677,4.138576779026217,2.303370786516854,0.9550561797752809,1.2796504369538078,5.730337078651686,3.3645443196004994,2.5343320848938826,0.9800249687890138,5.930087390761548,4.1260923845193505,5.1248439450686645,1.4544319600499376,3.576779026217228,2.958801498127341,5.436953807740325,0.466916354556804,1.9101123595505618,1.8352059925093633,2.1972534332084894,5.031210986267166,0.6928838951310862,4.856429463171036,4.425717852684145,4.157303370786517, +3.682896379525593,5.1123595505617985,2.153558052434457,5.33083645443196,3.6142322097378274,3.745318352059925,0.6803995006242198,3.3270911360799,0.9363295880149812,2.933832709113608,3.682896379525593,1.2546816479400749,0.3757802746566792,0.27965043695380776,1.6729088639200997,5.880149812734083,4.51310861423221,2.790262172284644,1.9850187265917605,1.6791510611735332,3.920099875156055,5.262172284644195,2.9962546816479403,5.50561797752809,4.831460674157303,0.9737827715355806,0.6491885143570537,0.686641697877653,1.7915106117353308,4.082397003745319,0.2727840199750312,0.9300873907615481,5.1248439450686645,4.019975031210986,1.34207240948814,2.6092384519350813,0.7490636704119851,6.210986267166042,4.33832709113608,0.7303370786516854,0.717852684144819,4.975031210986267,3.8389513108614235,1.2671660424469413,0.7677902621722846,1.104868913857678,5.7553058676654185,2.7340823970037453,1.1235955056179776,4.475655430711611,3.0087390761548067,3.214731585518102,4.157303370786517,5.855181023720349,1.8164794007490637,3.651685393258427,3.9325842696629216,4.912609238451935,6.054931335830212,3.2709113607990012,2.4219725343320846,3.383270911360799,3.0149812734082393,1.8289637952559301,5.68039950062422,3.607990012484395,2.4656679151061174,5.880149812734083,1.8414481897627966,3.420724094881398,3.7078651685393256,3.9887640449438204,5.730337078651686,3.6267166042446943,5.6242197253433215,6.129837702871411,4.16354556803995,2.340823970037453,0.9800249687890138,1.3108614232209737,5.767790262172285,3.3895131086142323,2.571785268414482,0.9987515605493134,5.961298377028713,4.151061173533084,5.149812734082397,1.4856429463171037,3.6017478152309614,2.990012484394507,5.468164794007491,0.49063670411985016,1.941323345817728,1.8601747815230962,2.2347066167290888,5.068664169787765,0.7303370786516854,4.887640449438202,4.450686641697877,4.18227215980025, +3.714107365792759,5.143570536828964,2.184769038701623,5.3620474406991265,3.639200998751561,3.7702871410736583,0.7053682896379525,3.3583021223470664,0.9675405742821472,2.958801498127341,3.7078651685393256,1.2796504369538078,0.39825218476903873,0.3096129837702871,1.6978776529338326,5.9113607990012484,4.544319600499376,2.82147315855181,2.009987515605493,1.6978776529338326,3.951310861423221,5.293383270911361,3.0149812734082393,5.536828963795256,4.856429463171036,1.0049937578027466,0.6803995006242198,0.7116104868913858,1.8227215980024971,4.107365792759051,0.29712858926342073,0.9612983770287141,5.143570536828964,4.044943820224719,1.3670411985018727,2.634207240948814,0.7865168539325842,6.242197253433209,4.3632958801498125,0.7553058676654182,0.7428214731585518,5.0,3.8639200998751564,1.2983770287141074,0.7927590511860175,1.1298377028714106,5.786516853932584,2.7715355805243447,1.161048689138577,4.506866416978776,3.0399500624219726,3.245942571785269,4.188514357053683,5.892634207240949,1.8414481897627966,3.6704119850187267,3.9637952559300875,4.950062421972534,6.086142322097379,3.295880149812734,2.446941323345818,3.4019975031210987,3.046192259675406,1.8539325842696628,5.711610486891385,3.6329588014981273,2.4906367041198503,5.8988764044943816,1.8664169787765295,3.4456928838951315,3.7390761548064915,4.019975031210986,5.7553058676654185,3.651685393258427,5.655430711610487,6.1485642946317105,4.18227215980025,2.3720349563046192,1.0049937578027466,1.348314606741573,5.805243445692884,3.420724094881398,2.602996254681648,1.0237203495630463,5.992509363295881,4.176029962546816,5.174781523096129,1.5168539325842696,3.6267166042446943,3.0212234706616727,5.499375780274657,0.5149812734082396,1.9725343320848938,1.8851435705368291,2.2659176029962547,5.106117353308365,0.7615480649188515,4.918851435705368,4.475655430711611,4.207240948813983, +3.745318352059925,5.174781523096129,2.215980024968789,5.3870162297128585,3.6641697877652937,3.7952559300873907,0.7240948813982522,3.383270911360799,0.9987515605493134,2.977528089887641,3.7265917602996255,1.3108614232209737,0.4213483146067416,0.33957553058676654,1.7228464419475658,5.942571785268415,4.575530586766542,2.8464419475655434,2.034956304619226,1.7228464419475658,3.982521847690387,5.324594257178527,3.0399500624219726,5.568039950062421,4.887640449438202,1.0362047440699127,0.7053682896379525,0.7365792759051186,1.8539325842696628,4.132334581772784,0.32209737827715357,0.9987515605493134,5.168539325842697,4.069912609238452,1.3857677902621723,2.6591760299625467,0.8177278401997503,6.30461922596754,4.388264669163545,0.7740324594257179,0.7677902621722846,5.0187265917602994,3.888888888888889,1.3358302122347065,0.8239700374531835,1.161048689138577,5.81772784019975,2.8027465667915106,1.1922596754057428,4.538077403245943,3.0649188514357055,3.2833957553058677,4.213483146067416,5.930087390761548,1.8664169787765295,3.6953807740324596,3.9887640449438204,4.987515605493134,6.111111111111111,3.320848938826467,2.4656679151061174,3.4269662921348316,3.0836454431960054,1.8726591760299625,5.736579275905119,3.651685393258427,2.5093632958801497,5.9238451935081144,1.8913857677902621,3.470661672908864,3.7702871410736583,4.057428214731585,5.774032459425719,3.6766541822721597,5.686641697877653,6.167290886392011,4.200998751560549,2.4032459425717856,1.0299625468164793,1.3795255930087391,5.848938826466916,3.451935081148564,2.634207240948814,1.042446941323346,6.023720349563047,4.200998751560549,5.199750312109863,1.5480649188514357,3.651685393258427,3.0524344569288386,5.524344569288389,0.5387016229712859,2.00374531835206,1.9101123595505618,2.2971285892634206,5.149812734082397,0.7990012484394506,4.950062421972534,4.500624219725343,4.225967540574282, +3.776529338327091,5.212234706616729,2.253433208489388,5.418227215980025,3.689138576779026,3.81398252184769,0.7490636704119851,3.408239700374532,1.0237203495630463,3.0024968789013733,3.745318352059925,1.34207240948814,0.44382022471910115,0.36953807740324596,1.7415730337078652,5.97378277153558,4.606741573033708,2.8776529338327093,2.0599250936329585,1.7415730337078652,4.00749063670412,5.355805243445693,3.0649188514357055,5.599250936329588,4.918851435705368,1.0611735330836456,0.7365792759051186,0.7615480649188515,1.8851435705368291,4.157303370786517,0.3464419475655431,1.0299625468164793,5.187265917602996,4.0886392009987516,1.410736579275905,2.6779026217228465,0.8551810237203495,6.30461922596754,4.413233458177278,0.7927590511860175,0.7927590511860175,5.043695380774032,3.920099875156055,1.3670411985018727,0.8551810237203495,1.1860174781523096,5.848938826466916,2.8339575530586765,1.229712858926342,4.563046192259676,3.0961298377028714,3.3146067415730336,4.238451935081149,5.961298377028713,1.8913857677902621,3.714107365792759,4.019975031210986,5.024968789013733,6.1360799001248445,3.352059925093633,2.4843945068664173,3.4456928838951315,3.114856429463171,1.8976279650436954,5.767790262172285,3.6766541822721597,2.5343320848938826,5.942571785268415,1.916354556803995,3.495630461922597,3.801498127340824,4.0886392009987516,5.799001248439451,3.7078651685393256,5.717852684144819,6.192259675405743,4.225967540574282,2.4406991260923845,1.0549313358302121,1.4169787765293382,5.8863920099875156,3.4831460674157304,2.671660424469413,1.0674157303370786,6.054931335830212,4.225967540574282,5.224719101123595,1.5792759051186018,3.6766541822721597,3.089887640449438,5.555555555555556,0.5630461922596754,2.034956304619226,1.941323345817728,2.328339575530587,5.187265917602996,0.8302122347066168,4.975031210986267,4.531835205992509,4.250936329588015, +3.801498127340824,5.243445692883895,2.2846441947565546,5.443196004993759,3.714107365792759,3.8389513108614235,0.7740324594257179,3.4332084893882646,1.0549313358302121,3.027465667915106,3.7702871410736583,1.373283395755306,0.466916354556804,0.3995006242197253,1.766541822721598,5.998751560549313,4.637952559300874,2.908863920099875,2.084893882646692,1.766541822721598,4.038701622971286,5.3870162297128585,3.089887640449438,5.630461922596755,4.943820224719102,1.0923845193508115,0.7677902621722846,0.7865168539325842,1.916354556803995,4.18227215980025,0.3714107365792759,1.0611735330836456,5.212234706616729,4.1136079900124844,1.4294631710362047,2.702871410736579,0.8863920099875156,6.30461922596754,4.438202247191011,0.8114856429463172,0.8177278401997503,5.062421972534332,3.9450686641697876,1.3982521847690388,0.8801498127340824,1.2109862671660423,5.880149812734083,2.871410736579276,1.260923845193508,4.594257178526841,3.1210986267166043,3.352059925093633,4.263420724094882,5.998751560549313,1.916354556803995,3.732833957553059,4.051186017478152,5.062421972534332,6.161048689138577,3.3770287141073654,2.5031210986267167,3.464419475655431,3.1460674157303368,1.916354556803995,5.799001248439451,3.6953807740324596,2.5530586766541825,5.967540574282147,1.941323345817728,3.5205992509363297,3.83270911360799,4.119850187265917,5.823970037453184,3.732833957553059,5.749063670411985,6.210986267166042,4.244694132334582,2.471910112359551,1.079900124843945,1.4544319600499376,5.9238451935081144,3.5143570536828963,2.702871410736579,1.0861423220973783,6.086142322097379,4.244694132334582,5.249687890137328,1.6104868913857677,3.701622971285893,3.1210986267166043,5.586766541822722,0.5867665418227216,2.066167290886392,1.9662921348314608,2.3657927590511862,5.224719101123595,0.867665418227216,5.0062421972534334,4.556803995006242,4.275905118601748, +3.83270911360799,5.274656679151062,2.3158551810237205,5.474406991260924,3.7390761548064915,3.857677902621723,0.7927590511860175,3.4581772784019975,1.0861423220973783,3.046192259675406,3.7890137328339577,1.3982521847690388,0.4893882646691636,0.42946317103620474,1.7915106117353308,6.029962546816479,4.66916354556804,2.9400749063670415,2.1098626716604243,1.7852684144818978,4.069912609238452,5.418227215980025,3.114856429463171,5.66167290886392,4.975031210986267,1.1235955056179776,0.7990012484394506,0.8114856429463172,1.9475655430711611,4.207240948813983,0.39637952559300876,1.0986267166042447,5.230961298377029,4.132334581772784,1.4544319600499376,2.727840199750312,0.9238451935081149,6.367041198501872,4.456928838951311,0.8364544319600499,0.8426966292134832,5.087390761548065,3.970037453183521,1.4294631710362047,0.9113607990012486,1.2421972534332086,5.9113607990012484,2.902621722846442,1.2921348314606742,4.6254681647940075,3.15230961298377,3.383270911360799,4.288389513108614,6.036204744069912,1.9350811485642945,3.7578027465667914,4.0761548064918856,5.099875156054932,6.186017478152309,3.4019975031210987,2.521847690387016,3.4893882646691634,3.1772784019975036,1.941323345817728,5.830212234706617,3.7203495630461925,2.578027465667915,5.986267166042447,1.9662921348314608,3.545568039950062,3.8639200998751564,4.151061173533084,5.848938826466916,3.7578027465667914,5.7802746566791505,6.229712858926342,4.263420724094882,2.5093632958801497,1.104868913857678,1.4856429463171037,5.961298377028713,3.545568039950062,2.7340823970037453,1.1111111111111112,6.117353308364544,4.269662921348314,5.274656679151062,1.6416978776529338,3.7265917602996255,3.15230961298377,5.611735330836455,0.6104868913857677,2.097378277153558,1.9912609238451935,2.397003745318352,5.262172284644195,0.898876404494382,5.0374531835206,4.581772784019975,4.294631710362047, +3.8639200998751564,5.312109862671661,2.35330836454432,5.499375780274657,3.764044943820225,3.882646691635456,0.8177278401997503,3.4893882646691634,1.1173533083645444,3.0711610486891385,3.81398252184769,1.4294631710362047,0.5124843945068664,0.45942571785268416,1.8164794007490637,6.061173533083646,4.700374531835206,2.9712858926342074,2.128589263420724,1.8102372034956304,4.094881398252185,5.449438202247191,3.139825218476904,5.692883895131087,5.0062421972534334,1.1485642946317103,0.8302122347066168,0.8364544319600499,1.978776529338327,4.2322097378277155,0.4207240948813982,1.1298377028714106,5.2559300873907615,4.157303370786517,1.4794007490636705,2.746566791510612,0.9550561797752809,6.367041198501872,4.4818976279650435,0.8551810237203495,0.8614232209737829,5.106117353308365,3.9950062421972534,1.466916354556804,0.9425717852684146,1.2671660424469413,5.942571785268415,2.9400749063670415,1.3295880149812733,4.656679151061174,3.183520599250936,3.4144818976279647,4.31960049937578,6.067415730337078,1.9600499375780276,3.776529338327091,4.107365792759051,5.1373283395755305,6.210986267166042,3.4332084893882646,2.5405742821473156,3.508114856429463,3.2084893882646695,1.9662921348314608,5.861423220973783,3.745318352059925,2.596754057428215,6.01123595505618,1.9912609238451935,3.5705368289637955,3.8951310861423223,4.188514357053683,5.867665418227216,3.7890137328339577,5.811485642946318,6.242197253433209,4.288389513108614,2.5405742821473156,1.1298377028714106,1.523096129837703,6.004993757802747,3.576779026217228,2.7715355805243447,1.1298377028714106,6.1485642946317105,4.294631710362047,5.299625468164794,1.6729088639200997,3.7515605493133584,3.183520599250936,5.64294631710362,0.6367041198501873,2.128589263420724,2.0224719101123596,2.428214731585518,5.305867665418227,0.9363295880149812,5.068664169787765,4.606741573033708,4.31960049937578, +3.8951310861423223,5.343320848938826,2.3845193508114857,5.5305867665418225,3.7890137328339577,3.9076154806491883,0.8426966292134832,3.5143570536828963,1.1423220973782773,3.0961298377028714,3.83270911360799,1.4606741573033708,0.534956304619226,0.4893882646691636,1.8414481897627966,6.086142322097379,4.7315855181023725,3.0024968789013733,2.153558052434457,1.8289637952559301,4.1260923845193505,5.480649188514358,3.1647940074906367,5.724094881398252,5.0374531835206,1.1797752808988764,0.8614232209737829,0.8614232209737829,2.016229712858926,4.257178526841448,0.44569288389513106,1.161048689138577,5.274656679151062,4.176029962546816,1.4981273408239701,2.7715355805243447,0.9925093632958802,6.429463171036204,4.506866416978776,0.8739076154806492,0.8863920099875156,5.131086142322098,4.02621722846442,1.4981273408239701,0.9737827715355806,1.2921348314606742,5.97378277153558,2.9712858926342074,1.3607990012484397,4.681647940074906,3.2084893882646695,3.451935081148564,4.344569288389513,6.104868913857677,1.9850187265917605,3.7952559300873907,4.132334581772784,5.174781523096129,6.235955056179775,3.4581772784019975,2.5593008739076155,3.5268414481897628,3.2397003745318353,1.9850187265917605,5.892634207240949,3.764044943820225,2.6217228464419473,6.029962546816479,2.016229712858926,3.595505617977528,3.926342072409488,4.219725343320849,5.892634207240949,3.81398252184769,5.842696629213483,6.242197253433209,4.307116104868914,2.578027465667915,1.1548064918851435,1.554307116104869,6.0424469413233455,3.607990012484395,2.8027465667915106,1.1548064918851435,6.179775280898876,4.31960049937578,5.324594257178527,1.704119850187266,3.776529338327091,3.214731585518102,5.674157303370786,0.6616729088639202,2.15980024968789,2.0474406991260925,2.4656679151061174,5.343320848938826,0.9675405742821472,5.099875156054932,4.631710362047441,4.344569288389513, +3.926342072409488,5.3745318352059925,2.4157303370786516,5.555555555555556,3.81398252184769,3.926342072409488,0.8614232209737829,3.5393258426966296,1.1735330836454432,3.114856429463171,3.857677902621723,1.4918851435705367,0.5580524344569288,0.519350811485643,1.8664169787765295,6.117353308364544,4.762796504369538,3.033707865168539,2.1785268414481895,1.8476903870162298,4.157303370786517,5.511860174781523,3.1897627965043696,5.7553058676654185,5.062421972534332,1.2109862671660423,0.8863920099875156,0.8863920099875156,2.0474406991260925,4.282147315855181,0.4700374531835206,1.198501872659176,5.299625468164794,4.200998751560549,1.523096129837703,2.7965043695380776,1.0237203495630463,6.429463171036204,4.531835205992509,0.898876404494382,0.9113607990012486,5.149812734082397,4.051186017478152,1.529338327091136,0.9987515605493134,1.3233458177278403,6.004993757802747,3.0024968789013733,1.3982521847690388,4.712858926342073,3.2397003745318353,3.4831460674157304,4.369538077403246,6.142322097378277,2.009987515605493,3.8202247191011236,4.16354556803995,5.212234706616729,6.242197253433209,3.4831460674157304,2.578027465667915,3.5518102372034956,3.2709113607990012,2.009987515605493,5.9238451935081144,3.7890137328339577,2.640449438202247,6.054931335830212,2.0411985018726595,3.620474406991261,3.957553058676654,4.250936329588015,5.917602996254682,3.8451935081148565,5.8739076154806495,6.30461922596754,4.325842696629214,2.6092384519350813,1.1797752808988764,1.591760299625468,6.079900124843945,3.639200998751561,2.8339575530586765,1.1735330836454432,6.210986267166042,4.344569288389513,5.34956304619226,1.735330836454432,3.801498127340824,3.245942571785269,5.705368289637952,0.6803995006242198,2.1910112359550564,2.0724094881398254,2.4968789013732833,5.380774032459426,0.9987515605493134,5.131086142322098,4.656679151061174,4.369538077403246, +3.957553058676654,5.411985018726591,2.453183520599251,5.586766541822722,3.8389513108614235,3.951310861423221,0.8863920099875156,3.564294631710362,1.2047440699126093,3.139825218476904,3.8764044943820224,1.5168539325842696,0.5811485642946317,0.548689138576779,1.8913857677902621,6.1485642946317105,4.794007490636704,3.0649188514357055,2.203495630461923,1.8726591760299625,4.18227215980025,5.543071161048689,3.214731585518102,5.786516853932584,5.093632958801498,1.2359550561797754,0.9176029962546817,0.9113607990012486,2.0786516853932584,4.307116104868914,0.4950062421972534,1.229712858926342,5.318352059925093,4.225967540574282,1.5418227215980027,2.82147315855181,1.0611735330836456,6.491885143570538,4.556803995006242,0.9176029962546817,0.9363295880149812,5.174781523096129,4.0761548064918856,1.5605493133583022,1.0299625468164793,1.348314606741573,6.036204744069912,3.0399500624219726,1.4294631710362047,4.7440699126092385,3.2646691635455682,3.5205992509363297,4.394506866416979,6.173533083645444,2.034956304619226,3.8389513108614235,4.188514357053683,5.249687890137328,6.30461922596754,3.5143570536828963,2.596754057428215,3.5705368289637955,3.3021223470661676,2.0287141073657926,5.955056179775282,3.8077403245942576,2.66541822721598,6.073657927590512,2.0599250936329585,3.6454431960049942,3.982521847690387,4.282147315855181,5.942571785268415,3.870162297128589,5.905118601747815,6.30461922596754,4.3508114856429465,2.6466916354556806,1.2047440699126093,1.6229712858926344,6.117353308364544,3.6704119850187267,2.871410736579276,1.198501872659176,6.242197253433209,4.369538077403246,5.3745318352059925,1.766541822721598,3.826466916354557,3.2833957553058677,5.730337078651686,0.7053682896379525,2.2222222222222223,2.097378277153558,2.5280898876404496,5.424469413233458,1.0362047440699127,5.15605493133583,4.681647940074906,4.388264669163545, +3.9887640449438204,5.443196004993759,2.4843945068664173,5.611735330836455,3.8639200998751564,3.9762796504369535,0.9113607990012486,3.589263420724095,1.2359550561797754,3.1647940074906367,3.8951310861423223,1.5480649188514357,0.6036204744069913,0.5786516853932584,1.916354556803995,6.179775280898876,4.825218476903871,3.0961298377028714,2.2284644194756553,1.8913857677902621,4.213483146067416,5.574282147315855,3.233458177278402,5.81772784019975,5.1248439450686645,1.2671660424469413,0.9488139825218477,0.9363295880149812,2.1098626716604243,4.332084893882647,0.5199750312109862,1.2671660424469413,5.337078651685393,4.244694132334582,1.5667915106117354,2.84019975031211,1.0923845193508115,6.491885143570538,4.581772784019975,0.9363295880149812,0.9612983770287141,5.199750312109863,4.1011235955056184,1.5980024968789013,1.0611735330836456,1.373283395755306,6.067415730337078,3.0711610486891385,1.4606741573033708,4.775280898876405,3.295880149812734,3.5518102372034956,4.419475655430712,6.210986267166042,2.0599250936329585,3.857677902621723,4.219725343320849,5.287141073657928,6.30461922596754,3.5393258426966296,2.6217228464419473,3.589263420724095,3.3333333333333335,2.0536828963795255,5.986267166042447,3.83270911360799,2.68414481897628,6.098626716604246,2.084893882646692,3.6704119850187267,4.013732833957553,4.31960049937578,5.961298377028713,3.8951310861423223,5.936329588014981,6.30461922596754,4.369538077403246,2.6779026217228465,1.229712858926342,1.6604244694132335,6.154806491885144,3.701622971285893,2.902621722846442,1.2172284644194757,6.30461922596754,4.394506866416979,5.399500624219725,1.797752808988764,3.8514357053682895,3.3146067415730336,5.761548064918852,0.7303370786516854,2.253433208489388,2.128589263420724,2.565543071161049,5.461922596754057,1.0674157303370786,5.187265917602996,4.70661672908864,4.413233458177278, +4.019975031210986,5.474406991260924,2.521847690387016,5.64294631710362,3.888888888888889,3.9950062421972534,0.9300873907615481,3.620474406991261,1.260923845193508,3.183520599250936,3.920099875156055,1.5792759051186018,0.6242197253433208,0.6086142322097379,1.941323345817728,6.20474406991261,4.856429463171036,3.1273408239700373,2.253433208489388,1.916354556803995,4.244694132334582,5.605493133583021,3.258426966292135,5.848938826466916,5.149812734082397,1.2983770287141074,0.9800249687890138,0.9612983770287141,2.1410736579275906,4.357053682896379,0.5443196004993758,1.2983770287141074,5.3620474406991265,4.269662921348314,1.591760299625468,2.865168539325843,1.1298377028714106,6.554307116104869,4.606741573033708,0.9550561797752809,0.9862671660424469,5.218476903870163,4.132334581772784,1.6292134831460674,1.0861423220973783,1.404494382022472,6.098626716604246,3.102372034956305,1.4981273408239701,4.800249687890138,3.3270911360799,3.589263420724095,4.450686641697877,6.242197253433209,2.0786516853932584,3.882646691635456,4.244694132334582,5.324594257178527,6.367041198501872,3.564294631710362,2.640449438202247,3.6142322097378274,3.3645443196004994,2.0786516853932584,6.0174781523096135,3.857677902621723,2.7091136079900124,6.117353308364544,2.1098626716604243,3.6953807740324596,4.044943820224719,4.3508114856429465,5.986267166042447,3.926342072409488,5.967540574282147,6.367041198501872,4.388264669163545,2.715355805243446,1.2484394506866416,1.6978776529338326,6.198501872659176,3.732833957553059,2.933832709113608,1.2359550561797754,6.30461922596754,4.413233458177278,5.424469413233458,1.8227215980024971,3.8764044943820224,3.3458177278401995,5.792759051186017,0.7553058676654182,2.2846441947565546,2.153558052434457,2.596754057428215,5.499375780274657,1.104868913857678,5.218476903870163,4.737827715355805,4.438202247191011, +4.044943820224719,5.511860174781523,2.5530586766541825,5.667915106117353,3.9138576779026217,4.019975031210986,0.9550561797752809,3.6454431960049942,1.2921348314606742,3.2084893882646695,3.938826466916354,1.6042446941323347,0.6491885143570537,0.6367041198501873,1.9662921348314608,6.235955056179775,4.887640449438202,3.1585518102372037,2.278401997503121,1.9350811485642945,4.269662921348314,5.64294631710362,3.2833957553058677,5.880149812734083,5.181023720349563,1.3233458177278403,1.0112359550561798,0.9862671660424469,2.1722846441947565,4.382022471910113,0.5692883895131086,1.3295880149812733,5.380774032459426,4.288389513108614,1.6104868913857677,2.8901373283395753,1.16729088639201,6.554307116104869,4.6254681647940075,0.9800249687890138,1.0112359550561798,5.243445692883895,4.157303370786517,1.6604244694132335,1.1173533083645444,1.4294631710362047,6.129837702871411,3.139825218476904,1.529338327091136,4.831460674157303,3.352059925093633,3.620474406991261,4.475655430711611,6.30461922596754,2.1036204744069913,3.9013732833957557,4.275905118601748,5.3620474406991265,6.367041198501872,3.595505617977528,2.6591760299625467,3.6329588014981273,3.3957553058676653,2.097378277153558,6.048689138576779,3.8764044943820224,2.727840199750312,6.1360799001248445,2.134831460674157,3.7203495630461925,4.0761548064918856,4.382022471910113,6.01123595505618,3.951310861423221,5.998751560549313,6.367041198501872,4.413233458177278,2.746566791510612,1.2734082397003745,1.7290886392009988,6.235955056179775,3.764044943820225,2.9712858926342074,1.260923845193508,6.367041198501872,4.438202247191011,5.449438202247191,1.8539325842696628,3.9013732833957557,3.3770287141073654,5.81772784019975,0.7802746566791511,2.3158551810237205,2.1785268414481895,2.6279650436953808,5.536828963795256,1.136079900124844,5.249687890137328,4.762796504369538,4.463171036204744, +4.0761548064918856,5.543071161048689,2.5842696629213484,5.69912609238452,3.938826466916354,4.044943820224719,0.9800249687890138,3.6704119850187267,1.3233458177278403,3.233458177278402,3.9637952559300875,1.6354556803995006,0.6741573033707865,0.6679151061173533,1.9912609238451935,6.242197253433209,4.918851435705368,3.1897627965043696,2.303370786516854,1.9600499375780276,4.300873907615481,5.674157303370786,3.3083645443196006,5.9113607990012484,5.212234706616729,1.3545568039950062,1.0362047440699127,1.0112359550561798,2.203495630461923,4.406991260923846,0.5942571785268415,1.3670411985018727,5.405742821473158,4.313358302122348,1.6354556803995006,2.9151061173533086,1.198501872659176,6.616729088639201,4.65043695380774,0.9987515605493134,1.0299625468164793,5.262172284644195,4.18227215980025,1.6978776529338326,1.1485642946317103,1.4544319600499376,6.161048689138577,3.17103620474407,1.5605493133583022,4.8626716604244695,3.383270911360799,3.651685393258427,4.500624219725343,6.30461922596754,2.128589263420724,3.920099875156055,4.300873907615481,5.399500624219725,6.367041198501872,3.620474406991261,2.6779026217228465,3.651685393258427,3.4332084893882646,2.122347066167291,6.079900124843945,3.9013732833957557,2.752808988764045,6.161048689138577,2.15980024968789,3.745318352059925,4.107365792759051,4.413233458177278,6.036204744069912,3.9762796504369535,6.029962546816479,6.367041198501872,4.431960049937578,2.7840199750312107,1.2983770287141074,1.766541822721598,6.30461922596754,3.7952559300873907,3.0024968789013733,1.2796504369538078,6.367041198501872,4.463171036204744,5.480649188514358,1.8851435705368291,3.926342072409488,3.408239700374532,5.848938826466916,0.8052434456928839,2.3470661672908864,2.203495630461923,2.66541822721598,5.580524344569288,1.1735330836454432,5.280898876404494,4.787765293383271,4.4818976279650435, +4.107365792759051,5.574282147315855,2.6217228464419473,5.724094881398252,3.9637952559300875,4.063670411985019,0.9987515605493134,3.6953807740324596,1.3545568039950062,3.2521847690387014,3.982521847690387,1.6666666666666667,0.6928838951310862,0.6991260923845194,2.016229712858926,6.30461922596754,4.950062421972534,3.2209737827715355,2.328339575530587,1.978776529338327,4.332084893882647,5.705368289637952,3.3333333333333335,5.942571785268415,5.237203495630462,1.3857677902621723,1.0674157303370786,1.0362047440699127,2.2347066167290888,4.431960049937578,0.618601747815231,1.3982521847690388,5.424469413233458,4.332084893882647,1.6541822721598003,2.933832709113608,1.2359550561797754,6.616729088639201,4.675405742821473,1.017478152309613,1.0549313358302121,5.287141073657928,4.213483146067416,1.7290886392009988,1.1797752808988764,1.4856429463171037,6.192259675405743,3.202247191011236,1.5980024968789013,4.893882646691636,3.408239700374532,3.689138576779026,4.525593008739076,6.367041198501872,2.153558052434457,3.9450686641697876,4.332084893882647,5.436953807740325,6.429463171036204,3.6454431960049942,2.696629213483146,3.6766541822721597,3.464419475655431,2.1410736579275906,6.111111111111111,3.920099875156055,2.7715355805243447,6.179775280898876,2.184769038701623,3.7702871410736583,4.138576779026217,4.444444444444445,6.054931335830212,4.00749063670412,6.061173533083646,6.429463171036204,4.450686641697877,2.8152309612983775,1.3233458177278403,1.797752808988764,6.30461922596754,3.826466916354557,3.0399500624219726,1.3046192259675407,6.429463171036204,4.488139825218477,5.50561797752809,1.916354556803995,3.951310861423221,3.4456928838951315,5.880149812734083,0.8239700374531835,2.3782771535580522,2.2347066167290888,2.696629213483146,5.617977528089888,1.2047440699126093,5.312109862671661,4.812734082397004,4.506866416978776, +4.138576779026217,5.611735330836455,2.6529338327091136,5.7553058676654185,3.9887640449438204,4.0886392009987516,1.0237203495630463,3.7265917602996255,1.3795255930087391,3.2771535580524347,4.00749063670412,1.6978776529338326,0.717852684144819,0.7303370786516854,2.0411985018726595,6.30461922596754,4.9812734082397006,3.2521847690387014,2.35330836454432,2.00374531835206,4.357053682896379,5.736579275905119,3.3583021223470664,5.967540574282147,5.268414481897628,1.410736579275905,1.0986267166042447,1.0611735330836456,2.2659176029962547,4.456928838951311,0.6429463171036205,1.4294631710362047,5.449438202247191,4.357053682896379,1.6791510611735332,2.958801498127341,1.2671660424469413,6.679151061173534,4.700374531835206,1.042446941323346,1.079900124843945,5.305867665418227,4.238451935081149,1.7602996254681649,1.2047440699126093,1.5106117353308364,6.223470661672909,3.2397003745318353,1.6292134831460674,4.918851435705368,3.439450686641698,3.7203495630461925,4.55056179775281,6.367041198501872,2.1785268414481895,3.9637952559300875,4.3632958801498125,5.474406991260924,6.429463171036204,3.6766541822721597,2.715355805243446,3.6953807740324596,3.495630461922597,2.1660424469413235,6.1360799001248445,3.9450686641697876,2.7965043695380776,6.20474406991261,2.209737827715356,3.7952559300873907,4.169787765293384,4.4818976279650435,6.079900124843945,4.032459425717852,6.092384519350812,6.429463171036204,4.475655430711611,2.8464419475655434,1.348314606741573,1.8352059925093633,6.367041198501872,3.857677902621723,3.0711610486891385,1.3233458177278403,6.429463171036204,4.51310861423221,5.5305867665418225,1.9475655430711611,3.9762796504369535,3.4769038701622974,5.905118601747815,0.8489388264669163,2.4094881398252186,2.259675405742821,2.727840199750312,5.655430711610487,1.2359550561797754,5.337078651685393,4.837702871410737,4.531835205992509, +4.169787765293384,5.64294631710362,2.68414481897628,5.7802746566791505,4.013732833957553,4.1136079900124844,1.048689138576779,3.7515605493133584,1.410736579275905,3.3021223470661676,4.02621722846442,1.7228464419475658,0.7428214731585518,0.7553058676654182,2.066167290886392,6.367041198501872,5.012484394506866,3.2833957553058677,2.3782771535580522,2.0224719101123596,4.388264669163545,5.767790262172285,3.383270911360799,5.998751560549313,5.299625468164794,1.4419475655430714,1.1298377028714106,1.0861423220973783,2.2971285892634206,4.4818976279650435,0.6679151061173533,1.466916354556804,5.468164794007491,4.382022471910113,1.704119850187266,2.9837702871410734,1.3046192259675407,6.679151061173534,4.725343320848939,1.0611735330836456,1.104868913857678,5.33083645443196,4.263420724094882,1.7915106117353308,1.2359550561797754,1.5355805243445693,6.242197253433209,3.2709113607990012,1.6666666666666667,4.950062421972534,3.464419475655431,3.7578027465667914,4.581772784019975,6.429463171036204,2.1972534332084894,3.9887640449438204,4.388264669163545,5.511860174781523,6.491885143570538,3.701622971285893,2.7340823970037453,3.714107365792759,3.5268414481897628,2.184769038701623,6.167290886392011,3.9637952559300875,2.8152309612983775,6.223470661672909,2.2347066167290888,3.8202247191011236,4.200998751560549,4.51310861423221,6.104868913857677,4.057428214731585,6.123595505617978,6.429463171036204,4.49438202247191,2.8838951310861427,1.373283395755306,1.8726591760299625,6.367041198501872,3.888888888888889,3.102372034956305,1.348314606741573,6.491885143570538,4.538077403245943,5.555555555555556,1.978776529338327,4.001248439450687,3.508114856429463,5.936329588014981,0.8739076154806492,2.4406991260923845,2.2846441947565546,2.7590511860174782,5.69912609238452,1.2734082397003745,5.36828963795256,4.8626716604244695,4.556803995006242, +4.200998751560549,5.674157303370786,2.7215980024968793,5.811485642946318,4.038701622971286,4.132334581772784,1.0674157303370786,3.776529338327091,1.4419475655430714,3.320848938826467,4.044943820224719,1.7540574282147314,0.7615480649188515,0.7865168539325842,2.091136079900125,6.367041198501872,5.043695380774032,3.3146067415730336,2.4032459425717856,2.0474406991260925,4.419475655430712,5.799001248439451,3.408239700374532,6.029962546816479,5.324594257178527,1.4731585518102372,1.161048689138577,1.1111111111111112,2.328339575530587,4.506866416978776,0.6928838951310862,1.4981273408239701,5.493133583021224,4.400749063670412,1.7228464419475658,3.0087390761548067,1.3358302122347065,6.741573033707866,4.750312109862672,1.079900124843945,1.1298377028714106,5.34956304619226,4.288389513108614,1.8289637952559301,1.2671660424469413,1.5605493133583022,6.30461922596754,3.3083645443196006,1.6978776529338326,4.9812734082397006,3.495630461922597,3.7890137328339577,4.606741573033708,6.429463171036204,2.2222222222222223,4.00749063670412,4.419475655430712,5.549313358302123,6.491885143570538,3.7265917602996255,2.752808988764045,3.7390761548064915,3.5580524344569286,2.209737827715356,6.198501872659176,3.9887640449438204,2.84019975031211,6.242197253433209,2.259675405742821,3.8451935081148565,4.2322097378277155,4.544319600499376,6.123595505617978,4.0886392009987516,6.1485642946317105,6.491885143570538,4.519350811485642,2.9151061173533086,1.3982521847690388,1.9038701622971288,6.429463171036204,3.920099875156055,3.139825218476904,1.3670411985018727,6.491885143570538,4.563046192259676,5.580524344569288,2.009987515605493,4.02621722846442,3.5393258426966296,5.967540574282147,0.898876404494382,2.4656679151061174,2.3158551810237205,2.7965043695380776,5.736579275905119,1.3046192259675407,5.399500624219725,4.887640449438202,4.575530586766542, +4.2322097378277155,5.711610486891385,2.752808988764045,5.836454431960051,4.063670411985019,4.157303370786517,1.0923845193508115,3.801498127340824,1.4731585518102372,3.3458177278401995,4.069912609238452,1.7852684144818978,0.7865168539325842,0.8177278401997503,2.1161048689138577,6.429463171036204,5.074906367041199,3.3458177278401995,2.428214731585518,2.066167290886392,4.444444444444445,5.830212234706617,3.4332084893882646,6.061173533083646,5.355805243445693,1.4981273408239701,1.1922596754057428,1.136079900124844,2.3657927590511862,4.525593008739076,0.717852684144819,1.5355805243445693,5.511860174781523,4.425717852684145,1.7478152309612984,3.027465667915106,1.373283395755306,6.741573033707866,4.769038701622971,1.104868913857678,1.1548064918851435,5.3745318352059925,4.31960049937578,1.8601747815230962,1.2921348314606742,1.591760299625468,6.30461922596754,3.339575530586767,1.7290886392009988,5.012484394506866,3.5268414481897628,3.826466916354557,4.631710362047441,6.491885143570538,2.247191011235955,4.02621722846442,4.444444444444445,5.586766541822722,6.491885143570538,3.7578027465667914,2.7715355805243447,3.7578027465667914,3.589263420724095,2.2347066167290888,6.229712858926342,4.013732833957553,2.8589263420724094,6.242197253433209,2.2846441947565546,3.870162297128589,4.263420724094882,4.575530586766542,6.1485642946317105,4.1136079900124844,6.179775280898876,6.491885143570538,4.538077403245943,2.9525593008739075,1.4232209737827717,1.941323345817728,6.491885143570538,3.9450686641697876,3.17103620474407,1.3920099875156053,6.554307116104869,4.581772784019975,5.605493133583021,2.0411985018726595,4.057428214731585,3.5705368289637955,5.992509363295881,0.9238451935081149,2.4968789013732833,2.340823970037453,2.8277153558052435,5.774032459425719,1.34207240948814,5.430711610486892,4.912609238451935,4.600499375780275, +4.263420724094882,5.742821473158552,2.7840199750312107,5.867665418227216,4.0886392009987516,4.18227215980025,1.1173533083645444,3.826466916354557,1.4981273408239701,3.370786516853933,4.0886392009987516,1.8164794007490637,0.8114856429463172,0.8489388264669163,2.1410736579275906,6.429463171036204,5.106117353308365,3.3770287141073654,2.453183520599251,2.091136079900125,4.475655430711611,5.861423220973783,3.4581772784019975,6.092384519350812,5.3870162297128585,1.529338327091136,1.2172284644194757,1.161048689138577,2.397003745318352,4.55056179775281,0.7428214731585518,1.5667915106117354,5.5305867665418225,4.444444444444445,1.766541822721598,3.0524344569288386,1.404494382022472,6.803995006242197,4.794007490636704,1.1235955056179776,1.1735330836454432,5.393258426966292,4.344569288389513,1.8913857677902621,1.3233458177278403,1.616729088639201,6.367041198501872,3.370786516853933,1.766541822721598,5.0374531835206,3.5518102372034956,3.857677902621723,4.656679151061174,6.554307116104869,2.272159800249688,4.051186017478152,4.475655430711611,5.6242197253433215,6.554307116104869,3.7827715355805243,2.7965043695380776,3.776529338327091,3.620474406991261,2.253433208489388,6.242197253433209,4.032459425717852,2.8838951310861427,6.30461922596754,2.303370786516854,3.8951310861423223,4.294631710362047,4.612983770287141,6.173533083645444,4.138576779026217,6.210986267166042,6.491885143570538,4.556803995006242,2.9837702871410734,1.4481897627965044,1.9725343320848938,6.491885143570538,3.9762796504369535,3.202247191011236,1.410736579275905,6.554307116104869,4.606741573033708,5.630461922596755,2.0724094881398254,4.082397003745319,3.6017478152309614,6.023720349563047,0.9488139825218477,2.5280898876404496,2.3657927590511862,2.8589263420724094,5.811485642946318,1.373283395755306,5.461922596754057,4.943820224719102,4.6254681647940075, +4.288389513108614,5.774032459425719,2.82147315855181,5.892634207240949,4.1136079900124844,4.200998751560549,1.136079900124844,3.857677902621723,1.529338327091136,3.3895131086142323,4.1136079900124844,1.8414481897627966,0.8302122347066168,0.8801498127340824,2.1660424469413235,6.491885143570538,5.1373283395755305,3.408239700374532,2.471910112359551,2.1098626716604243,4.500624219725343,5.892634207240949,3.4769038701622974,6.123595505617978,5.418227215980025,1.5605493133583022,1.2484394506866416,1.1860174781523096,2.428214731585518,4.575530586766542,0.7677902621722846,1.5980024968789013,5.555555555555556,4.4694132334581775,1.7915106117353308,3.077403245942572,1.4419475655430714,6.803995006242197,4.818976279650437,1.1423220973782773,1.198501872659176,5.418227215980025,4.369538077403246,1.9225967540574282,1.3545568039950062,1.6416978776529338,6.367041198501872,3.408239700374532,1.797752808988764,5.068664169787765,3.5830212234706615,3.888888888888889,4.681647940074906,6.554307116104869,2.2971285892634206,4.069912609238452,4.500624219725343,5.66167290886392,6.554307116104869,3.8077403245942576,2.8152309612983775,3.801498127340824,3.651685393258427,2.278401997503121,6.30461922596754,4.057428214731585,2.902621722846442,6.30461922596754,2.328339575530587,3.920099875156055,4.325842696629214,4.644194756554308,6.198501872659176,4.169787765293384,6.242197253433209,6.554307116104869,4.581772784019975,3.0212234706616727,1.4731585518102372,2.009987515605493,6.554307116104869,4.00749063670412,3.2397003745318353,1.435705368289638,6.616729088639201,4.631710362047441,5.655430711610487,2.1036204744069913,4.107365792759051,3.639200998751561,6.054931335830212,0.9737827715355806,2.5593008739076155,2.3907615480649187,2.8963795255930087,5.855181023720349,1.410736579275905,5.493133583021224,4.9687890137328345,4.644194756554308, +4.31960049937578,5.805243445692884,2.852684144818976,5.9238451935081144,4.144818976279651,4.225967540574282,1.161048689138577,3.882646691635456,1.5605493133583022,3.4144818976279647,4.132334581772784,1.8726591760299625,0.8551810237203495,0.9051186017478152,2.1910112359550564,6.491885143570538,5.162297128589263,3.439450686641698,2.4968789013732833,2.128589263420724,4.531835205992509,5.9238451935081144,3.5018726591760303,6.154806491885144,5.443196004993759,1.585518102372035,1.2796504369538078,1.2109862671660423,2.459425717852684,4.600499375780275,0.7927590511860175,1.6354556803995006,5.574282147315855,4.488139825218477,1.8164794007490637,3.0961298377028714,1.4731585518102372,6.866416978776529,4.843945068664169,1.161048689138577,1.223470661672909,5.443196004993759,4.400749063670412,1.9600499375780276,1.3857677902621723,1.6729088639200997,6.429463171036204,3.439450686641698,1.8352059925093633,5.099875156054932,3.607990012484395,3.926342072409488,4.712858926342073,6.616729088639201,2.322097378277154,4.0886392009987516,4.531835205992509,5.69912609238452,6.616729088639201,3.8389513108614235,2.8339575530586765,3.8202247191011236,3.682896379525593,2.2971285892634206,6.30461922596754,4.0761548064918856,2.9275905118601746,6.30461922596754,2.35330836454432,3.9450686641697876,4.357053682896379,4.675405742821473,6.217228464419476,4.194756554307116,6.30461922596754,6.554307116104869,4.600499375780275,3.0524344569288386,1.4981273408239701,2.0411985018726595,6.554307116104869,4.038701622971286,3.2709113607990012,1.4544319600499376,6.616729088639201,4.656679151061174,5.68039950062422,2.134831460674157,4.132334581772784,3.6704119850187267,6.079900124843945,0.9925093632958802,2.5905118601747814,2.4219725343320846,2.9275905118601746,5.892634207240949,1.4419475655430714,5.5181023720349565,4.9937578027465666,4.66916354556804, +4.3508114856429465,5.842696629213483,2.8901373283395753,5.948813982521848,4.169787765293384,4.244694132334582,1.1860174781523096,3.9076154806491883,1.585518102372035,3.439450686641698,4.151061173533084,1.9038701622971288,0.8801498127340824,0.9363295880149812,2.209737827715356,6.554307116104869,5.19350811485643,3.470661672908864,2.521847690387016,2.153558052434457,4.563046192259676,5.955056179775282,3.5268414481897628,6.186017478152309,5.474406991260924,1.616729088639201,1.3108614232209737,1.2359550561797754,2.4906367041198503,4.6254681647940075,0.8177278401997503,1.6666666666666667,5.599250936329588,4.51310861423221,1.8352059925093633,3.1210986267166043,1.5106117353308364,6.866416978776529,4.868913857677903,1.1860174781523096,1.2484394506866416,5.461922596754057,4.425717852684145,1.9912609238451935,1.410736579275905,1.6978776529338326,6.429463171036204,3.470661672908864,1.8664169787765295,5.131086142322098,3.639200998751561,3.957553058676654,4.737827715355805,6.616729088639201,2.340823970037453,4.1136079900124844,4.556803995006242,5.736579275905119,6.616729088639201,3.8639200998751564,2.852684144818976,3.8389513108614235,3.714107365792759,2.322097378277154,6.367041198501872,4.1011235955056184,2.9463171036204745,6.367041198501872,2.3782771535580522,3.970037453183521,4.382022471910113,4.70661672908864,6.242197253433209,4.225967540574282,6.30461922596754,6.554307116104869,4.619225967540574,3.089887640449438,1.523096129837703,2.0786516853932584,6.616729088639201,4.069912609238452,3.3021223470661676,1.4794007490636705,6.679151061173534,4.681647940074906,5.705368289637952,2.1660424469413235,4.157303370786517,3.701622971285893,6.111111111111111,1.017478152309613,2.6217228464419473,2.446941323345818,2.958801498127341,5.930087390761548,1.4794007490636705,5.549313358302123,5.0187265917602994,4.694132334581773, +4.382022471910113,5.8739076154806495,2.9213483146067416,5.980024968789014,4.194756554307116,4.269662921348314,1.2047440699126093,3.9325842696629216,1.616729088639201,3.4581772784019975,4.176029962546816,1.9350811485642945,0.898876404494382,0.9675405742821472,2.2347066167290888,6.554307116104869,5.224719101123595,3.5018726591760303,2.546816479400749,2.1722846441947565,4.588014981273409,5.992509363295881,3.5518102372034956,6.217228464419476,5.50561797752809,1.647940074906367,1.34207240948814,1.260923845193508,2.521847690387016,4.65043695380774,0.8426966292134832,1.6978776529338326,5.617977528089888,4.538077403245943,1.8601747815230962,3.1460674157303368,1.5418227215980027,6.928838951310862,4.893882646691636,1.2047440699126093,1.2734082397003745,5.48689138576779,4.450686641697877,2.0224719101123596,1.4419475655430714,1.7228464419475658,6.491885143570538,3.508114856429463,1.8976279650436954,5.15605493133583,3.6641697877652937,3.9950062421972534,4.762796504369538,6.679151061173534,2.3657927590511862,4.132334581772784,4.588014981273409,5.774032459425719,6.616729088639201,3.888888888888889,2.871410736579276,3.8639200998751564,3.745318352059925,2.3470661672908864,6.367041198501872,4.1260923845193505,2.9712858926342074,6.367041198501872,2.4032459425717856,3.9950062421972534,4.413233458177278,4.7440699126092385,6.242197253433209,4.250936329588015,6.367041198501872,6.616729088639201,4.644194756554308,3.1210986267166043,1.5480649188514357,2.1161048689138577,6.679151061173534,4.1011235955056184,3.339575530586767,1.4981273408239701,6.679151061173534,4.70661672908864,5.730337078651686,2.1972534332084894,4.18227215980025,3.732833957553059,6.142322097378277,1.042446941323346,2.6529338327091136,2.471910112359551,2.9962546816479403,5.97378277153558,1.5106117353308364,5.580524344569288,5.043695380774032,4.719101123595506, +4.413233458177278,5.905118601747815,2.9525593008739075,6.004993757802747,4.219725343320849,4.294631710362047,1.229712858926342,3.957553058676654,1.647940074906367,3.4831460674157304,4.194756554307116,1.9600499375780276,0.9238451935081149,0.9987515605493134,2.259675405742821,6.616729088639201,5.2559300873907615,3.5268414481897628,2.571785268414482,2.1972534332084894,4.619225967540574,6.023720349563047,3.576779026217228,6.242197253433209,5.5305867665418225,1.6729088639200997,1.373283395755306,1.285892634207241,2.5530586766541825,4.675405742821473,0.867665418227216,1.735330836454432,5.64294631710362,4.556803995006242,1.8789013732833957,3.17103620474407,1.5792759051186018,6.928838951310862,4.918851435705368,1.223470661672909,1.2983770287141074,5.50561797752809,4.475655430711611,2.0536828963795255,1.4731585518102372,1.7540574282147314,6.491885143570538,3.5393258426966296,1.9350811485642945,5.187265917602996,3.6953807740324596,4.02621722846442,4.787765293383271,6.679151061173534,2.3907615480649187,4.151061173533084,4.612983770287141,5.811485642946318,6.679151061173534,3.920099875156055,2.8901373283395753,3.882646691635456,3.7827715355805243,2.3657927590511862,6.429463171036204,4.144818976279651,2.990012484394507,6.429463171036204,2.428214731585518,4.019975031210986,4.444444444444445,4.775280898876405,6.30461922596754,4.275905118601748,6.367041198501872,6.616729088639201,4.662921348314606,3.1585518102372037,1.5730337078651684,2.1473158551810236,6.679151061173534,4.132334581772784,3.370786516853933,1.523096129837703,6.741573033707866,4.7315855181023725,5.7553058676654185,2.2284644194756553,4.207240948813983,3.764044943820225,6.167290886392011,1.0674157303370786,2.68414481897628,2.4968789013732833,3.027465667915106,6.01123595505618,1.5418227215980027,5.611735330836455,5.068664169787765,4.737827715355805, +4.444444444444445,5.942571785268415,2.990012484394507,6.036204744069912,4.244694132334582,4.313358302122348,1.2546816479400749,3.9887640449438204,1.6791510611735332,3.508114856429463,4.219725343320849,1.9912609238451935,0.9488139825218477,1.0299625468164793,2.2846441947565546,6.616729088639201,5.287141073657928,3.5580524344569286,2.596754057428215,2.215980024968789,4.65043695380774,6.054931335830212,3.6017478152309614,6.30461922596754,5.561797752808988,1.704119850187266,1.3982521847690388,1.3108614232209737,2.5842696629213484,4.700374531835206,0.8926342072409489,1.766541822721598,5.66167290886392,4.581772784019975,1.9038701622971288,3.1897627965043696,1.6104868913857677,6.991260923845194,4.937578027465668,1.2484394506866416,1.3233458177278403,5.5305867665418225,4.506866416978776,2.091136079900125,1.4981273408239701,1.7790262172284643,6.554307116104869,3.5705368289637955,1.9662921348314608,5.218476903870163,3.7265917602996255,4.057428214731585,4.812734082397004,6.741573033707866,2.4157303370786516,4.176029962546816,4.644194756554308,5.848938826466916,6.679151061173534,3.9450686641697876,2.908863920099875,3.9013732833957557,3.81398252184769,2.3907615480649187,6.429463171036204,4.169787765293384,3.0149812734082393,6.429463171036204,2.453183520599251,4.044943820224719,4.475655430711611,4.806491885143571,6.30461922596754,4.307116104868914,6.429463171036204,6.616729088639201,4.681647940074906,3.1897627965043696,1.5980024968789013,2.184769038701623,6.741573033707866,4.16354556803995,3.4019975031210987,1.5418227215980027,6.741573033707866,4.750312109862672,5.7802746566791505,2.259675405742821,4.2322097378277155,3.801498127340824,6.198501872659176,1.0923845193508115,2.715355805243446,2.5280898876404496,3.058676654182272,6.048689138576779,1.5792759051186018,5.64294631710362,5.093632958801498,4.762796504369538, +4.475655430711611,5.97378277153558,3.0212234706616727,6.061173533083646,4.269662921348314,4.33832709113608,1.2734082397003745,4.013732833957553,1.704119850187266,3.5268414481897628,4.238451935081149,2.0224719101123596,0.9675405742821472,1.0549313358302121,2.309612983770287,6.616729088639201,5.318352059925093,3.589263420724095,2.6217228464419473,2.2409488139825218,4.675405742821473,6.086142322097379,3.6267166042446943,6.30461922596754,5.593008739076155,1.735330836454432,1.4294631710362047,1.3358302122347065,2.6154806491885143,4.725343320848939,0.9176029962546817,1.8039950062421974,5.686641697877653,4.600499375780275,1.9288389513108615,3.214731585518102,1.647940074906367,6.991260923845194,4.962546816479401,1.2671660424469413,1.34207240948814,5.549313358302123,4.531835205992509,2.122347066167291,1.529338327091136,1.8039950062421974,6.554307116104869,3.607990012484395,1.9975031210986267,5.249687890137328,3.7515605493133584,4.094881398252185,4.843945068664169,6.803995006242197,2.4406991260923845,4.194756554307116,4.675405742821473,5.8863920099875156,6.741573033707866,3.970037453183521,2.9275905118601746,3.926342072409488,3.8451935081148565,2.4094881398252186,6.491885143570538,4.188514357053683,3.033707865168539,6.429463171036204,2.478152309612984,4.069912609238452,4.506866416978776,4.837702871410737,6.367041198501872,4.332084893882647,6.429463171036204,6.679151061173534,4.70661672908864,3.227215980024969,1.6229712858926344,2.215980024968789,6.803995006242197,4.194756554307116,3.439450686641698,1.5667915106117354,6.803995006242197,4.775280898876405,5.805243445692884,2.2908863920099876,4.257178526841448,3.83270911360799,6.229712858926342,1.1173533083645444,2.746566791510612,2.5530586766541825,3.089887640449438,6.086142322097379,1.6104868913857677,5.674157303370786,5.118601747815231,4.787765293383271, +4.506866416978776,6.004993757802747,3.0524344569288386,6.092384519350812,4.294631710362047,4.3632958801498125,1.2983770287141074,4.038701622971286,1.735330836454432,3.5518102372034956,4.263420724094882,2.0474406991260925,0.9925093632958802,1.0861423220973783,2.33458177278402,6.679151061173534,5.34956304619226,3.620474406991261,2.6466916354556806,2.259675405742821,4.70661672908864,6.117353308364544,3.651685393258427,6.367041198501872,5.617977528089888,1.7602996254681649,1.4606741573033708,1.3607990012484397,2.6466916354556806,4.750312109862672,0.9425717852684146,1.8352059925093633,5.705368289637952,4.6254681647940075,1.9475655430711611,3.2397003745318353,1.6791510611735332,7.0536828963795255,4.987515605493134,1.285892634207241,1.3670411985018727,5.574282147315855,4.556803995006242,2.153558052434457,1.5605493133583022,1.8352059925093633,6.616729088639201,3.639200998751561,2.034956304619226,5.274656679151062,3.7827715355805243,4.1260923845193505,4.868913857677903,6.803995006242197,2.4656679151061174,4.213483146067416,4.700374531835206,5.9238451935081144,6.741573033707866,3.9950062421972534,2.9463171036204745,3.9450686641697876,3.8764044943820224,2.4344569288389515,6.491885143570538,4.213483146067416,3.058676654182272,6.491885143570538,2.5031210986267167,4.094881398252185,4.538077403245943,4.868913857677903,6.367041198501872,4.357053682896379,6.491885143570538,6.679151061173534,4.725343320848939,3.258426966292135,1.647940074906367,2.253433208489388,6.803995006242197,4.225967540574282,3.470661672908864,1.585518102372035,6.803995006242197,4.800249687890138,5.830212234706617,2.322097378277154,4.282147315855181,3.8639200998751564,6.242197253433209,1.136079900124844,2.777777777777778,2.578027465667915,3.1273408239700373,6.129837702871411,1.647940074906367,5.69912609238452,5.149812734082397,4.812734082397004, +4.538077403245943,6.0424469413233455,3.089887640449438,6.117353308364544,4.31960049937578,4.382022471910113,1.3233458177278403,4.063670411985019,1.766541822721598,3.576779026217228,4.282147315855181,2.0786516853932584,1.017478152309613,1.1173533083645444,2.359550561797753,6.679151061173534,5.380774032459426,3.651685393258427,2.671660424469413,2.2846441947565546,4.737827715355805,6.1485642946317105,3.6766541822721597,6.367041198501872,5.6491885143570535,1.7915106117353308,1.4918851435705367,1.3857677902621723,2.68414481897628,4.775280898876405,0.9675405742821472,1.8664169787765295,5.724094881398252,4.65043695380774,1.9725343320848938,3.2646691635455682,1.7166042446941323,7.0536828963795255,5.012484394506866,1.3046192259675407,1.3920099875156053,5.593008739076155,4.588014981273409,2.184769038701623,1.591760299625468,1.8601747815230962,6.616729088639201,3.6766541822721597,2.066167290886392,5.305867665418227,3.8077403245942576,4.16354556803995,4.893882646691636,6.866416978776529,2.4843945068664173,4.238451935081149,4.7315855181023725,5.961298377028713,6.741573033707866,4.02621722846442,2.9712858926342074,3.9637952559300875,3.9076154806491883,2.453183520599251,6.554307116104869,4.238451935081149,3.077403245942572,6.491885143570538,2.5280898876404496,4.1136079900124844,4.569288389513109,4.906367041198502,6.367041198501872,4.388264669163545,6.491885143570538,6.679151061173534,4.7440699126092385,3.2896379525593007,1.6729088639200997,2.2846441947565546,6.866416978776529,4.257178526841448,3.5018726591760303,1.6042446941323347,6.866416978776529,4.825218476903871,5.855181023720349,2.35330836454432,4.307116104868914,3.8951310861423223,6.30461922596754,1.161048689138577,2.808988764044944,2.6092384519350813,3.1585518102372037,6.167290886392011,1.6791510611735332,5.730337078651686,5.174781523096129,4.831460674157303, +4.563046192259676,6.073657927590512,3.1210986267166043,6.1485642946317105,4.344569288389513,4.406991260923846,1.348314606741573,4.0886392009987516,1.797752808988764,3.595505617977528,4.300873907615481,2.1098626716604243,1.0362047440699127,1.1485642946317103,2.3845193508114857,6.741573033707866,5.411985018726591,3.682896379525593,2.696629213483146,2.303370786516854,4.762796504369538,6.179775280898876,3.6953807740324596,6.429463171036204,5.68039950062422,1.8227215980024971,1.523096129837703,1.410736579275905,2.715355805243446,4.800249687890138,0.9925093632958802,1.9038701622971288,5.749063670411985,4.66916354556804,1.9975031210986267,3.2833957553058677,1.7478152309612984,7.116104868913857,5.0374531835206,1.3295880149812733,1.4169787765293382,5.617977528089888,4.612983770287141,2.2222222222222223,1.616729088639201,1.8851435705368291,6.679151061173534,3.7078651685393256,2.1036204744069913,5.337078651685393,3.8389513108614235,4.194756554307116,4.918851435705368,6.866416978776529,2.5093632958801497,4.257178526841448,4.7565543071161045,5.998751560549313,6.803995006242197,4.051186017478152,2.990012484394507,3.9887640449438204,3.938826466916354,2.478152309612984,6.554307116104869,4.257178526841448,3.102372034956305,6.491885143570538,2.546816479400749,4.138576779026217,4.600499375780275,4.937578027465668,6.429463171036204,4.413233458177278,6.554307116104869,6.741573033707866,4.769038701622971,3.3270911360799,1.6978776529338326,2.322097378277154,6.866416978776529,4.288389513108614,3.5393258426966296,1.6292134831460674,6.866416978776529,4.850187265917603,5.880149812734083,2.3845193508114857,4.332084893882647,3.926342072409488,6.30461922596754,1.1860174781523096,2.84019975031211,2.634207240948814,3.1897627965043696,6.20474406991261,1.7166042446941323,5.761548064918852,5.199750312109863,4.856429463171036, +4.594257178526841,6.104868913857677,3.15230961298377,6.173533083645444,4.369538077403246,4.431960049937578,1.3670411985018727,4.119850187265917,1.8227215980024971,3.620474406991261,4.325842696629214,2.1410736579275906,1.0611735330836456,1.1797752808988764,2.4094881398252186,6.741573033707866,5.443196004993759,3.714107365792759,2.7215980024968793,2.328339575530587,4.794007490636704,6.210986267166042,3.7203495630461925,6.429463171036204,5.705368289637952,1.8476903870162298,1.554307116104869,1.435705368289638,2.746566791510612,4.825218476903871,1.0112359550561798,1.9350811485642945,5.767790262172285,4.694132334581773,2.016229712858926,3.3083645443196006,1.7852684144818978,7.116104868913857,5.062421972534332,1.348314606741573,1.4419475655430714,5.636704119850187,4.637952559300874,2.253433208489388,1.647940074906367,1.916354556803995,6.679151061173534,3.7390761548064915,2.134831460674157,5.36828963795256,3.8639200998751564,4.2322097378277155,4.943820224719102,6.928838951310862,2.5343320848938826,4.282147315855181,4.787765293383271,6.036204744069912,6.803995006242197,4.0761548064918856,3.0087390761548067,4.00749063670412,3.970037453183521,2.5031210986267167,6.616729088639201,4.282147315855181,3.1210986267166043,6.554307116104869,2.571785268414482,4.16354556803995,4.631710362047441,4.9687890137328345,6.429463171036204,4.438202247191011,6.554307116104869,6.741573033707866,4.787765293383271,3.3583021223470664,1.7228464419475658,2.359550561797753,6.928838951310862,4.31960049937578,3.5705368289637955,1.647940074906367,6.928838951310862,4.875156054931336,5.905118601747815,2.4157303370786516,4.357053682896379,3.9637952559300875,6.367041198501872,1.2109862671660423,2.871410736579276,2.6591760299625467,3.227215980024969,6.242197253433209,1.7478152309612984,5.792759051186017,5.224719101123595,4.881398252184769, +4.6254681647940075,6.142322097378277,3.1897627965043696,6.20474406991261,4.394506866416979,4.450686641697877,1.3920099875156053,4.144818976279651,1.8539325842696628,3.6454431960049942,4.344569288389513,2.1660424469413235,1.079900124843945,1.2047440699126093,2.4344569288389515,6.803995006242197,5.474406991260924,3.745318352059925,2.746566791510612,2.3470661672908864,4.825218476903871,6.242197253433209,3.745318352059925,6.491885143570538,5.736579275905119,1.8789013732833957,1.5792759051186018,1.4606741573033708,2.777777777777778,4.850187265917603,1.0362047440699127,1.9662921348314608,5.792759051186017,4.712858926342073,2.0411985018726595,3.3333333333333335,1.8164794007490637,7.17852684144819,5.081148564294631,1.3670411985018727,1.466916354556804,5.66167290886392,4.662921348314606,2.2846441947565546,1.6791510611735332,1.941323345817728,6.741573033707866,3.776529338327091,2.1660424469413235,5.393258426966292,3.8951310861423223,4.263420724094882,4.9687890137328345,6.928838951310862,2.5593008739076155,4.300873907615481,4.812734082397004,6.073657927590512,6.866416978776529,4.107365792759051,3.027465667915106,4.02621722846442,4.001248439450687,2.521847690387016,6.616729088639201,4.300873907615481,3.1460674157303368,6.554307116104869,2.596754057428215,4.188514357053683,4.662921348314606,5.0,6.429463171036204,4.4694132334581775,6.616729088639201,6.741573033707866,4.812734082397004,3.3957553058676653,1.7478152309612984,2.3907615480649187,6.991260923845194,4.3508114856429465,3.6017478152309614,1.6729088639200997,6.928838951310862,4.893882646691636,5.930087390761548,2.446941323345818,4.382022471910113,3.9950062421972534,6.367041198501872,1.2359550561797754,2.902621722846442,2.68414481897628,3.258426966292135,6.30461922596754,1.7852684144818978,5.823970037453184,5.249687890137328,4.906367041198502, +4.656679151061174,6.173533083645444,3.2209737827715355,6.229712858926342,4.419475655430712,4.475655430711611,1.4169787765293382,4.169787765293384,1.8851435705368291,3.6641697877652937,4.369538077403246,2.1972534332084894,1.104868913857678,1.2359550561797754,2.459425717852684,6.803995006242197,5.50561797752809,3.776529338327091,2.7715355805243447,2.3720349563046192,4.850187265917603,6.30461922596754,3.7702871410736583,6.491885143570538,5.767790262172285,1.9101123595505618,1.6104868913857677,1.4856429463171037,2.808988764044944,4.875156054931336,1.0611735330836456,2.00374531835206,5.811485642946318,4.737827715355805,2.0599250936329585,3.3583021223470664,1.8539325842696628,7.17852684144819,5.106117353308365,1.3920099875156053,1.4856429463171037,5.686641697877653,4.694132334581773,2.3158551810237205,1.704119850187266,1.9662921348314608,6.741573033707866,3.8077403245942576,2.203495630461923,5.424469413233458,3.926342072409488,4.294631710362047,5.0,6.991260923845194,2.5842696629213484,4.31960049937578,4.843945068664169,6.111111111111111,6.866416978776529,4.132334581772784,3.046192259675406,4.051186017478152,4.032459425717852,2.546816479400749,6.679151061173534,4.325842696629214,3.1647940074906367,6.554307116104869,2.6217228464419473,4.213483146067416,4.694132334581773,5.0374531835206,6.491885143570538,4.49438202247191,6.616729088639201,6.803995006242197,4.831460674157303,3.4269662921348316,1.772784019975031,2.428214731585518,6.991260923845194,4.382022471910113,3.639200998751561,1.6916354556803994,6.991260923845194,4.918851435705368,5.955056179775282,2.478152309612984,4.406991260923846,4.02621722846442,6.429463171036204,1.260923845193508,2.933832709113608,2.715355805243446,3.2896379525593007,6.30461922596754,1.8164794007490637,5.855181023720349,5.274656679151062,4.925093632958801, +4.687890137328339,6.20474406991261,3.258426966292135,6.242197253433209,4.444444444444445,4.500624219725343,1.435705368289638,4.194756554307116,1.916354556803995,3.689138576779026,4.388264669163545,2.2284644194756553,1.1298377028714106,1.2671660424469413,2.4843945068664173,6.866416978776529,5.536828963795256,3.8077403245942576,2.7965043695380776,2.3907615480649187,4.881398252184769,6.30461922596754,3.7952559300873907,6.554307116104869,5.799001248439451,1.9350811485642945,1.6416978776529338,1.5106117353308364,2.84019975031211,4.900124843945068,1.0861423220973783,2.034956304619226,5.836454431960051,4.7565543071161045,2.084893882646692,3.3770287141073654,1.8851435705368291,7.240948813982522,5.131086142322098,1.410736579275905,1.5106117353308364,5.705368289637952,4.719101123595506,2.35330836454432,1.735330836454432,1.9975031210986267,6.803995006242197,3.8389513108614235,2.2347066167290888,5.455680399500624,3.951310861423221,4.332084893882647,5.024968789013733,7.0536828963795255,2.602996254681648,4.344569288389513,4.868913857677903,6.1485642946317105,6.866416978776529,4.157303370786517,3.0649188514357055,4.069912609238452,4.063670411985019,2.565543071161049,6.679151061173534,4.3508114856429465,3.1897627965043696,6.616729088639201,2.6466916354556806,4.238451935081149,4.725343320848939,5.068664169787765,6.491885143570538,4.519350811485642,6.679151061173534,6.803995006242197,4.850187265917603,3.464419475655431,1.797752808988764,2.459425717852684,7.0536828963795255,4.413233458177278,3.6704119850187267,1.7166042446941323,6.991260923845194,4.943820224719102,5.980024968789014,2.5093632958801497,4.431960049937578,4.057428214731585,6.429463171036204,1.285892634207241,2.965043695380774,2.740324594257179,3.3270911360799,6.367041198501872,1.8476903870162298,5.880149812734083,5.299625468164794,4.950062421972534, +4.719101123595506,6.242197253433209,3.2896379525593007,6.30461922596754,4.4694132334581775,4.519350811485642,1.4606741573033708,4.219725343320849,1.941323345817728,3.714107365792759,4.413233458177278,2.259675405742821,1.1485642946317103,1.2983770287141074,2.5093632958801497,6.866416978776529,5.568039950062421,3.8389513108614235,2.82147315855181,2.4157303370786516,4.912609238451935,6.367041198501872,3.8202247191011236,6.554307116104869,5.823970037453184,1.9662921348314608,1.6729088639200997,1.5355805243445693,2.871410736579276,4.925093632958801,1.1111111111111112,2.0724094881398254,5.855181023720349,4.781523096129837,2.1098626716604243,3.4019975031210987,1.9225967540574282,7.240948813982522,5.15605493133583,1.4294631710362047,1.5355805243445693,5.730337078651686,4.7440699126092385,2.3845193508114857,1.766541822721598,2.0224719101123596,6.803995006242197,3.8764044943820224,2.272159800249688,5.48689138576779,3.982521847690387,4.3632958801498125,5.049937578027466,7.0536828963795255,2.6279650436953808,4.3632958801498125,4.900124843945068,6.186017478152309,6.928838951310862,4.188514357053683,3.0836454431960054,4.0886392009987516,4.094881398252185,2.5905118601747814,6.741573033707866,4.369538077403246,3.2084893882646695,6.616729088639201,2.671660424469413,4.263420724094882,4.750312109862672,5.099875156054932,6.491885143570538,4.55056179775281,6.679151061173534,6.803995006242197,4.875156054931336,3.495630461922597,1.8227215980024971,2.4968789013732833,7.116104868913857,4.444444444444445,3.7078651685393256,1.735330836454432,7.0536828963795255,4.9687890137328345,6.01123595505618,2.5405742821473156,4.456928838951311,4.0886392009987516,6.491885143570538,1.3046192259675407,2.9962546816479403,2.7652933832709112,3.3583021223470664,6.429463171036204,1.8851435705368291,5.9113607990012484,5.324594257178527,4.975031210986267, +4.750312109862672,6.30461922596754,3.320848938826467,6.30461922596754,4.49438202247191,4.544319600499376,1.4856429463171037,4.250936329588015,1.9725343320848938,3.732833957553059,4.431960049937578,2.2846441947565546,1.1735330836454432,1.3295880149812733,2.5343320848938826,6.928838951310862,5.599250936329588,3.870162297128589,2.84019975031211,2.4344569288389515,4.937578027465668,6.367041198501872,3.8451935081148565,6.616729088639201,5.855181023720349,1.9975031210986267,1.704119850187266,1.5605493133583022,2.902621722846442,4.950062421972534,1.136079900124844,2.1036204744069913,5.880149812734083,4.806491885143571,2.128589263420724,3.4269662921348316,1.9600499375780276,7.303370786516854,5.181023720349563,1.4544319600499376,1.5605493133583022,5.749063670411985,4.775280898876405,2.4157303370786516,1.797752808988764,2.0474406991260925,6.866416978776529,3.9076154806491883,2.303370786516854,5.511860174781523,4.00749063670412,4.400749063670412,5.074906367041199,7.116104868913857,2.6529338327091136,4.382022471910113,4.931335830212235,6.223470661672909,6.928838951310862,4.213483146067416,3.102372034956305,4.1136079900124844,4.132334581772784,2.6092384519350813,6.741573033707866,4.394506866416979,3.227215980024969,6.616729088639201,2.696629213483146,4.288389513108614,4.781523096129837,5.131086142322098,6.554307116104869,4.575530586766542,6.741573033707866,6.866416978776529,4.893882646691636,3.533083645443196,1.8476903870162298,2.5343320848938826,7.116104868913857,4.475655430711611,3.7390761548064915,1.7602996254681649,7.0536828963795255,4.9937578027465666,6.036204744069912,2.571785268414482,4.4818976279650435,4.119850187265917,6.491885143570538,1.3295880149812733,3.027465667915106,2.790262172284644,3.3895131086142323,6.429463171036204,1.916354556803995,5.942571785268415,5.355805243445693,4.9937578027465666, +4.781523096129837,6.30461922596754,3.3583021223470664,6.367041198501872,4.519350811485642,4.563046192259676,1.5043695380774034,4.275905118601748,2.00374531835206,3.7578027465667914,4.450686641697877,2.3158551810237205,1.198501872659176,1.3545568039950062,2.5593008739076155,6.928838951310862,5.630461922596755,3.9013732833957557,2.865168539325843,2.453183520599251,4.9687890137328345,6.429463171036204,3.870162297128589,6.616729088639201,5.8863920099875156,2.0287141073657926,1.7290886392009988,1.585518102372035,2.933832709113608,4.975031210986267,1.161048689138577,2.134831460674157,5.8988764044943816,4.825218476903871,2.153558052434457,3.4456928838951315,1.9912609238451935,7.303370786516854,5.205992509363296,1.4731585518102372,1.585518102372035,5.774032459425719,4.800249687890138,2.446941323345818,1.8227215980024971,2.0786516853932584,6.866416978776529,3.938826466916354,2.33458177278402,5.543071161048689,4.038701622971286,4.431960049937578,5.099875156054932,7.116104868913857,2.6779026217228465,4.406991260923846,4.956304619225968,6.242197253433209,6.991260923845194,4.238451935081149,3.1273408239700373,4.132334581772784,4.16354556803995,2.634207240948814,6.803995006242197,4.413233458177278,3.2521847690387014,6.679151061173534,2.7215980024968793,4.313358302122348,4.812734082397004,5.168539325842697,6.554307116104869,4.606741573033708,6.741573033707866,6.866416978776529,4.912609238451935,3.564294631710362,1.8726591760299625,2.565543071161049,7.17852684144819,4.500624219725343,3.7702871410736583,1.7790262172284643,7.116104868913857,5.0187265917602994,6.061173533083646,2.602996254681648,4.506866416978776,4.157303370786517,6.491885143570538,1.3545568039950062,3.058676654182272,2.82147315855181,3.420724094881398,6.491885143570538,1.9538077403245941,5.97378277153558,5.380774032459426,5.0187265917602994, +4.806491885143571,6.367041198501872,3.3895131086142323,6.367041198501872,4.544319600499376,4.588014981273409,1.529338327091136,4.300873907615481,2.034956304619226,3.7827715355805243,4.475655430711611,2.3470661672908864,1.2172284644194757,1.3857677902621723,2.5842696629213484,6.991260923845194,5.66167290886392,3.9325842696629216,2.8901373283395753,2.478152309612984,5.0,6.429463171036204,3.8951310861423223,6.679151061173534,5.9113607990012484,2.0536828963795255,1.7602996254681649,1.6104868913857677,2.965043695380774,5.0,1.1860174781523096,2.1722846441947565,5.917602996254682,4.850187265917603,2.1722846441947565,3.470661672908864,2.0287141073657926,7.365792759051186,5.230961298377029,1.4918851435705367,1.6104868913857677,5.792759051186017,4.825218476903871,2.4843945068664173,1.8539325842696628,2.1036204744069913,6.928838951310862,3.9762796504369535,2.3720349563046192,5.574282147315855,4.063670411985019,4.4694132334581775,5.131086142322098,7.17852684144819,2.702871410736579,4.425717852684145,4.987515605493134,6.30461922596754,6.991260923845194,4.269662921348314,3.1460674157303368,4.151061173533084,4.194756554307116,2.6591760299625467,6.803995006242197,4.438202247191011,3.2709113607990012,6.679151061173534,2.746566791510612,4.33832709113608,4.843945068664169,5.199750312109863,6.616729088639201,4.631710362047441,6.803995006242197,6.866416978776529,4.937578027465668,3.6017478152309614,1.8976279650436954,2.602996254681648,7.17852684144819,4.531835205992509,3.8077403245942576,1.8039950062421974,7.116104868913857,5.043695380774032,6.086142322097379,2.634207240948814,4.531835205992509,4.188514357053683,6.554307116104869,1.3795255930087391,3.0836454431960054,2.8464419475655434,3.4581772784019975,6.491885143570538,1.9850187265917605,6.004993757802747,5.405742821473158,5.043695380774032, +4.837702871410737,6.367041198501872,3.420724094881398,6.367041198501872,4.569288389513109,4.612983770287141,1.554307116104869,4.325842696629214,2.0599250936329585,3.801498127340824,4.49438202247191,2.3720349563046192,1.2421972534332086,1.4169787765293382,2.6092384519350813,6.991260923845194,5.692883895131087,3.9637952559300875,2.9151061173533086,2.4968789013732833,5.024968789013733,6.491885143570538,3.9138576779026217,6.679151061173534,5.942571785268415,2.084893882646692,1.7915106117353308,1.6354556803995006,2.9962546816479403,5.024968789013733,1.2109862671660423,2.203495630461923,5.942571785268415,4.868913857677903,2.1972534332084894,3.495630461922597,2.0599250936329585,7.365792759051186,5.249687890137328,1.5106117353308364,1.6354556803995006,5.81772784019975,4.850187265917603,2.515605493133583,1.8851435705368291,2.128589263420724,6.928838951310862,4.00749063670412,2.4032459425717856,5.605493133583021,4.094881398252185,4.500624219725343,5.15605493133583,7.17852684144819,2.727840199750312,4.444444444444445,5.012484394506866,6.30461922596754,6.991260923845194,4.294631710362047,3.1647940074906367,4.176029962546816,4.225967540574282,2.6779026217228465,6.866416978776529,4.463171036204744,3.295880149812734,6.679151061173534,2.7715355805243447,4.3632958801498125,4.875156054931336,5.230961298377029,6.616729088639201,4.656679151061174,6.803995006242197,6.928838951310862,4.956304619225968,3.6329588014981273,1.9225967540574282,2.634207240948814,7.240948813982522,4.563046192259676,3.8389513108614235,1.8227215980024971,7.17852684144819,5.062421972534332,6.111111111111111,2.66541822721598,4.556803995006242,4.219725343320849,6.554307116104869,1.404494382022472,3.114856429463171,2.871410736579276,3.4893882646691634,6.554307116104869,2.0224719101123596,6.036204744069912,5.430711610486892,5.068664169787765, +4.868913857677903,6.429463171036204,3.4581772784019975,6.429463171036204,4.594257178526841,4.631710362047441,1.5730337078651684,4.357053682896379,2.091136079900125,3.826466916354557,4.519350811485642,2.4032459425717856,1.2671660424469413,1.4481897627965044,2.634207240948814,7.0536828963795255,5.724094881398252,3.9950062421972534,2.9400749063670415,2.521847690387016,5.056179775280899,6.491885143570538,3.938826466916354,6.741573033707866,5.97378277153558,2.1161048689138577,1.8227215980024971,1.6604244694132335,3.033707865168539,5.049937578027466,1.2359550561797754,2.2347066167290888,5.961298377028713,4.893882646691636,2.2222222222222223,3.5205992509363297,2.097378277153558,7.428214731585518,5.274656679151062,1.5355805243445693,1.6541822721598003,5.836454431960051,4.881398252184769,2.546816479400749,1.9101123595505618,2.15980024968789,6.991260923845194,4.044943820224719,2.4344569288389515,5.630461922596755,4.1260923845193505,4.531835205992509,5.181023720349563,7.240948813982522,2.746566791510612,4.4694132334581775,5.043695380774032,6.367041198501872,7.0536828963795255,4.31960049937578,3.183520599250936,4.194756554307116,4.257178526841448,2.702871410736579,6.866416978776529,4.4818976279650435,3.3146067415730336,6.741573033707866,2.790262172284644,4.388264669163545,4.906367041198502,5.262172284644195,6.616729088639201,4.687890137328339,6.803995006242197,6.928838951310862,4.975031210986267,3.6704119850187267,1.941323345817728,2.671660424469413,7.303370786516854,4.594257178526841,3.870162297128589,1.8476903870162298,7.17852684144819,5.087390761548065,6.1360799001248445,2.696629213483146,4.588014981273409,4.250936329588015,6.616729088639201,1.4294631710362047,3.1460674157303368,2.8963795255930087,3.5205992509363297,6.616729088639201,2.0536828963795255,6.061173533083646,5.455680399500624,5.087390761548065, +4.900124843945068,6.429463171036204,3.4893882646691634,6.429463171036204,4.619225967540574,4.656679151061174,1.5980024968789013,4.382022471910113,2.122347066167291,3.8451935081148565,4.538077403245943,2.4344569288389515,1.285892634207241,1.4731585518102372,2.6529338327091136,7.0536828963795255,5.7553058676654185,4.02621722846442,2.965043695380774,2.5405742821473156,5.087390761548065,6.554307116104869,3.9637952559300875,6.741573033707866,5.998751560549313,2.1410736579275906,1.8539325842696628,1.6853932584269664,3.0649188514357055,5.074906367041199,1.260923845193508,2.272159800249688,5.986267166042447,4.912609238451935,2.2409488139825218,3.5393258426966296,2.128589263420724,7.428214731585518,5.299625468164794,1.554307116104869,1.6791510611735332,5.861423220973783,4.906367041198502,2.578027465667915,1.941323345817728,2.184769038701623,6.991260923845194,4.0761548064918856,2.471910112359551,5.66167290886392,4.151061173533084,4.569288389513109,5.205992509363296,7.303370786516854,2.7715355805243447,4.488139825218477,5.068664169787765,6.429463171036204,7.0536828963795255,4.3508114856429465,3.202247191011236,4.213483146067416,4.288389513108614,2.7215980024968793,6.928838951310862,4.506866416978776,3.339575530586767,6.741573033707866,2.8152309612983775,4.413233458177278,4.937578027465668,5.299625468164794,6.679151061173534,4.712858926342073,6.866416978776529,6.928838951310862,5.0,3.701622971285893,1.9662921348314608,2.702871410736579,7.303370786516854,4.6254681647940075,3.9076154806491883,1.8664169787765295,7.240948813982522,5.1123595505617985,6.161048689138577,2.727840199750312,4.612983770287141,4.282147315855181,6.616729088639201,1.4481897627965044,3.1772784019975036,2.9275905118601746,3.5580524344569286,6.616729088639201,2.091136079900125,6.092384519350812,5.480649188514358,5.1123595505617985, +4.931335830212235,6.491885143570538,3.5205992509363297,6.491885143570538,4.644194756554308,4.681647940074906,1.6229712858926344,4.406991260923846,2.153558052434457,3.870162297128589,4.563046192259676,2.4656679151061174,1.3108614232209737,1.5043695380774034,2.6779026217228465,7.116104868913857,5.786516853932584,4.057428214731585,2.990012484394507,2.565543071161049,5.1123595505617985,6.554307116104869,3.9887640449438204,6.803995006242197,6.029962546816479,2.1722846441947565,1.8851435705368291,1.710362047440699,3.0961298377028714,5.099875156054932,1.285892634207241,2.303370786516854,6.004993757802747,4.937578027465668,2.2659176029962547,3.564294631710362,2.1660424469413235,7.49063670411985,5.324594257178527,1.5730337078651684,1.704119850187266,5.8863920099875156,4.931335830212235,2.6154806491885143,1.9725343320848938,2.209737827715356,7.0536828963795255,4.107365792759051,2.5031210986267167,5.692883895131087,4.18227215980025,4.600499375780275,5.230961298377029,7.303370786516854,2.7965043695380776,4.506866416978776,5.099875156054932,6.429463171036204,7.116104868913857,4.375780274656679,3.2209737827715355,4.238451935081149,4.31960049937578,2.746566791510612,6.928838951310862,4.525593008739076,3.3583021223470664,6.741573033707866,2.84019975031211,4.438202247191011,4.9687890137328345,5.33083645443196,6.679151061173534,4.737827715355805,6.866416978776529,6.991260923845194,5.0187265917602994,3.732833957553059,1.9912609238451935,2.740324594257179,7.365792759051186,4.656679151061174,3.938826466916354,1.8913857677902621,7.240948813982522,5.1373283395755305,6.186017478152309,2.7590511860174782,4.637952559300874,4.31960049937578,6.679151061173534,1.4731585518102372,3.2084893882646695,2.9525593008739075,3.589263420724095,6.679151061173534,2.122347066167291,6.123595505617978,5.50561797752809,5.1373283395755305, +4.962546816479401,6.491885143570538,3.5580524344569286,6.491885143570538,4.66916354556804,4.700374531835206,1.6416978776529338,4.431960049937578,2.1785268414481895,3.8951310861423223,4.581772784019975,2.4906367041198503,1.3358302122347065,1.5355805243445693,2.702871410736579,7.116104868913857,5.81772784019975,4.0886392009987516,3.0149812734082393,2.5842696629213484,5.143570536828964,6.616729088639201,4.013732833957553,6.803995006242197,6.061173533083646,2.203495630461923,1.9101123595505618,1.735330836454432,3.1273408239700373,5.118601747815231,1.3108614232209737,2.340823970037453,6.029962546816479,4.962546816479401,2.2846441947565546,3.589263420724095,2.1972534332084894,7.49063670411985,5.34956304619226,1.5980024968789013,1.7290886392009988,5.905118601747815,4.962546816479401,2.6466916354556806,2.00374531835206,2.2409488139825218,7.0536828963795255,4.144818976279651,2.5405742821473156,5.724094881398252,4.207240948813983,4.637952559300874,5.262172284644195,7.365792759051186,2.82147315855181,4.531835205992509,5.1248439450686645,6.491885143570538,7.116104868913857,4.400749063670412,3.2397003745318353,4.257178526841448,4.3508114856429465,2.7715355805243447,6.991260923845194,4.55056179775281,3.383270911360799,6.803995006242197,2.865168539325843,4.463171036204744,5.0,5.3620474406991265,6.679151061173534,4.769038701622971,6.928838951310862,6.991260923845194,5.0374531835206,3.7702871410736583,2.016229712858926,2.777777777777778,7.428214731585518,4.687890137328339,3.970037453183521,1.9101123595505618,7.303370786516854,5.162297128589263,6.210986267166042,2.790262172284644,4.662921348314606,4.3508114856429465,6.679151061173534,1.4981273408239701,3.2397003745318353,2.977528089887641,3.620474406991261,6.741573033707866,2.153558052434457,6.154806491885144,5.5305867665418225,5.162297128589263, +4.9937578027465666,6.554307116104869,3.589263420724095,6.554307116104869,4.694132334581773,4.725343320848939,1.6666666666666667,4.456928838951311,2.209737827715356,3.9138576779026217,4.600499375780275,2.521847690387016,1.3545568039950062,1.5667915106117354,2.727840199750312,7.17852684144819,5.848938826466916,4.119850187265917,3.0399500624219726,2.6092384519350813,5.174781523096129,6.616729088639201,4.038701622971286,6.866416978776529,6.086142322097379,2.2284644194756553,1.941323345817728,1.7602996254681649,3.1585518102372037,5.143570536828964,1.3358302122347065,2.3720349563046192,6.048689138576779,4.9812734082397006,2.309612983770287,3.6142322097378274,2.2347066167290888,7.553058676654182,5.3745318352059925,1.616729088639201,1.7540574282147314,5.930087390761548,4.987515605493134,2.6779026217228465,2.0287141073657926,2.2659176029962547,7.116104868913857,4.176029962546816,2.571785268414482,5.749063670411985,4.238451935081149,4.66916354556804,5.287141073657928,7.365792759051186,2.8464419475655434,4.55056179775281,5.15605493133583,6.491885143570538,7.116104868913857,4.431960049937578,3.258426966292135,4.275905118601748,4.382022471910113,2.790262172284644,6.991260923845194,4.575530586766542,3.4019975031210987,6.803995006242197,2.8901373283395753,4.488139825218477,5.031210986267166,5.393258426966292,6.741573033707866,4.794007490636704,6.928838951310862,6.991260923845194,5.062421972534332,3.801498127340824,2.0411985018726595,2.808988764044944,7.428214731585518,4.719101123595506,4.00749063670412,1.9350811485642945,7.303370786516854,5.187265917602996,6.235955056179775,2.82147315855181,4.687890137328339,4.382022471910113,6.741573033707866,1.523096129837703,3.2709113607990012,3.0087390761548067,3.6579275905118602,6.741573033707866,2.1910112359550564,6.186017478152309,5.561797752808988,5.181023720349563, +5.024968789013733,6.554307116104869,3.6267166042446943,6.554307116104869,4.719101123595506,4.750312109862672,1.6916354556803994,4.488139825218477,2.2409488139825218,3.938826466916354,4.6254681647940075,2.5530586766541825,1.3795255930087391,1.5980024968789013,2.752808988764045,7.17852684144819,5.880149812734083,4.151061173533084,3.0649188514357055,2.6279650436953808,5.199750312109863,6.679151061173534,4.063670411985019,6.866416978776529,6.117353308364544,2.259675405742821,1.9725343320848938,1.7852684144818978,3.1897627965043696,5.168539325842697,1.3607990012484397,2.4032459425717856,6.073657927590512,5.0062421972534334,2.33458177278402,3.6329588014981273,2.2659176029962547,7.553058676654182,5.393258426966292,1.6354556803995006,1.7790262172284643,5.948813982521848,5.012484394506866,2.715355805243446,2.0599250936329585,2.2908863920099876,7.116104868913857,4.207240948813983,2.602996254681648,5.7802746566791505,4.269662921348314,4.700374531835206,5.312109862671661,7.428214731585518,2.865168539325843,4.575530586766542,5.181023720349563,6.554307116104869,7.17852684144819,4.456928838951311,3.2771535580524347,4.300873907615481,4.413233458177278,2.8152309612983775,7.0536828963795255,4.594257178526841,3.4269662921348316,6.803995006242197,2.9151061173533086,4.51310861423221,5.062421972534332,5.424469413233458,6.741573033707866,4.818976279650437,6.991260923845194,7.0536828963795255,5.081148564294631,3.8389513108614235,2.066167290886392,2.8464419475655434,7.49063670411985,4.750312109862672,4.038701622971286,1.9538077403245941,7.365792759051186,5.212234706616729,6.242197253433209,2.852684144818976,4.712858926342073,4.413233458177278,6.741573033707866,1.5480649188514357,3.3021223470661676,3.033707865168539,3.689138576779026,6.803995006242197,2.2222222222222223,6.217228464419476,5.586766541822722,5.205992509363296, +5.056179775280899,6.616729088639201,3.6579275905118602,6.616729088639201,4.7440699126092385,4.769038701622971,1.710362047440699,4.51310861423221,2.272159800249688,3.9637952559300875,4.644194756554308,2.5842696629213484,1.404494382022472,1.6229712858926344,2.777777777777778,7.17852684144819,5.9113607990012484,4.18227215980025,3.089887640449438,2.6529338327091136,5.230961298377029,6.679151061173534,4.0886392009987516,6.928838951310862,6.1485642946317105,2.2908863920099876,2.00374531835206,1.8102372034956304,3.2209737827715355,5.19350811485643,1.3857677902621723,2.4406991260923845,6.092384519350812,5.024968789013733,2.35330836454432,3.6579275905118602,2.303370786516854,7.615480649188515,5.418227215980025,1.6541822721598003,1.8039950062421974,5.97378277153558,5.0374531835206,2.746566791510612,2.091136079900125,2.322097378277154,7.17852684144819,4.244694132334582,2.640449438202247,5.811485642946318,4.294631710362047,4.737827715355805,5.337078651685393,7.428214731585518,2.8901373283395753,4.594257178526841,5.212234706616729,6.616729088639201,7.17852684144819,4.4818976279650435,3.3021223470661676,4.31960049937578,4.444444444444445,2.8339575530586765,7.0536828963795255,4.619225967540574,3.4456928838951315,6.866416978776529,2.9400749063670415,4.538077403245943,5.093632958801498,5.461922596754057,6.803995006242197,4.850187265917603,6.991260923845194,7.0536828963795255,5.099875156054932,3.870162297128589,2.091136079900125,2.8776529338327093,7.49063670411985,4.781523096129837,4.069912609238452,1.9725343320848938,7.365792759051186,5.230961298377029,6.30461922596754,2.8838951310861427,4.737827715355805,4.444444444444445,6.803995006242197,1.5730337078651684,3.3333333333333335,3.058676654182272,3.7203495630461925,6.803995006242197,2.259675405742821,6.242197253433209,5.611735330836455,5.230961298377029, +5.081148564294631,6.616729088639201,3.689138576779026,6.616729088639201,4.775280898876405,4.794007490636704,1.735330836454432,4.538077403245943,2.2971285892634206,3.982521847690387,4.66916354556804,2.6092384519350813,1.4232209737827717,1.6541822721598003,2.8027465667915106,7.240948813982522,5.942571785268415,4.213483146067416,3.114856429463171,2.671660424469413,5.262172284644195,6.741573033707866,4.1136079900124844,6.928838951310862,6.179775280898876,2.3158551810237205,2.034956304619226,1.8352059925093633,3.2521847690387014,5.218476903870163,1.410736579275905,2.471910112359551,6.111111111111111,5.049937578027466,2.3782771535580522,3.682896379525593,2.33458177278402,7.615480649188515,5.443196004993759,1.6791510611735332,1.8227215980024971,5.992509363295881,5.068664169787765,2.777777777777778,2.1161048689138577,2.3470661672908864,7.17852684144819,4.275905118601748,2.671660424469413,5.842696629213483,4.325842696629214,4.769038701622971,5.3620474406991265,7.49063670411985,2.9151061173533086,4.612983770287141,5.243445692883895,6.616729088639201,7.240948813982522,4.51310861423221,3.320848938826467,4.33832709113608,4.4818976279650435,2.8589263420724094,7.116104868913857,4.637952559300874,3.470661672908864,6.866416978776529,2.965043695380774,4.563046192259676,5.118601747815231,5.493133583021224,6.803995006242197,4.875156054931336,7.0536828963795255,7.0536828963795255,5.1248439450686645,3.9076154806491883,2.1161048689138577,2.9151061173533086,7.553058676654182,4.812734082397004,4.107365792759051,1.9975031210986267,7.428214731585518,5.2559300873907615,6.30461922596754,2.9151061173533086,4.762796504369538,4.475655430711611,6.803995006242197,1.5980024968789013,3.3645443196004994,3.0836454431960054,3.7515605493133584,6.866416978776529,2.2908863920099876,6.30461922596754,5.636704119850187,5.2559300873907615, +5.1123595505617985,6.679151061173534,3.7265917602996255,6.679151061173534,4.800249687890138,4.818976279650437,1.7602996254681649,4.563046192259676,2.328339575530587,4.00749063670412,4.687890137328339,2.640449438202247,1.4481897627965044,1.6853932584269664,2.8277153558052435,7.240948813982522,5.97378277153558,4.238451935081149,3.139825218476904,2.696629213483146,5.287141073657928,6.741573033707866,4.132334581772784,6.991260923845194,6.20474406991261,2.3470661672908864,2.066167290886392,1.8601747815230962,3.2833957553058677,5.243445692883895,1.435705368289638,2.5031210986267167,6.1360799001248445,5.068664169787765,2.397003745318352,3.7078651685393256,2.3720349563046192,7.677902621722847,5.468164794007491,1.6978776529338326,1.8476903870162298,6.0174781523096135,5.093632958801498,2.808988764044944,2.1473158551810236,2.3720349563046192,7.240948813982522,4.307116104868914,2.7091136079900124,5.867665418227216,4.3508114856429465,4.806491885143571,5.393258426966292,7.553058676654182,2.9400749063670415,4.637952559300874,5.268414481897628,6.679151061173534,7.240948813982522,4.538077403245943,3.339575530586767,4.3632958801498125,4.51310861423221,2.8776529338327093,7.116104868913857,4.662921348314606,3.4893882646691634,6.866416978776529,2.990012484394507,4.588014981273409,5.149812734082397,5.524344569288389,6.803995006242197,4.900124843945068,7.0536828963795255,7.116104868913857,5.143570536828964,3.938826466916354,2.1410736579275906,2.9463171036204745,7.615480649188515,4.843945068664169,4.138576779026217,2.016229712858926,7.428214731585518,5.280898876404494,6.367041198501872,2.9463171036204745,4.787765293383271,4.51310861423221,6.866416978776529,1.616729088639201,3.3957553058676653,3.114856429463171,3.7890137328339577,6.928838951310862,2.328339575530587,6.30461922596754,5.66167290886392,5.274656679151062, +5.143570536828964,6.679151061173534,3.7578027465667914,6.679151061173534,4.825218476903871,4.837702871410737,1.7790262172284643,4.588014981273409,2.359550561797753,4.032459425717852,4.712858926342073,2.671660424469413,1.4731585518102372,1.7166042446941323,2.852684144818976,7.303370786516854,6.004993757802747,4.269662921348314,3.1647940074906367,2.715355805243446,5.318352059925093,6.803995006242197,4.157303370786517,6.991260923845194,6.235955056179775,2.3782771535580522,2.091136079900125,1.8851435705368291,3.3146067415730336,5.268414481897628,1.4606741573033708,2.5405742821473156,6.154806491885144,5.093632958801498,2.4219725343320846,3.7265917602996255,2.4032459425717856,7.677902621722847,5.493133583021224,1.7166042446941323,1.8726591760299625,6.036204744069912,5.118601747815231,2.8464419475655434,2.1785268414481895,2.4032459425717856,7.240948813982522,4.344569288389513,2.740324594257179,5.8988764044943816,4.382022471910113,4.837702871410737,5.418227215980025,7.553058676654182,2.965043695380774,4.656679151061174,5.299625468164794,6.679151061173534,7.303370786516854,4.563046192259676,3.3583021223470664,4.382022471910113,4.544319600499376,2.902621722846442,7.17852684144819,4.687890137328339,3.5143570536828963,6.928838951310862,3.0149812734082393,4.612983770287141,5.181023720349563,5.555555555555556,6.866416978776529,4.931335830212235,7.116104868913857,7.116104868913857,5.168539325842697,3.9762796504369535,2.1660424469413235,2.9837702871410734,7.615480649188515,4.875156054931336,4.169787765293384,2.0411985018726595,7.49063670411985,5.305867665418227,6.367041198501872,2.977528089887641,4.812734082397004,4.544319600499376,6.866416978776529,1.6416978776529338,3.4269662921348316,3.139825218476904,3.8202247191011236,6.928838951310862,2.359550561797753,6.367041198501872,5.686641697877653,5.299625468164794, +5.174781523096129,6.741573033707866,3.7890137328339577,6.679151061173534,4.850187265917603,4.8626716604244695,1.8039950062421974,4.619225967540574,2.3845193508114857,4.051186017478152,4.7315855181023725,2.702871410736579,1.4918851435705367,1.7478152309612984,2.8776529338327093,7.303370786516854,6.036204744069912,4.300873907615481,3.183520599250936,2.740324594257179,5.34956304619226,6.803995006242197,4.18227215980025,7.0536828963795255,6.242197253433209,2.4032459425717856,2.122347066167291,1.9101123595505618,3.3458177278401995,5.293383270911361,1.4856429463171037,2.571785268414482,6.179775280898876,5.118601747815231,2.446941323345818,3.7515605493133584,2.4406991260923845,7.740324594257178,5.5181023720349565,1.7415730337078652,1.8976279650436954,6.061173533083646,5.149812734082397,2.8776529338327093,2.209737827715356,2.428214731585518,7.303370786516854,4.375780274656679,2.7715355805243447,5.930087390761548,4.406991260923846,4.875156054931336,5.443196004993759,7.615480649188515,2.990012484394507,4.675405742821473,5.324594257178527,6.741573033707866,7.303370786516854,4.594257178526841,3.3770287141073654,4.400749063670412,4.575530586766542,2.9275905118601746,7.17852684144819,4.70661672908864,3.533083645443196,6.928838951310862,3.033707865168539,4.637952559300874,5.212234706616729,5.593008739076155,6.866416978776529,4.956304619225968,7.116104868913857,7.116104868913857,5.187265917602996,4.00749063670412,2.1910112359550564,3.0212234706616727,7.677902621722847,4.906367041198502,4.207240948813983,2.0599250936329585,7.49063670411985,5.33083645443196,6.367041198501872,3.0024968789013733,4.837702871410737,4.575530586766542,6.928838951310862,1.6666666666666667,3.4581772784019975,3.1647940074906367,3.8514357053682895,6.991260923845194,2.397003745318352,6.367041198501872,5.711610486891385,5.324594257178527, +5.205992509363296,6.803995006242197,3.826466916354557,6.741573033707866,4.875156054931336,4.887640449438202,1.8289637952559301,4.644194756554308,2.4157303370786516,4.0761548064918856,4.750312109862672,2.727840199750312,1.5168539325842696,1.772784019975031,2.902621722846442,7.365792759051186,6.067415730337078,4.332084893882647,3.2084893882646695,2.7590511860174782,5.3745318352059925,6.866416978776529,4.207240948813983,7.0536828963795255,6.30461922596754,2.4344569288389515,2.153558052434457,1.9350811485642945,3.383270911360799,5.318352059925093,1.5106117353308364,2.6092384519350813,6.198501872659176,5.1373283395755305,2.4656679151061174,3.776529338327091,2.471910112359551,7.740324594257178,5.543071161048689,1.7602996254681649,1.9225967540574282,6.079900124843945,5.174781523096129,2.908863920099875,2.2347066167290888,2.453183520599251,7.303370786516854,4.413233458177278,2.808988764044944,5.961298377028713,4.438202247191011,4.906367041198502,5.468164794007491,7.615480649188515,3.0087390761548067,4.700374531835206,5.355805243445693,6.803995006242197,7.303370786516854,4.619225967540574,3.3957553058676653,4.425717852684145,4.606741573033708,2.9463171036204745,7.240948813982522,4.7315855181023725,3.5580524344569286,6.991260923845194,3.058676654182272,4.662921348314606,5.243445692883895,5.6242197253433215,6.866416978776529,4.987515605493134,7.17852684144819,7.17852684144819,5.205992509363296,4.044943820224719,2.215980024968789,3.0524344569288386,7.740324594257178,4.937578027465668,4.238451935081149,2.084893882646692,7.553058676654182,5.355805243445693,6.429463171036204,3.033707865168539,4.8626716604244695,4.606741573033708,6.928838951310862,1.6916354556803994,3.4893882646691634,3.1897627965043696,3.888888888888889,7.0536828963795255,2.428214731585518,6.367041198501872,5.736579275905119,5.34956304619226, +5.237203495630462,6.803995006242197,3.857677902621723,6.741573033707866,4.900124843945068,4.906367041198502,1.8476903870162298,4.66916354556804,2.446941323345818,4.1011235955056184,4.775280898876405,2.7590511860174782,1.5418227215980027,1.8039950062421974,2.9275905118601746,7.365792759051186,6.092384519350812,4.3632958801498125,3.233458177278402,2.777777777777778,5.405742821473158,6.866416978776529,4.2322097378277155,7.116104868913857,6.30461922596754,2.4656679151061174,2.184769038701623,1.9600499375780276,3.4144818976279647,5.343320848938826,1.5355805243445693,2.640449438202247,6.223470661672909,5.162297128589263,2.4906367041198503,3.7952559300873907,2.5093632958801497,7.740324594257178,5.561797752808988,1.7790262172284643,1.9475655430711611,6.104868913857677,5.199750312109863,2.9400749063670415,2.2659176029962547,2.478152309612984,7.365792759051186,4.444444444444445,2.84019975031211,5.986267166042447,4.4694132334581775,4.937578027465668,5.493133583021224,7.677902621722847,3.033707865168539,4.719101123595506,5.380774032459426,6.803995006242197,7.365792759051186,4.644194756554308,3.4144818976279647,4.444444444444445,4.637952559300874,2.9712858926342074,7.240948813982522,4.750312109862672,3.576779026217228,6.991260923845194,3.0836454431960054,4.687890137328339,5.274656679151062,5.655430711610487,6.928838951310862,5.012484394506866,7.17852684144819,7.17852684144819,5.230961298377029,4.0761548064918856,2.2409488139825218,3.089887640449438,7.740324594257178,4.9687890137328345,4.269662921348314,2.1036204744069913,7.553058676654182,5.3745318352059925,6.429463171036204,3.0649188514357055,4.887640449438202,4.637952559300874,6.928838951310862,1.7166042446941323,3.5205992509363297,3.2209737827715355,3.920099875156055,7.0536828963795255,2.459425717852684,6.429463171036204,5.761548064918852,5.36828963795256, +5.268414481897628,6.866416978776529,3.888888888888889,6.803995006242197,4.925093632958801,4.931335830212235,1.8726591760299625,4.694132334581773,2.478152309612984,4.119850187265917,4.794007490636704,2.790262172284644,1.5605493133583022,1.8352059925093633,2.9525593008739075,7.428214731585518,6.123595505617978,4.394506866416979,3.258426966292135,2.8027465667915106,5.436953807740325,6.928838951310862,4.257178526841448,7.116104868913857,6.367041198501872,2.4906367041198503,2.215980024968789,1.9850187265917605,3.4456928838951315,5.36828963795256,1.5605493133583022,2.671660424469413,6.242197253433209,5.181023720349563,2.5093632958801497,3.8202247191011236,2.5405742821473156,7.8027465667915115,5.586766541822722,1.797752808988764,1.9662921348314608,6.129837702871411,5.224719101123595,2.977528089887641,2.2971285892634206,2.5093632958801497,7.365792759051186,4.475655430711611,2.871410736579276,6.0174781523096135,4.49438202247191,4.975031210986267,5.524344569288389,7.677902621722847,3.058676654182272,4.737827715355805,5.411985018726591,6.866416978776529,7.365792759051186,4.675405742821473,3.4332084893882646,4.463171036204744,4.66916354556804,2.990012484394507,7.303370786516854,4.775280898876405,3.6017478152309614,6.991260923845194,3.108614232209738,4.712858926342073,5.305867665418227,5.686641697877653,6.928838951310862,5.0374531835206,7.240948813982522,7.17852684144819,5.249687890137328,4.107365792759051,2.2659176029962547,3.1210986267166043,7.8027465667915115,5.0,4.307116104868914,2.128589263420724,7.615480649188515,5.399500624219725,6.491885143570538,3.0961298377028714,4.912609238451935,4.675405742821473,6.991260923845194,1.7415730337078652,3.5518102372034956,3.245942571785269,3.951310861423221,7.116104868913857,2.4968789013732833,6.429463171036204,5.792759051186017,5.393258426966292, +5.299625468164794,6.866416978776529,3.926342072409488,6.803995006242197,4.950062421972534,4.950062421972534,1.8976279650436954,4.719101123595506,2.5031210986267167,4.144818976279651,4.818976279650437,2.8152309612983775,1.585518102372035,1.8664169787765295,2.977528089887641,7.428214731585518,6.154806491885144,4.425717852684145,3.2833957553058677,2.82147315855181,5.461922596754057,6.928838951310862,4.282147315855181,7.17852684144819,6.367041198501872,2.521847690387016,2.2409488139825218,2.009987515605493,3.4769038701622974,5.393258426966292,1.585518102372035,2.7091136079900124,6.242197253433209,5.205992509363296,2.5343320848938826,3.8451935081148565,2.578027465667915,7.8027465667915115,5.611735330836455,1.8227215980024971,1.9912609238451935,6.1485642946317105,5.2559300873907615,3.0087390761548067,2.322097378277154,2.5343320848938826,7.428214731585518,4.51310861423221,2.908863920099875,6.048689138576779,4.525593008739076,5.0062421972534334,5.549313358302123,7.740324594257178,3.0836454431960054,4.762796504369538,5.436953807740325,6.866416978776529,7.428214731585518,4.700374531835206,3.451935081148564,4.488139825218477,4.700374531835206,3.0149812734082393,7.303370786516854,4.794007490636704,3.620474406991261,7.0536828963795255,3.1335830212234708,4.737827715355805,5.337078651685393,5.724094881398252,6.991260923845194,5.068664169787765,7.240948813982522,7.240948813982522,5.268414481897628,4.144818976279651,2.2908863920099876,3.1585518102372037,7.8027465667915115,5.031210986267166,4.33832709113608,2.1473158551810236,7.615480649188515,5.424469413233458,6.491885143570538,3.1273408239700373,4.937578027465668,4.70661672908864,6.991260923845194,1.7602996254681649,3.5830212234706615,3.2709113607990012,3.9887640449438204,7.17852684144819,2.5280898876404496,6.491885143570538,5.81772784019975,5.418227215980025, +5.324594257178527,6.928838951310862,3.957553058676654,6.866416978776529,4.975031210986267,4.975031210986267,1.916354556803995,4.750312109862672,2.5343320848938826,4.169787765293384,4.837702871410737,2.8464419475655434,1.6104868913857677,1.8976279650436954,3.0024968789013733,7.49063670411985,6.186017478152309,4.456928838951311,3.3083645443196006,2.8464419475655434,5.493133583021224,6.991260923845194,4.307116104868914,7.17852684144819,6.429463171036204,2.5530586766541825,2.272159800249688,2.034956304619226,3.508114856429463,5.418227215980025,1.6104868913857677,2.740324594257179,6.30461922596754,5.224719101123595,2.5593008739076155,3.870162297128589,2.6092384519350813,7.865168539325843,5.636704119850187,1.8414481897627966,2.016229712858926,6.173533083645444,5.280898876404494,3.0399500624219726,2.35330836454432,2.5593008739076155,7.428214731585518,4.544319600499376,2.9400749063670415,6.079900124843945,4.55056179775281,5.043695380774032,5.574282147315855,7.8027465667915115,3.108614232209738,4.781523096129837,5.468164794007491,6.928838951310862,7.428214731585518,4.725343320848939,3.4769038701622974,4.506866416978776,4.7315855181023725,3.033707865168539,7.365792759051186,4.818976279650437,3.6454431960049942,7.0536828963795255,3.1585518102372037,4.762796504369538,5.36828963795256,5.7553058676654185,6.991260923845194,5.093632958801498,7.303370786516854,7.240948813982522,5.293383270911361,4.176029962546816,2.3158551810237205,3.1960049937578026,7.865168539325843,5.062421972534332,4.375780274656679,2.1722846441947565,7.677902621722847,5.449438202247191,6.491885143570538,3.1585518102372037,4.962546816479401,4.737827715355805,7.0536828963795255,1.7852684144818978,3.6142322097378274,3.3021223470661676,4.019975031210986,7.17852684144819,2.565543071161049,6.491885143570538,5.842696629213483,5.436953807740325, +5.355805243445693,6.928838951310862,3.9887640449438204,6.866416978776529,5.0,5.0,1.941323345817728,4.775280898876405,2.565543071161049,4.188514357053683,4.856429463171036,2.8776529338327093,1.6292134831460674,1.9225967540574282,3.027465667915106,7.49063670411985,6.217228464419476,4.488139825218477,3.3333333333333335,2.865168539325843,5.524344569288389,6.991260923845194,4.332084893882647,7.240948813982522,6.429463171036204,2.578027465667915,2.303370786516854,2.0599250936329585,3.5393258426966296,5.443196004993759,1.6354556803995006,2.7715355805243447,6.30461922596754,5.249687890137328,2.578027465667915,3.888888888888889,2.6466916354556806,7.865168539325843,5.66167290886392,1.8601747815230962,2.0411985018726595,6.192259675405743,5.305867665418227,3.0711610486891385,2.3845193508114857,2.5905118601747814,7.49063670411985,4.575530586766542,2.977528089887641,6.104868913857677,4.581772784019975,5.074906367041199,5.599250936329588,7.8027465667915115,3.1335830212234708,4.800249687890138,5.493133583021224,6.991260923845194,7.428214731585518,4.750312109862672,3.495630461922597,4.525593008739076,4.762796504369538,3.058676654182272,7.365792759051186,4.843945068664169,3.6641697877652937,7.0536828963795255,3.183520599250936,4.787765293383271,5.399500624219725,5.786516853932584,6.991260923845194,5.118601747815231,7.303370786516854,7.240948813982522,5.312109862671661,4.213483146067416,2.340823970037453,3.227215980024969,7.927590511860175,5.087390761548065,4.406991260923846,2.1910112359550564,7.677902621722847,5.474406991260924,6.554307116104869,3.1897627965043696,4.987515605493134,4.769038701622971,7.0536828963795255,1.8102372034956304,3.6454431960049942,3.3270911360799,4.051186017478152,7.240948813982522,2.596754057428215,6.554307116104869,5.867665418227216,5.461922596754057, +5.3870162297128585,6.991260923845194,4.02621722846442,6.928838951310862,5.024968789013733,5.0187265917602994,1.9662921348314608,4.800249687890138,2.596754057428215,4.213483146067416,4.881398252184769,2.908863920099875,1.6541822721598003,1.9538077403245941,3.0524344569288386,7.553058676654182,6.242197253433209,4.519350811485642,3.3583021223470664,2.8901373283395753,5.549313358302123,7.0536828963795255,4.3508114856429465,7.240948813982522,6.491885143570538,2.6092384519350813,2.33458177278402,2.084893882646692,3.5705368289637955,5.468164794007491,1.6541822721598003,2.808988764044944,6.30461922596754,5.274656679151062,2.602996254681648,3.9138576779026217,2.6779026217228465,7.927590511860175,5.686641697877653,1.8851435705368291,2.066167290886392,6.217228464419476,5.337078651685393,3.108614232209738,2.4157303370786516,2.6154806491885143,7.49063670411985,4.612983770287141,3.0087390761548067,6.1360799001248445,4.606741573033708,5.1123595505617985,5.6242197253433215,7.865168539325843,3.15230961298377,4.825218476903871,5.524344569288389,6.991260923845194,7.49063670411985,4.781523096129837,3.5143570536828963,4.55056179775281,4.794007490636704,3.0836454431960054,7.428214731585518,4.8626716604244695,3.689138576779026,7.116104868913857,3.2084893882646695,4.812734082397004,5.430711610486892,5.81772784019975,7.0536828963795255,5.149812734082397,7.365792759051186,7.303370786516854,5.33083645443196,4.244694132334582,2.3657927590511862,3.2646691635455682,7.927590511860175,5.118601747815231,4.438202247191011,2.215980024968789,7.740324594257178,5.499375780274657,6.554307116104869,3.2209737827715355,5.012484394506866,4.800249687890138,7.116104868913857,1.8352059925093633,3.6766541822721597,3.352059925093633,4.082397003745319,7.240948813982522,2.634207240948814,6.554307116104869,5.892634207240949,5.48689138576779, +5.418227215980025,6.991260923845194,4.057428214731585,6.928838951310862,5.049937578027466,5.043695380774032,1.9850187265917605,4.825218476903871,2.6217228464419473,4.238451935081149,4.900124843945068,2.933832709113608,1.6791510611735332,1.9850187265917605,3.077403245942572,7.553058676654182,6.30461922596754,4.55056179775281,3.383270911360799,2.908863920099875,5.580524344569288,7.0536828963795255,4.375780274656679,7.303370786516854,6.491885143570538,2.640449438202247,2.3657927590511862,2.1098626716604243,3.6017478152309614,5.493133583021224,1.6791510611735332,2.84019975031211,6.367041198501872,5.293383270911361,2.6217228464419473,3.938826466916354,2.715355805243446,7.927590511860175,5.711610486891385,1.9038701622971288,2.091136079900125,6.235955056179775,5.3620474406991265,3.139825218476904,2.4406991260923845,2.640449438202247,7.553058676654182,4.644194756554308,3.0399500624219726,6.167290886392011,4.637952559300874,5.143570536828964,5.655430711610487,7.865168539325843,3.1772784019975036,4.843945068664169,5.555555555555556,7.0536828963795255,7.49063670411985,4.806491885143571,3.533083645443196,4.569288389513109,4.831460674157303,3.102372034956305,7.428214731585518,4.887640449438202,3.7078651685393256,7.116104868913857,3.233458177278402,4.837702871410737,5.461922596754057,5.855181023720349,7.0536828963795255,5.174781523096129,7.365792759051186,7.303370786516854,5.355805243445693,4.282147315855181,2.3907615480649187,3.295880149812734,7.990012484394507,5.149812734082397,4.475655430711611,2.2347066167290888,7.740324594257178,5.524344569288389,6.616729088639201,3.2521847690387014,5.0374531835206,4.831460674157303,7.116104868913857,1.8601747815230962,3.701622971285893,3.3770287141073654,4.119850187265917,7.303370786516854,2.66541822721598,6.616729088639201,5.917602996254682,5.511860174781523, +5.449438202247191,7.0536828963795255,4.094881398252185,6.928838951310862,5.074906367041199,5.068664169787765,2.009987515605493,4.850187265917603,2.6529338327091136,4.257178526841448,4.925093632958801,2.965043695380774,1.6978776529338326,2.016229712858926,3.102372034956305,7.615480649188515,6.30461922596754,4.581772784019975,3.408239700374532,2.933832709113608,5.611735330836455,7.116104868913857,4.400749063670412,7.303370786516854,6.554307116104869,2.66541822721598,2.397003745318352,2.134831460674157,3.6329588014981273,5.5181023720349565,1.704119850187266,2.8776529338327093,6.367041198501872,5.318352059925093,2.6466916354556806,3.9637952559300875,2.752808988764045,7.990012484394507,5.730337078651686,1.9225967540574282,2.1161048689138577,6.242197253433209,5.3870162297128585,3.17103620474407,2.471910112359551,2.671660424469413,7.553058676654182,4.675405742821473,3.077403245942572,6.198501872659176,4.66916354556804,5.174781523096129,5.68039950062422,7.927590511860175,3.202247191011236,4.868913857677903,5.580524344569288,7.0536828963795255,7.553058676654182,4.831460674157303,3.5518102372034956,4.588014981273409,4.8626716604244695,3.1273408239700373,7.428214731585518,4.906367041198502,3.732833957553059,7.116104868913857,3.258426966292135,4.8626716604244695,5.493133583021224,5.8863920099875156,7.0536828963795255,5.199750312109863,7.428214731585518,7.303370786516854,5.3745318352059925,4.313358302122348,2.4157303370786516,3.3333333333333335,7.990012484394507,5.181023720349563,4.506866416978776,2.259675405742821,7.8027465667915115,5.543071161048689,6.616729088639201,3.2833957553058677,5.062421972534332,4.868913857677903,7.17852684144819,1.8851435705368291,3.732833957553059,3.408239700374532,4.151061173533084,7.365792759051186,2.696629213483146,6.616729088639201,5.942571785268415,5.5305867665418225, +5.480649188514358,7.0536828963795255,4.1260923845193505,6.991260923845194,5.099875156054932,5.087390761548065,2.034956304619226,4.881398252184769,2.68414481897628,4.282147315855181,4.943820224719102,2.9962546816479403,1.7228464419475658,2.0474406991260925,3.1210986267166043,7.615480649188515,6.367041198501872,4.612983770287141,3.4332084893882646,2.9525593008739075,5.636704119850187,7.116104868913857,4.425717852684145,7.365792759051186,6.554307116104869,2.696629213483146,2.4219725343320846,2.15980024968789,3.6641697877652937,5.543071161048689,1.7290886392009988,2.908863920099875,6.367041198501872,5.337078651685393,2.671660424469413,3.982521847690387,2.7840199750312107,7.990012484394507,5.7553058676654185,1.9475655430711611,2.134831460674157,6.30461922596754,5.411985018726591,3.202247191011236,2.5031210986267167,2.696629213483146,7.615480649188515,4.712858926342073,3.108614232209738,6.223470661672909,4.694132334581773,5.212234706616729,5.705368289637952,7.927590511860175,3.227215980024969,4.887640449438202,5.611735330836455,7.116104868913857,7.553058676654182,4.8626716604244695,3.5705368289637955,4.612983770287141,4.893882646691636,3.1460674157303368,7.49063670411985,4.931335830212235,3.7515605493133584,7.17852684144819,3.2771535580524347,4.887640449438202,5.5181023720349565,5.917602996254682,7.116104868913857,5.230961298377029,7.428214731585518,7.365792759051186,5.393258426966292,4.3508114856429465,2.4406991260923845,3.3645443196004994,8.05243445692884,5.212234706616729,4.538077403245943,2.278401997503121,7.8027465667915115,5.568039950062421,6.616729088639201,3.3146067415730336,5.087390761548065,4.900124843945068,7.17852684144819,1.9101123595505618,3.764044943820225,3.4332084893882646,4.18227215980025,7.365792759051186,2.7340823970037453,6.679151061173534,5.967540574282147,5.555555555555556, +5.511860174781523,7.116104868913857,4.157303370786517,6.991260923845194,5.1248439450686645,5.1123595505617985,2.0536828963795255,4.906367041198502,2.715355805243446,4.307116104868914,4.9687890137328345,3.027465667915106,1.7478152309612984,2.0724094881398254,3.1460674157303368,7.677902621722847,6.367041198501872,4.644194756554308,3.4581772784019975,2.977528089887641,5.667915106117353,7.17852684144819,4.450686641697877,7.365792759051186,6.616729088639201,2.727840199750312,2.453183520599251,2.184769038701623,3.6953807740324596,5.568039950062421,1.7540574282147314,2.9400749063670415,6.429463171036204,5.3620474406991265,2.690387016229713,4.00749063670412,2.82147315855181,8.05243445692884,5.7802746566791505,1.9662921348314608,2.15980024968789,6.30461922596754,5.443196004993759,3.2397003745318353,2.5280898876404496,2.7215980024968793,7.615480649188515,4.7440699126092385,3.1460674157303368,6.242197253433209,4.725343320848939,5.243445692883895,5.730337078651686,7.990012484394507,3.2521847690387014,4.906367041198502,5.636704119850187,7.17852684144819,7.553058676654182,4.887640449438202,3.589263420724095,4.631710362047441,4.925093632958801,3.17103620474407,7.49063670411985,4.956304619225968,3.776529338327091,7.17852684144819,3.3021223470661676,4.912609238451935,5.549313358302123,5.948813982521848,7.116104868913857,5.2559300873907615,7.49063670411985,7.365792759051186,5.418227215980025,4.382022471910113,2.4656679151061174,3.4019975031210987,8.11485642946317,5.243445692883895,4.575530586766542,2.303370786516854,7.865168539325843,5.593008739076155,6.679151061173534,3.3458177278401995,5.118601747815231,4.931335830212235,7.240948813982522,1.9288389513108615,3.7952559300873907,3.4581772784019975,4.219725343320849,7.428214731585518,2.7652933832709112,6.679151061173534,5.998751560549313,5.580524344569288, +5.543071161048689,7.116104868913857,4.194756554307116,7.0536828963795255,5.149812734082397,5.1373283395755305,2.0786516853932584,4.931335830212235,2.740324594257179,4.325842696629214,4.987515605493134,3.0524344569288386,1.766541822721598,2.1036204744069913,3.17103620474407,7.677902621722847,6.429463171036204,4.675405742821473,3.4831460674157304,2.9962546816479403,5.69912609238452,7.17852684144819,4.475655430711611,7.428214731585518,6.616729088639201,2.752808988764045,2.4843945068664173,2.209737827715356,3.732833957553059,5.593008739076155,1.7790262172284643,2.977528089887641,6.429463171036204,5.380774032459426,2.715355805243446,4.032459425717852,2.852684144818976,8.05243445692884,5.805243445692884,1.9850187265917605,2.184769038701623,6.30461922596754,5.468164794007491,3.2709113607990012,2.5593008739076155,2.752808988764045,7.677902621722847,4.781523096129837,3.1772784019975036,6.30461922596754,4.750312109862672,5.280898876404494,5.7553058676654185,8.05243445692884,3.2709113607990012,4.931335830212235,5.667915106117353,7.17852684144819,7.615480649188515,4.912609238451935,3.607990012484395,4.65043695380774,4.956304619225968,3.1960049937578026,7.553058676654182,4.975031210986267,3.7952559300873907,7.17852684144819,3.3270911360799,4.937578027465668,5.580524344569288,5.980024968789014,7.17852684144819,5.280898876404494,7.49063670411985,7.365792759051186,5.436953807740325,4.419475655430712,2.4906367041198503,3.439450686641698,8.11485642946317,5.274656679151062,4.606741573033708,2.322097378277154,7.865168539325843,5.617977528089888,6.679151061173534,3.3770287141073654,5.143570536828964,4.962546816479401,7.240948813982522,1.9538077403245941,3.826466916354557,3.4831460674157304,4.250936329588015,7.49063670411985,2.8027465667915106,6.741573033707866,6.023720349563047,5.605493133583021, +5.574282147315855,7.17852684144819,4.225967540574282,7.0536828963795255,5.174781523096129,5.15605493133583,2.1036204744069913,4.956304619225968,2.7715355805243447,4.3508114856429465,5.0062421972534334,3.0836454431960054,1.7915106117353308,2.134831460674157,3.1960049937578026,7.677902621722847,6.429463171036204,4.70661672908864,3.508114856429463,3.0212234706616727,5.724094881398252,7.240948813982522,4.500624219725343,7.428214731585518,6.616729088639201,2.7840199750312107,2.515605493133583,2.2347066167290888,3.764044943820225,5.617977528089888,1.8039950062421974,3.0087390761548067,6.429463171036204,5.405742821473158,2.7340823970037453,4.051186017478152,2.8901373283395753,8.11485642946317,5.830212234706617,2.00374531835206,2.209737827715356,6.367041198501872,5.493133583021224,3.3021223470661676,2.5905118601747814,2.777777777777778,7.677902621722847,4.812734082397004,3.2084893882646695,6.30461922596754,4.781523096129837,5.312109862671661,5.786516853932584,8.05243445692884,3.295880149812734,4.950062421972534,5.692883895131087,7.240948813982522,7.615480649188515,4.943820224719102,3.6267166042446943,4.675405742821473,4.987515605493134,3.214731585518102,7.553058676654182,5.0,3.8202247191011236,7.240948813982522,3.352059925093633,4.962546816479401,5.611735330836455,6.0174781523096135,7.17852684144819,5.312109862671661,7.553058676654182,7.428214731585518,5.455680399500624,4.450686641697877,2.515605493133583,3.470661672908864,8.177278401997503,5.305867665418227,4.637952559300874,2.340823970037453,7.927590511860175,5.64294631710362,6.741573033707866,3.408239700374532,5.168539325842697,4.9937578027465666,7.303370786516854,1.978776529338327,3.857677902621723,3.5143570536828963,4.282147315855181,7.49063670411985,2.8339575530586765,6.741573033707866,6.048689138576779,5.6242197253433215, +5.599250936329588,7.17852684144819,4.257178526841448,7.116104868913857,5.199750312109863,5.181023720349563,2.122347066167291,4.987515605493134,2.8027465667915106,4.375780274656679,5.031210986267166,3.114856429463171,1.8102372034956304,2.1660424469413235,3.2209737827715355,7.740324594257178,6.491885143570538,4.737827715355805,3.5268414481897628,3.0399500624219726,5.7553058676654185,7.240948813982522,4.525593008739076,7.49063670411985,6.679151061173534,2.8152309612983775,2.546816479400749,2.259675405742821,3.7952559300873907,5.64294631710362,1.8289637952559301,3.0399500624219726,6.491885143570538,5.430711610486892,2.7590511860174782,4.0761548064918856,2.9213483146067416,8.11485642946317,5.855181023720349,2.0287141073657926,2.2347066167290888,6.367041198501872,5.524344569288389,3.3333333333333335,2.6217228464419473,2.8027465667915106,7.740324594257178,4.843945068664169,3.245942571785269,6.367041198501872,4.806491885143571,5.343320848938826,5.811485642946318,8.11485642946317,3.320848938826467,4.9687890137328345,5.724094881398252,7.240948813982522,7.677902621722847,4.9687890137328345,3.651685393258427,4.694132334581773,5.0187265917602994,3.2397003745318353,7.615480649188515,5.0187265917602994,3.8389513108614235,7.240948813982522,3.3770287141073654,4.987515605493134,5.64294631710362,6.048689138576779,7.17852684144819,5.337078651685393,7.553058676654182,7.428214731585518,5.480649188514358,4.488139825218477,2.5405742821473156,3.508114856429463,8.239700374531834,5.337078651685393,4.675405742821473,2.3657927590511862,7.927590511860175,5.667915106117353,6.741573033707866,3.439450686641698,5.19350811485643,5.031210986267166,7.303370786516854,2.00374531835206,3.888888888888889,3.5393258426966296,4.31960049937578,7.553058676654182,2.871410736579276,6.803995006242197,6.073657927590512,5.6491885143570535, +5.630461922596755,7.240948813982522,4.294631710362047,7.116104868913857,5.224719101123595,5.205992509363296,2.1473158551810236,5.012484394506866,2.8339575530586765,4.394506866416979,5.049937578027466,3.139825218476904,1.8352059925093633,2.1910112359550564,3.245942571785269,7.740324594257178,6.491885143570538,4.769038701622971,3.5518102372034956,3.0649188514357055,5.786516853932584,7.303370786516854,4.55056179775281,7.49063670411985,6.679151061173534,2.84019975031211,2.578027465667915,2.2846441947565546,3.826466916354557,5.667915106117353,1.8539325842696628,3.077403245942572,6.491885143570538,5.449438202247191,2.7840199750312107,4.1011235955056184,2.958801498127341,8.177278401997503,5.8739076154806495,2.0474406991260925,2.259675405742821,6.367041198501872,5.549313358302123,3.370786516853933,2.6466916354556806,2.8339575530586765,7.740324594257178,4.881398252184769,3.2771535580524347,6.367041198501872,4.837702871410737,5.380774032459426,5.836454431960051,8.11485642946317,3.3458177278401995,4.9937578027465666,5.749063670411985,7.303370786516854,7.677902621722847,4.9937578027465666,3.6704119850187267,4.712858926342073,5.049937578027466,3.258426966292135,7.615480649188515,5.043695380774032,3.8639200998751564,7.240948813982522,3.4019975031210987,5.012484394506866,5.674157303370786,6.079900124843945,7.240948813982522,5.3620474406991265,7.615480649188515,7.428214731585518,5.499375780274657,4.519350811485642,2.565543071161049,3.5393258426966296,8.239700374531834,5.36828963795256,4.70661672908864,2.3845193508114857,7.990012484394507,5.692883895131087,6.741573033707866,3.470661672908864,5.218476903870163,5.062421972534332,7.365792759051186,2.0287141073657926,3.920099875156055,3.564294631710362,4.3508114856429465,7.553058676654182,2.902621722846442,6.803995006242197,6.098626716604246,5.674157303370786, +5.66167290886392,7.303370786516854,4.325842696629214,7.17852684144819,5.249687890137328,5.224719101123595,2.1722846441947565,5.0374531835206,2.8589263420724094,4.419475655430712,5.074906367041199,3.17103620474407,1.8601747815230962,2.2222222222222223,3.2709113607990012,7.8027465667915115,6.554307116104869,4.800249687890138,3.576779026217228,3.0836454431960054,5.811485642946318,7.303370786516854,4.569288389513109,7.553058676654182,6.741573033707866,2.871410736579276,2.602996254681648,2.309612983770287,3.857677902621723,5.692883895131087,1.8789013732833957,3.108614232209738,6.491885143570538,5.474406991260924,2.8027465667915106,4.1260923845193505,2.990012484394507,8.177278401997503,5.8988764044943816,2.066167290886392,2.278401997503121,6.429463171036204,5.574282147315855,3.4019975031210987,2.6779026217228465,2.8589263420724094,7.8027465667915115,4.912609238451935,3.3146067415730336,6.429463171036204,4.868913857677903,5.411985018726591,5.861423220973783,8.177278401997503,3.370786516853933,5.012484394506866,5.7802746566791505,7.365792759051186,7.677902621722847,5.024968789013733,3.689138576779026,4.737827715355805,5.081148564294631,3.2833957553058677,7.677902621722847,5.068664169787765,3.882646691635456,7.303370786516854,3.4269662921348316,5.0374531835206,5.705368289637952,6.111111111111111,7.240948813982522,5.393258426966292,7.615480649188515,7.49063670411985,5.524344569288389,4.55056179775281,2.5905118601747814,3.576779026217228,8.302122347066168,5.399500624219725,4.737827715355805,2.4094881398252186,7.990012484394507,5.711610486891385,6.803995006242197,3.5018726591760303,5.243445692883895,5.093632958801498,7.365792759051186,2.0536828963795255,3.951310861423221,3.595505617977528,4.382022471910113,7.615480649188515,2.9400749063670415,6.866416978776529,6.123595505617978,5.69912609238452, +5.692883895131087,7.303370786516854,4.357053682896379,7.17852684144819,5.274656679151062,5.249687890137328,2.1910112359550564,5.062421972534332,2.8901373283395753,4.444444444444445,5.093632958801498,3.202247191011236,1.8789013732833957,2.253433208489388,3.295880149812734,7.8027465667915115,6.554307116104869,4.831460674157303,3.6017478152309614,3.102372034956305,5.842696629213483,7.365792759051186,4.594257178526841,7.553058676654182,6.741573033707866,2.902621722846442,2.634207240948814,2.33458177278402,3.888888888888889,5.711610486891385,1.9038701622971288,3.1460674157303368,6.554307116104869,5.493133583021224,2.8277153558052435,4.144818976279651,3.027465667915106,8.239700374531834,5.9238451935081144,2.091136079900125,2.303370786516854,6.429463171036204,5.599250936329588,3.4332084893882646,2.7091136079900124,2.8838951310861427,7.8027465667915115,4.943820224719102,3.3458177278401995,6.429463171036204,4.893882646691636,5.449438202247191,5.8863920099875156,8.177278401997503,3.3957553058676653,5.031210986267166,5.805243445692884,7.365792759051186,7.740324594257178,5.049937578027466,3.7078651685393256,4.7565543071161045,5.1123595505617985,3.3021223470661676,7.677902621722847,5.087390761548065,3.9076154806491883,7.303370786516854,3.451935081148564,5.062421972534332,5.736579275905119,6.1485642946317105,7.240948813982522,5.418227215980025,7.677902621722847,7.49063670411985,5.543071161048689,4.588014981273409,2.6154806491885143,3.6142322097378274,8.302122347066168,5.430711610486892,4.775280898876405,2.428214731585518,8.05243445692884,5.736579275905119,6.803995006242197,3.533083645443196,5.268414481897628,5.1248439450686645,7.365792759051186,2.0724094881398254,3.982521847690387,3.620474406991261,4.413233458177278,7.677902621722847,2.9712858926342074,6.866416978776529,6.1485642946317105,5.717852684144819, +5.724094881398252,7.365792759051186,4.394506866416979,7.240948813982522,5.299625468164794,5.274656679151062,2.215980024968789,5.087390761548065,2.9213483146067416,4.463171036204744,5.118601747815231,3.233458177278402,1.9038701622971288,2.2846441947565546,3.320848938826467,7.865168539325843,6.616729088639201,4.8626716604244695,3.6267166042446943,3.1273408239700373,5.8739076154806495,7.365792759051186,4.619225967540574,7.615480649188515,6.803995006242197,2.9275905118601746,2.66541822721598,2.359550561797753,3.920099875156055,5.736579275905119,1.9288389513108615,3.1772784019975036,6.554307116104869,5.5181023720349565,2.8464419475655434,4.169787765293384,3.058676654182272,8.239700374531834,5.948813982521848,2.1098626716604243,2.328339575530587,6.429463171036204,5.630461922596755,3.464419475655431,2.7340823970037453,2.9151061173533086,7.865168539325843,4.9812734082397006,3.3770287141073654,6.491885143570538,4.925093632958801,5.480649188514358,5.917602996254682,8.239700374531834,3.4144818976279647,5.056179775280899,5.836454431960051,7.428214731585518,7.740324594257178,5.074906367041199,3.7265917602996255,4.775280898876405,5.143570536828964,3.3270911360799,7.740324594257178,5.1123595505617985,3.926342072409488,7.303370786516854,3.4769038701622974,5.081148564294631,5.767790262172285,6.179775280898876,7.303370786516854,5.449438202247191,7.677902621722847,7.49063670411985,5.561797752808988,4.619225967540574,2.640449438202247,3.6454431960049942,8.3645443196005,5.461922596754057,4.806491885143571,2.453183520599251,8.05243445692884,5.761548064918852,6.866416978776529,3.564294631710362,5.293383270911361,5.15605493133583,7.428214731585518,2.097378277153558,4.013732833957553,3.6454431960049942,4.450686641697877,7.677902621722847,3.0024968789013733,6.928838951310862,6.173533083645444,5.742821473158552, +5.7553058676654185,7.365792759051186,4.425717852684145,7.240948813982522,5.324594257178527,5.293383270911361,2.2409488139825218,5.118601747815231,2.9525593008739075,4.488139825218477,5.1373283395755305,3.258426966292135,1.9288389513108615,2.3158551810237205,3.3458177278401995,7.865168539325843,6.616729088639201,4.893882646691636,3.651685393258427,3.1460674157303368,5.8988764044943816,7.428214731585518,4.644194756554308,7.615480649188515,6.803995006242197,2.958801498127341,2.696629213483146,2.3845193508114857,3.951310861423221,5.761548064918852,1.9538077403245941,3.2084893882646695,6.616729088639201,5.536828963795256,2.871410736579276,4.194756554307116,3.0961298377028714,8.302122347066168,5.97378277153558,2.128589263420724,2.35330836454432,6.491885143570538,5.655430711610487,3.5018726591760303,2.7652933832709112,2.9400749063670415,7.865168539325843,5.012484394506866,3.4144818976279647,6.491885143570538,4.950062421972534,5.5181023720349565,5.942571785268415,8.302122347066168,3.439450686641698,5.074906367041199,5.867665418227216,7.428214731585518,7.8027465667915115,5.106117353308365,3.745318352059925,4.800249687890138,5.181023720349563,3.352059925093633,7.740324594257178,5.131086142322098,3.951310861423221,7.365792759051186,3.5018726591760303,5.106117353308365,5.799001248439451,6.210986267166042,7.303370786516854,5.474406991260924,7.740324594257178,7.553058676654182,5.586766541822722,4.656679151061174,2.6591760299625467,3.682896379525593,8.426966292134832,5.493133583021224,4.837702871410737,2.471910112359551,8.11485642946317,5.786516853932584,6.866416978776529,3.595505617977528,5.318352059925093,5.19350811485643,7.428214731585518,2.122347066167291,4.044943820224719,3.6704119850187267,4.4818976279650435,7.740324594257178,3.0399500624219726,6.928838951310862,6.20474406991261,5.767790262172285, +5.786516853932584,7.428214731585518,4.463171036204744,7.240948813982522,5.34956304619226,5.318352059925093,2.259675405742821,5.143570536828964,2.977528089887641,4.51310861423221,5.15605493133583,3.2896379525593007,1.9475655430711611,2.340823970037453,3.370786516853933,7.927590511860175,6.679151061173534,4.925093632958801,3.6766541822721597,3.17103620474407,5.930087390761548,7.428214731585518,4.66916354556804,7.677902621722847,6.866416978776529,2.990012484394507,2.727840199750312,2.4094881398252186,3.982521847690387,5.786516853932584,1.978776529338327,3.245942571785269,6.616729088639201,5.561797752808988,2.8963795255930087,4.219725343320849,3.1273408239700373,8.302122347066168,5.998751560549313,2.1473158551810236,2.3782771535580522,6.491885143570538,5.68039950062422,3.533083645443196,2.7965043695380776,2.965043695380774,7.927590511860175,5.049937578027466,3.4456928838951315,6.491885143570538,4.9812734082397006,5.549313358302123,5.967540574282147,8.302122347066168,3.464419475655431,5.093632958801498,5.892634207240949,7.49063670411985,7.8027465667915115,5.131086142322098,3.764044943820225,4.818976279650437,5.212234706616729,3.370786516853933,7.8027465667915115,5.15605493133583,3.970037453183521,7.365792759051186,3.5205992509363297,5.131086142322098,5.830212234706617,6.242197253433209,7.365792759051186,5.499375780274657,7.740324594257178,7.553058676654182,5.605493133583021,4.687890137328339,2.68414481897628,3.714107365792759,8.426966292134832,5.524344569288389,4.875156054931336,2.4968789013732833,8.11485642946317,5.811485642946318,6.866416978776529,3.6267166042446943,5.343320848938826,5.224719101123595,7.49063670411985,2.1473158551810236,4.0761548064918856,3.701622971285893,4.51310861423221,7.8027465667915115,3.0711610486891385,6.991260923845194,6.229712858926342,5.786516853932584, +5.81772784019975,7.428214731585518,4.49438202247191,7.303370786516854,5.3745318352059925,5.337078651685393,2.2846441947565546,5.168539325842697,3.0087390761548067,4.531835205992509,5.181023720349563,3.320848938826467,1.9725343320848938,2.3720349563046192,3.3957553058676653,7.927590511860175,6.679151061173534,4.950062421972534,3.701622971285893,3.1897627965043696,5.961298377028713,7.49063670411985,4.694132334581773,7.677902621722847,6.866416978776529,3.0149812734082393,2.7590511860174782,2.4344569288389515,4.013732833957553,5.811485642946318,2.00374531835206,3.2771535580524347,6.616729088639201,5.586766541822722,2.9151061173533086,4.238451935081149,3.1647940074906367,8.3645443196005,6.023720349563047,2.1722846441947565,2.4032459425717856,6.554307116104869,5.711610486891385,3.564294631710362,2.8277153558052435,2.9962546816479403,7.927590511860175,5.081148564294631,3.4769038701622974,6.554307116104869,5.0062421972534334,5.580524344569288,5.992509363295881,8.3645443196005,3.4893882646691634,5.118601747815231,5.9238451935081144,7.553058676654182,7.8027465667915115,5.15605493133583,3.7827715355805243,4.837702871410737,5.243445692883895,3.3957553058676653,7.8027465667915115,5.181023720349563,3.9950062421972534,7.365792759051186,3.545568039950062,5.15605493133583,5.861423220973783,6.30461922596754,7.365792759051186,5.5305867665418225,7.8027465667915115,7.553058676654182,5.6242197253433215,4.725343320848939,2.7091136079900124,3.7515605493133584,8.489388264669165,5.555555555555556,4.906367041198502,2.515605493133583,8.177278401997503,5.836454431960051,6.928838951310862,3.6579275905118602,5.36828963795256,5.2559300873907615,7.49063670411985,2.1722846441947565,4.107365792759051,3.7265917602996255,4.55056179775281,7.8027465667915115,3.108614232209738,6.991260923845194,6.242197253433209,5.811485642946318, +5.842696629213483,7.49063670411985,4.525593008739076,7.303370786516854,5.405742821473158,5.3620474406991265,2.309612983770287,5.19350811485643,3.0399500624219726,4.556803995006242,5.199750312109863,3.352059925093633,1.9975031210986267,2.4032459425717856,3.420724094881398,7.990012484394507,6.741573033707866,4.9812734082397006,3.7265917602996255,3.214731585518102,5.986267166042447,7.49063670411985,4.719101123595506,7.740324594257178,6.928838951310862,3.046192259675406,2.7840199750312107,2.459425717852684,4.044943820224719,5.836454431960051,2.0287141073657926,3.3083645443196006,6.679151061173534,5.605493133583021,2.9400749063670415,4.263420724094882,3.1960049937578026,8.3645443196005,6.0424469413233455,2.1910112359550564,2.428214731585518,6.554307116104869,5.736579275905119,3.595505617977528,2.852684144818976,3.0212234706616727,7.990012484394507,5.1123595505617985,3.5143570536828963,6.554307116104869,5.0374531835206,5.617977528089888,6.0174781523096135,8.3645443196005,3.5143570536828963,5.1373283395755305,5.948813982521848,7.553058676654182,7.865168539325843,5.187265917602996,3.801498127340824,4.8626716604244695,5.274656679151062,3.4144818976279647,7.865168539325843,5.199750312109863,4.013732833957553,7.428214731585518,3.5705368289637955,5.181023720349563,5.8863920099875156,6.30461922596754,7.365792759051186,5.555555555555556,7.8027465667915115,7.615480649188515,5.6491885143570535,4.7565543071161045,2.7340823970037453,3.7827715355805243,8.551810237203496,5.586766541822722,4.937578027465668,2.5405742821473156,8.177278401997503,5.855181023720349,6.928838951310862,3.689138576779026,5.393258426966292,5.287141073657928,7.553058676654182,2.1972534332084894,4.138576779026217,3.7515605493133584,4.581772784019975,7.865168539325843,3.139825218476904,7.0536828963795255,6.30461922596754,5.836454431960051, +5.8739076154806495,7.49063670411985,4.563046192259676,7.365792759051186,5.430711610486892,5.3870162297128585,2.328339575530587,5.218476903870163,3.0711610486891385,4.581772784019975,5.224719101123595,3.3770287141073654,2.016229712858926,2.4344569288389515,3.4456928838951315,7.990012484394507,6.741573033707866,5.012484394506866,3.7515605493133584,3.233458177278402,6.0174781523096135,7.553058676654182,4.7440699126092385,7.740324594257178,6.928838951310862,3.077403245942572,2.8152309612983775,2.4843945068664173,4.082397003745319,5.861423220973783,2.0536828963795255,3.3458177278401995,6.679151061173534,5.630461922596755,2.958801498127341,4.288389513108614,3.233458177278402,8.426966292134832,6.067415730337078,2.209737827715356,2.446941323345818,6.554307116104869,5.761548064918852,3.6329588014981273,2.8838951310861427,3.046192259675406,7.990012484394507,5.149812734082397,3.545568039950062,6.616729088639201,5.068664169787765,5.6491885143570535,6.048689138576779,8.426966292134832,3.533083645443196,5.162297128589263,5.980024968789014,7.615480649188515,7.865168539325843,5.212234706616729,3.826466916354557,4.881398252184769,5.305867665418227,3.439450686641698,7.865168539325843,5.224719101123595,4.038701622971286,7.428214731585518,3.595505617977528,5.205992509363296,5.917602996254682,6.367041198501872,7.428214731585518,5.580524344569288,7.865168539325843,7.615480649188515,5.667915106117353,4.794007490636704,2.7590511860174782,3.8202247191011236,8.551810237203496,5.617977528089888,4.975031210986267,2.5593008739076155,8.239700374531834,5.880149812734083,6.991260923845194,3.7203495630461925,5.418227215980025,5.318352059925093,7.553058676654182,2.2222222222222223,4.169787765293384,3.776529338327091,4.612983770287141,7.865168539325843,3.1772784019975036,7.0536828963795255,6.30461922596754,5.861423220973783, +5.905118601747815,7.553058676654182,4.594257178526841,7.365792759051186,5.455680399500624,5.405742821473158,2.35330836454432,5.249687890137328,3.0961298377028714,4.600499375780275,5.243445692883895,3.408239700374532,2.0411985018726595,2.4656679151061174,3.470661672908864,8.05243445692884,6.803995006242197,5.043695380774032,3.776529338327091,3.258426966292135,6.048689138576779,7.553058676654182,4.769038701622971,7.8027465667915115,6.991260923845194,3.102372034956305,2.8464419475655434,2.5093632958801497,4.1136079900124844,5.8863920099875156,2.0786516853932584,3.3770287141073654,6.679151061173534,5.6491885143570535,2.9837702871410734,4.313358302122348,3.2646691635455682,8.426966292134832,6.092384519350812,2.2347066167290888,2.471910112359551,6.616729088639201,5.786516853932584,3.6641697877652937,2.9151061173533086,3.077403245942572,8.05243445692884,5.181023720349563,3.5830212234706615,6.616729088639201,5.093632958801498,5.686641697877653,6.073657927590512,8.426966292134832,3.5580524344569286,5.181023720349563,6.004993757802747,7.615480649188515,7.927590511860175,5.237203495630462,3.8451935081148565,4.900124843945068,5.337078651685393,3.464419475655431,7.927590511860175,5.243445692883895,4.057428214731585,7.428214731585518,3.620474406991261,5.230961298377029,5.948813982521848,6.367041198501872,7.428214731585518,5.611735330836455,7.865168539325843,7.615480649188515,5.686641697877653,4.825218476903871,2.7840199750312107,3.857677902621723,8.614232209737828,5.64294631710362,5.0062421972534334,2.5842696629213484,8.239700374531834,5.905118601747815,6.991260923845194,3.7515605493133584,5.443196004993759,5.34956304619226,7.615480649188515,2.2409488139825218,4.200998751560549,3.8077403245942576,4.65043695380774,7.927590511860175,3.2084893882646695,7.116104868913857,6.30461922596754,5.880149812734083, +5.936329588014981,7.553058676654182,4.6254681647940075,7.428214731585518,5.480649188514358,5.430711610486892,2.3782771535580522,5.274656679151062,3.1273408239700373,4.6254681647940075,5.268414481897628,3.439450686641698,2.066167290886392,2.4906367041198503,3.495630461922597,8.05243445692884,6.803995006242197,5.074906367041199,3.801498127340824,3.2771535580524347,6.073657927590512,7.615480649188515,4.787765293383271,7.8027465667915115,6.991260923845194,3.1335830212234708,2.8776529338327093,2.5343320848938826,4.144818976279651,5.9113607990012484,2.1036204744069913,3.4144818976279647,6.741573033707866,5.674157303370786,3.0087390761548067,4.332084893882647,3.3021223470661676,8.489388264669165,6.117353308364544,2.253433208489388,2.4968789013732833,6.616729088639201,5.81772784019975,3.6953807740324596,2.9400749063670415,3.102372034956305,8.05243445692884,5.212234706616729,3.6142322097378274,6.679151061173534,5.1248439450686645,5.717852684144819,6.098626716604246,8.489388264669165,3.5830212234706615,5.199750312109863,6.036204744069912,7.677902621722847,7.927590511860175,5.268414481897628,3.8639200998751564,4.925093632958801,5.36828963795256,3.4831460674157304,7.927590511860175,5.268414481897628,4.082397003745319,7.49063670411985,3.6454431960049942,5.2559300873907615,5.980024968789014,6.429463171036204,7.428214731585518,5.636704119850187,7.927590511860175,7.677902621722847,5.711610486891385,4.8626716604244695,2.808988764044944,3.888888888888889,8.614232209737828,5.674157303370786,5.043695380774032,2.602996254681648,8.302122347066168,5.930087390761548,6.991260923845194,3.7827715355805243,5.468164794007491,5.3870162297128585,7.615480649188515,2.2659176029962547,4.2322097378277155,3.83270911360799,4.681647940074906,7.990012484394507,3.245942571785269,7.116104868913857,6.367041198501872,5.905118601747815, +5.967540574282147,7.615480649188515,4.662921348314606,7.428214731585518,5.50561797752809,5.455680399500624,2.397003745318352,5.299625468164794,3.1585518102372037,4.65043695380774,5.287141073657928,3.464419475655431,2.084893882646692,2.521847690387016,3.5205992509363297,8.11485642946317,6.866416978776529,5.106117353308365,3.826466916354557,3.3021223470661676,6.104868913857677,7.615480649188515,4.812734082397004,7.8027465667915115,7.0536828963795255,3.1647940074906367,2.908863920099875,2.5593008739076155,4.176029962546816,5.936329588014981,2.128589263420724,3.4456928838951315,6.741573033707866,5.692883895131087,3.027465667915106,4.357053682896379,3.3333333333333335,8.489388264669165,6.142322097378277,2.272159800249688,2.521847690387016,6.616729088639201,5.842696629213483,3.732833957553059,2.9712858926342074,3.1273408239700373,8.11485642946317,5.249687890137328,3.6454431960049942,6.679151061173534,5.149812734082397,5.7553058676654185,6.123595505617978,8.551810237203496,3.607990012484395,5.224719101123595,6.061173533083646,7.740324594257178,7.927590511860175,5.293383270911361,3.882646691635456,4.943820224719102,5.399500624219725,3.508114856429463,7.990012484394507,5.293383270911361,4.1011235955056184,7.49063670411985,3.6704119850187267,5.280898876404494,6.01123595505618,6.429463171036204,7.49063670411985,5.66167290886392,7.927590511860175,7.677902621722847,5.730337078651686,4.893882646691636,2.8339575530586765,3.926342072409488,8.67665418227216,5.705368289637952,5.074906367041199,2.6279650436953808,8.302122347066168,5.955056179775282,7.0536828963795255,3.81398252184769,5.493133583021224,5.418227215980025,7.677902621722847,2.2908863920099876,4.263420724094882,3.857677902621723,4.712858926342073,7.990012484394507,3.2771535580524347,7.17852684144819,6.367041198501872,5.930087390761548, +5.998751560549313,7.615480649188515,4.694132334581773,7.49063670411985,5.5305867665418225,5.474406991260924,2.4219725343320846,5.324594257178527,3.183520599250936,4.66916354556804,5.305867665418227,3.495630461922597,2.1098626716604243,2.5530586766541825,3.545568039950062,8.11485642946317,6.866416978776529,5.1373283395755305,3.8514357053682895,3.320848938826467,6.1360799001248445,7.677902621722847,4.837702871410737,7.865168539325843,7.0536828963795255,3.1897627965043696,2.933832709113608,2.5842696629213484,4.207240948813983,5.961298377028713,2.153558052434457,3.4769038701622974,6.741573033707866,5.717852684144819,3.0524344569288386,4.382022471910113,3.370786516853933,8.551810237203496,6.167290886392011,2.2908863920099876,2.546816479400749,6.679151061173534,5.867665418227216,3.764044943820225,3.0024968789013733,3.1585518102372037,8.11485642946317,5.280898876404494,3.682896379525593,6.741573033707866,5.181023720349563,5.786516853932584,6.1485642946317105,8.551810237203496,3.6329588014981273,5.243445692883895,6.092384519350812,7.740324594257178,7.990012484394507,5.318352059925093,3.9013732833957557,4.962546816479401,5.430711610486892,3.5268414481897628,7.990012484394507,5.312109862671661,4.1260923845193505,7.553058676654182,3.6953807740324596,5.305867665418227,6.0424469413233455,6.491885143570538,7.49063670411985,5.692883895131087,7.990012484394507,7.677902621722847,5.749063670411985,4.931335830212235,2.8589263420724094,3.957553058676654,8.739076154806492,5.736579275905119,5.106117353308365,2.6466916354556806,8.3645443196005,5.980024968789014,7.0536828963795255,3.8451935081148565,5.5181023720349565,5.449438202247191,7.677902621722847,2.3158551810237205,4.294631710362047,3.888888888888889,4.7440699126092385,8.05243445692884,3.3083645443196006,7.17852684144819,6.429463171036204,5.955056179775282, +6.029962546816479,7.677902621722847,4.725343320848939,7.49063670411985,5.555555555555556,5.499375780274657,2.446941323345818,5.34956304619226,3.214731585518102,4.694132334581773,5.33083645443196,3.5268414481897628,2.134831460674157,2.5842696629213484,3.5705368289637955,8.177278401997503,6.928838951310862,5.168539325842697,3.870162297128589,3.3458177278401995,6.161048689138577,7.677902621722847,4.8626716604244695,7.865168539325843,7.0536828963795255,3.2209737827715355,2.965043695380774,2.6092384519350813,4.238451935081149,5.986267166042447,2.1785268414481895,3.5143570536828963,6.803995006242197,5.742821473158552,3.0711610486891385,4.400749063670412,3.4019975031210987,8.551810237203496,6.186017478152309,2.3158551810237205,2.571785268414482,6.679151061173534,5.8988764044943816,3.7952559300873907,3.033707865168539,3.183520599250936,8.177278401997503,5.312109862671661,3.714107365792759,6.741573033707866,5.212234706616729,5.81772784019975,6.179775280898876,8.614232209737828,3.6579275905118602,5.262172284644195,6.117353308364544,7.8027465667915115,7.990012484394507,5.34956304619226,3.920099875156055,4.987515605493134,5.461922596754057,3.5518102372034956,8.05243445692884,5.337078651685393,4.144818976279651,7.553058676654182,3.7203495630461925,5.33083645443196,6.073657927590512,6.491885143570538,7.553058676654182,5.717852684144819,7.990012484394507,7.740324594257178,5.774032459425719,4.962546816479401,2.8838951310861427,3.9950062421972534,8.739076154806492,5.767790262172285,5.143570536828964,2.671660424469413,8.3645443196005,6.004993757802747,7.116104868913857,3.8764044943820224,5.543071161048689,5.480649188514358,7.740324594257178,2.340823970037453,4.31960049937578,3.9138576779026217,4.781523096129837,8.11485642946317,3.3458177278401995,7.240948813982522,6.429463171036204,5.97378277153558, +6.061173533083646,7.677902621722847,4.762796504369538,7.49063670411985,5.580524344569288,5.524344569288389,2.4656679151061174,5.380774032459426,3.245942571785269,4.719101123595506,5.34956304619226,3.5580524344569286,2.153558052434457,2.6154806491885143,3.589263420724095,8.177278401997503,6.928838951310862,5.199750312109863,3.8951310861423223,3.3645443196004994,6.192259675405743,7.740324594257178,4.887640449438202,7.927590511860175,7.116104868913857,3.2521847690387014,2.9962546816479403,2.634207240948814,4.269662921348314,6.01123595505618,2.203495630461923,3.545568039950062,6.803995006242197,5.761548064918852,3.0961298377028714,4.425717852684145,3.439450686641698,8.614232209737828,6.210986267166042,2.33458177278402,2.596754057428215,6.679151061173534,5.9238451935081144,3.826466916354557,3.058676654182272,3.2084893882646695,8.177278401997503,5.34956304619226,3.7515605493133584,6.803995006242197,5.237203495630462,5.855181023720349,6.20474406991261,8.614232209737828,3.6766541822721597,5.287141073657928,6.1485642946317105,7.8027465667915115,8.05243445692884,5.3745318352059925,3.938826466916354,5.0062421972534334,5.493133583021224,3.5705368289637955,8.05243445692884,5.355805243445693,4.169787765293384,7.553058676654182,3.745318352059925,5.355805243445693,6.104868913857677,6.554307116104869,7.553058676654182,5.742821473158552,8.05243445692884,7.740324594257178,5.792759051186017,4.9937578027465666,2.908863920099875,4.02621722846442,8.801498127340825,5.799001248439451,5.174781523096129,2.690387016229713,8.426966292134832,6.023720349563047,7.116104868913857,3.9076154806491883,5.568039950062421,5.511860174781523,7.740324594257178,2.3657927590511862,4.3508114856429465,3.938826466916354,4.812734082397004,8.11485642946317,3.3770287141073654,7.240948813982522,6.429463171036204,5.998751560549313, +6.086142322097379,7.740324594257178,4.794007490636704,7.553058676654182,5.605493133583021,5.543071161048689,2.4906367041198503,5.405742821473158,3.2771535580524347,4.737827715355805,5.3745318352059925,3.5830212234706615,2.1785268414481895,2.640449438202247,3.6142322097378274,8.177278401997503,,,3.920099875156055,3.3895131086142323,6.223470661672909,7.740324594257178,4.912609238451935,7.927590511860175,7.116104868913857,3.2771535580524347,3.027465667915106,2.6591760299625467,4.300873907615481,6.036204744069912,2.2284644194756553,3.576779026217228,6.803995006242197,5.786516853932584,3.1210986267166043,4.450686641697877,3.470661672908864,8.614232209737828,6.235955056179775,2.35330836454432,2.6154806491885143,6.741573033707866,5.948813982521848,3.8639200998751564,3.089887640449438,3.2397003745318353,8.239700374531834,,3.7827715355805243,6.803995006242197,5.268414481897628,5.8863920099875156,,8.67665418227216,3.701622971285893,5.305867665418227,6.179775280898876,,8.05243445692884,5.399500624219725,3.957553058676654,5.024968789013733,5.5305867665418225,3.595505617977528,8.11485642946317,5.380774032459426,4.188514357053683,7.615480649188515,3.764044943820225,5.380774032459426,6.1360799001248445,6.554307116104869,7.553058676654182,5.774032459425719,8.05243445692884,7.740324594257178,5.811485642946318,5.031210986267166,2.933832709113608,4.063670411985019,,5.830212234706617,5.205992509363296,2.7091136079900124,,6.048689138576779,7.116104868913857,3.938826466916354,5.593008739076155,5.549313358302123,,2.3907615480649187,4.382022471910113,3.9637952559300875,4.843945068664169,,3.4144818976279647,7.240948813982522,6.491885143570538,6.023720349563047, +6.117353308364544,7.8027465667915115,4.831460674157303,7.553058676654182,5.630461922596755,5.568039950062421,2.515605493133583,5.430711610486892,3.3021223470661676,4.762796504369538,5.393258426966292,3.6142322097378274,2.203495630461923,2.671660424469413,3.639200998751561,8.239700374531834,,,3.9450686641697876,3.408239700374532,6.242197253433209,7.8027465667915115,4.937578027465668,7.990012484394507,7.17852684144819,3.3083645443196006,3.058676654182272,2.68414481897628,4.332084893882647,6.061173533083646,2.253433208489388,3.6142322097378274,6.866416978776529,5.805243445692884,3.139825218476904,4.475655430711611,3.508114856429463,8.67665418227216,6.242197253433209,2.3782771535580522,2.640449438202247,6.741573033707866,5.97378277153558,3.8951310861423223,3.1210986267166043,3.2646691635455682,8.239700374531834,,3.81398252184769,6.866416978776529,5.293383270911361,5.9238451935081144,,8.67665418227216,,5.324594257178527,6.20474406991261,,8.05243445692884,5.430711610486892,3.9762796504369535,5.049937578027466,5.561797752808988,3.620474406991261,8.11485642946317,5.405742821473158,4.213483146067416,7.615480649188515,3.7890137328339577,5.405742821473158,6.167290886392011,6.616729088639201,7.615480649188515,5.799001248439451,8.11485642946317,7.8027465667915115,5.836454431960051,5.062421972534332,,4.1011235955056184,,5.861423220973783,5.243445692883895,2.7340823970037453,,6.073657927590512,7.17852684144819,3.970037453183521,5.617977528089888,5.580524344569288,,2.4094881398252186,4.413233458177278,3.9950062421972534,4.881398252184769,,3.4456928838951315,7.303370786516854,6.491885143570538,6.048689138576779, +6.1485642946317105,7.8027465667915115,4.8626716604244695,7.615480649188515,5.655430711610487,5.593008739076155,2.5343320848938826,5.455680399500624,3.3333333333333335,4.787765293383271,5.418227215980025,3.6454431960049942,2.2222222222222223,2.702871410736579,3.6641697877652937,8.239700374531834,,,3.970037453183521,3.4269662921348316,6.30461922596754,7.8027465667915115,4.962546816479401,7.990012484394507,7.17852684144819,3.339575530586767,3.089887640449438,2.7091136079900124,4.3632958801498125,6.086142322097379,2.272159800249688,3.6454431960049942,6.866416978776529,5.830212234706617,3.1647940074906367,4.49438202247191,3.545568039950062,8.67665418227216,6.30461922596754,2.397003745318352,2.66541822721598,6.741573033707866,6.004993757802747,3.926342072409488,3.1460674157303368,3.2896379525593007,8.302122347066168,,,6.866416978776529,5.324594257178527,5.955056179775282,,8.739076154806492,,5.34956304619226,6.235955056179775,,8.11485642946317,5.455680399500624,4.001248439450687,5.068664169787765,5.593008739076155,3.639200998751561,8.177278401997503,5.424469413233458,4.2322097378277155,7.615480649188515,3.81398252184769,5.430711610486892,6.198501872659176,6.616729088639201,7.615480649188515,5.830212234706617,8.11485642946317,7.8027465667915115,5.855181023720349,5.099875156054932,,4.132334581772784,,5.892634207240949,5.274656679151062,2.752808988764045,,6.098626716604246,7.17852684144819,4.001248439450687,5.6491885143570535,5.611735330836455,,2.4344569288389515,4.444444444444445,4.019975031210986,4.912609238451935,,3.4831460674157304,7.303370786516854,6.554307116104869,6.067415730337078, +,7.865168539325843,4.893882646691636,,5.68039950062422,5.611735330836455,2.5593008739076155,,3.3645443196004994,4.806491885143571,5.436953807740325,3.6766541822721597,2.247191011235955,2.7340823970037453,3.689138576779026,8.302122347066168,,,3.9950062421972534,3.451935081148564,6.30461922596754,7.865168539325843,4.987515605493134,8.05243445692884,7.240948813982522,3.3645443196004994,3.114856429463171,2.7340823970037453,4.400749063670412,6.111111111111111,2.2971285892634206,3.682896379525593,6.866416978776529,5.848938826466916,3.183520599250936,4.519350811485642,3.576779026217228,8.739076154806492,6.30461922596754,2.4157303370786516,2.690387016229713,6.803995006242197,6.029962546816479,3.957553058676654,3.1772784019975036,3.3146067415730336,8.302122347066168,,,6.928838951310862,5.34956304619226,5.986267166042447,,8.801498127340825,,5.36828963795256,6.242197253433209,,8.11485642946317,5.480649188514358,4.019975031210986,5.087390761548065,5.6242197253433215,3.6641697877652937,8.177278401997503,5.449438202247191,4.257178526841448,7.677902621722847,3.8389513108614235,5.455680399500624,6.229712858926342,6.679151061173534,7.615480649188515,5.855181023720349,8.177278401997503,7.8027465667915115,5.880149812734083,5.131086142322098,,4.169787765293384,,5.9238451935081144,5.305867665418227,2.777777777777778,,6.123595505617978,7.240948813982522,4.032459425717852,5.674157303370786,5.64294631710362,,2.459425717852684,4.475655430711611,4.044943820224719,4.943820224719102,,3.5143570536828963,7.365792759051186,6.554307116104869,6.092384519350812, +,7.865168539325843,4.931335830212235,,5.705368289637952,5.636704119850187,2.5842696629213484,,3.3957553058676653,4.831460674157303,5.455680399500624,3.701622971285893,2.272159800249688,2.7652933832709112,3.714107365792759,,,,4.019975031210986,3.470661672908864,6.367041198501872,7.865168539325843,5.0062421972534334,,7.240948813982522,3.3957553058676653,3.1460674157303368,2.7590511860174782,4.431960049937578,6.1360799001248445,,3.714107365792759,6.928838951310862,5.8739076154806495,3.2084893882646695,4.544319600499376,3.6142322097378274,8.739076154806492,6.30461922596754,2.4406991260923845,2.715355805243446,6.803995006242197,6.054931335830212,3.9950062421972534,3.2084893882646695,3.3458177278401995,8.3645443196005,,,6.928838951310862,5.380774032459426,6.023720349563047,,8.801498127340825,,5.3870162297128585,6.30461922596754,,8.177278401997503,5.50561797752809,4.038701622971286,5.1123595505617985,5.655430711610487,3.682896379525593,8.239700374531834,5.468164794007491,4.275905118601748,7.677902621722847,3.8639200998751564,5.480649188514358,6.242197253433209,6.679151061173534,7.677902621722847,5.880149812734083,8.177278401997503,7.865168539325843,5.8988764044943816,5.168539325842697,,,,5.955056179775282,5.343320848938826,2.7965043695380776,,6.1485642946317105,7.240948813982522,4.063670411985019,5.69912609238452,5.674157303370786,,2.4843945068664173,4.506866416978776,4.069912609238452,4.9812734082397006,,3.5518102372034956,7.365792759051186,6.616729088639201,6.117353308364544, +,7.927590511860175,4.962546816479401,,5.730337078651686,5.655430711610487,2.602996254681648,,3.420724094881398,4.850187265917603,5.480649188514358,3.732833957553059,2.2908863920099876,2.790262172284644,3.7390761548064915,,,,4.044943820224719,3.495630461922597,6.367041198501872,7.927590511860175,5.031210986267166,,7.303370786516854,3.4269662921348316,3.1772784019975036,2.7840199750312107,4.463171036204744,,,3.745318352059925,6.928838951310862,5.8988764044943816,3.233458177278402,4.569288389513109,3.6454431960049942,8.801498127340825,6.367041198501872,2.459425717852684,2.740324594257179,6.866416978776529,6.086142322097379,4.02621722846442,3.2397003745318353,3.370786516853933,8.3645443196005,,,6.991260923845194,5.411985018726591,6.054931335830212,,8.863920099875156,,5.411985018726591,6.30461922596754,,8.177278401997503,5.536828963795256,4.057428214731585,5.131086142322098,5.686641697877653,3.7078651685393256,8.239700374531834,5.493133583021224,4.294631710362047,7.677902621722847,3.888888888888889,5.50561797752809,6.30461922596754,6.741573033707866,7.677902621722847,5.9113607990012484,8.239700374531834,7.865168539325843,5.917602996254682,5.199750312109863,,,,5.986267166042447,5.3745318352059925,2.82147315855181,,6.173533083645444,7.240948813982522,4.094881398252185,5.724094881398252,5.705368289637952,,2.5093632958801497,4.538077403245943,4.1011235955056184,5.012484394506866,,3.5830212234706615,7.428214731585518,,6.1360799001248445, +,7.927590511860175,4.9937578027465666,,5.7553058676654185,5.68039950062422,2.6279650436953808,,3.451935081148564,4.875156054931336,5.499375780274657,3.764044943820225,2.3158551810237205,2.82147315855181,3.764044943820225,,,,4.069912609238452,3.5143570536828963,6.367041198501872,7.990012484394507,5.056179775280899,,7.303370786516854,3.4581772784019975,3.2084893882646695,2.808988764044944,4.49438202247191,,,3.7827715355805243,6.928838951310862,5.917602996254682,3.2521847690387014,,3.682896379525593,8.801498127340825,6.367041198501872,2.478152309612984,2.7590511860174782,6.866416978776529,6.111111111111111,4.057428214731585,3.2646691635455682,3.3957553058676653,8.426966292134832,,,6.991260923845194,5.436953807740325,6.092384519350812,,8.863920099875156,,5.430711610486892,6.367041198501872,,8.239700374531834,5.561797752808988,4.0761548064918856,5.149812734082397,5.717852684144819,3.7265917602996255,8.302122347066168,5.5181023720349565,4.31960049937578,7.740324594257178,3.9138576779026217,5.5305867665418225,6.30461922596754,6.741573033707866,7.740324594257178,5.936329588014981,8.239700374531834,7.865168539325843,5.942571785268415,5.237203495630462,,,,6.0174781523096135,5.405742821473158,2.84019975031211,,6.192259675405743,7.303370786516854,4.1260923845193505,5.749063670411985,5.742821473158552,,2.5343320848938826,4.569288389513109,4.1260923845193505,5.043695380774032,,3.6142322097378274,7.428214731585518,,6.161048689138577, +,7.990012484394507,5.031210986267166,,5.7802746566791505,5.705368289637952,,,3.4831460674157304,4.900124843945068,5.524344569288389,3.7952559300873907,2.340823970037453,2.852684144818976,3.7890137328339577,,,,4.094881398252185,3.5393258426966296,6.429463171036204,7.990012484394507,5.081148564294631,,7.365792759051186,3.4831460674157304,3.2397003745318353,2.8339575530586765,4.525593008739076,,,3.81398252184769,6.991260923845194,,3.2771535580524347,,3.714107365792759,8.863920099875156,6.429463171036204,2.4968789013732833,2.7840199750312107,6.866416978776529,6.1360799001248445,4.0886392009987516,3.295880149812734,,8.426966292134832,,,7.0536828963795255,5.468164794007491,6.123595505617978,,8.926342072409488,,5.455680399500624,6.367041198501872,,8.239700374531834,,4.094881398252185,5.174781523096129,5.749063670411985,3.7515605493133584,8.302122347066168,5.536828963795256,4.33832709113608,7.740324594257178,3.938826466916354,5.555555555555556,,6.803995006242197,7.740324594257178,5.961298377028713,8.302122347066168,7.927590511860175,5.961298377028713,5.268414481897628,,,,6.048689138576779,5.443196004993759,2.865168539325843,,6.217228464419476,7.303370786516854,4.157303370786517,5.774032459425719,5.774032459425719,,2.5530586766541825,4.600499375780275,4.151061173533084,5.081148564294631,,3.651685393258427,,,6.186017478152309, +,,5.062421972534332,,5.805243445692884,,,,3.5143570536828963,4.918851435705368,5.543071161048689,3.8202247191011236,2.359550561797753,2.8838951310861427,3.81398252184769,,,,4.119850187265917,3.5580524344569286,6.429463171036204,8.05243445692884,5.106117353308365,,7.365792759051186,3.5143570536828963,3.2709113607990012,2.8589263420724094,4.556803995006242,,,3.8451935081148565,6.991260923845194,,3.295880149812734,,3.7515605493133584,8.863920099875156,6.429463171036204,2.521847690387016,2.808988764044944,6.928838951310862,6.161048689138577,4.1260923845193505,3.3270911360799,,8.489388264669165,,,7.0536828963795255,5.493133583021224,6.161048689138577,,,,5.474406991260924,6.429463171036204,,8.239700374531834,,4.1136079900124844,5.19350811485643,5.7802746566791505,3.776529338327091,8.3645443196005,5.561797752808988,4.3632958801498125,7.740324594257178,3.9637952559300875,5.580524344569288,,6.803995006242197,,5.992509363295881,8.302122347066168,7.927590511860175,5.980024968789014,5.305867665418227,,,,6.079900124843945,5.474406991260924,2.8838951310861427,,6.242197253433209,7.365792759051186,4.18227215980025,5.799001248439451,5.805243445692884,,2.578027465667915,4.631710362047441,4.18227215980025,5.1123595505617985,,3.682896379525593,,,6.210986267166042, +,,5.093632958801498,,5.830212234706617,,,,3.5393258426966296,4.943820224719102,5.568039950062421,3.8514357053682895,2.3845193508114857,2.908863920099875,3.8389513108614235,,,,4.144818976279651,3.5830212234706615,6.491885143570538,,5.131086142322098,,7.428214731585518,3.545568039950062,3.295880149812734,2.8838951310861427,4.588014981273409,,,3.882646691635456,6.991260923845194,,3.320848938826467,,,8.926342072409488,6.429463171036204,2.5405742821473156,2.8339575530586765,6.928838951310862,,,3.352059925093633,,8.489388264669165,,,7.116104868913857,5.524344569288389,6.192259675405743,,,,5.493133583021224,6.429463171036204,,8.302122347066168,,4.132334581772784,5.212234706616729,5.811485642946318,3.7952559300873907,8.3645443196005,5.580524344569288,4.382022471910113,7.8027465667915115,3.9887640449438204,5.605493133583021,,6.866416978776529,,6.0174781523096135,8.3645443196005,7.927590511860175,6.004993757802747,5.337078651685393,,,,6.111111111111111,5.50561797752809,2.908863920099875,,6.242197253433209,7.365792759051186,4.213483146067416,5.823970037453184,5.836454431960051,,2.602996254681648,4.662921348314606,4.207240948813983,5.143570536828964,,3.7203495630461925,,,6.229712858926342, +,,5.131086142322098,,5.855181023720349,,,,3.5705368289637955,4.9687890137328345,5.586766541822722,3.882646691635456,2.4094881398252186,2.9400749063670415,3.8639200998751564,,,,4.169787765293384,3.6017478152309614,6.491885143570538,,5.15605493133583,,7.428214731585518,3.5705368289637955,3.3270911360799,2.908863920099875,4.619225967540574,,,3.9138576779026217,7.0536828963795255,,3.3458177278401995,,,8.926342072409488,6.491885143570538,2.5593008739076155,2.8589263420724094,6.928838951310862,,,3.383270911360799,,8.551810237203496,,,7.116104868913857,,,,,,5.5181023720349565,6.491885143570538,,8.302122347066168,,4.151061173533084,5.237203495630462,5.842696629213483,3.8202247191011236,8.426966292134832,5.605493133583021,4.406991260923846,7.8027465667915115,4.00749063670412,5.630461922596755,,,,6.0424469413233455,8.3645443196005,7.990012484394507,6.023720349563047,5.3745318352059925,,,,,5.543071161048689,2.9275905118601746,,6.30461922596754,7.428214731585518,4.244694132334582,5.848938826466916,5.867665418227216,,2.6279650436953808,4.694132334581773,4.2322097378277155,5.174781523096129,,3.7515605493133584,,,6.242197253433209, +,,5.162297128589263,,,,,,3.6017478152309614,4.987515605493134,5.605493133583021,3.9076154806491883,2.428214731585518,2.9712858926342074,,,,,4.194756554307116,3.6267166042446943,6.554307116104869,,5.181023720349563,,7.49063670411985,3.6017478152309614,3.3583021223470664,2.933832709113608,4.65043695380774,,,,7.0536828963795255,,3.3645443196004994,,,8.98876404494382,,2.5842696629213484,2.8838951310861427,6.991260923845194,,,3.4144818976279647,,8.551810237203496,,,7.116104868913857,,,,,,5.536828963795256,6.491885143570538,,8.3645443196005,,4.176029962546816,5.2559300873907615,5.880149812734083,3.8389513108614235,8.426966292134832,5.6242197253433215,4.425717852684145,7.8027465667915115,4.032459425717852,,,,,6.073657927590512,8.426966292134832,7.990012484394507,6.0424469413233455,5.405742821473158,,,,,,2.9525593008739075,,,7.428214731585518,,5.8739076154806495,5.905118601747815,,,,4.257178526841448,5.212234706616729,,,,,6.30461922596754, +,,,,,,,,3.6329588014981273,5.012484394506866,5.630461922596755,3.938826466916354,2.453183520599251,3.0024968789013733,,,,,4.213483146067416,3.6454431960049942,6.554307116104869,,5.205992509363296,,7.49063670411985,3.6329588014981273,,2.958801498127341,4.681647940074906,,,,7.0536828963795255,,3.3895131086142323,,,8.98876404494382,,2.602996254681648,2.908863920099875,6.991260923845194,,,,,,,,7.17852684144819,,,,,,5.555555555555556,6.491885143570538,,8.3645443196005,,4.194756554307116,5.274656679151062,5.9113607990012484,3.8639200998751564,8.489388264669165,5.6491885143570535,4.450686641697877,,4.057428214731585,,,,,6.098626716604246,8.426966292134832,7.990012484394507,6.067415730337078,,,,,,,2.9712858926342074,,,7.428214731585518,,5.8988764044943816,5.936329588014981,,,,4.288389513108614,5.243445692883895,,,,,6.30461922596754, +,,,,,,,,3.6579275905118602,5.0374531835206,5.6491885143570535,,2.471910112359551,3.033707865168539,,,,,,3.6704119850187267,6.616729088639201,,5.224719101123595,,7.553058676654182,,,2.9837702871410734,4.712858926342073,,,,7.116104868913857,,3.408239700374532,,,9.051186017478152,,,2.9275905118601746,6.991260923845194,,,,,,,,7.17852684144819,,,,,,5.580524344569288,6.554307116104869,,,,4.213483146067416,5.299625468164794,5.942571785268415,3.888888888888889,8.489388264669165,,4.4694132334581775,,4.082397003745319,,,,,6.123595505617978,8.489388264669165,8.05243445692884,6.086142322097379,,,,,,,2.9962546816479403,,,7.49063670411985,,5.9238451935081144,5.967540574282147,,,,,5.274656679151062,,,,,6.30461922596754, +,,,,,,,,3.689138576779026,5.056179775280899,,,2.4968789013732833,3.058676654182272,,,,,,3.689138576779026,6.616729088639201,,5.249687890137328,,7.553058676654182,,,3.0087390761548067,,,,,7.116104868913857,,3.4332084893882646,,,9.051186017478152,,,2.9525593008739075,7.0536828963795255,,,,,,,,7.240948813982522,,,,,,,,,,,4.2322097378277155,5.318352059925093,5.97378277153558,3.9076154806491883,8.551810237203496,,4.49438202247191,,4.107365792759051,,,,,6.154806491885144,8.489388264669165,8.05243445692884,6.104868913857677,,,,,,,3.0149812734082393,,,7.49063670411985,,5.948813982521848,5.998751560549313,,,,,,,,,,6.367041198501872, +,,,,,,,,3.7203495630461925,,,,,3.089887640449438,,,,,,3.714107365792759,6.679151061173534,,5.274656679151062,,7.553058676654182,,,3.033707865168539,,,,,,,3.4581772784019975,,,9.113607990012484,,,2.977528089887641,,,,,,,,,7.240948813982522,,,,,,,,,,,4.250936329588015,5.337078651685393,6.004993757802747,3.9325842696629216,8.551810237203496,,,,4.132334581772784,,,,,6.179775280898876,8.551810237203496,8.05243445692884,6.129837702871411,,,,,,,3.0399500624219726,,,7.553058676654182,,5.97378277153558,6.029962546816479,,,,,,,,,,6.367041198501872, +,,,,,,,,,,,,,3.1210986267166043,,,,,,3.732833957553059,6.679151061173534,,5.299625468164794,,,,,3.058676654182272,,,,,,,,,,9.113607990012484,,,,,,,,,,,,7.303370786516854,,,,,,,,,,,4.269662921348314,5.3620474406991265,6.036204744069912,3.951310861423221,8.614232209737828,,,,,,,,,6.210986267166042,8.551810237203496,8.11485642946317,6.1485642946317105,,,,,,,3.058676654182272,,,7.553058676654182,,,,,,,,,,,,,6.367041198501872, +,,,,,,,,,,,,,3.15230961298377,,,,,,3.7515605493133584,6.741573033707866,,5.324594257178527,,,,,3.0836454431960054,,,,,,,,,,9.176029962546817,,,,,,,,,,,,7.303370786516854,,,,,,,,,,,4.288389513108614,5.380774032459426,6.067415730337078,3.9762796504369535,8.614232209737828,,,,,,,,,6.235955056179775,,8.11485642946317,6.167290886392011,,,,,,,3.077403245942572,,,7.553058676654182,,,,,,,,,,,,,6.429463171036204, +,,,,,,,,,,,,,,,,,,,,6.741573033707866,,,,,,,,,,,,,,,,,9.176029962546817,,,,,,,,,,,,,,,,,,,,,,,,5.399500624219725,6.098626716604246,,8.67665418227216,,,,,,,,,6.242197253433209,,8.11485642946317,6.192259675405743,,,,,,,3.102372034956305,,,7.615480649188515,,,,,,,,,,,,,6.429463171036204, +,,,,,,,,,,,,,,,,,,,,6.803995006242197,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5.424469413233458,,,,,,,,,,,,6.30461922596754,,,6.210986267166042,,,,,,,3.1210986267166043,,,7.615480649188515,,,,,,,,,,,,,, +3.651685393258427,5.074906367041199,2.1161048689138577,5.305867665418227,3.589263420724095,3.7265917602996255,0.6554307116104868,3.3021223470661676,0.9051186017478152,2.908863920099875,3.6641697877652937,1.223470661672909,0.35268414481897625,0.24968789013732834,1.647940074906367,5.855181023720349,4.4818976279650435,2.7590511860174782,1.9600499375780276,1.6541822721598003,3.8951310861423223,5.224719101123595,2.9712858926342074,5.474406991260924,4.800249687890138,0.9488139825218477,0.6173533083645443,0.6616729088639202,1.7602996254681649,4.057428214731585,0.24781523096129837,0.8926342072409489,5.099875156054932,4.001248439450687,1.317103620474407,2.5842696629213484,0.717852684144819,6.179775280898876,4.313358302122348,0.7116104868913858,0.6928838951310862,4.956304619225968,3.8077403245942576,1.2359550561797754,0.7365792759051186,1.079900124843945,5.724094881398252,2.702871410736579,1.0923845193508115,4.444444444444445,2.9837702871410734,3.183520599250936,4.132334581772784,5.81772784019975,1.797752808988764,3.6267166042446943,3.9076154806491883,4.875156054931336,6.029962546816479,3.2397003745318353,2.4032459425717856,3.3645443196004994,2.9837702871410734,1.8102372034956304,5.6491885143570535,3.5830212234706615,2.446941323345818,5.855181023720349,1.8164794007490637,3.3957553058676653,3.6766541822721597,3.957553058676654,5.705368289637952,3.595505617977528,5.593008739076155,6.104868913857677,4.138576779026217,2.303370786516854,0.9550561797752809,1.2796504369538078,5.730337078651686,3.3645443196004994,2.5343320848938826,0.9800249687890138,5.930087390761548,4.1260923845193505,5.1248439450686645,1.4544319600499376,3.576779026217228,2.958801498127341,5.436953807740325,0.466916354556804,1.9101123595505618,1.8352059925093633,2.1972534332084894,5.031210986267166,0.6928838951310862,4.856429463171036,4.425717852684145,4.157303370786517, +3.682896379525593,5.1123595505617985,2.153558052434457,5.33083645443196,3.6142322097378274,3.745318352059925,0.6803995006242198,3.3270911360799,0.9363295880149812,2.933832709113608,3.682896379525593,1.2546816479400749,0.3757802746566792,0.27965043695380776,1.6729088639200997,5.880149812734083,4.51310861423221,2.790262172284644,1.9850187265917605,1.6791510611735332,3.920099875156055,5.262172284644195,2.9962546816479403,5.50561797752809,4.831460674157303,0.9737827715355806,0.6491885143570537,0.686641697877653,1.7915106117353308,4.082397003745319,0.2727840199750312,0.9300873907615481,5.1248439450686645,4.019975031210986,1.34207240948814,2.6092384519350813,0.7490636704119851,6.210986267166042,4.33832709113608,0.7303370786516854,0.717852684144819,4.975031210986267,3.8389513108614235,1.2671660424469413,0.7677902621722846,1.104868913857678,5.7553058676654185,2.7340823970037453,1.1235955056179776,4.475655430711611,3.0087390761548067,3.214731585518102,4.157303370786517,5.855181023720349,1.8164794007490637,3.651685393258427,3.9325842696629216,4.912609238451935,6.054931335830212,3.2709113607990012,2.4219725343320846,3.383270911360799,3.0149812734082393,1.8289637952559301,5.68039950062422,3.607990012484395,2.4656679151061174,5.880149812734083,1.8414481897627966,3.420724094881398,3.7078651685393256,3.9887640449438204,5.730337078651686,3.6267166042446943,5.6242197253433215,6.129837702871411,4.16354556803995,2.340823970037453,0.9800249687890138,1.3108614232209737,5.767790262172285,3.3895131086142323,2.571785268414482,0.9987515605493134,5.961298377028713,4.151061173533084,5.149812734082397,1.4856429463171037,3.6017478152309614,2.990012484394507,5.468164794007491,0.49063670411985016,1.941323345817728,1.8601747815230962,2.2347066167290888,5.068664169787765,0.7303370786516854,4.887640449438202,4.450686641697877,4.18227215980025, +3.714107365792759,5.143570536828964,2.184769038701623,5.3620474406991265,3.639200998751561,3.7702871410736583,0.7053682896379525,3.3583021223470664,0.9675405742821472,2.958801498127341,3.7078651685393256,1.2796504369538078,0.39825218476903873,0.3096129837702871,1.6978776529338326,5.9113607990012484,4.544319600499376,2.82147315855181,2.009987515605493,1.6978776529338326,3.951310861423221,5.293383270911361,3.0149812734082393,5.536828963795256,4.856429463171036,1.0049937578027466,0.6803995006242198,0.7116104868913858,1.8227215980024971,4.107365792759051,0.29712858926342073,0.9612983770287141,5.143570536828964,4.044943820224719,1.3670411985018727,2.634207240948814,0.7865168539325842,6.242197253433209,4.3632958801498125,0.7553058676654182,0.7428214731585518,5.0,3.8639200998751564,1.2983770287141074,0.7927590511860175,1.1298377028714106,5.786516853932584,2.7715355805243447,1.161048689138577,4.506866416978776,3.0399500624219726,3.245942571785269,4.188514357053683,5.892634207240949,1.8414481897627966,3.6704119850187267,3.9637952559300875,4.950062421972534,6.086142322097379,3.295880149812734,2.446941323345818,3.4019975031210987,3.046192259675406,1.8539325842696628,5.711610486891385,3.6329588014981273,2.4906367041198503,5.8988764044943816,1.8664169787765295,3.4456928838951315,3.7390761548064915,4.019975031210986,5.7553058676654185,3.651685393258427,5.655430711610487,6.1485642946317105,4.18227215980025,2.3720349563046192,1.0049937578027466,1.348314606741573,5.805243445692884,3.420724094881398,2.602996254681648,1.0237203495630463,5.992509363295881,4.176029962546816,5.174781523096129,1.5168539325842696,3.6267166042446943,3.0212234706616727,5.499375780274657,0.5149812734082396,1.9725343320848938,1.8851435705368291,2.2659176029962547,5.106117353308365,0.7615480649188515,4.918851435705368,4.475655430711611,4.207240948813983, +3.745318352059925,5.174781523096129,2.215980024968789,5.3870162297128585,3.6641697877652937,3.7952559300873907,0.7240948813982522,3.383270911360799,0.9987515605493134,2.977528089887641,3.7265917602996255,1.3108614232209737,0.4213483146067416,0.33957553058676654,1.7228464419475658,5.942571785268415,4.575530586766542,2.8464419475655434,2.034956304619226,1.7228464419475658,3.982521847690387,5.324594257178527,3.0399500624219726,5.568039950062421,4.887640449438202,1.0362047440699127,0.7053682896379525,0.7365792759051186,1.8539325842696628,4.132334581772784,0.32209737827715357,0.9987515605493134,5.168539325842697,4.069912609238452,1.3857677902621723,2.6591760299625467,0.8177278401997503,6.30461922596754,4.388264669163545,0.7740324594257179,0.7677902621722846,5.0187265917602994,3.888888888888889,1.3358302122347065,0.8239700374531835,1.161048689138577,5.81772784019975,2.8027465667915106,1.1922596754057428,4.538077403245943,3.0649188514357055,3.2833957553058677,4.213483146067416,5.930087390761548,1.8664169787765295,3.6953807740324596,3.9887640449438204,4.987515605493134,6.111111111111111,3.320848938826467,2.4656679151061174,3.4269662921348316,3.0836454431960054,1.8726591760299625,5.736579275905119,3.651685393258427,2.5093632958801497,5.9238451935081144,1.8913857677902621,3.470661672908864,3.7702871410736583,4.057428214731585,5.774032459425719,3.6766541822721597,5.686641697877653,6.167290886392011,4.200998751560549,2.4032459425717856,1.0299625468164793,1.3795255930087391,5.848938826466916,3.451935081148564,2.634207240948814,1.042446941323346,6.023720349563047,4.200998751560549,5.199750312109863,1.5480649188514357,3.651685393258427,3.0524344569288386,5.524344569288389,0.5387016229712859,2.00374531835206,1.9101123595505618,2.2971285892634206,5.149812734082397,0.7990012484394506,4.950062421972534,4.500624219725343,4.225967540574282, +3.776529338327091,5.212234706616729,2.253433208489388,5.418227215980025,3.689138576779026,3.81398252184769,0.7490636704119851,3.408239700374532,1.0237203495630463,3.0024968789013733,3.745318352059925,1.34207240948814,0.44382022471910115,0.36953807740324596,1.7415730337078652,5.97378277153558,4.606741573033708,2.8776529338327093,2.0599250936329585,1.7415730337078652,4.00749063670412,5.355805243445693,3.0649188514357055,5.599250936329588,4.918851435705368,1.0611735330836456,0.7365792759051186,0.7615480649188515,1.8851435705368291,4.157303370786517,0.3464419475655431,1.0299625468164793,5.187265917602996,4.0886392009987516,1.410736579275905,2.6779026217228465,0.8551810237203495,6.30461922596754,4.413233458177278,0.7927590511860175,0.7927590511860175,5.043695380774032,3.920099875156055,1.3670411985018727,0.8551810237203495,1.1860174781523096,5.848938826466916,2.8339575530586765,1.229712858926342,4.563046192259676,3.0961298377028714,3.3146067415730336,4.238451935081149,5.961298377028713,1.8913857677902621,3.714107365792759,4.019975031210986,5.024968789013733,6.1360799001248445,3.352059925093633,2.4843945068664173,3.4456928838951315,3.114856429463171,1.8976279650436954,5.767790262172285,3.6766541822721597,2.5343320848938826,5.942571785268415,1.916354556803995,3.495630461922597,3.801498127340824,4.0886392009987516,5.799001248439451,3.7078651685393256,5.717852684144819,6.192259675405743,4.225967540574282,2.4406991260923845,1.0549313358302121,1.4169787765293382,5.8863920099875156,3.4831460674157304,2.671660424469413,1.0674157303370786,6.054931335830212,4.225967540574282,5.224719101123595,1.5792759051186018,3.6766541822721597,3.089887640449438,5.555555555555556,0.5630461922596754,2.034956304619226,1.941323345817728,2.328339575530587,5.187265917602996,0.8302122347066168,4.975031210986267,4.531835205992509,4.250936329588015, +3.801498127340824,5.243445692883895,2.2846441947565546,5.443196004993759,3.714107365792759,3.8389513108614235,0.7740324594257179,3.4332084893882646,1.0549313358302121,3.027465667915106,3.7702871410736583,1.373283395755306,0.466916354556804,0.3995006242197253,1.766541822721598,5.998751560549313,4.637952559300874,2.908863920099875,2.084893882646692,1.766541822721598,4.038701622971286,5.3870162297128585,3.089887640449438,5.630461922596755,4.943820224719102,1.0923845193508115,0.7677902621722846,0.7865168539325842,1.916354556803995,4.18227215980025,0.3714107365792759,1.0611735330836456,5.212234706616729,4.1136079900124844,1.4294631710362047,2.702871410736579,0.8863920099875156,6.30461922596754,4.438202247191011,0.8114856429463172,0.8177278401997503,5.062421972534332,3.9450686641697876,1.3982521847690388,0.8801498127340824,1.2109862671660423,5.880149812734083,2.871410736579276,1.260923845193508,4.594257178526841,3.1210986267166043,3.352059925093633,4.263420724094882,5.998751560549313,1.916354556803995,3.732833957553059,4.051186017478152,5.062421972534332,6.161048689138577,3.3770287141073654,2.5031210986267167,3.464419475655431,3.1460674157303368,1.916354556803995,5.799001248439451,3.6953807740324596,2.5530586766541825,5.967540574282147,1.941323345817728,3.5205992509363297,3.83270911360799,4.119850187265917,5.823970037453184,3.732833957553059,5.749063670411985,6.210986267166042,4.244694132334582,2.471910112359551,1.079900124843945,1.4544319600499376,5.9238451935081144,3.5143570536828963,2.702871410736579,1.0861423220973783,6.086142322097379,4.244694132334582,5.249687890137328,1.6104868913857677,3.701622971285893,3.1210986267166043,5.586766541822722,0.5867665418227216,2.066167290886392,1.9662921348314608,2.3657927590511862,5.224719101123595,0.867665418227216,5.0062421972534334,4.556803995006242,4.275905118601748, +3.83270911360799,5.274656679151062,2.3158551810237205,5.474406991260924,3.7390761548064915,3.857677902621723,0.7927590511860175,3.4581772784019975,1.0861423220973783,3.046192259675406,3.7890137328339577,1.3982521847690388,0.4893882646691636,0.42946317103620474,1.7915106117353308,6.029962546816479,4.66916354556804,2.9400749063670415,2.1098626716604243,1.7852684144818978,4.069912609238452,5.418227215980025,3.114856429463171,5.66167290886392,4.975031210986267,1.1235955056179776,0.7990012484394506,0.8114856429463172,1.9475655430711611,4.207240948813983,0.39637952559300876,1.0986267166042447,5.230961298377029,4.132334581772784,1.4544319600499376,2.727840199750312,0.9238451935081149,6.367041198501872,4.456928838951311,0.8364544319600499,0.8426966292134832,5.087390761548065,3.970037453183521,1.4294631710362047,0.9113607990012486,1.2421972534332086,5.9113607990012484,2.902621722846442,1.2921348314606742,4.6254681647940075,3.15230961298377,3.383270911360799,4.288389513108614,6.036204744069912,1.9350811485642945,3.7578027465667914,4.0761548064918856,5.099875156054932,6.186017478152309,3.4019975031210987,2.521847690387016,3.4893882646691634,3.1772784019975036,1.941323345817728,5.830212234706617,3.7203495630461925,2.578027465667915,5.986267166042447,1.9662921348314608,3.545568039950062,3.8639200998751564,4.151061173533084,5.848938826466916,3.7578027465667914,5.7802746566791505,6.229712858926342,4.263420724094882,2.5093632958801497,1.104868913857678,1.4856429463171037,5.961298377028713,3.545568039950062,2.7340823970037453,1.1111111111111112,6.117353308364544,4.269662921348314,5.274656679151062,1.6416978776529338,3.7265917602996255,3.15230961298377,5.611735330836455,0.6104868913857677,2.097378277153558,1.9912609238451935,2.397003745318352,5.262172284644195,0.898876404494382,5.0374531835206,4.581772784019975,4.294631710362047, +3.8639200998751564,5.312109862671661,2.35330836454432,5.499375780274657,3.764044943820225,3.882646691635456,0.8177278401997503,3.4893882646691634,1.1173533083645444,3.0711610486891385,3.81398252184769,1.4294631710362047,0.5124843945068664,0.45942571785268416,1.8164794007490637,6.061173533083646,4.700374531835206,2.9712858926342074,2.128589263420724,1.8102372034956304,4.094881398252185,5.449438202247191,3.139825218476904,5.692883895131087,5.0062421972534334,1.1485642946317103,0.8302122347066168,0.8364544319600499,1.978776529338327,4.2322097378277155,0.4207240948813982,1.1298377028714106,5.2559300873907615,4.157303370786517,1.4794007490636705,2.746566791510612,0.9550561797752809,6.367041198501872,4.4818976279650435,0.8551810237203495,0.8614232209737829,5.106117353308365,3.9950062421972534,1.466916354556804,0.9425717852684146,1.2671660424469413,5.942571785268415,2.9400749063670415,1.3295880149812733,4.656679151061174,3.183520599250936,3.4144818976279647,4.31960049937578,6.067415730337078,1.9600499375780276,3.776529338327091,4.107365792759051,5.1373283395755305,6.210986267166042,3.4332084893882646,2.5405742821473156,3.508114856429463,3.2084893882646695,1.9662921348314608,5.861423220973783,3.745318352059925,2.596754057428215,6.01123595505618,1.9912609238451935,3.5705368289637955,3.8951310861423223,4.188514357053683,5.867665418227216,3.7890137328339577,5.811485642946318,6.242197253433209,4.288389513108614,2.5405742821473156,1.1298377028714106,1.523096129837703,6.004993757802747,3.576779026217228,2.7715355805243447,1.1298377028714106,6.1485642946317105,4.294631710362047,5.299625468164794,1.6729088639200997,3.7515605493133584,3.183520599250936,5.64294631710362,0.6367041198501873,2.128589263420724,2.0224719101123596,2.428214731585518,5.305867665418227,0.9363295880149812,5.068664169787765,4.606741573033708,4.31960049937578, +3.8951310861423223,5.343320848938826,2.3845193508114857,5.5305867665418225,3.7890137328339577,3.9076154806491883,0.8426966292134832,3.5143570536828963,1.1423220973782773,3.0961298377028714,3.83270911360799,1.4606741573033708,0.534956304619226,0.4893882646691636,1.8414481897627966,6.086142322097379,4.7315855181023725,3.0024968789013733,2.153558052434457,1.8289637952559301,4.1260923845193505,5.480649188514358,3.1647940074906367,5.724094881398252,5.0374531835206,1.1797752808988764,0.8614232209737829,0.8614232209737829,2.016229712858926,4.257178526841448,0.44569288389513106,1.161048689138577,5.274656679151062,4.176029962546816,1.4981273408239701,2.7715355805243447,0.9925093632958802,6.429463171036204,4.506866416978776,0.8739076154806492,0.8863920099875156,5.131086142322098,4.02621722846442,1.4981273408239701,0.9737827715355806,1.2921348314606742,5.97378277153558,2.9712858926342074,1.3607990012484397,4.681647940074906,3.2084893882646695,3.451935081148564,4.344569288389513,6.104868913857677,1.9850187265917605,3.7952559300873907,4.132334581772784,5.174781523096129,6.235955056179775,3.4581772784019975,2.5593008739076155,3.5268414481897628,3.2397003745318353,1.9850187265917605,5.892634207240949,3.764044943820225,2.6217228464419473,6.029962546816479,2.016229712858926,3.595505617977528,3.926342072409488,4.219725343320849,5.892634207240949,3.81398252184769,5.842696629213483,6.242197253433209,4.307116104868914,2.578027465667915,1.1548064918851435,1.554307116104869,6.0424469413233455,3.607990012484395,2.8027465667915106,1.1548064918851435,6.179775280898876,4.31960049937578,5.324594257178527,1.704119850187266,3.776529338327091,3.214731585518102,5.674157303370786,0.6616729088639202,2.15980024968789,2.0474406991260925,2.4656679151061174,5.343320848938826,0.9675405742821472,5.099875156054932,4.631710362047441,4.344569288389513, +3.926342072409488,5.3745318352059925,2.4157303370786516,5.555555555555556,3.81398252184769,3.926342072409488,0.8614232209737829,3.5393258426966296,1.1735330836454432,3.114856429463171,3.857677902621723,1.4918851435705367,0.5580524344569288,0.519350811485643,1.8664169787765295,6.117353308364544,4.762796504369538,3.033707865168539,2.1785268414481895,1.8476903870162298,4.157303370786517,5.511860174781523,3.1897627965043696,5.7553058676654185,5.062421972534332,1.2109862671660423,0.8863920099875156,0.8863920099875156,2.0474406991260925,4.282147315855181,0.4700374531835206,1.198501872659176,5.299625468164794,4.200998751560549,1.523096129837703,2.7965043695380776,1.0237203495630463,6.429463171036204,4.531835205992509,0.898876404494382,0.9113607990012486,5.149812734082397,4.051186017478152,1.529338327091136,0.9987515605493134,1.3233458177278403,6.004993757802747,3.0024968789013733,1.3982521847690388,4.712858926342073,3.2397003745318353,3.4831460674157304,4.369538077403246,6.142322097378277,2.009987515605493,3.8202247191011236,4.16354556803995,5.212234706616729,6.242197253433209,3.4831460674157304,2.578027465667915,3.5518102372034956,3.2709113607990012,2.009987515605493,5.9238451935081144,3.7890137328339577,2.640449438202247,6.054931335830212,2.0411985018726595,3.620474406991261,3.957553058676654,4.250936329588015,5.917602996254682,3.8451935081148565,5.8739076154806495,6.30461922596754,4.325842696629214,2.6092384519350813,1.1797752808988764,1.591760299625468,6.079900124843945,3.639200998751561,2.8339575530586765,1.1735330836454432,6.210986267166042,4.344569288389513,5.34956304619226,1.735330836454432,3.801498127340824,3.245942571785269,5.705368289637952,0.6803995006242198,2.1910112359550564,2.0724094881398254,2.4968789013732833,5.380774032459426,0.9987515605493134,5.131086142322098,4.656679151061174,4.369538077403246, +3.957553058676654,5.411985018726591,2.453183520599251,5.586766541822722,3.8389513108614235,3.951310861423221,0.8863920099875156,3.564294631710362,1.2047440699126093,3.139825218476904,3.8764044943820224,1.5168539325842696,0.5811485642946317,0.548689138576779,1.8913857677902621,6.1485642946317105,4.794007490636704,3.0649188514357055,2.203495630461923,1.8726591760299625,4.18227215980025,5.543071161048689,3.214731585518102,5.786516853932584,5.093632958801498,1.2359550561797754,0.9176029962546817,0.9113607990012486,2.0786516853932584,4.307116104868914,0.4950062421972534,1.229712858926342,5.318352059925093,4.225967540574282,1.5418227215980027,2.82147315855181,1.0611735330836456,6.491885143570538,4.556803995006242,0.9176029962546817,0.9363295880149812,5.174781523096129,4.0761548064918856,1.5605493133583022,1.0299625468164793,1.348314606741573,6.036204744069912,3.0399500624219726,1.4294631710362047,4.7440699126092385,3.2646691635455682,3.5205992509363297,4.394506866416979,6.173533083645444,2.034956304619226,3.8389513108614235,4.188514357053683,5.249687890137328,6.30461922596754,3.5143570536828963,2.596754057428215,3.5705368289637955,3.3021223470661676,2.0287141073657926,5.955056179775282,3.8077403245942576,2.66541822721598,6.073657927590512,2.0599250936329585,3.6454431960049942,3.982521847690387,4.282147315855181,5.942571785268415,3.870162297128589,5.905118601747815,6.30461922596754,4.3508114856429465,2.6466916354556806,1.2047440699126093,1.6229712858926344,6.117353308364544,3.6704119850187267,2.871410736579276,1.198501872659176,6.242197253433209,4.369538077403246,5.3745318352059925,1.766541822721598,3.826466916354557,3.2833957553058677,5.730337078651686,0.7053682896379525,2.2222222222222223,2.097378277153558,2.5280898876404496,5.424469413233458,1.0362047440699127,5.15605493133583,4.681647940074906,4.388264669163545, +3.9887640449438204,5.443196004993759,2.4843945068664173,5.611735330836455,3.8639200998751564,3.9762796504369535,0.9113607990012486,3.589263420724095,1.2359550561797754,3.1647940074906367,3.8951310861423223,1.5480649188514357,0.6036204744069913,0.5786516853932584,1.916354556803995,6.179775280898876,4.825218476903871,3.0961298377028714,2.2284644194756553,1.8913857677902621,4.213483146067416,5.574282147315855,3.233458177278402,5.81772784019975,5.1248439450686645,1.2671660424469413,0.9488139825218477,0.9363295880149812,2.1098626716604243,4.332084893882647,0.5199750312109862,1.2671660424469413,5.337078651685393,4.244694132334582,1.5667915106117354,2.84019975031211,1.0923845193508115,6.491885143570538,4.581772784019975,0.9363295880149812,0.9612983770287141,5.199750312109863,4.1011235955056184,1.5980024968789013,1.0611735330836456,1.373283395755306,6.067415730337078,3.0711610486891385,1.4606741573033708,4.775280898876405,3.295880149812734,3.5518102372034956,4.419475655430712,6.210986267166042,2.0599250936329585,3.857677902621723,4.219725343320849,5.287141073657928,6.30461922596754,3.5393258426966296,2.6217228464419473,3.589263420724095,3.3333333333333335,2.0536828963795255,5.986267166042447,3.83270911360799,2.68414481897628,6.098626716604246,2.084893882646692,3.6704119850187267,4.013732833957553,4.31960049937578,5.961298377028713,3.8951310861423223,5.936329588014981,6.30461922596754,4.369538077403246,2.6779026217228465,1.229712858926342,1.6604244694132335,6.154806491885144,3.701622971285893,2.902621722846442,1.2172284644194757,6.30461922596754,4.394506866416979,5.399500624219725,1.797752808988764,3.8514357053682895,3.3146067415730336,5.761548064918852,0.7303370786516854,2.253433208489388,2.128589263420724,2.565543071161049,5.461922596754057,1.0674157303370786,5.187265917602996,4.70661672908864,4.413233458177278, +4.019975031210986,5.474406991260924,2.521847690387016,5.64294631710362,3.888888888888889,3.9950062421972534,0.9300873907615481,3.620474406991261,1.260923845193508,3.183520599250936,3.920099875156055,1.5792759051186018,0.6242197253433208,0.6086142322097379,1.941323345817728,6.20474406991261,4.856429463171036,3.1273408239700373,2.253433208489388,1.916354556803995,4.244694132334582,5.605493133583021,3.258426966292135,5.848938826466916,5.149812734082397,1.2983770287141074,0.9800249687890138,0.9612983770287141,2.1410736579275906,4.357053682896379,0.5443196004993758,1.2983770287141074,5.3620474406991265,4.269662921348314,1.591760299625468,2.865168539325843,1.1298377028714106,6.554307116104869,4.606741573033708,0.9550561797752809,0.9862671660424469,5.218476903870163,4.132334581772784,1.6292134831460674,1.0861423220973783,1.404494382022472,6.098626716604246,3.102372034956305,1.4981273408239701,4.800249687890138,3.3270911360799,3.589263420724095,4.450686641697877,6.242197253433209,2.0786516853932584,3.882646691635456,4.244694132334582,5.324594257178527,6.367041198501872,3.564294631710362,2.640449438202247,3.6142322097378274,3.3645443196004994,2.0786516853932584,6.0174781523096135,3.857677902621723,2.7091136079900124,6.117353308364544,2.1098626716604243,3.6953807740324596,4.044943820224719,4.3508114856429465,5.986267166042447,3.926342072409488,5.967540574282147,6.367041198501872,4.388264669163545,2.715355805243446,1.2484394506866416,1.6978776529338326,6.198501872659176,3.732833957553059,2.933832709113608,1.2359550561797754,6.30461922596754,4.413233458177278,5.424469413233458,1.8227215980024971,3.8764044943820224,3.3458177278401995,5.792759051186017,0.7553058676654182,2.2846441947565546,2.153558052434457,2.596754057428215,5.499375780274657,1.104868913857678,5.218476903870163,4.737827715355805,4.438202247191011, +4.044943820224719,5.511860174781523,2.5530586766541825,5.667915106117353,3.9138576779026217,4.019975031210986,0.9550561797752809,3.6454431960049942,1.2921348314606742,3.2084893882646695,3.938826466916354,1.6042446941323347,0.6491885143570537,0.6367041198501873,1.9662921348314608,6.235955056179775,4.887640449438202,3.1585518102372037,2.278401997503121,1.9350811485642945,4.269662921348314,5.64294631710362,3.2833957553058677,5.880149812734083,5.181023720349563,1.3233458177278403,1.0112359550561798,0.9862671660424469,2.1722846441947565,4.382022471910113,0.5692883895131086,1.3295880149812733,5.380774032459426,4.288389513108614,1.6104868913857677,2.8901373283395753,1.16729088639201,6.554307116104869,4.6254681647940075,0.9800249687890138,1.0112359550561798,5.243445692883895,4.157303370786517,1.6604244694132335,1.1173533083645444,1.4294631710362047,6.129837702871411,3.139825218476904,1.529338327091136,4.831460674157303,3.352059925093633,3.620474406991261,4.475655430711611,6.30461922596754,2.1036204744069913,3.9013732833957557,4.275905118601748,5.3620474406991265,6.367041198501872,3.595505617977528,2.6591760299625467,3.6329588014981273,3.3957553058676653,2.097378277153558,6.048689138576779,3.8764044943820224,2.727840199750312,6.1360799001248445,2.134831460674157,3.7203495630461925,4.0761548064918856,4.382022471910113,6.01123595505618,3.951310861423221,5.998751560549313,6.367041198501872,4.413233458177278,2.746566791510612,1.2734082397003745,1.7290886392009988,6.235955056179775,3.764044943820225,2.9712858926342074,1.260923845193508,6.367041198501872,4.438202247191011,5.449438202247191,1.8539325842696628,3.9013732833957557,3.3770287141073654,5.81772784019975,0.7802746566791511,2.3158551810237205,2.1785268414481895,2.6279650436953808,5.536828963795256,1.136079900124844,5.249687890137328,4.762796504369538,4.463171036204744, +4.0761548064918856,5.543071161048689,2.5842696629213484,5.69912609238452,3.938826466916354,4.044943820224719,0.9800249687890138,3.6704119850187267,1.3233458177278403,3.233458177278402,3.9637952559300875,1.6354556803995006,0.6741573033707865,0.6679151061173533,1.9912609238451935,6.242197253433209,4.918851435705368,3.1897627965043696,2.303370786516854,1.9600499375780276,4.300873907615481,5.674157303370786,3.3083645443196006,5.9113607990012484,5.212234706616729,1.3545568039950062,1.0362047440699127,1.0112359550561798,2.203495630461923,4.406991260923846,0.5942571785268415,1.3670411985018727,5.405742821473158,4.313358302122348,1.6354556803995006,2.9151061173533086,1.198501872659176,6.616729088639201,4.65043695380774,0.9987515605493134,1.0299625468164793,5.262172284644195,4.18227215980025,1.6978776529338326,1.1485642946317103,1.4544319600499376,6.161048689138577,3.17103620474407,1.5605493133583022,4.8626716604244695,3.383270911360799,3.651685393258427,4.500624219725343,6.30461922596754,2.128589263420724,3.920099875156055,4.300873907615481,5.399500624219725,6.367041198501872,3.620474406991261,2.6779026217228465,3.651685393258427,3.4332084893882646,2.122347066167291,6.079900124843945,3.9013732833957557,2.752808988764045,6.161048689138577,2.15980024968789,3.745318352059925,4.107365792759051,4.413233458177278,6.036204744069912,3.9762796504369535,6.029962546816479,6.367041198501872,4.431960049937578,2.7840199750312107,1.2983770287141074,1.766541822721598,6.30461922596754,3.7952559300873907,3.0024968789013733,1.2796504369538078,6.367041198501872,4.463171036204744,5.480649188514358,1.8851435705368291,3.926342072409488,3.408239700374532,5.848938826466916,0.8052434456928839,2.3470661672908864,2.203495630461923,2.66541822721598,5.580524344569288,1.1735330836454432,5.280898876404494,4.787765293383271,4.4818976279650435, +4.107365792759051,5.574282147315855,2.6217228464419473,5.724094881398252,3.9637952559300875,4.063670411985019,0.9987515605493134,3.6953807740324596,1.3545568039950062,3.2521847690387014,3.982521847690387,1.6666666666666667,0.6928838951310862,0.6991260923845194,2.016229712858926,6.30461922596754,4.950062421972534,3.2209737827715355,2.328339575530587,1.978776529338327,4.332084893882647,5.705368289637952,3.3333333333333335,5.942571785268415,5.237203495630462,1.3857677902621723,1.0674157303370786,1.0362047440699127,2.2347066167290888,4.431960049937578,0.618601747815231,1.3982521847690388,5.424469413233458,4.332084893882647,1.6541822721598003,2.933832709113608,1.2359550561797754,6.616729088639201,4.675405742821473,1.017478152309613,1.0549313358302121,5.287141073657928,4.213483146067416,1.7290886392009988,1.1797752808988764,1.4856429463171037,6.192259675405743,3.202247191011236,1.5980024968789013,4.893882646691636,3.408239700374532,3.689138576779026,4.525593008739076,6.367041198501872,2.153558052434457,3.9450686641697876,4.332084893882647,5.436953807740325,6.429463171036204,3.6454431960049942,2.696629213483146,3.6766541822721597,3.464419475655431,2.1410736579275906,6.111111111111111,3.920099875156055,2.7715355805243447,6.179775280898876,2.184769038701623,3.7702871410736583,4.138576779026217,4.444444444444445,6.054931335830212,4.00749063670412,6.061173533083646,6.429463171036204,4.450686641697877,2.8152309612983775,1.3233458177278403,1.797752808988764,6.30461922596754,3.826466916354557,3.0399500624219726,1.3046192259675407,6.429463171036204,4.488139825218477,5.50561797752809,1.916354556803995,3.951310861423221,3.4456928838951315,5.880149812734083,0.8239700374531835,2.3782771535580522,2.2347066167290888,2.696629213483146,5.617977528089888,1.2047440699126093,5.312109862671661,4.812734082397004,4.506866416978776, +4.138576779026217,5.611735330836455,2.6529338327091136,5.7553058676654185,3.9887640449438204,4.0886392009987516,1.0237203495630463,3.7265917602996255,1.3795255930087391,3.2771535580524347,4.00749063670412,1.6978776529338326,0.717852684144819,0.7303370786516854,2.0411985018726595,6.30461922596754,4.9812734082397006,3.2521847690387014,2.35330836454432,2.00374531835206,4.357053682896379,5.736579275905119,3.3583021223470664,5.967540574282147,5.268414481897628,1.410736579275905,1.0986267166042447,1.0611735330836456,2.2659176029962547,4.456928838951311,0.6429463171036205,1.4294631710362047,5.449438202247191,4.357053682896379,1.6791510611735332,2.958801498127341,1.2671660424469413,6.679151061173534,4.700374531835206,1.042446941323346,1.079900124843945,5.305867665418227,4.238451935081149,1.7602996254681649,1.2047440699126093,1.5106117353308364,6.223470661672909,3.2397003745318353,1.6292134831460674,4.918851435705368,3.439450686641698,3.7203495630461925,4.55056179775281,6.367041198501872,2.1785268414481895,3.9637952559300875,4.3632958801498125,5.474406991260924,6.429463171036204,3.6766541822721597,2.715355805243446,3.6953807740324596,3.495630461922597,2.1660424469413235,6.1360799001248445,3.9450686641697876,2.7965043695380776,6.20474406991261,2.209737827715356,3.7952559300873907,4.169787765293384,4.4818976279650435,6.079900124843945,4.032459425717852,6.092384519350812,6.429463171036204,4.475655430711611,2.8464419475655434,1.348314606741573,1.8352059925093633,6.367041198501872,3.857677902621723,3.0711610486891385,1.3233458177278403,6.429463171036204,4.51310861423221,5.5305867665418225,1.9475655430711611,3.9762796504369535,3.4769038701622974,5.905118601747815,0.8489388264669163,2.4094881398252186,2.259675405742821,2.727840199750312,5.655430711610487,1.2359550561797754,5.337078651685393,4.837702871410737,4.531835205992509, +4.169787765293384,5.64294631710362,2.68414481897628,5.7802746566791505,4.013732833957553,4.1136079900124844,1.048689138576779,3.7515605493133584,1.410736579275905,3.3021223470661676,4.02621722846442,1.7228464419475658,0.7428214731585518,0.7553058676654182,2.066167290886392,6.367041198501872,5.012484394506866,3.2833957553058677,2.3782771535580522,2.0224719101123596,4.388264669163545,5.767790262172285,3.383270911360799,5.998751560549313,5.299625468164794,1.4419475655430714,1.1298377028714106,1.0861423220973783,2.2971285892634206,4.4818976279650435,0.6679151061173533,1.466916354556804,5.468164794007491,4.382022471910113,1.704119850187266,2.9837702871410734,1.3046192259675407,6.679151061173534,4.725343320848939,1.0611735330836456,1.104868913857678,5.33083645443196,4.263420724094882,1.7915106117353308,1.2359550561797754,1.5355805243445693,6.242197253433209,3.2709113607990012,1.6666666666666667,4.950062421972534,3.464419475655431,3.7578027465667914,4.581772784019975,6.429463171036204,2.1972534332084894,3.9887640449438204,4.388264669163545,5.511860174781523,6.491885143570538,3.701622971285893,2.7340823970037453,3.714107365792759,3.5268414481897628,2.184769038701623,6.167290886392011,3.9637952559300875,2.8152309612983775,6.223470661672909,2.2347066167290888,3.8202247191011236,4.200998751560549,4.51310861423221,6.104868913857677,4.057428214731585,6.123595505617978,6.429463171036204,4.49438202247191,2.8838951310861427,1.373283395755306,1.8726591760299625,6.367041198501872,3.888888888888889,3.102372034956305,1.348314606741573,6.491885143570538,4.538077403245943,5.555555555555556,1.978776529338327,4.001248439450687,3.508114856429463,5.936329588014981,0.8739076154806492,2.4406991260923845,2.2846441947565546,2.7590511860174782,5.69912609238452,1.2734082397003745,5.36828963795256,4.8626716604244695,4.556803995006242, +4.200998751560549,5.674157303370786,2.7215980024968793,5.811485642946318,4.038701622971286,4.132334581772784,1.0674157303370786,3.776529338327091,1.4419475655430714,3.320848938826467,4.044943820224719,1.7540574282147314,0.7615480649188515,0.7865168539325842,2.091136079900125,6.367041198501872,5.043695380774032,3.3146067415730336,2.4032459425717856,2.0474406991260925,4.419475655430712,5.799001248439451,3.408239700374532,6.029962546816479,5.324594257178527,1.4731585518102372,1.161048689138577,1.1111111111111112,2.328339575530587,4.506866416978776,0.6928838951310862,1.4981273408239701,5.493133583021224,4.400749063670412,1.7228464419475658,3.0087390761548067,1.3358302122347065,6.741573033707866,4.750312109862672,1.079900124843945,1.1298377028714106,5.34956304619226,4.288389513108614,1.8289637952559301,1.2671660424469413,1.5605493133583022,6.30461922596754,3.3083645443196006,1.6978776529338326,4.9812734082397006,3.495630461922597,3.7890137328339577,4.606741573033708,6.429463171036204,2.2222222222222223,4.00749063670412,4.419475655430712,5.549313358302123,6.491885143570538,3.7265917602996255,2.752808988764045,3.7390761548064915,3.5580524344569286,2.209737827715356,6.198501872659176,3.9887640449438204,2.84019975031211,6.242197253433209,2.259675405742821,3.8451935081148565,4.2322097378277155,4.544319600499376,6.123595505617978,4.0886392009987516,6.1485642946317105,6.491885143570538,4.519350811485642,2.9151061173533086,1.3982521847690388,1.9038701622971288,6.429463171036204,3.920099875156055,3.139825218476904,1.3670411985018727,6.491885143570538,4.563046192259676,5.580524344569288,2.009987515605493,4.02621722846442,3.5393258426966296,5.967540574282147,0.898876404494382,2.4656679151061174,2.3158551810237205,2.7965043695380776,5.736579275905119,1.3046192259675407,5.399500624219725,4.887640449438202,4.575530586766542, +4.2322097378277155,5.711610486891385,2.752808988764045,5.836454431960051,4.063670411985019,4.157303370786517,1.0923845193508115,3.801498127340824,1.4731585518102372,3.3458177278401995,4.069912609238452,1.7852684144818978,0.7865168539325842,0.8177278401997503,2.1161048689138577,6.429463171036204,5.074906367041199,3.3458177278401995,2.428214731585518,2.066167290886392,4.444444444444445,5.830212234706617,3.4332084893882646,6.061173533083646,5.355805243445693,1.4981273408239701,1.1922596754057428,1.136079900124844,2.3657927590511862,4.525593008739076,0.717852684144819,1.5355805243445693,5.511860174781523,4.425717852684145,1.7478152309612984,3.027465667915106,1.373283395755306,6.741573033707866,4.769038701622971,1.104868913857678,1.1548064918851435,5.3745318352059925,4.31960049937578,1.8601747815230962,1.2921348314606742,1.591760299625468,6.30461922596754,3.339575530586767,1.7290886392009988,5.012484394506866,3.5268414481897628,3.826466916354557,4.631710362047441,6.491885143570538,2.247191011235955,4.02621722846442,4.444444444444445,5.586766541822722,6.491885143570538,3.7578027465667914,2.7715355805243447,3.7578027465667914,3.589263420724095,2.2347066167290888,6.229712858926342,4.013732833957553,2.8589263420724094,6.242197253433209,2.2846441947565546,3.870162297128589,4.263420724094882,4.575530586766542,6.1485642946317105,4.1136079900124844,6.179775280898876,6.491885143570538,4.538077403245943,2.9525593008739075,1.4232209737827717,1.941323345817728,6.491885143570538,3.9450686641697876,3.17103620474407,1.3920099875156053,6.554307116104869,4.581772784019975,5.605493133583021,2.0411985018726595,4.057428214731585,3.5705368289637955,5.992509363295881,0.9238451935081149,2.4968789013732833,2.340823970037453,2.8277153558052435,5.774032459425719,1.34207240948814,5.430711610486892,4.912609238451935,4.600499375780275, +4.263420724094882,5.742821473158552,2.7840199750312107,5.867665418227216,4.0886392009987516,4.18227215980025,1.1173533083645444,3.826466916354557,1.4981273408239701,3.370786516853933,4.0886392009987516,1.8164794007490637,0.8114856429463172,0.8489388264669163,2.1410736579275906,6.429463171036204,5.106117353308365,3.3770287141073654,2.453183520599251,2.091136079900125,4.475655430711611,5.861423220973783,3.4581772784019975,6.092384519350812,5.3870162297128585,1.529338327091136,1.2172284644194757,1.161048689138577,2.397003745318352,4.55056179775281,0.7428214731585518,1.5667915106117354,5.5305867665418225,4.444444444444445,1.766541822721598,3.0524344569288386,1.404494382022472,6.803995006242197,4.794007490636704,1.1235955056179776,1.1735330836454432,5.393258426966292,4.344569288389513,1.8913857677902621,1.3233458177278403,1.616729088639201,6.367041198501872,3.370786516853933,1.766541822721598,5.0374531835206,3.5518102372034956,3.857677902621723,4.656679151061174,6.554307116104869,2.272159800249688,4.051186017478152,4.475655430711611,5.6242197253433215,6.554307116104869,3.7827715355805243,2.7965043695380776,3.776529338327091,3.620474406991261,2.253433208489388,6.242197253433209,4.032459425717852,2.8838951310861427,6.30461922596754,2.303370786516854,3.8951310861423223,4.294631710362047,4.612983770287141,6.173533083645444,4.138576779026217,6.210986267166042,6.491885143570538,4.556803995006242,2.9837702871410734,1.4481897627965044,1.9725343320848938,6.491885143570538,3.9762796504369535,3.202247191011236,1.410736579275905,6.554307116104869,4.606741573033708,5.630461922596755,2.0724094881398254,4.082397003745319,3.6017478152309614,6.023720349563047,0.9488139825218477,2.5280898876404496,2.3657927590511862,2.8589263420724094,5.811485642946318,1.373283395755306,5.461922596754057,4.943820224719102,4.6254681647940075, +4.288389513108614,5.774032459425719,2.82147315855181,5.892634207240949,4.1136079900124844,4.200998751560549,1.136079900124844,3.857677902621723,1.529338327091136,3.3895131086142323,4.1136079900124844,1.8414481897627966,0.8302122347066168,0.8801498127340824,2.1660424469413235,6.491885143570538,5.1373283395755305,3.408239700374532,2.471910112359551,2.1098626716604243,4.500624219725343,5.892634207240949,3.4769038701622974,6.123595505617978,5.418227215980025,1.5605493133583022,1.2484394506866416,1.1860174781523096,2.428214731585518,4.575530586766542,0.7677902621722846,1.5980024968789013,5.555555555555556,4.4694132334581775,1.7915106117353308,3.077403245942572,1.4419475655430714,6.803995006242197,4.818976279650437,1.1423220973782773,1.198501872659176,5.418227215980025,4.369538077403246,1.9225967540574282,1.3545568039950062,1.6416978776529338,6.367041198501872,3.408239700374532,1.797752808988764,5.068664169787765,3.5830212234706615,3.888888888888889,4.681647940074906,6.554307116104869,2.2971285892634206,4.069912609238452,4.500624219725343,5.66167290886392,6.554307116104869,3.8077403245942576,2.8152309612983775,3.801498127340824,3.651685393258427,2.278401997503121,6.30461922596754,4.057428214731585,2.902621722846442,6.30461922596754,2.328339575530587,3.920099875156055,4.325842696629214,4.644194756554308,6.198501872659176,4.169787765293384,6.242197253433209,6.554307116104869,4.581772784019975,3.0212234706616727,1.4731585518102372,2.009987515605493,6.554307116104869,4.00749063670412,3.2397003745318353,1.435705368289638,6.616729088639201,4.631710362047441,5.655430711610487,2.1036204744069913,4.107365792759051,3.639200998751561,6.054931335830212,0.9737827715355806,2.5593008739076155,2.3907615480649187,2.8963795255930087,5.855181023720349,1.410736579275905,5.493133583021224,4.9687890137328345,4.644194756554308, +4.31960049937578,5.805243445692884,2.852684144818976,5.9238451935081144,4.144818976279651,4.225967540574282,1.161048689138577,3.882646691635456,1.5605493133583022,3.4144818976279647,4.132334581772784,1.8726591760299625,0.8551810237203495,0.9051186017478152,2.1910112359550564,6.491885143570538,5.162297128589263,3.439450686641698,2.4968789013732833,2.128589263420724,4.531835205992509,5.9238451935081144,3.5018726591760303,6.154806491885144,5.443196004993759,1.585518102372035,1.2796504369538078,1.2109862671660423,2.459425717852684,4.600499375780275,0.7927590511860175,1.6354556803995006,5.574282147315855,4.488139825218477,1.8164794007490637,3.0961298377028714,1.4731585518102372,6.866416978776529,4.843945068664169,1.161048689138577,1.223470661672909,5.443196004993759,4.400749063670412,1.9600499375780276,1.3857677902621723,1.6729088639200997,6.429463171036204,3.439450686641698,1.8352059925093633,5.099875156054932,3.607990012484395,3.926342072409488,4.712858926342073,6.616729088639201,2.322097378277154,4.0886392009987516,4.531835205992509,5.69912609238452,6.616729088639201,3.8389513108614235,2.8339575530586765,3.8202247191011236,3.682896379525593,2.2971285892634206,6.30461922596754,4.0761548064918856,2.9275905118601746,6.30461922596754,2.35330836454432,3.9450686641697876,4.357053682896379,4.675405742821473,6.217228464419476,4.194756554307116,6.30461922596754,6.554307116104869,4.600499375780275,3.0524344569288386,1.4981273408239701,2.0411985018726595,6.554307116104869,4.038701622971286,3.2709113607990012,1.4544319600499376,6.616729088639201,4.656679151061174,5.68039950062422,2.134831460674157,4.132334581772784,3.6704119850187267,6.079900124843945,0.9925093632958802,2.5905118601747814,2.4219725343320846,2.9275905118601746,5.892634207240949,1.4419475655430714,5.5181023720349565,4.9937578027465666,4.66916354556804, +4.3508114856429465,5.842696629213483,2.8901373283395753,5.948813982521848,4.169787765293384,4.244694132334582,1.1860174781523096,3.9076154806491883,1.585518102372035,3.439450686641698,4.151061173533084,1.9038701622971288,0.8801498127340824,0.9363295880149812,2.209737827715356,6.554307116104869,5.19350811485643,3.470661672908864,2.521847690387016,2.153558052434457,4.563046192259676,5.955056179775282,3.5268414481897628,6.186017478152309,5.474406991260924,1.616729088639201,1.3108614232209737,1.2359550561797754,2.4906367041198503,4.6254681647940075,0.8177278401997503,1.6666666666666667,5.599250936329588,4.51310861423221,1.8352059925093633,3.1210986267166043,1.5106117353308364,6.866416978776529,4.868913857677903,1.1860174781523096,1.2484394506866416,5.461922596754057,4.425717852684145,1.9912609238451935,1.410736579275905,1.6978776529338326,6.429463171036204,3.470661672908864,1.8664169787765295,5.131086142322098,3.639200998751561,3.957553058676654,4.737827715355805,6.616729088639201,2.340823970037453,4.1136079900124844,4.556803995006242,5.736579275905119,6.616729088639201,3.8639200998751564,2.852684144818976,3.8389513108614235,3.714107365792759,2.322097378277154,6.367041198501872,4.1011235955056184,2.9463171036204745,6.367041198501872,2.3782771535580522,3.970037453183521,4.382022471910113,4.70661672908864,6.242197253433209,4.225967540574282,6.30461922596754,6.554307116104869,4.619225967540574,3.089887640449438,1.523096129837703,2.0786516853932584,6.616729088639201,4.069912609238452,3.3021223470661676,1.4794007490636705,6.679151061173534,4.681647940074906,5.705368289637952,2.1660424469413235,4.157303370786517,3.701622971285893,6.111111111111111,1.017478152309613,2.6217228464419473,2.446941323345818,2.958801498127341,5.930087390761548,1.4794007490636705,5.549313358302123,5.0187265917602994,4.694132334581773, +4.382022471910113,5.8739076154806495,2.9213483146067416,5.980024968789014,4.194756554307116,4.269662921348314,1.2047440699126093,3.9325842696629216,1.616729088639201,3.4581772784019975,4.176029962546816,1.9350811485642945,0.898876404494382,0.9675405742821472,2.2347066167290888,6.554307116104869,5.224719101123595,3.5018726591760303,2.546816479400749,2.1722846441947565,4.588014981273409,5.992509363295881,3.5518102372034956,6.217228464419476,5.50561797752809,1.647940074906367,1.34207240948814,1.260923845193508,2.521847690387016,4.65043695380774,0.8426966292134832,1.6978776529338326,5.617977528089888,4.538077403245943,1.8601747815230962,3.1460674157303368,1.5418227215980027,6.928838951310862,4.893882646691636,1.2047440699126093,1.2734082397003745,5.48689138576779,4.450686641697877,2.0224719101123596,1.4419475655430714,1.7228464419475658,6.491885143570538,3.508114856429463,1.8976279650436954,5.15605493133583,3.6641697877652937,3.9950062421972534,4.762796504369538,6.679151061173534,2.3657927590511862,4.132334581772784,4.588014981273409,5.774032459425719,6.616729088639201,3.888888888888889,2.871410736579276,3.8639200998751564,3.745318352059925,2.3470661672908864,6.367041198501872,4.1260923845193505,2.9712858926342074,6.367041198501872,2.4032459425717856,3.9950062421972534,4.413233458177278,4.7440699126092385,6.242197253433209,4.250936329588015,6.367041198501872,6.616729088639201,4.644194756554308,3.1210986267166043,1.5480649188514357,2.1161048689138577,6.679151061173534,4.1011235955056184,3.339575530586767,1.4981273408239701,6.679151061173534,4.70661672908864,5.730337078651686,2.1972534332084894,4.18227215980025,3.732833957553059,6.142322097378277,1.042446941323346,2.6529338327091136,2.471910112359551,2.9962546816479403,5.97378277153558,1.5106117353308364,5.580524344569288,5.043695380774032,4.719101123595506, +4.413233458177278,5.905118601747815,2.9525593008739075,6.004993757802747,4.219725343320849,4.294631710362047,1.229712858926342,3.957553058676654,1.647940074906367,3.4831460674157304,4.194756554307116,1.9600499375780276,0.9238451935081149,0.9987515605493134,2.259675405742821,6.616729088639201,5.2559300873907615,3.5268414481897628,2.571785268414482,2.1972534332084894,4.619225967540574,6.023720349563047,3.576779026217228,6.242197253433209,5.5305867665418225,1.6729088639200997,1.373283395755306,1.285892634207241,2.5530586766541825,4.675405742821473,0.867665418227216,1.735330836454432,5.64294631710362,4.556803995006242,1.8789013732833957,3.17103620474407,1.5792759051186018,6.928838951310862,4.918851435705368,1.223470661672909,1.2983770287141074,5.50561797752809,4.475655430711611,2.0536828963795255,1.4731585518102372,1.7540574282147314,6.491885143570538,3.5393258426966296,1.9350811485642945,5.187265917602996,3.6953807740324596,4.02621722846442,4.787765293383271,6.679151061173534,2.3907615480649187,4.151061173533084,4.612983770287141,5.811485642946318,6.679151061173534,3.920099875156055,2.8901373283395753,3.882646691635456,3.7827715355805243,2.3657927590511862,6.429463171036204,4.144818976279651,2.990012484394507,6.429463171036204,2.428214731585518,4.019975031210986,4.444444444444445,4.775280898876405,6.30461922596754,4.275905118601748,6.367041198501872,6.616729088639201,4.662921348314606,3.1585518102372037,1.5730337078651684,2.1473158551810236,6.679151061173534,4.132334581772784,3.370786516853933,1.523096129837703,6.741573033707866,4.7315855181023725,5.7553058676654185,2.2284644194756553,4.207240948813983,3.764044943820225,6.167290886392011,1.0674157303370786,2.68414481897628,2.4968789013732833,3.027465667915106,6.01123595505618,1.5418227215980027,5.611735330836455,5.068664169787765,4.737827715355805, +4.444444444444445,5.942571785268415,2.990012484394507,6.036204744069912,4.244694132334582,4.313358302122348,1.2546816479400749,3.9887640449438204,1.6791510611735332,3.508114856429463,4.219725343320849,1.9912609238451935,0.9488139825218477,1.0299625468164793,2.2846441947565546,6.616729088639201,5.287141073657928,3.5580524344569286,2.596754057428215,2.215980024968789,4.65043695380774,6.054931335830212,3.6017478152309614,6.30461922596754,5.561797752808988,1.704119850187266,1.3982521847690388,1.3108614232209737,2.5842696629213484,4.700374531835206,0.8926342072409489,1.766541822721598,5.66167290886392,4.581772784019975,1.9038701622971288,3.1897627965043696,1.6104868913857677,6.991260923845194,4.937578027465668,1.2484394506866416,1.3233458177278403,5.5305867665418225,4.506866416978776,2.091136079900125,1.4981273408239701,1.7790262172284643,6.554307116104869,3.5705368289637955,1.9662921348314608,5.218476903870163,3.7265917602996255,4.057428214731585,4.812734082397004,6.741573033707866,2.4157303370786516,4.176029962546816,4.644194756554308,5.848938826466916,6.679151061173534,3.9450686641697876,2.908863920099875,3.9013732833957557,3.81398252184769,2.3907615480649187,6.429463171036204,4.169787765293384,3.0149812734082393,6.429463171036204,2.453183520599251,4.044943820224719,4.475655430711611,4.806491885143571,6.30461922596754,4.307116104868914,6.429463171036204,6.616729088639201,4.681647940074906,3.1897627965043696,1.5980024968789013,2.184769038701623,6.741573033707866,4.16354556803995,3.4019975031210987,1.5418227215980027,6.741573033707866,4.750312109862672,5.7802746566791505,2.259675405742821,4.2322097378277155,3.801498127340824,6.198501872659176,1.0923845193508115,2.715355805243446,2.5280898876404496,3.058676654182272,6.048689138576779,1.5792759051186018,5.64294631710362,5.093632958801498,4.762796504369538, +4.475655430711611,5.97378277153558,3.0212234706616727,6.061173533083646,4.269662921348314,4.33832709113608,1.2734082397003745,4.013732833957553,1.704119850187266,3.5268414481897628,4.238451935081149,2.0224719101123596,0.9675405742821472,1.0549313358302121,2.309612983770287,6.616729088639201,5.318352059925093,3.589263420724095,2.6217228464419473,2.2409488139825218,4.675405742821473,6.086142322097379,3.6267166042446943,6.30461922596754,5.593008739076155,1.735330836454432,1.4294631710362047,1.3358302122347065,2.6154806491885143,4.725343320848939,0.9176029962546817,1.8039950062421974,5.686641697877653,4.600499375780275,1.9288389513108615,3.214731585518102,1.647940074906367,6.991260923845194,4.962546816479401,1.2671660424469413,1.34207240948814,5.549313358302123,4.531835205992509,2.122347066167291,1.529338327091136,1.8039950062421974,6.554307116104869,3.607990012484395,1.9975031210986267,5.249687890137328,3.7515605493133584,4.094881398252185,4.843945068664169,6.803995006242197,2.4406991260923845,4.194756554307116,4.675405742821473,5.8863920099875156,6.741573033707866,3.970037453183521,2.9275905118601746,3.926342072409488,3.8451935081148565,2.4094881398252186,6.491885143570538,4.188514357053683,3.033707865168539,6.429463171036204,2.478152309612984,4.069912609238452,4.506866416978776,4.837702871410737,6.367041198501872,4.332084893882647,6.429463171036204,6.679151061173534,4.70661672908864,3.227215980024969,1.6229712858926344,2.215980024968789,6.803995006242197,4.194756554307116,3.439450686641698,1.5667915106117354,6.803995006242197,4.775280898876405,5.805243445692884,2.2908863920099876,4.257178526841448,3.83270911360799,6.229712858926342,1.1173533083645444,2.746566791510612,2.5530586766541825,3.089887640449438,6.086142322097379,1.6104868913857677,5.674157303370786,5.118601747815231,4.787765293383271, +4.506866416978776,6.004993757802747,3.0524344569288386,6.092384519350812,4.294631710362047,4.3632958801498125,1.2983770287141074,4.038701622971286,1.735330836454432,3.5518102372034956,4.263420724094882,2.0474406991260925,0.9925093632958802,1.0861423220973783,2.33458177278402,6.679151061173534,5.34956304619226,3.620474406991261,2.6466916354556806,2.259675405742821,4.70661672908864,6.117353308364544,3.651685393258427,6.367041198501872,5.617977528089888,1.7602996254681649,1.4606741573033708,1.3607990012484397,2.6466916354556806,4.750312109862672,0.9425717852684146,1.8352059925093633,5.705368289637952,4.6254681647940075,1.9475655430711611,3.2397003745318353,1.6791510611735332,7.0536828963795255,4.987515605493134,1.285892634207241,1.3670411985018727,5.574282147315855,4.556803995006242,2.153558052434457,1.5605493133583022,1.8352059925093633,6.616729088639201,3.639200998751561,2.034956304619226,5.274656679151062,3.7827715355805243,4.1260923845193505,4.868913857677903,6.803995006242197,2.4656679151061174,4.213483146067416,4.700374531835206,5.9238451935081144,6.741573033707866,3.9950062421972534,2.9463171036204745,3.9450686641697876,3.8764044943820224,2.4344569288389515,6.491885143570538,4.213483146067416,3.058676654182272,6.491885143570538,2.5031210986267167,4.094881398252185,4.538077403245943,4.868913857677903,6.367041198501872,4.357053682896379,6.491885143570538,6.679151061173534,4.725343320848939,3.258426966292135,1.647940074906367,2.253433208489388,6.803995006242197,4.225967540574282,3.470661672908864,1.585518102372035,6.803995006242197,4.800249687890138,5.830212234706617,2.322097378277154,4.282147315855181,3.8639200998751564,6.242197253433209,1.136079900124844,2.777777777777778,2.578027465667915,3.1273408239700373,6.129837702871411,1.647940074906367,5.69912609238452,5.149812734082397,4.812734082397004, +4.538077403245943,6.0424469413233455,3.089887640449438,6.117353308364544,4.31960049937578,4.382022471910113,1.3233458177278403,4.063670411985019,1.766541822721598,3.576779026217228,4.282147315855181,2.0786516853932584,1.017478152309613,1.1173533083645444,2.359550561797753,6.679151061173534,5.380774032459426,3.651685393258427,2.671660424469413,2.2846441947565546,4.737827715355805,6.1485642946317105,3.6766541822721597,6.367041198501872,5.6491885143570535,1.7915106117353308,1.4918851435705367,1.3857677902621723,2.68414481897628,4.775280898876405,0.9675405742821472,1.8664169787765295,5.724094881398252,4.65043695380774,1.9725343320848938,3.2646691635455682,1.7166042446941323,7.0536828963795255,5.012484394506866,1.3046192259675407,1.3920099875156053,5.593008739076155,4.588014981273409,2.184769038701623,1.591760299625468,1.8601747815230962,6.616729088639201,3.6766541822721597,2.066167290886392,5.305867665418227,3.8077403245942576,4.16354556803995,4.893882646691636,6.866416978776529,2.4843945068664173,4.238451935081149,4.7315855181023725,5.961298377028713,6.741573033707866,4.02621722846442,2.9712858926342074,3.9637952559300875,3.9076154806491883,2.453183520599251,6.554307116104869,4.238451935081149,3.077403245942572,6.491885143570538,2.5280898876404496,4.1136079900124844,4.569288389513109,4.906367041198502,6.367041198501872,4.388264669163545,6.491885143570538,6.679151061173534,4.7440699126092385,3.2896379525593007,1.6729088639200997,2.2846441947565546,6.866416978776529,4.257178526841448,3.5018726591760303,1.6042446941323347,6.866416978776529,4.825218476903871,5.855181023720349,2.35330836454432,4.307116104868914,3.8951310861423223,6.30461922596754,1.161048689138577,2.808988764044944,2.6092384519350813,3.1585518102372037,6.167290886392011,1.6791510611735332,5.730337078651686,5.174781523096129,4.831460674157303, +4.563046192259676,6.073657927590512,3.1210986267166043,6.1485642946317105,4.344569288389513,4.406991260923846,1.348314606741573,4.0886392009987516,1.797752808988764,3.595505617977528,4.300873907615481,2.1098626716604243,1.0362047440699127,1.1485642946317103,2.3845193508114857,6.741573033707866,5.411985018726591,3.682896379525593,2.696629213483146,2.303370786516854,4.762796504369538,6.179775280898876,3.6953807740324596,6.429463171036204,5.68039950062422,1.8227215980024971,1.523096129837703,1.410736579275905,2.715355805243446,4.800249687890138,0.9925093632958802,1.9038701622971288,5.749063670411985,4.66916354556804,1.9975031210986267,3.2833957553058677,1.7478152309612984,7.116104868913857,5.0374531835206,1.3295880149812733,1.4169787765293382,5.617977528089888,4.612983770287141,2.2222222222222223,1.616729088639201,1.8851435705368291,6.679151061173534,3.7078651685393256,2.1036204744069913,5.337078651685393,3.8389513108614235,4.194756554307116,4.918851435705368,6.866416978776529,2.5093632958801497,4.257178526841448,4.7565543071161045,5.998751560549313,6.803995006242197,4.051186017478152,2.990012484394507,3.9887640449438204,3.938826466916354,2.478152309612984,6.554307116104869,4.257178526841448,3.102372034956305,6.491885143570538,2.546816479400749,4.138576779026217,4.600499375780275,4.937578027465668,6.429463171036204,4.413233458177278,6.554307116104869,6.741573033707866,4.769038701622971,3.3270911360799,1.6978776529338326,2.322097378277154,6.866416978776529,4.288389513108614,3.5393258426966296,1.6292134831460674,6.866416978776529,4.850187265917603,5.880149812734083,2.3845193508114857,4.332084893882647,3.926342072409488,6.30461922596754,1.1860174781523096,2.84019975031211,2.634207240948814,3.1897627965043696,6.20474406991261,1.7166042446941323,5.761548064918852,5.199750312109863,4.856429463171036, +4.594257178526841,6.104868913857677,3.15230961298377,6.173533083645444,4.369538077403246,4.431960049937578,1.3670411985018727,4.119850187265917,1.8227215980024971,3.620474406991261,4.325842696629214,2.1410736579275906,1.0611735330836456,1.1797752808988764,2.4094881398252186,6.741573033707866,5.443196004993759,3.714107365792759,2.7215980024968793,2.328339575530587,4.794007490636704,6.210986267166042,3.7203495630461925,6.429463171036204,5.705368289637952,1.8476903870162298,1.554307116104869,1.435705368289638,2.746566791510612,4.825218476903871,1.0112359550561798,1.9350811485642945,5.767790262172285,4.694132334581773,2.016229712858926,3.3083645443196006,1.7852684144818978,7.116104868913857,5.062421972534332,1.348314606741573,1.4419475655430714,5.636704119850187,4.637952559300874,2.253433208489388,1.647940074906367,1.916354556803995,6.679151061173534,3.7390761548064915,2.134831460674157,5.36828963795256,3.8639200998751564,4.2322097378277155,4.943820224719102,6.928838951310862,2.5343320848938826,4.282147315855181,4.787765293383271,6.036204744069912,6.803995006242197,4.0761548064918856,3.0087390761548067,4.00749063670412,3.970037453183521,2.5031210986267167,6.616729088639201,4.282147315855181,3.1210986267166043,6.554307116104869,2.571785268414482,4.16354556803995,4.631710362047441,4.9687890137328345,6.429463171036204,4.438202247191011,6.554307116104869,6.741573033707866,4.787765293383271,3.3583021223470664,1.7228464419475658,2.359550561797753,6.928838951310862,4.31960049937578,3.5705368289637955,1.647940074906367,6.928838951310862,4.875156054931336,5.905118601747815,2.4157303370786516,4.357053682896379,3.9637952559300875,6.367041198501872,1.2109862671660423,2.871410736579276,2.6591760299625467,3.227215980024969,6.242197253433209,1.7478152309612984,5.792759051186017,5.224719101123595,4.881398252184769, +4.6254681647940075,6.142322097378277,3.1897627965043696,6.20474406991261,4.394506866416979,4.450686641697877,1.3920099875156053,4.144818976279651,1.8539325842696628,3.6454431960049942,4.344569288389513,2.1660424469413235,1.079900124843945,1.2047440699126093,2.4344569288389515,6.803995006242197,5.474406991260924,3.745318352059925,2.746566791510612,2.3470661672908864,4.825218476903871,6.242197253433209,3.745318352059925,6.491885143570538,5.736579275905119,1.8789013732833957,1.5792759051186018,1.4606741573033708,2.777777777777778,4.850187265917603,1.0362047440699127,1.9662921348314608,5.792759051186017,4.712858926342073,2.0411985018726595,3.3333333333333335,1.8164794007490637,7.17852684144819,5.081148564294631,1.3670411985018727,1.466916354556804,5.66167290886392,4.662921348314606,2.2846441947565546,1.6791510611735332,1.941323345817728,6.741573033707866,3.776529338327091,2.1660424469413235,5.393258426966292,3.8951310861423223,4.263420724094882,4.9687890137328345,6.928838951310862,2.5593008739076155,4.300873907615481,4.812734082397004,6.073657927590512,6.866416978776529,4.107365792759051,3.027465667915106,4.02621722846442,4.001248439450687,2.521847690387016,6.616729088639201,4.300873907615481,3.1460674157303368,6.554307116104869,2.596754057428215,4.188514357053683,4.662921348314606,5.0,6.429463171036204,4.4694132334581775,6.616729088639201,6.741573033707866,4.812734082397004,3.3957553058676653,1.7478152309612984,2.3907615480649187,6.991260923845194,4.3508114856429465,3.6017478152309614,1.6729088639200997,6.928838951310862,4.893882646691636,5.930087390761548,2.446941323345818,4.382022471910113,3.9950062421972534,6.367041198501872,1.2359550561797754,2.902621722846442,2.68414481897628,3.258426966292135,6.30461922596754,1.7852684144818978,5.823970037453184,5.249687890137328,4.906367041198502, +4.656679151061174,6.173533083645444,3.2209737827715355,6.229712858926342,4.419475655430712,4.475655430711611,1.4169787765293382,4.169787765293384,1.8851435705368291,3.6641697877652937,4.369538077403246,2.1972534332084894,1.104868913857678,1.2359550561797754,2.459425717852684,6.803995006242197,5.50561797752809,3.776529338327091,2.7715355805243447,2.3720349563046192,4.850187265917603,6.30461922596754,3.7702871410736583,6.491885143570538,5.767790262172285,1.9101123595505618,1.6104868913857677,1.4856429463171037,2.808988764044944,4.875156054931336,1.0611735330836456,2.00374531835206,5.811485642946318,4.737827715355805,2.0599250936329585,3.3583021223470664,1.8539325842696628,7.17852684144819,5.106117353308365,1.3920099875156053,1.4856429463171037,5.686641697877653,4.694132334581773,2.3158551810237205,1.704119850187266,1.9662921348314608,6.741573033707866,3.8077403245942576,2.203495630461923,5.424469413233458,3.926342072409488,4.294631710362047,5.0,6.991260923845194,2.5842696629213484,4.31960049937578,4.843945068664169,6.111111111111111,6.866416978776529,4.132334581772784,3.046192259675406,4.051186017478152,4.032459425717852,2.546816479400749,6.679151061173534,4.325842696629214,3.1647940074906367,6.554307116104869,2.6217228464419473,4.213483146067416,4.694132334581773,5.0374531835206,6.491885143570538,4.49438202247191,6.616729088639201,6.803995006242197,4.831460674157303,3.4269662921348316,1.772784019975031,2.428214731585518,6.991260923845194,4.382022471910113,3.639200998751561,1.6916354556803994,6.991260923845194,4.918851435705368,5.955056179775282,2.478152309612984,4.406991260923846,4.02621722846442,6.429463171036204,1.260923845193508,2.933832709113608,2.715355805243446,3.2896379525593007,6.30461922596754,1.8164794007490637,5.855181023720349,5.274656679151062,4.925093632958801, +4.687890137328339,6.20474406991261,3.258426966292135,6.242197253433209,4.444444444444445,4.500624219725343,1.435705368289638,4.194756554307116,1.916354556803995,3.689138576779026,4.388264669163545,2.2284644194756553,1.1298377028714106,1.2671660424469413,2.4843945068664173,6.866416978776529,5.536828963795256,3.8077403245942576,2.7965043695380776,2.3907615480649187,4.881398252184769,6.30461922596754,3.7952559300873907,6.554307116104869,5.799001248439451,1.9350811485642945,1.6416978776529338,1.5106117353308364,2.84019975031211,4.900124843945068,1.0861423220973783,2.034956304619226,5.836454431960051,4.7565543071161045,2.084893882646692,3.3770287141073654,1.8851435705368291,7.240948813982522,5.131086142322098,1.410736579275905,1.5106117353308364,5.705368289637952,4.719101123595506,2.35330836454432,1.735330836454432,1.9975031210986267,6.803995006242197,3.8389513108614235,2.2347066167290888,5.455680399500624,3.951310861423221,4.332084893882647,5.024968789013733,7.0536828963795255,2.602996254681648,4.344569288389513,4.868913857677903,6.1485642946317105,6.866416978776529,4.157303370786517,3.0649188514357055,4.069912609238452,4.063670411985019,2.565543071161049,6.679151061173534,4.3508114856429465,3.1897627965043696,6.616729088639201,2.6466916354556806,4.238451935081149,4.725343320848939,5.068664169787765,6.491885143570538,4.519350811485642,6.679151061173534,6.803995006242197,4.850187265917603,3.464419475655431,1.797752808988764,2.459425717852684,7.0536828963795255,4.413233458177278,3.6704119850187267,1.7166042446941323,6.991260923845194,4.943820224719102,5.980024968789014,2.5093632958801497,4.431960049937578,4.057428214731585,6.429463171036204,1.285892634207241,2.965043695380774,2.740324594257179,3.3270911360799,6.367041198501872,1.8476903870162298,5.880149812734083,5.299625468164794,4.950062421972534, +4.719101123595506,6.242197253433209,3.2896379525593007,6.30461922596754,4.4694132334581775,4.519350811485642,1.4606741573033708,4.219725343320849,1.941323345817728,3.714107365792759,4.413233458177278,2.259675405742821,1.1485642946317103,1.2983770287141074,2.5093632958801497,6.866416978776529,5.568039950062421,3.8389513108614235,2.82147315855181,2.4157303370786516,4.912609238451935,6.367041198501872,3.8202247191011236,6.554307116104869,5.823970037453184,1.9662921348314608,1.6729088639200997,1.5355805243445693,2.871410736579276,4.925093632958801,1.1111111111111112,2.0724094881398254,5.855181023720349,4.781523096129837,2.1098626716604243,3.4019975031210987,1.9225967540574282,7.240948813982522,5.15605493133583,1.4294631710362047,1.5355805243445693,5.730337078651686,4.7440699126092385,2.3845193508114857,1.766541822721598,2.0224719101123596,6.803995006242197,3.8764044943820224,2.272159800249688,5.48689138576779,3.982521847690387,4.3632958801498125,5.049937578027466,7.0536828963795255,2.6279650436953808,4.3632958801498125,4.900124843945068,6.186017478152309,6.928838951310862,4.188514357053683,3.0836454431960054,4.0886392009987516,4.094881398252185,2.5905118601747814,6.741573033707866,4.369538077403246,3.2084893882646695,6.616729088639201,2.671660424469413,4.263420724094882,4.750312109862672,5.099875156054932,6.491885143570538,4.55056179775281,6.679151061173534,6.803995006242197,4.875156054931336,3.495630461922597,1.8227215980024971,2.4968789013732833,7.116104868913857,4.444444444444445,3.7078651685393256,1.735330836454432,7.0536828963795255,4.9687890137328345,6.01123595505618,2.5405742821473156,4.456928838951311,4.0886392009987516,6.491885143570538,1.3046192259675407,2.9962546816479403,2.7652933832709112,3.3583021223470664,6.429463171036204,1.8851435705368291,5.9113607990012484,5.324594257178527,4.975031210986267, +4.750312109862672,6.30461922596754,3.320848938826467,6.30461922596754,4.49438202247191,4.544319600499376,1.4856429463171037,4.250936329588015,1.9725343320848938,3.732833957553059,4.431960049937578,2.2846441947565546,1.1735330836454432,1.3295880149812733,2.5343320848938826,6.928838951310862,5.599250936329588,3.870162297128589,2.84019975031211,2.4344569288389515,4.937578027465668,6.367041198501872,3.8451935081148565,6.616729088639201,5.855181023720349,1.9975031210986267,1.704119850187266,1.5605493133583022,2.902621722846442,4.950062421972534,1.136079900124844,2.1036204744069913,5.880149812734083,4.806491885143571,2.128589263420724,3.4269662921348316,1.9600499375780276,7.303370786516854,5.181023720349563,1.4544319600499376,1.5605493133583022,5.749063670411985,4.775280898876405,2.4157303370786516,1.797752808988764,2.0474406991260925,6.866416978776529,3.9076154806491883,2.303370786516854,5.511860174781523,4.00749063670412,4.400749063670412,5.074906367041199,7.116104868913857,2.6529338327091136,4.382022471910113,4.931335830212235,6.223470661672909,6.928838951310862,4.213483146067416,3.102372034956305,4.1136079900124844,4.132334581772784,2.6092384519350813,6.741573033707866,4.394506866416979,3.227215980024969,6.616729088639201,2.696629213483146,4.288389513108614,4.781523096129837,5.131086142322098,6.554307116104869,4.575530586766542,6.741573033707866,6.866416978776529,4.893882646691636,3.533083645443196,1.8476903870162298,2.5343320848938826,7.116104868913857,4.475655430711611,3.7390761548064915,1.7602996254681649,7.0536828963795255,4.9937578027465666,6.036204744069912,2.571785268414482,4.4818976279650435,4.119850187265917,6.491885143570538,1.3295880149812733,3.027465667915106,2.790262172284644,3.3895131086142323,6.429463171036204,1.916354556803995,5.942571785268415,5.355805243445693,4.9937578027465666, +4.781523096129837,6.30461922596754,3.3583021223470664,6.367041198501872,4.519350811485642,4.563046192259676,1.5043695380774034,4.275905118601748,2.00374531835206,3.7578027465667914,4.450686641697877,2.3158551810237205,1.198501872659176,1.3545568039950062,2.5593008739076155,6.928838951310862,5.630461922596755,3.9013732833957557,2.865168539325843,2.453183520599251,4.9687890137328345,6.429463171036204,3.870162297128589,6.616729088639201,5.8863920099875156,2.0287141073657926,1.7290886392009988,1.585518102372035,2.933832709113608,4.975031210986267,1.161048689138577,2.134831460674157,5.8988764044943816,4.825218476903871,2.153558052434457,3.4456928838951315,1.9912609238451935,7.303370786516854,5.205992509363296,1.4731585518102372,1.585518102372035,5.774032459425719,4.800249687890138,2.446941323345818,1.8227215980024971,2.0786516853932584,6.866416978776529,3.938826466916354,2.33458177278402,5.543071161048689,4.038701622971286,4.431960049937578,5.099875156054932,7.116104868913857,2.6779026217228465,4.406991260923846,4.956304619225968,6.242197253433209,6.991260923845194,4.238451935081149,3.1273408239700373,4.132334581772784,4.16354556803995,2.634207240948814,6.803995006242197,4.413233458177278,3.2521847690387014,6.679151061173534,2.7215980024968793,4.313358302122348,4.812734082397004,5.168539325842697,6.554307116104869,4.606741573033708,6.741573033707866,6.866416978776529,4.912609238451935,3.564294631710362,1.8726591760299625,2.565543071161049,7.17852684144819,4.500624219725343,3.7702871410736583,1.7790262172284643,7.116104868913857,5.0187265917602994,6.061173533083646,2.602996254681648,4.506866416978776,4.157303370786517,6.491885143570538,1.3545568039950062,3.058676654182272,2.82147315855181,3.420724094881398,6.491885143570538,1.9538077403245941,5.97378277153558,5.380774032459426,5.0187265917602994, +4.806491885143571,6.367041198501872,3.3895131086142323,6.367041198501872,4.544319600499376,4.588014981273409,1.529338327091136,4.300873907615481,2.034956304619226,3.7827715355805243,4.475655430711611,2.3470661672908864,1.2172284644194757,1.3857677902621723,2.5842696629213484,6.991260923845194,5.66167290886392,3.9325842696629216,2.8901373283395753,2.478152309612984,5.0,6.429463171036204,3.8951310861423223,6.679151061173534,5.9113607990012484,2.0536828963795255,1.7602996254681649,1.6104868913857677,2.965043695380774,5.0,1.1860174781523096,2.1722846441947565,5.917602996254682,4.850187265917603,2.1722846441947565,3.470661672908864,2.0287141073657926,7.365792759051186,5.230961298377029,1.4918851435705367,1.6104868913857677,5.792759051186017,4.825218476903871,2.4843945068664173,1.8539325842696628,2.1036204744069913,6.928838951310862,3.9762796504369535,2.3720349563046192,5.574282147315855,4.063670411985019,4.4694132334581775,5.131086142322098,7.17852684144819,2.702871410736579,4.425717852684145,4.987515605493134,6.30461922596754,6.991260923845194,4.269662921348314,3.1460674157303368,4.151061173533084,4.194756554307116,2.6591760299625467,6.803995006242197,4.438202247191011,3.2709113607990012,6.679151061173534,2.746566791510612,4.33832709113608,4.843945068664169,5.199750312109863,6.616729088639201,4.631710362047441,6.803995006242197,6.866416978776529,4.937578027465668,3.6017478152309614,1.8976279650436954,2.602996254681648,7.17852684144819,4.531835205992509,3.8077403245942576,1.8039950062421974,7.116104868913857,5.043695380774032,6.086142322097379,2.634207240948814,4.531835205992509,4.188514357053683,6.554307116104869,1.3795255930087391,3.0836454431960054,2.8464419475655434,3.4581772784019975,6.491885143570538,1.9850187265917605,6.004993757802747,5.405742821473158,5.043695380774032, +4.837702871410737,6.367041198501872,3.420724094881398,6.367041198501872,4.569288389513109,4.612983770287141,1.554307116104869,4.325842696629214,2.0599250936329585,3.801498127340824,4.49438202247191,2.3720349563046192,1.2421972534332086,1.4169787765293382,2.6092384519350813,6.991260923845194,5.692883895131087,3.9637952559300875,2.9151061173533086,2.4968789013732833,5.024968789013733,6.491885143570538,3.9138576779026217,6.679151061173534,5.942571785268415,2.084893882646692,1.7915106117353308,1.6354556803995006,2.9962546816479403,5.024968789013733,1.2109862671660423,2.203495630461923,5.942571785268415,4.868913857677903,2.1972534332084894,3.495630461922597,2.0599250936329585,7.365792759051186,5.249687890137328,1.5106117353308364,1.6354556803995006,5.81772784019975,4.850187265917603,2.515605493133583,1.8851435705368291,2.128589263420724,6.928838951310862,4.00749063670412,2.4032459425717856,5.605493133583021,4.094881398252185,4.500624219725343,5.15605493133583,7.17852684144819,2.727840199750312,4.444444444444445,5.012484394506866,6.30461922596754,6.991260923845194,4.294631710362047,3.1647940074906367,4.176029962546816,4.225967540574282,2.6779026217228465,6.866416978776529,4.463171036204744,3.295880149812734,6.679151061173534,2.7715355805243447,4.3632958801498125,4.875156054931336,5.230961298377029,6.616729088639201,4.656679151061174,6.803995006242197,6.928838951310862,4.956304619225968,3.6329588014981273,1.9225967540574282,2.634207240948814,7.240948813982522,4.563046192259676,3.8389513108614235,1.8227215980024971,7.17852684144819,5.062421972534332,6.111111111111111,2.66541822721598,4.556803995006242,4.219725343320849,6.554307116104869,1.404494382022472,3.114856429463171,2.871410736579276,3.4893882646691634,6.554307116104869,2.0224719101123596,6.036204744069912,5.430711610486892,5.068664169787765, +4.868913857677903,6.429463171036204,3.4581772784019975,6.429463171036204,4.594257178526841,4.631710362047441,1.5730337078651684,4.357053682896379,2.091136079900125,3.826466916354557,4.519350811485642,2.4032459425717856,1.2671660424469413,1.4481897627965044,2.634207240948814,7.0536828963795255,5.724094881398252,3.9950062421972534,2.9400749063670415,2.521847690387016,5.056179775280899,6.491885143570538,3.938826466916354,6.741573033707866,5.97378277153558,2.1161048689138577,1.8227215980024971,1.6604244694132335,3.033707865168539,5.049937578027466,1.2359550561797754,2.2347066167290888,5.961298377028713,4.893882646691636,2.2222222222222223,3.5205992509363297,2.097378277153558,7.428214731585518,5.274656679151062,1.5355805243445693,1.6541822721598003,5.836454431960051,4.881398252184769,2.546816479400749,1.9101123595505618,2.15980024968789,6.991260923845194,4.044943820224719,2.4344569288389515,5.630461922596755,4.1260923845193505,4.531835205992509,5.181023720349563,7.240948813982522,2.746566791510612,4.4694132334581775,5.043695380774032,6.367041198501872,7.0536828963795255,4.31960049937578,3.183520599250936,4.194756554307116,4.257178526841448,2.702871410736579,6.866416978776529,4.4818976279650435,3.3146067415730336,6.741573033707866,2.790262172284644,4.388264669163545,4.906367041198502,5.262172284644195,6.616729088639201,4.687890137328339,6.803995006242197,6.928838951310862,4.975031210986267,3.6704119850187267,1.941323345817728,2.671660424469413,7.303370786516854,4.594257178526841,3.870162297128589,1.8476903870162298,7.17852684144819,5.087390761548065,6.1360799001248445,2.696629213483146,4.588014981273409,4.250936329588015,6.616729088639201,1.4294631710362047,3.1460674157303368,2.8963795255930087,3.5205992509363297,6.616729088639201,2.0536828963795255,6.061173533083646,5.455680399500624,5.087390761548065, +4.900124843945068,6.429463171036204,3.4893882646691634,6.429463171036204,4.619225967540574,4.656679151061174,1.5980024968789013,4.382022471910113,2.122347066167291,3.8451935081148565,4.538077403245943,2.4344569288389515,1.285892634207241,1.4731585518102372,2.6529338327091136,7.0536828963795255,5.7553058676654185,4.02621722846442,2.965043695380774,2.5405742821473156,5.087390761548065,6.554307116104869,3.9637952559300875,6.741573033707866,5.998751560549313,2.1410736579275906,1.8539325842696628,1.6853932584269664,3.0649188514357055,5.074906367041199,1.260923845193508,2.272159800249688,5.986267166042447,4.912609238451935,2.2409488139825218,3.5393258426966296,2.128589263420724,7.428214731585518,5.299625468164794,1.554307116104869,1.6791510611735332,5.861423220973783,4.906367041198502,2.578027465667915,1.941323345817728,2.184769038701623,6.991260923845194,4.0761548064918856,2.471910112359551,5.66167290886392,4.151061173533084,4.569288389513109,5.205992509363296,7.303370786516854,2.7715355805243447,4.488139825218477,5.068664169787765,6.429463171036204,7.0536828963795255,4.3508114856429465,3.202247191011236,4.213483146067416,4.288389513108614,2.7215980024968793,6.928838951310862,4.506866416978776,3.339575530586767,6.741573033707866,2.8152309612983775,4.413233458177278,4.937578027465668,5.299625468164794,6.679151061173534,4.712858926342073,6.866416978776529,6.928838951310862,5.0,3.701622971285893,1.9662921348314608,2.702871410736579,7.303370786516854,4.6254681647940075,3.9076154806491883,1.8664169787765295,7.240948813982522,5.1123595505617985,6.161048689138577,2.727840199750312,4.612983770287141,4.282147315855181,6.616729088639201,1.4481897627965044,3.1772784019975036,2.9275905118601746,3.5580524344569286,6.616729088639201,2.091136079900125,6.092384519350812,5.480649188514358,5.1123595505617985, +4.931335830212235,6.491885143570538,3.5205992509363297,6.491885143570538,4.644194756554308,4.681647940074906,1.6229712858926344,4.406991260923846,2.153558052434457,3.870162297128589,4.563046192259676,2.4656679151061174,1.3108614232209737,1.5043695380774034,2.6779026217228465,7.116104868913857,5.786516853932584,4.057428214731585,2.990012484394507,2.565543071161049,5.1123595505617985,6.554307116104869,3.9887640449438204,6.803995006242197,6.029962546816479,2.1722846441947565,1.8851435705368291,1.710362047440699,3.0961298377028714,5.099875156054932,1.285892634207241,2.303370786516854,6.004993757802747,4.937578027465668,2.2659176029962547,3.564294631710362,2.1660424469413235,7.49063670411985,5.324594257178527,1.5730337078651684,1.704119850187266,5.8863920099875156,4.931335830212235,2.6154806491885143,1.9725343320848938,2.209737827715356,7.0536828963795255,4.107365792759051,2.5031210986267167,5.692883895131087,4.18227215980025,4.600499375780275,5.230961298377029,7.303370786516854,2.7965043695380776,4.506866416978776,5.099875156054932,6.429463171036204,7.116104868913857,4.375780274656679,3.2209737827715355,4.238451935081149,4.31960049937578,2.746566791510612,6.928838951310862,4.525593008739076,3.3583021223470664,6.741573033707866,2.84019975031211,4.438202247191011,4.9687890137328345,5.33083645443196,6.679151061173534,4.737827715355805,6.866416978776529,6.991260923845194,5.0187265917602994,3.732833957553059,1.9912609238451935,2.740324594257179,7.365792759051186,4.656679151061174,3.938826466916354,1.8913857677902621,7.240948813982522,5.1373283395755305,6.186017478152309,2.7590511860174782,4.637952559300874,4.31960049937578,6.679151061173534,1.4731585518102372,3.2084893882646695,2.9525593008739075,3.589263420724095,6.679151061173534,2.122347066167291,6.123595505617978,5.50561797752809,5.1373283395755305, +4.962546816479401,6.491885143570538,3.5580524344569286,6.491885143570538,4.66916354556804,4.700374531835206,1.6416978776529338,4.431960049937578,2.1785268414481895,3.8951310861423223,4.581772784019975,2.4906367041198503,1.3358302122347065,1.5355805243445693,2.702871410736579,7.116104868913857,5.81772784019975,4.0886392009987516,3.0149812734082393,2.5842696629213484,5.143570536828964,6.616729088639201,4.013732833957553,6.803995006242197,6.061173533083646,2.203495630461923,1.9101123595505618,1.735330836454432,3.1273408239700373,5.118601747815231,1.3108614232209737,2.340823970037453,6.029962546816479,4.962546816479401,2.2846441947565546,3.589263420724095,2.1972534332084894,7.49063670411985,5.34956304619226,1.5980024968789013,1.7290886392009988,5.905118601747815,4.962546816479401,2.6466916354556806,2.00374531835206,2.2409488139825218,7.0536828963795255,4.144818976279651,2.5405742821473156,5.724094881398252,4.207240948813983,4.637952559300874,5.262172284644195,7.365792759051186,2.82147315855181,4.531835205992509,5.1248439450686645,6.491885143570538,7.116104868913857,4.400749063670412,3.2397003745318353,4.257178526841448,4.3508114856429465,2.7715355805243447,6.991260923845194,4.55056179775281,3.383270911360799,6.803995006242197,2.865168539325843,4.463171036204744,5.0,5.3620474406991265,6.679151061173534,4.769038701622971,6.928838951310862,6.991260923845194,5.0374531835206,3.7702871410736583,2.016229712858926,2.777777777777778,7.428214731585518,4.687890137328339,3.970037453183521,1.9101123595505618,7.303370786516854,5.162297128589263,6.210986267166042,2.790262172284644,4.662921348314606,4.3508114856429465,6.679151061173534,1.4981273408239701,3.2397003745318353,2.977528089887641,3.620474406991261,6.741573033707866,2.153558052434457,6.154806491885144,5.5305867665418225,5.162297128589263, +4.9937578027465666,6.554307116104869,3.589263420724095,6.554307116104869,4.694132334581773,4.725343320848939,1.6666666666666667,4.456928838951311,2.209737827715356,3.9138576779026217,4.600499375780275,2.521847690387016,1.3545568039950062,1.5667915106117354,2.727840199750312,7.17852684144819,5.848938826466916,4.119850187265917,3.0399500624219726,2.6092384519350813,5.174781523096129,6.616729088639201,4.038701622971286,6.866416978776529,6.086142322097379,2.2284644194756553,1.941323345817728,1.7602996254681649,3.1585518102372037,5.143570536828964,1.3358302122347065,2.3720349563046192,6.048689138576779,4.9812734082397006,2.309612983770287,3.6142322097378274,2.2347066167290888,7.553058676654182,5.3745318352059925,1.616729088639201,1.7540574282147314,5.930087390761548,4.987515605493134,2.6779026217228465,2.0287141073657926,2.2659176029962547,7.116104868913857,4.176029962546816,2.571785268414482,5.749063670411985,4.238451935081149,4.66916354556804,5.287141073657928,7.365792759051186,2.8464419475655434,4.55056179775281,5.15605493133583,6.491885143570538,7.116104868913857,4.431960049937578,3.258426966292135,4.275905118601748,4.382022471910113,2.790262172284644,6.991260923845194,4.575530586766542,3.4019975031210987,6.803995006242197,2.8901373283395753,4.488139825218477,5.031210986267166,5.393258426966292,6.741573033707866,4.794007490636704,6.928838951310862,6.991260923845194,5.062421972534332,3.801498127340824,2.0411985018726595,2.808988764044944,7.428214731585518,4.719101123595506,4.00749063670412,1.9350811485642945,7.303370786516854,5.187265917602996,6.235955056179775,2.82147315855181,4.687890137328339,4.382022471910113,6.741573033707866,1.523096129837703,3.2709113607990012,3.0087390761548067,3.6579275905118602,6.741573033707866,2.1910112359550564,6.186017478152309,5.561797752808988,5.181023720349563, +5.024968789013733,6.554307116104869,3.6267166042446943,6.554307116104869,4.719101123595506,4.750312109862672,1.6916354556803994,4.488139825218477,2.2409488139825218,3.938826466916354,4.6254681647940075,2.5530586766541825,1.3795255930087391,1.5980024968789013,2.752808988764045,7.17852684144819,5.880149812734083,4.151061173533084,3.0649188514357055,2.6279650436953808,5.199750312109863,6.679151061173534,4.063670411985019,6.866416978776529,6.117353308364544,2.259675405742821,1.9725343320848938,1.7852684144818978,3.1897627965043696,5.168539325842697,1.3607990012484397,2.4032459425717856,6.073657927590512,5.0062421972534334,2.33458177278402,3.6329588014981273,2.2659176029962547,7.553058676654182,5.393258426966292,1.6354556803995006,1.7790262172284643,5.948813982521848,5.012484394506866,2.715355805243446,2.0599250936329585,2.2908863920099876,7.116104868913857,4.207240948813983,2.602996254681648,5.7802746566791505,4.269662921348314,4.700374531835206,5.312109862671661,7.428214731585518,2.865168539325843,4.575530586766542,5.181023720349563,6.554307116104869,7.17852684144819,4.456928838951311,3.2771535580524347,4.300873907615481,4.413233458177278,2.8152309612983775,7.0536828963795255,4.594257178526841,3.4269662921348316,6.803995006242197,2.9151061173533086,4.51310861423221,5.062421972534332,5.424469413233458,6.741573033707866,4.818976279650437,6.991260923845194,7.0536828963795255,5.081148564294631,3.8389513108614235,2.066167290886392,2.8464419475655434,7.49063670411985,4.750312109862672,4.038701622971286,1.9538077403245941,7.365792759051186,5.212234706616729,6.242197253433209,2.852684144818976,4.712858926342073,4.413233458177278,6.741573033707866,1.5480649188514357,3.3021223470661676,3.033707865168539,3.689138576779026,6.803995006242197,2.2222222222222223,6.217228464419476,5.586766541822722,5.205992509363296, +5.056179775280899,6.616729088639201,3.6579275905118602,6.616729088639201,4.7440699126092385,4.769038701622971,1.710362047440699,4.51310861423221,2.272159800249688,3.9637952559300875,4.644194756554308,2.5842696629213484,1.404494382022472,1.6229712858926344,2.777777777777778,7.17852684144819,5.9113607990012484,4.18227215980025,3.089887640449438,2.6529338327091136,5.230961298377029,6.679151061173534,4.0886392009987516,6.928838951310862,6.1485642946317105,2.2908863920099876,2.00374531835206,1.8102372034956304,3.2209737827715355,5.19350811485643,1.3857677902621723,2.4406991260923845,6.092384519350812,5.024968789013733,2.35330836454432,3.6579275905118602,2.303370786516854,7.615480649188515,5.418227215980025,1.6541822721598003,1.8039950062421974,5.97378277153558,5.0374531835206,2.746566791510612,2.091136079900125,2.322097378277154,7.17852684144819,4.244694132334582,2.640449438202247,5.811485642946318,4.294631710362047,4.737827715355805,5.337078651685393,7.428214731585518,2.8901373283395753,4.594257178526841,5.212234706616729,6.616729088639201,7.17852684144819,4.4818976279650435,3.3021223470661676,4.31960049937578,4.444444444444445,2.8339575530586765,7.0536828963795255,4.619225967540574,3.4456928838951315,6.866416978776529,2.9400749063670415,4.538077403245943,5.093632958801498,5.461922596754057,6.803995006242197,4.850187265917603,6.991260923845194,7.0536828963795255,5.099875156054932,3.870162297128589,2.091136079900125,2.8776529338327093,7.49063670411985,4.781523096129837,4.069912609238452,1.9725343320848938,7.365792759051186,5.230961298377029,6.30461922596754,2.8838951310861427,4.737827715355805,4.444444444444445,6.803995006242197,1.5730337078651684,3.3333333333333335,3.058676654182272,3.7203495630461925,6.803995006242197,2.259675405742821,6.242197253433209,5.611735330836455,5.230961298377029, +5.081148564294631,6.616729088639201,3.689138576779026,6.616729088639201,4.775280898876405,4.794007490636704,1.735330836454432,4.538077403245943,2.2971285892634206,3.982521847690387,4.66916354556804,2.6092384519350813,1.4232209737827717,1.6541822721598003,2.8027465667915106,7.240948813982522,5.942571785268415,4.213483146067416,3.114856429463171,2.671660424469413,5.262172284644195,6.741573033707866,4.1136079900124844,6.928838951310862,6.179775280898876,2.3158551810237205,2.034956304619226,1.8352059925093633,3.2521847690387014,5.218476903870163,1.410736579275905,2.471910112359551,6.111111111111111,5.049937578027466,2.3782771535580522,3.682896379525593,2.33458177278402,7.615480649188515,5.443196004993759,1.6791510611735332,1.8227215980024971,5.992509363295881,5.068664169787765,2.777777777777778,2.1161048689138577,2.3470661672908864,7.17852684144819,4.275905118601748,2.671660424469413,5.842696629213483,4.325842696629214,4.769038701622971,5.3620474406991265,7.49063670411985,2.9151061173533086,4.612983770287141,5.243445692883895,6.616729088639201,7.240948813982522,4.51310861423221,3.320848938826467,4.33832709113608,4.4818976279650435,2.8589263420724094,7.116104868913857,4.637952559300874,3.470661672908864,6.866416978776529,2.965043695380774,4.563046192259676,5.118601747815231,5.493133583021224,6.803995006242197,4.875156054931336,7.0536828963795255,7.0536828963795255,5.1248439450686645,3.9076154806491883,2.1161048689138577,2.9151061173533086,7.553058676654182,4.812734082397004,4.107365792759051,1.9975031210986267,7.428214731585518,5.2559300873907615,6.30461922596754,2.9151061173533086,4.762796504369538,4.475655430711611,6.803995006242197,1.5980024968789013,3.3645443196004994,3.0836454431960054,3.7515605493133584,6.866416978776529,2.2908863920099876,6.30461922596754,5.636704119850187,5.2559300873907615, +5.1123595505617985,6.679151061173534,3.7265917602996255,6.679151061173534,4.800249687890138,4.818976279650437,1.7602996254681649,4.563046192259676,2.328339575530587,4.00749063670412,4.687890137328339,2.640449438202247,1.4481897627965044,1.6853932584269664,2.8277153558052435,7.240948813982522,5.97378277153558,4.238451935081149,3.139825218476904,2.696629213483146,5.287141073657928,6.741573033707866,4.132334581772784,6.991260923845194,6.20474406991261,2.3470661672908864,2.066167290886392,1.8601747815230962,3.2833957553058677,5.243445692883895,1.435705368289638,2.5031210986267167,6.1360799001248445,5.068664169787765,2.397003745318352,3.7078651685393256,2.3720349563046192,7.677902621722847,5.468164794007491,1.6978776529338326,1.8476903870162298,6.0174781523096135,5.093632958801498,2.808988764044944,2.1473158551810236,2.3720349563046192,7.240948813982522,4.307116104868914,2.7091136079900124,5.867665418227216,4.3508114856429465,4.806491885143571,5.393258426966292,7.553058676654182,2.9400749063670415,4.637952559300874,5.268414481897628,6.679151061173534,7.240948813982522,4.538077403245943,3.339575530586767,4.3632958801498125,4.51310861423221,2.8776529338327093,7.116104868913857,4.662921348314606,3.4893882646691634,6.866416978776529,2.990012484394507,4.588014981273409,5.149812734082397,5.524344569288389,6.803995006242197,4.900124843945068,7.0536828963795255,7.116104868913857,5.143570536828964,3.938826466916354,2.1410736579275906,2.9463171036204745,7.615480649188515,4.843945068664169,4.138576779026217,2.016229712858926,7.428214731585518,5.280898876404494,6.367041198501872,2.9463171036204745,4.787765293383271,4.51310861423221,6.866416978776529,1.616729088639201,3.3957553058676653,3.114856429463171,3.7890137328339577,6.928838951310862,2.328339575530587,6.30461922596754,5.66167290886392,5.274656679151062, +5.143570536828964,6.679151061173534,3.7578027465667914,6.679151061173534,4.825218476903871,4.837702871410737,1.7790262172284643,4.588014981273409,2.359550561797753,4.032459425717852,4.712858926342073,2.671660424469413,1.4731585518102372,1.7166042446941323,2.852684144818976,7.303370786516854,6.004993757802747,4.269662921348314,3.1647940074906367,2.715355805243446,5.318352059925093,6.803995006242197,4.157303370786517,6.991260923845194,6.235955056179775,2.3782771535580522,2.091136079900125,1.8851435705368291,3.3146067415730336,5.268414481897628,1.4606741573033708,2.5405742821473156,6.154806491885144,5.093632958801498,2.4219725343320846,3.7265917602996255,2.4032459425717856,7.677902621722847,5.493133583021224,1.7166042446941323,1.8726591760299625,6.036204744069912,5.118601747815231,2.8464419475655434,2.1785268414481895,2.4032459425717856,7.240948813982522,4.344569288389513,2.740324594257179,5.8988764044943816,4.382022471910113,4.837702871410737,5.418227215980025,7.553058676654182,2.965043695380774,4.656679151061174,5.299625468164794,6.679151061173534,7.303370786516854,4.563046192259676,3.3583021223470664,4.382022471910113,4.544319600499376,2.902621722846442,7.17852684144819,4.687890137328339,3.5143570536828963,6.928838951310862,3.0149812734082393,4.612983770287141,5.181023720349563,5.555555555555556,6.866416978776529,4.931335830212235,7.116104868913857,7.116104868913857,5.168539325842697,3.9762796504369535,2.1660424469413235,2.9837702871410734,7.615480649188515,4.875156054931336,4.169787765293384,2.0411985018726595,7.49063670411985,5.305867665418227,6.367041198501872,2.977528089887641,4.812734082397004,4.544319600499376,6.866416978776529,1.6416978776529338,3.4269662921348316,3.139825218476904,3.8202247191011236,6.928838951310862,2.359550561797753,6.367041198501872,5.686641697877653,5.299625468164794, +5.174781523096129,6.741573033707866,3.7890137328339577,6.679151061173534,4.850187265917603,4.8626716604244695,1.8039950062421974,4.619225967540574,2.3845193508114857,4.051186017478152,4.7315855181023725,2.702871410736579,1.4918851435705367,1.7478152309612984,2.8776529338327093,7.303370786516854,6.036204744069912,4.300873907615481,3.183520599250936,2.740324594257179,5.34956304619226,6.803995006242197,4.18227215980025,7.0536828963795255,6.242197253433209,2.4032459425717856,2.122347066167291,1.9101123595505618,3.3458177278401995,5.293383270911361,1.4856429463171037,2.571785268414482,6.179775280898876,5.118601747815231,2.446941323345818,3.7515605493133584,2.4406991260923845,7.740324594257178,5.5181023720349565,1.7415730337078652,1.8976279650436954,6.061173533083646,5.149812734082397,2.8776529338327093,2.209737827715356,2.428214731585518,7.303370786516854,4.375780274656679,2.7715355805243447,5.930087390761548,4.406991260923846,4.875156054931336,5.443196004993759,7.615480649188515,2.990012484394507,4.675405742821473,5.324594257178527,6.741573033707866,7.303370786516854,4.594257178526841,3.3770287141073654,4.400749063670412,4.575530586766542,2.9275905118601746,7.17852684144819,4.70661672908864,3.533083645443196,6.928838951310862,3.033707865168539,4.637952559300874,5.212234706616729,5.593008739076155,6.866416978776529,4.956304619225968,7.116104868913857,7.116104868913857,5.187265917602996,4.00749063670412,2.1910112359550564,3.0212234706616727,7.677902621722847,4.906367041198502,4.207240948813983,2.0599250936329585,7.49063670411985,5.33083645443196,6.367041198501872,3.0024968789013733,4.837702871410737,4.575530586766542,6.928838951310862,1.6666666666666667,3.4581772784019975,3.1647940074906367,3.8514357053682895,6.991260923845194,2.397003745318352,6.367041198501872,5.711610486891385,5.324594257178527, +5.205992509363296,6.803995006242197,3.826466916354557,6.741573033707866,4.875156054931336,4.887640449438202,1.8289637952559301,4.644194756554308,2.4157303370786516,4.0761548064918856,4.750312109862672,2.727840199750312,1.5168539325842696,1.772784019975031,2.902621722846442,7.365792759051186,6.067415730337078,4.332084893882647,3.2084893882646695,2.7590511860174782,5.3745318352059925,6.866416978776529,4.207240948813983,7.0536828963795255,6.30461922596754,2.4344569288389515,2.153558052434457,1.9350811485642945,3.383270911360799,5.318352059925093,1.5106117353308364,2.6092384519350813,6.198501872659176,5.1373283395755305,2.4656679151061174,3.776529338327091,2.471910112359551,7.740324594257178,5.543071161048689,1.7602996254681649,1.9225967540574282,6.079900124843945,5.174781523096129,2.908863920099875,2.2347066167290888,2.453183520599251,7.303370786516854,4.413233458177278,2.808988764044944,5.961298377028713,4.438202247191011,4.906367041198502,5.468164794007491,7.615480649188515,3.0087390761548067,4.700374531835206,5.355805243445693,6.803995006242197,7.303370786516854,4.619225967540574,3.3957553058676653,4.425717852684145,4.606741573033708,2.9463171036204745,7.240948813982522,4.7315855181023725,3.5580524344569286,6.991260923845194,3.058676654182272,4.662921348314606,5.243445692883895,5.6242197253433215,6.866416978776529,4.987515605493134,7.17852684144819,7.17852684144819,5.205992509363296,4.044943820224719,2.215980024968789,3.0524344569288386,7.740324594257178,4.937578027465668,4.238451935081149,2.084893882646692,7.553058676654182,5.355805243445693,6.429463171036204,3.033707865168539,4.8626716604244695,4.606741573033708,6.928838951310862,1.6916354556803994,3.4893882646691634,3.1897627965043696,3.888888888888889,7.0536828963795255,2.428214731585518,6.367041198501872,5.736579275905119,5.34956304619226, +5.237203495630462,6.803995006242197,3.857677902621723,6.741573033707866,4.900124843945068,4.906367041198502,1.8476903870162298,4.66916354556804,2.446941323345818,4.1011235955056184,4.775280898876405,2.7590511860174782,1.5418227215980027,1.8039950062421974,2.9275905118601746,7.365792759051186,6.092384519350812,4.3632958801498125,3.233458177278402,2.777777777777778,5.405742821473158,6.866416978776529,4.2322097378277155,7.116104868913857,6.30461922596754,2.4656679151061174,2.184769038701623,1.9600499375780276,3.4144818976279647,5.343320848938826,1.5355805243445693,2.640449438202247,6.223470661672909,5.162297128589263,2.4906367041198503,3.7952559300873907,2.5093632958801497,7.740324594257178,5.561797752808988,1.7790262172284643,1.9475655430711611,6.104868913857677,5.199750312109863,2.9400749063670415,2.2659176029962547,2.478152309612984,7.365792759051186,4.444444444444445,2.84019975031211,5.986267166042447,4.4694132334581775,4.937578027465668,5.493133583021224,7.677902621722847,3.033707865168539,4.719101123595506,5.380774032459426,6.803995006242197,7.365792759051186,4.644194756554308,3.4144818976279647,4.444444444444445,4.637952559300874,2.9712858926342074,7.240948813982522,4.750312109862672,3.576779026217228,6.991260923845194,3.0836454431960054,4.687890137328339,5.274656679151062,5.655430711610487,6.928838951310862,5.012484394506866,7.17852684144819,7.17852684144819,5.230961298377029,4.0761548064918856,2.2409488139825218,3.089887640449438,7.740324594257178,4.9687890137328345,4.269662921348314,2.1036204744069913,7.553058676654182,5.3745318352059925,6.429463171036204,3.0649188514357055,4.887640449438202,4.637952559300874,6.928838951310862,1.7166042446941323,3.5205992509363297,3.2209737827715355,3.920099875156055,7.0536828963795255,2.459425717852684,6.429463171036204,5.761548064918852,5.36828963795256, +5.268414481897628,6.866416978776529,3.888888888888889,6.803995006242197,4.925093632958801,4.931335830212235,1.8726591760299625,4.694132334581773,2.478152309612984,4.119850187265917,4.794007490636704,2.790262172284644,1.5605493133583022,1.8352059925093633,2.9525593008739075,7.428214731585518,6.123595505617978,4.394506866416979,3.258426966292135,2.8027465667915106,5.436953807740325,6.928838951310862,4.257178526841448,7.116104868913857,6.367041198501872,2.4906367041198503,2.215980024968789,1.9850187265917605,3.4456928838951315,5.36828963795256,1.5605493133583022,2.671660424469413,6.242197253433209,5.181023720349563,2.5093632958801497,3.8202247191011236,2.5405742821473156,7.8027465667915115,5.586766541822722,1.797752808988764,1.9662921348314608,6.129837702871411,5.224719101123595,2.977528089887641,2.2971285892634206,2.5093632958801497,7.365792759051186,4.475655430711611,2.871410736579276,6.0174781523096135,4.49438202247191,4.975031210986267,5.524344569288389,7.677902621722847,3.058676654182272,4.737827715355805,5.411985018726591,6.866416978776529,7.365792759051186,4.675405742821473,3.4332084893882646,4.463171036204744,4.66916354556804,2.990012484394507,7.303370786516854,4.775280898876405,3.6017478152309614,6.991260923845194,3.108614232209738,4.712858926342073,5.305867665418227,5.686641697877653,6.928838951310862,5.0374531835206,7.240948813982522,7.17852684144819,5.249687890137328,4.107365792759051,2.2659176029962547,3.1210986267166043,7.8027465667915115,5.0,4.307116104868914,2.128589263420724,7.615480649188515,5.399500624219725,6.491885143570538,3.0961298377028714,4.912609238451935,4.675405742821473,6.991260923845194,1.7415730337078652,3.5518102372034956,3.245942571785269,3.951310861423221,7.116104868913857,2.4968789013732833,6.429463171036204,5.792759051186017,5.393258426966292, +5.299625468164794,6.866416978776529,3.926342072409488,6.803995006242197,4.950062421972534,4.950062421972534,1.8976279650436954,4.719101123595506,2.5031210986267167,4.144818976279651,4.818976279650437,2.8152309612983775,1.585518102372035,1.8664169787765295,2.977528089887641,7.428214731585518,6.154806491885144,4.425717852684145,3.2833957553058677,2.82147315855181,5.461922596754057,6.928838951310862,4.282147315855181,7.17852684144819,6.367041198501872,2.521847690387016,2.2409488139825218,2.009987515605493,3.4769038701622974,5.393258426966292,1.585518102372035,2.7091136079900124,6.242197253433209,5.205992509363296,2.5343320848938826,3.8451935081148565,2.578027465667915,7.8027465667915115,5.611735330836455,1.8227215980024971,1.9912609238451935,6.1485642946317105,5.2559300873907615,3.0087390761548067,2.322097378277154,2.5343320848938826,7.428214731585518,4.51310861423221,2.908863920099875,6.048689138576779,4.525593008739076,5.0062421972534334,5.549313358302123,7.740324594257178,3.0836454431960054,4.762796504369538,5.436953807740325,6.866416978776529,7.428214731585518,4.700374531835206,3.451935081148564,4.488139825218477,4.700374531835206,3.0149812734082393,7.303370786516854,4.794007490636704,3.620474406991261,7.0536828963795255,3.1335830212234708,4.737827715355805,5.337078651685393,5.724094881398252,6.991260923845194,5.068664169787765,7.240948813982522,7.240948813982522,5.268414481897628,4.144818976279651,2.2908863920099876,3.1585518102372037,7.8027465667915115,5.031210986267166,4.33832709113608,2.1473158551810236,7.615480649188515,5.424469413233458,6.491885143570538,3.1273408239700373,4.937578027465668,4.70661672908864,6.991260923845194,1.7602996254681649,3.5830212234706615,3.2709113607990012,3.9887640449438204,7.17852684144819,2.5280898876404496,6.491885143570538,5.81772784019975,5.418227215980025, +5.324594257178527,6.928838951310862,3.957553058676654,6.866416978776529,4.975031210986267,4.975031210986267,1.916354556803995,4.750312109862672,2.5343320848938826,4.169787765293384,4.837702871410737,2.8464419475655434,1.6104868913857677,1.8976279650436954,3.0024968789013733,7.49063670411985,6.186017478152309,4.456928838951311,3.3083645443196006,2.8464419475655434,5.493133583021224,6.991260923845194,4.307116104868914,7.17852684144819,6.429463171036204,2.5530586766541825,2.272159800249688,2.034956304619226,3.508114856429463,5.418227215980025,1.6104868913857677,2.740324594257179,6.30461922596754,5.224719101123595,2.5593008739076155,3.870162297128589,2.6092384519350813,7.865168539325843,5.636704119850187,1.8414481897627966,2.016229712858926,6.173533083645444,5.280898876404494,3.0399500624219726,2.35330836454432,2.5593008739076155,7.428214731585518,4.544319600499376,2.9400749063670415,6.079900124843945,4.55056179775281,5.043695380774032,5.574282147315855,7.8027465667915115,3.108614232209738,4.781523096129837,5.468164794007491,6.928838951310862,7.428214731585518,4.725343320848939,3.4769038701622974,4.506866416978776,4.7315855181023725,3.033707865168539,7.365792759051186,4.818976279650437,3.6454431960049942,7.0536828963795255,3.1585518102372037,4.762796504369538,5.36828963795256,5.7553058676654185,6.991260923845194,5.093632958801498,7.303370786516854,7.240948813982522,5.293383270911361,4.176029962546816,2.3158551810237205,3.1960049937578026,7.865168539325843,5.062421972534332,4.375780274656679,2.1722846441947565,7.677902621722847,5.449438202247191,6.491885143570538,3.1585518102372037,4.962546816479401,4.737827715355805,7.0536828963795255,1.7852684144818978,3.6142322097378274,3.3021223470661676,4.019975031210986,7.17852684144819,2.565543071161049,6.491885143570538,5.842696629213483,5.436953807740325, +5.355805243445693,6.928838951310862,3.9887640449438204,6.866416978776529,5.0,5.0,1.941323345817728,4.775280898876405,2.565543071161049,4.188514357053683,4.856429463171036,2.8776529338327093,1.6292134831460674,1.9225967540574282,3.027465667915106,7.49063670411985,6.217228464419476,4.488139825218477,3.3333333333333335,2.865168539325843,5.524344569288389,6.991260923845194,4.332084893882647,7.240948813982522,6.429463171036204,2.578027465667915,2.303370786516854,2.0599250936329585,3.5393258426966296,5.443196004993759,1.6354556803995006,2.7715355805243447,6.30461922596754,5.249687890137328,2.578027465667915,3.888888888888889,2.6466916354556806,7.865168539325843,5.66167290886392,1.8601747815230962,2.0411985018726595,6.192259675405743,5.305867665418227,3.0711610486891385,2.3845193508114857,2.5905118601747814,7.49063670411985,4.575530586766542,2.977528089887641,6.104868913857677,4.581772784019975,5.074906367041199,5.599250936329588,7.8027465667915115,3.1335830212234708,4.800249687890138,5.493133583021224,6.991260923845194,7.428214731585518,4.750312109862672,3.495630461922597,4.525593008739076,4.762796504369538,3.058676654182272,7.365792759051186,4.843945068664169,3.6641697877652937,7.0536828963795255,3.183520599250936,4.787765293383271,5.399500624219725,5.786516853932584,6.991260923845194,5.118601747815231,7.303370786516854,7.240948813982522,5.312109862671661,4.213483146067416,2.340823970037453,3.227215980024969,7.927590511860175,5.087390761548065,4.406991260923846,2.1910112359550564,7.677902621722847,5.474406991260924,6.554307116104869,3.1897627965043696,4.987515605493134,4.769038701622971,7.0536828963795255,1.8102372034956304,3.6454431960049942,3.3270911360799,4.051186017478152,7.240948813982522,2.596754057428215,6.554307116104869,5.867665418227216,5.461922596754057, +5.3870162297128585,6.991260923845194,4.02621722846442,6.928838951310862,5.024968789013733,5.0187265917602994,1.9662921348314608,4.800249687890138,2.596754057428215,4.213483146067416,4.881398252184769,2.908863920099875,1.6541822721598003,1.9538077403245941,3.0524344569288386,7.553058676654182,6.242197253433209,4.519350811485642,3.3583021223470664,2.8901373283395753,5.549313358302123,7.0536828963795255,4.3508114856429465,7.240948813982522,6.491885143570538,2.6092384519350813,2.33458177278402,2.084893882646692,3.5705368289637955,5.468164794007491,1.6541822721598003,2.808988764044944,6.30461922596754,5.274656679151062,2.602996254681648,3.9138576779026217,2.6779026217228465,7.927590511860175,5.686641697877653,1.8851435705368291,2.066167290886392,6.217228464419476,5.337078651685393,3.108614232209738,2.4157303370786516,2.6154806491885143,7.49063670411985,4.612983770287141,3.0087390761548067,6.1360799001248445,4.606741573033708,5.1123595505617985,5.6242197253433215,7.865168539325843,3.15230961298377,4.825218476903871,5.524344569288389,6.991260923845194,7.49063670411985,4.781523096129837,3.5143570536828963,4.55056179775281,4.794007490636704,3.0836454431960054,7.428214731585518,4.8626716604244695,3.689138576779026,7.116104868913857,3.2084893882646695,4.812734082397004,5.430711610486892,5.81772784019975,7.0536828963795255,5.149812734082397,7.365792759051186,7.303370786516854,5.33083645443196,4.244694132334582,2.3657927590511862,3.2646691635455682,7.927590511860175,5.118601747815231,4.438202247191011,2.215980024968789,7.740324594257178,5.499375780274657,6.554307116104869,3.2209737827715355,5.012484394506866,4.800249687890138,7.116104868913857,1.8352059925093633,3.6766541822721597,3.352059925093633,4.082397003745319,7.240948813982522,2.634207240948814,6.554307116104869,5.892634207240949,5.48689138576779, +5.418227215980025,6.991260923845194,4.057428214731585,6.928838951310862,5.049937578027466,5.043695380774032,1.9850187265917605,4.825218476903871,2.6217228464419473,4.238451935081149,4.900124843945068,2.933832709113608,1.6791510611735332,1.9850187265917605,3.077403245942572,7.553058676654182,6.30461922596754,4.55056179775281,3.383270911360799,2.908863920099875,5.580524344569288,7.0536828963795255,4.375780274656679,7.303370786516854,6.491885143570538,2.640449438202247,2.3657927590511862,2.1098626716604243,3.6017478152309614,5.493133583021224,1.6791510611735332,2.84019975031211,6.367041198501872,5.293383270911361,2.6217228464419473,3.938826466916354,2.715355805243446,7.927590511860175,5.711610486891385,1.9038701622971288,2.091136079900125,6.235955056179775,5.3620474406991265,3.139825218476904,2.4406991260923845,2.640449438202247,7.553058676654182,4.644194756554308,3.0399500624219726,6.167290886392011,4.637952559300874,5.143570536828964,5.655430711610487,7.865168539325843,3.1772784019975036,4.843945068664169,5.555555555555556,7.0536828963795255,7.49063670411985,4.806491885143571,3.533083645443196,4.569288389513109,4.831460674157303,3.102372034956305,7.428214731585518,4.887640449438202,3.7078651685393256,7.116104868913857,3.233458177278402,4.837702871410737,5.461922596754057,5.855181023720349,7.0536828963795255,5.174781523096129,7.365792759051186,7.303370786516854,5.355805243445693,4.282147315855181,2.3907615480649187,3.295880149812734,7.990012484394507,5.149812734082397,4.475655430711611,2.2347066167290888,7.740324594257178,5.524344569288389,6.616729088639201,3.2521847690387014,5.0374531835206,4.831460674157303,7.116104868913857,1.8601747815230962,3.701622971285893,3.3770287141073654,4.119850187265917,7.303370786516854,2.66541822721598,6.616729088639201,5.917602996254682,5.511860174781523, +5.449438202247191,7.0536828963795255,4.094881398252185,6.928838951310862,5.074906367041199,5.068664169787765,2.009987515605493,4.850187265917603,2.6529338327091136,4.257178526841448,4.925093632958801,2.965043695380774,1.6978776529338326,2.016229712858926,3.102372034956305,7.615480649188515,6.30461922596754,4.581772784019975,3.408239700374532,2.933832709113608,5.611735330836455,7.116104868913857,4.400749063670412,7.303370786516854,6.554307116104869,2.66541822721598,2.397003745318352,2.134831460674157,3.6329588014981273,5.5181023720349565,1.704119850187266,2.8776529338327093,6.367041198501872,5.318352059925093,2.6466916354556806,3.9637952559300875,2.752808988764045,7.990012484394507,5.730337078651686,1.9225967540574282,2.1161048689138577,6.242197253433209,5.3870162297128585,3.17103620474407,2.471910112359551,2.671660424469413,7.553058676654182,4.675405742821473,3.077403245942572,6.198501872659176,4.66916354556804,5.174781523096129,5.68039950062422,7.927590511860175,3.202247191011236,4.868913857677903,5.580524344569288,7.0536828963795255,7.553058676654182,4.831460674157303,3.5518102372034956,4.588014981273409,4.8626716604244695,3.1273408239700373,7.428214731585518,4.906367041198502,3.732833957553059,7.116104868913857,3.258426966292135,4.8626716604244695,5.493133583021224,5.8863920099875156,7.0536828963795255,5.199750312109863,7.428214731585518,7.303370786516854,5.3745318352059925,4.313358302122348,2.4157303370786516,3.3333333333333335,7.990012484394507,5.181023720349563,4.506866416978776,2.259675405742821,7.8027465667915115,5.543071161048689,6.616729088639201,3.2833957553058677,5.062421972534332,4.868913857677903,7.17852684144819,1.8851435705368291,3.732833957553059,3.408239700374532,4.151061173533084,7.365792759051186,2.696629213483146,6.616729088639201,5.942571785268415,5.5305867665418225, +5.480649188514358,7.0536828963795255,4.1260923845193505,6.991260923845194,5.099875156054932,5.087390761548065,2.034956304619226,4.881398252184769,2.68414481897628,4.282147315855181,4.943820224719102,2.9962546816479403,1.7228464419475658,2.0474406991260925,3.1210986267166043,7.615480649188515,6.367041198501872,4.612983770287141,3.4332084893882646,2.9525593008739075,5.636704119850187,7.116104868913857,4.425717852684145,7.365792759051186,6.554307116104869,2.696629213483146,2.4219725343320846,2.15980024968789,3.6641697877652937,5.543071161048689,1.7290886392009988,2.908863920099875,6.367041198501872,5.337078651685393,2.671660424469413,3.982521847690387,2.7840199750312107,7.990012484394507,5.7553058676654185,1.9475655430711611,2.134831460674157,6.30461922596754,5.411985018726591,3.202247191011236,2.5031210986267167,2.696629213483146,7.615480649188515,4.712858926342073,3.108614232209738,6.223470661672909,4.694132334581773,5.212234706616729,5.705368289637952,7.927590511860175,3.227215980024969,4.887640449438202,5.611735330836455,7.116104868913857,7.553058676654182,4.8626716604244695,3.5705368289637955,4.612983770287141,4.893882646691636,3.1460674157303368,7.49063670411985,4.931335830212235,3.7515605493133584,7.17852684144819,3.2771535580524347,4.887640449438202,5.5181023720349565,5.917602996254682,7.116104868913857,5.230961298377029,7.428214731585518,7.365792759051186,5.393258426966292,4.3508114856429465,2.4406991260923845,3.3645443196004994,8.05243445692884,5.212234706616729,4.538077403245943,2.278401997503121,7.8027465667915115,5.568039950062421,6.616729088639201,3.3146067415730336,5.087390761548065,4.900124843945068,7.17852684144819,1.9101123595505618,3.764044943820225,3.4332084893882646,4.18227215980025,7.365792759051186,2.7340823970037453,6.679151061173534,5.967540574282147,5.555555555555556, +5.511860174781523,7.116104868913857,4.157303370786517,6.991260923845194,5.1248439450686645,5.1123595505617985,2.0536828963795255,4.906367041198502,2.715355805243446,4.307116104868914,4.9687890137328345,3.027465667915106,1.7478152309612984,2.0724094881398254,3.1460674157303368,7.677902621722847,6.367041198501872,4.644194756554308,3.4581772784019975,2.977528089887641,5.667915106117353,7.17852684144819,4.450686641697877,7.365792759051186,6.616729088639201,2.727840199750312,2.453183520599251,2.184769038701623,3.6953807740324596,5.568039950062421,1.7540574282147314,2.9400749063670415,6.429463171036204,5.3620474406991265,2.690387016229713,4.00749063670412,2.82147315855181,8.05243445692884,5.7802746566791505,1.9662921348314608,2.15980024968789,6.30461922596754,5.443196004993759,3.2397003745318353,2.5280898876404496,2.7215980024968793,7.615480649188515,4.7440699126092385,3.1460674157303368,6.242197253433209,4.725343320848939,5.243445692883895,5.730337078651686,7.990012484394507,3.2521847690387014,4.906367041198502,5.636704119850187,7.17852684144819,7.553058676654182,4.887640449438202,3.589263420724095,4.631710362047441,4.925093632958801,3.17103620474407,7.49063670411985,4.956304619225968,3.776529338327091,7.17852684144819,3.3021223470661676,4.912609238451935,5.549313358302123,5.948813982521848,7.116104868913857,5.2559300873907615,7.49063670411985,7.365792759051186,5.418227215980025,4.382022471910113,2.4656679151061174,3.4019975031210987,8.11485642946317,5.243445692883895,4.575530586766542,2.303370786516854,7.865168539325843,5.593008739076155,6.679151061173534,3.3458177278401995,5.118601747815231,4.931335830212235,7.240948813982522,1.9288389513108615,3.7952559300873907,3.4581772784019975,4.219725343320849,7.428214731585518,2.7652933832709112,6.679151061173534,5.998751560549313,5.580524344569288, +5.543071161048689,7.116104868913857,4.194756554307116,7.0536828963795255,5.149812734082397,5.1373283395755305,2.0786516853932584,4.931335830212235,2.740324594257179,4.325842696629214,4.987515605493134,3.0524344569288386,1.766541822721598,2.1036204744069913,3.17103620474407,7.677902621722847,6.429463171036204,4.675405742821473,3.4831460674157304,2.9962546816479403,5.69912609238452,7.17852684144819,4.475655430711611,7.428214731585518,6.616729088639201,2.752808988764045,2.4843945068664173,2.209737827715356,3.732833957553059,5.593008739076155,1.7790262172284643,2.977528089887641,6.429463171036204,5.380774032459426,2.715355805243446,4.032459425717852,2.852684144818976,8.05243445692884,5.805243445692884,1.9850187265917605,2.184769038701623,6.30461922596754,5.468164794007491,3.2709113607990012,2.5593008739076155,2.752808988764045,7.677902621722847,4.781523096129837,3.1772784019975036,6.30461922596754,4.750312109862672,5.280898876404494,5.7553058676654185,8.05243445692884,3.2709113607990012,4.931335830212235,5.667915106117353,7.17852684144819,7.615480649188515,4.912609238451935,3.607990012484395,4.65043695380774,4.956304619225968,3.1960049937578026,7.553058676654182,4.975031210986267,3.7952559300873907,7.17852684144819,3.3270911360799,4.937578027465668,5.580524344569288,5.980024968789014,7.17852684144819,5.280898876404494,7.49063670411985,7.365792759051186,5.436953807740325,4.419475655430712,2.4906367041198503,3.439450686641698,8.11485642946317,5.274656679151062,4.606741573033708,2.322097378277154,7.865168539325843,5.617977528089888,6.679151061173534,3.3770287141073654,5.143570536828964,4.962546816479401,7.240948813982522,1.9538077403245941,3.826466916354557,3.4831460674157304,4.250936329588015,7.49063670411985,2.8027465667915106,6.741573033707866,6.023720349563047,5.605493133583021, +5.574282147315855,7.17852684144819,4.225967540574282,7.0536828963795255,5.174781523096129,5.15605493133583,2.1036204744069913,4.956304619225968,2.7715355805243447,4.3508114856429465,5.0062421972534334,3.0836454431960054,1.7915106117353308,2.134831460674157,3.1960049937578026,7.677902621722847,6.429463171036204,4.70661672908864,3.508114856429463,3.0212234706616727,5.724094881398252,7.240948813982522,4.500624219725343,7.428214731585518,6.616729088639201,2.7840199750312107,2.515605493133583,2.2347066167290888,3.764044943820225,5.617977528089888,1.8039950062421974,3.0087390761548067,6.429463171036204,5.405742821473158,2.7340823970037453,4.051186017478152,2.8901373283395753,8.11485642946317,5.830212234706617,2.00374531835206,2.209737827715356,6.367041198501872,5.493133583021224,3.3021223470661676,2.5905118601747814,2.777777777777778,7.677902621722847,4.812734082397004,3.2084893882646695,6.30461922596754,4.781523096129837,5.312109862671661,5.786516853932584,8.05243445692884,3.295880149812734,4.950062421972534,5.692883895131087,7.240948813982522,7.615480649188515,4.943820224719102,3.6267166042446943,4.675405742821473,4.987515605493134,3.214731585518102,7.553058676654182,5.0,3.8202247191011236,7.240948813982522,3.352059925093633,4.962546816479401,5.611735330836455,6.0174781523096135,7.17852684144819,5.312109862671661,7.553058676654182,7.428214731585518,5.455680399500624,4.450686641697877,2.515605493133583,3.470661672908864,8.177278401997503,5.305867665418227,4.637952559300874,2.340823970037453,7.927590511860175,5.64294631710362,6.741573033707866,3.408239700374532,5.168539325842697,4.9937578027465666,7.303370786516854,1.978776529338327,3.857677902621723,3.5143570536828963,4.282147315855181,7.49063670411985,2.8339575530586765,6.741573033707866,6.048689138576779,5.6242197253433215, +5.599250936329588,7.17852684144819,4.257178526841448,7.116104868913857,5.199750312109863,5.181023720349563,2.122347066167291,4.987515605493134,2.8027465667915106,4.375780274656679,5.031210986267166,3.114856429463171,1.8102372034956304,2.1660424469413235,3.2209737827715355,7.740324594257178,6.491885143570538,4.737827715355805,3.5268414481897628,3.0399500624219726,5.7553058676654185,7.240948813982522,4.525593008739076,7.49063670411985,6.679151061173534,2.8152309612983775,2.546816479400749,2.259675405742821,3.7952559300873907,5.64294631710362,1.8289637952559301,3.0399500624219726,6.491885143570538,5.430711610486892,2.7590511860174782,4.0761548064918856,2.9213483146067416,8.11485642946317,5.855181023720349,2.0287141073657926,2.2347066167290888,6.367041198501872,5.524344569288389,3.3333333333333335,2.6217228464419473,2.8027465667915106,7.740324594257178,4.843945068664169,3.245942571785269,6.367041198501872,4.806491885143571,5.343320848938826,5.811485642946318,8.11485642946317,3.320848938826467,4.9687890137328345,5.724094881398252,7.240948813982522,7.677902621722847,4.9687890137328345,3.651685393258427,4.694132334581773,5.0187265917602994,3.2397003745318353,7.615480649188515,5.0187265917602994,3.8389513108614235,7.240948813982522,3.3770287141073654,4.987515605493134,5.64294631710362,6.048689138576779,7.17852684144819,5.337078651685393,7.553058676654182,7.428214731585518,5.480649188514358,4.488139825218477,2.5405742821473156,3.508114856429463,8.239700374531834,5.337078651685393,4.675405742821473,2.3657927590511862,7.927590511860175,5.667915106117353,6.741573033707866,3.439450686641698,5.19350811485643,5.031210986267166,7.303370786516854,2.00374531835206,3.888888888888889,3.5393258426966296,4.31960049937578,7.553058676654182,2.871410736579276,6.803995006242197,6.073657927590512,5.6491885143570535, +5.630461922596755,7.240948813982522,4.294631710362047,7.116104868913857,5.224719101123595,5.205992509363296,2.1473158551810236,5.012484394506866,2.8339575530586765,4.394506866416979,5.049937578027466,3.139825218476904,1.8352059925093633,2.1910112359550564,3.245942571785269,7.740324594257178,6.491885143570538,4.769038701622971,3.5518102372034956,3.0649188514357055,5.786516853932584,7.303370786516854,4.55056179775281,7.49063670411985,6.679151061173534,2.84019975031211,2.578027465667915,2.2846441947565546,3.826466916354557,5.667915106117353,1.8539325842696628,3.077403245942572,6.491885143570538,5.449438202247191,2.7840199750312107,4.1011235955056184,2.958801498127341,8.177278401997503,5.8739076154806495,2.0474406991260925,2.259675405742821,6.367041198501872,5.549313358302123,3.370786516853933,2.6466916354556806,2.8339575530586765,7.740324594257178,4.881398252184769,3.2771535580524347,6.367041198501872,4.837702871410737,5.380774032459426,5.836454431960051,8.11485642946317,3.3458177278401995,4.9937578027465666,5.749063670411985,7.303370786516854,7.677902621722847,4.9937578027465666,3.6704119850187267,4.712858926342073,5.049937578027466,3.258426966292135,7.615480649188515,5.043695380774032,3.8639200998751564,7.240948813982522,3.4019975031210987,5.012484394506866,5.674157303370786,6.079900124843945,7.240948813982522,5.3620474406991265,7.615480649188515,7.428214731585518,5.499375780274657,4.519350811485642,2.565543071161049,3.5393258426966296,8.239700374531834,5.36828963795256,4.70661672908864,2.3845193508114857,7.990012484394507,5.692883895131087,6.741573033707866,3.470661672908864,5.218476903870163,5.062421972534332,7.365792759051186,2.0287141073657926,3.920099875156055,3.564294631710362,4.3508114856429465,7.553058676654182,2.902621722846442,6.803995006242197,6.098626716604246,5.674157303370786, +5.66167290886392,7.303370786516854,4.325842696629214,7.17852684144819,5.249687890137328,5.224719101123595,2.1722846441947565,5.0374531835206,2.8589263420724094,4.419475655430712,5.074906367041199,3.17103620474407,1.8601747815230962,2.2222222222222223,3.2709113607990012,7.8027465667915115,6.554307116104869,4.800249687890138,3.576779026217228,3.0836454431960054,5.811485642946318,7.303370786516854,4.569288389513109,7.553058676654182,6.741573033707866,2.871410736579276,2.602996254681648,2.309612983770287,3.857677902621723,5.692883895131087,1.8789013732833957,3.108614232209738,6.491885143570538,5.474406991260924,2.8027465667915106,4.1260923845193505,2.990012484394507,8.177278401997503,5.8988764044943816,2.066167290886392,2.278401997503121,6.429463171036204,5.574282147315855,3.4019975031210987,2.6779026217228465,2.8589263420724094,7.8027465667915115,4.912609238451935,3.3146067415730336,6.429463171036204,4.868913857677903,5.411985018726591,5.861423220973783,8.177278401997503,3.370786516853933,5.012484394506866,5.7802746566791505,7.365792759051186,7.677902621722847,5.024968789013733,3.689138576779026,4.737827715355805,5.081148564294631,3.2833957553058677,7.677902621722847,5.068664169787765,3.882646691635456,7.303370786516854,3.4269662921348316,5.0374531835206,5.705368289637952,6.111111111111111,7.240948813982522,5.393258426966292,7.615480649188515,7.49063670411985,5.524344569288389,4.55056179775281,2.5905118601747814,3.576779026217228,8.302122347066168,5.399500624219725,4.737827715355805,2.4094881398252186,7.990012484394507,5.711610486891385,6.803995006242197,3.5018726591760303,5.243445692883895,5.093632958801498,7.365792759051186,2.0536828963795255,3.951310861423221,3.595505617977528,4.382022471910113,7.615480649188515,2.9400749063670415,6.866416978776529,6.123595505617978,5.69912609238452, +5.692883895131087,7.303370786516854,4.357053682896379,7.17852684144819,5.274656679151062,5.249687890137328,2.1910112359550564,5.062421972534332,2.8901373283395753,4.444444444444445,5.093632958801498,3.202247191011236,1.8789013732833957,2.253433208489388,3.295880149812734,7.8027465667915115,6.554307116104869,4.831460674157303,3.6017478152309614,3.102372034956305,5.842696629213483,7.365792759051186,4.594257178526841,7.553058676654182,6.741573033707866,2.902621722846442,2.634207240948814,2.33458177278402,3.888888888888889,5.711610486891385,1.9038701622971288,3.1460674157303368,6.554307116104869,5.493133583021224,2.8277153558052435,4.144818976279651,3.027465667915106,8.239700374531834,5.9238451935081144,2.091136079900125,2.303370786516854,6.429463171036204,5.599250936329588,3.4332084893882646,2.7091136079900124,2.8838951310861427,7.8027465667915115,4.943820224719102,3.3458177278401995,6.429463171036204,4.893882646691636,5.449438202247191,5.8863920099875156,8.177278401997503,3.3957553058676653,5.031210986267166,5.805243445692884,7.365792759051186,7.740324594257178,5.049937578027466,3.7078651685393256,4.7565543071161045,5.1123595505617985,3.3021223470661676,7.677902621722847,5.087390761548065,3.9076154806491883,7.303370786516854,3.451935081148564,5.062421972534332,5.736579275905119,6.1485642946317105,7.240948813982522,5.418227215980025,7.677902621722847,7.49063670411985,5.543071161048689,4.588014981273409,2.6154806491885143,3.6142322097378274,8.302122347066168,5.430711610486892,4.775280898876405,2.428214731585518,8.05243445692884,5.736579275905119,6.803995006242197,3.533083645443196,5.268414481897628,5.1248439450686645,7.365792759051186,2.0724094881398254,3.982521847690387,3.620474406991261,4.413233458177278,7.677902621722847,2.9712858926342074,6.866416978776529,6.1485642946317105,5.717852684144819, +5.724094881398252,7.365792759051186,4.394506866416979,7.240948813982522,5.299625468164794,5.274656679151062,2.215980024968789,5.087390761548065,2.9213483146067416,4.463171036204744,5.118601747815231,3.233458177278402,1.9038701622971288,2.2846441947565546,3.320848938826467,7.865168539325843,6.616729088639201,4.8626716604244695,3.6267166042446943,3.1273408239700373,5.8739076154806495,7.365792759051186,4.619225967540574,7.615480649188515,6.803995006242197,2.9275905118601746,2.66541822721598,2.359550561797753,3.920099875156055,5.736579275905119,1.9288389513108615,3.1772784019975036,6.554307116104869,5.5181023720349565,2.8464419475655434,4.169787765293384,3.058676654182272,8.239700374531834,5.948813982521848,2.1098626716604243,2.328339575530587,6.429463171036204,5.630461922596755,3.464419475655431,2.7340823970037453,2.9151061173533086,7.865168539325843,4.9812734082397006,3.3770287141073654,6.491885143570538,4.925093632958801,5.480649188514358,5.917602996254682,8.239700374531834,3.4144818976279647,5.056179775280899,5.836454431960051,7.428214731585518,7.740324594257178,5.074906367041199,3.7265917602996255,4.775280898876405,5.143570536828964,3.3270911360799,7.740324594257178,5.1123595505617985,3.926342072409488,7.303370786516854,3.4769038701622974,5.081148564294631,5.767790262172285,6.179775280898876,7.303370786516854,5.449438202247191,7.677902621722847,7.49063670411985,5.561797752808988,4.619225967540574,2.640449438202247,3.6454431960049942,8.3645443196005,5.461922596754057,4.806491885143571,2.453183520599251,8.05243445692884,5.761548064918852,6.866416978776529,3.564294631710362,5.293383270911361,5.15605493133583,7.428214731585518,2.097378277153558,4.013732833957553,3.6454431960049942,4.450686641697877,7.677902621722847,3.0024968789013733,6.928838951310862,6.173533083645444,5.742821473158552, +5.7553058676654185,7.365792759051186,4.425717852684145,7.240948813982522,5.324594257178527,5.293383270911361,2.2409488139825218,5.118601747815231,2.9525593008739075,4.488139825218477,5.1373283395755305,3.258426966292135,1.9288389513108615,2.3158551810237205,3.3458177278401995,7.865168539325843,6.616729088639201,4.893882646691636,3.651685393258427,3.1460674157303368,5.8988764044943816,7.428214731585518,4.644194756554308,7.615480649188515,6.803995006242197,2.958801498127341,2.696629213483146,2.3845193508114857,3.951310861423221,5.761548064918852,1.9538077403245941,3.2084893882646695,6.616729088639201,5.536828963795256,2.871410736579276,4.194756554307116,3.0961298377028714,8.302122347066168,5.97378277153558,2.128589263420724,2.35330836454432,6.491885143570538,5.655430711610487,3.5018726591760303,2.7652933832709112,2.9400749063670415,7.865168539325843,5.012484394506866,3.4144818976279647,6.491885143570538,4.950062421972534,5.5181023720349565,5.942571785268415,8.302122347066168,3.439450686641698,5.074906367041199,5.867665418227216,7.428214731585518,7.8027465667915115,5.106117353308365,3.745318352059925,4.800249687890138,5.181023720349563,3.352059925093633,7.740324594257178,5.131086142322098,3.951310861423221,7.365792759051186,3.5018726591760303,5.106117353308365,5.799001248439451,6.210986267166042,7.303370786516854,5.474406991260924,7.740324594257178,7.553058676654182,5.586766541822722,4.656679151061174,2.6591760299625467,3.682896379525593,8.426966292134832,5.493133583021224,4.837702871410737,2.471910112359551,8.11485642946317,5.786516853932584,6.866416978776529,3.595505617977528,5.318352059925093,5.19350811485643,7.428214731585518,2.122347066167291,4.044943820224719,3.6704119850187267,4.4818976279650435,7.740324594257178,3.0399500624219726,6.928838951310862,6.20474406991261,5.767790262172285, +5.786516853932584,7.428214731585518,4.463171036204744,7.240948813982522,5.34956304619226,5.318352059925093,2.259675405742821,5.143570536828964,2.977528089887641,4.51310861423221,5.15605493133583,3.2896379525593007,1.9475655430711611,2.340823970037453,3.370786516853933,7.927590511860175,6.679151061173534,4.925093632958801,3.6766541822721597,3.17103620474407,5.930087390761548,7.428214731585518,4.66916354556804,7.677902621722847,6.866416978776529,2.990012484394507,2.727840199750312,2.4094881398252186,3.982521847690387,5.786516853932584,1.978776529338327,3.245942571785269,6.616729088639201,5.561797752808988,2.8963795255930087,4.219725343320849,3.1273408239700373,8.302122347066168,5.998751560549313,2.1473158551810236,2.3782771535580522,6.491885143570538,5.68039950062422,3.533083645443196,2.7965043695380776,2.965043695380774,7.927590511860175,5.049937578027466,3.4456928838951315,6.491885143570538,4.9812734082397006,5.549313358302123,5.967540574282147,8.302122347066168,3.464419475655431,5.093632958801498,5.892634207240949,7.49063670411985,7.8027465667915115,5.131086142322098,3.764044943820225,4.818976279650437,5.212234706616729,3.370786516853933,7.8027465667915115,5.15605493133583,3.970037453183521,7.365792759051186,3.5205992509363297,5.131086142322098,5.830212234706617,6.242197253433209,7.365792759051186,5.499375780274657,7.740324594257178,7.553058676654182,5.605493133583021,4.687890137328339,2.68414481897628,3.714107365792759,8.426966292134832,5.524344569288389,4.875156054931336,2.4968789013732833,8.11485642946317,5.811485642946318,6.866416978776529,3.6267166042446943,5.343320848938826,5.224719101123595,7.49063670411985,2.1473158551810236,4.0761548064918856,3.701622971285893,4.51310861423221,7.8027465667915115,3.0711610486891385,6.991260923845194,6.229712858926342,5.786516853932584, +5.81772784019975,7.428214731585518,4.49438202247191,7.303370786516854,5.3745318352059925,5.337078651685393,2.2846441947565546,5.168539325842697,3.0087390761548067,4.531835205992509,5.181023720349563,3.320848938826467,1.9725343320848938,2.3720349563046192,3.3957553058676653,7.927590511860175,6.679151061173534,4.950062421972534,3.701622971285893,3.1897627965043696,5.961298377028713,7.49063670411985,4.694132334581773,7.677902621722847,6.866416978776529,3.0149812734082393,2.7590511860174782,2.4344569288389515,4.013732833957553,5.811485642946318,2.00374531835206,3.2771535580524347,6.616729088639201,5.586766541822722,2.9151061173533086,4.238451935081149,3.1647940074906367,8.3645443196005,6.023720349563047,2.1722846441947565,2.4032459425717856,6.554307116104869,5.711610486891385,3.564294631710362,2.8277153558052435,2.9962546816479403,7.927590511860175,5.081148564294631,3.4769038701622974,6.554307116104869,5.0062421972534334,5.580524344569288,5.992509363295881,8.3645443196005,3.4893882646691634,5.118601747815231,5.9238451935081144,7.553058676654182,7.8027465667915115,5.15605493133583,3.7827715355805243,4.837702871410737,5.243445692883895,3.3957553058676653,7.8027465667915115,5.181023720349563,3.9950062421972534,7.365792759051186,3.545568039950062,5.15605493133583,5.861423220973783,6.30461922596754,7.365792759051186,5.5305867665418225,7.8027465667915115,7.553058676654182,5.6242197253433215,4.725343320848939,2.7091136079900124,3.7515605493133584,8.489388264669165,5.555555555555556,4.906367041198502,2.515605493133583,8.177278401997503,5.836454431960051,6.928838951310862,3.6579275905118602,5.36828963795256,5.2559300873907615,7.49063670411985,2.1722846441947565,4.107365792759051,3.7265917602996255,4.55056179775281,7.8027465667915115,3.108614232209738,6.991260923845194,6.242197253433209,5.811485642946318, +5.842696629213483,7.49063670411985,4.525593008739076,7.303370786516854,5.405742821473158,5.3620474406991265,2.309612983770287,5.19350811485643,3.0399500624219726,4.556803995006242,5.199750312109863,3.352059925093633,1.9975031210986267,2.4032459425717856,3.420724094881398,7.990012484394507,6.741573033707866,4.9812734082397006,3.7265917602996255,3.214731585518102,5.986267166042447,7.49063670411985,4.719101123595506,7.740324594257178,6.928838951310862,3.046192259675406,2.7840199750312107,2.459425717852684,4.044943820224719,5.836454431960051,2.0287141073657926,3.3083645443196006,6.679151061173534,5.605493133583021,2.9400749063670415,4.263420724094882,3.1960049937578026,8.3645443196005,6.0424469413233455,2.1910112359550564,2.428214731585518,6.554307116104869,5.736579275905119,3.595505617977528,2.852684144818976,3.0212234706616727,7.990012484394507,5.1123595505617985,3.5143570536828963,6.554307116104869,5.0374531835206,5.617977528089888,6.0174781523096135,8.3645443196005,3.5143570536828963,5.1373283395755305,5.948813982521848,7.553058676654182,7.865168539325843,5.187265917602996,3.801498127340824,4.8626716604244695,5.274656679151062,3.4144818976279647,7.865168539325843,5.199750312109863,4.013732833957553,7.428214731585518,3.5705368289637955,5.181023720349563,5.8863920099875156,6.30461922596754,7.365792759051186,5.555555555555556,7.8027465667915115,7.615480649188515,5.6491885143570535,4.7565543071161045,2.7340823970037453,3.7827715355805243,8.551810237203496,5.586766541822722,4.937578027465668,2.5405742821473156,8.177278401997503,5.855181023720349,6.928838951310862,3.689138576779026,5.393258426966292,5.287141073657928,7.553058676654182,2.1972534332084894,4.138576779026217,3.7515605493133584,4.581772784019975,7.865168539325843,3.139825218476904,7.0536828963795255,6.30461922596754,5.836454431960051, +5.8739076154806495,7.49063670411985,4.563046192259676,7.365792759051186,5.430711610486892,5.3870162297128585,2.328339575530587,5.218476903870163,3.0711610486891385,4.581772784019975,5.224719101123595,3.3770287141073654,2.016229712858926,2.4344569288389515,3.4456928838951315,7.990012484394507,6.741573033707866,5.012484394506866,3.7515605493133584,3.233458177278402,6.0174781523096135,7.553058676654182,4.7440699126092385,7.740324594257178,6.928838951310862,3.077403245942572,2.8152309612983775,2.4843945068664173,4.082397003745319,5.861423220973783,2.0536828963795255,3.3458177278401995,6.679151061173534,5.630461922596755,2.958801498127341,4.288389513108614,3.233458177278402,8.426966292134832,6.067415730337078,2.209737827715356,2.446941323345818,6.554307116104869,5.761548064918852,3.6329588014981273,2.8838951310861427,3.046192259675406,7.990012484394507,5.149812734082397,3.545568039950062,6.616729088639201,5.068664169787765,5.6491885143570535,6.048689138576779,8.426966292134832,3.533083645443196,5.162297128589263,5.980024968789014,7.615480649188515,7.865168539325843,5.212234706616729,3.826466916354557,4.881398252184769,5.305867665418227,3.439450686641698,7.865168539325843,5.224719101123595,4.038701622971286,7.428214731585518,3.595505617977528,5.205992509363296,5.917602996254682,6.367041198501872,7.428214731585518,5.580524344569288,7.865168539325843,7.615480649188515,5.667915106117353,4.794007490636704,2.7590511860174782,3.8202247191011236,8.551810237203496,5.617977528089888,4.975031210986267,2.5593008739076155,8.239700374531834,5.880149812734083,6.991260923845194,3.7203495630461925,5.418227215980025,5.318352059925093,7.553058676654182,2.2222222222222223,4.169787765293384,3.776529338327091,4.612983770287141,7.865168539325843,3.1772784019975036,7.0536828963795255,6.30461922596754,5.861423220973783, +5.905118601747815,7.553058676654182,4.594257178526841,7.365792759051186,5.455680399500624,5.405742821473158,2.35330836454432,5.249687890137328,3.0961298377028714,4.600499375780275,5.243445692883895,3.408239700374532,2.0411985018726595,2.4656679151061174,3.470661672908864,8.05243445692884,6.803995006242197,5.043695380774032,3.776529338327091,3.258426966292135,6.048689138576779,7.553058676654182,4.769038701622971,7.8027465667915115,6.991260923845194,3.102372034956305,2.8464419475655434,2.5093632958801497,4.1136079900124844,5.8863920099875156,2.0786516853932584,3.3770287141073654,6.679151061173534,5.6491885143570535,2.9837702871410734,4.313358302122348,3.2646691635455682,8.426966292134832,6.092384519350812,2.2347066167290888,2.471910112359551,6.616729088639201,5.786516853932584,3.6641697877652937,2.9151061173533086,3.077403245942572,8.05243445692884,5.181023720349563,3.5830212234706615,6.616729088639201,5.093632958801498,5.686641697877653,6.073657927590512,8.426966292134832,3.5580524344569286,5.181023720349563,6.004993757802747,7.615480649188515,7.927590511860175,5.237203495630462,3.8451935081148565,4.900124843945068,5.337078651685393,3.464419475655431,7.927590511860175,5.243445692883895,4.057428214731585,7.428214731585518,3.620474406991261,5.230961298377029,5.948813982521848,6.367041198501872,7.428214731585518,5.611735330836455,7.865168539325843,7.615480649188515,5.686641697877653,4.825218476903871,2.7840199750312107,3.857677902621723,8.614232209737828,5.64294631710362,5.0062421972534334,2.5842696629213484,8.239700374531834,5.905118601747815,6.991260923845194,3.7515605493133584,5.443196004993759,5.34956304619226,7.615480649188515,2.2409488139825218,4.200998751560549,3.8077403245942576,4.65043695380774,7.927590511860175,3.2084893882646695,7.116104868913857,6.30461922596754,5.880149812734083, +5.936329588014981,7.553058676654182,4.6254681647940075,7.428214731585518,5.480649188514358,5.430711610486892,2.3782771535580522,5.274656679151062,3.1273408239700373,4.6254681647940075,5.268414481897628,3.439450686641698,2.066167290886392,2.4906367041198503,3.495630461922597,8.05243445692884,6.803995006242197,5.074906367041199,3.801498127340824,3.2771535580524347,6.073657927590512,7.615480649188515,4.787765293383271,7.8027465667915115,6.991260923845194,3.1335830212234708,2.8776529338327093,2.5343320848938826,4.144818976279651,5.9113607990012484,2.1036204744069913,3.4144818976279647,6.741573033707866,5.674157303370786,3.0087390761548067,4.332084893882647,3.3021223470661676,8.489388264669165,6.117353308364544,2.253433208489388,2.4968789013732833,6.616729088639201,5.81772784019975,3.6953807740324596,2.9400749063670415,3.102372034956305,8.05243445692884,5.212234706616729,3.6142322097378274,6.679151061173534,5.1248439450686645,5.717852684144819,6.098626716604246,8.489388264669165,3.5830212234706615,5.199750312109863,6.036204744069912,7.677902621722847,7.927590511860175,5.268414481897628,3.8639200998751564,4.925093632958801,5.36828963795256,3.4831460674157304,7.927590511860175,5.268414481897628,4.082397003745319,7.49063670411985,3.6454431960049942,5.2559300873907615,5.980024968789014,6.429463171036204,7.428214731585518,5.636704119850187,7.927590511860175,7.677902621722847,5.711610486891385,4.8626716604244695,2.808988764044944,3.888888888888889,8.614232209737828,5.674157303370786,5.043695380774032,2.602996254681648,8.302122347066168,5.930087390761548,6.991260923845194,3.7827715355805243,5.468164794007491,5.3870162297128585,7.615480649188515,2.2659176029962547,4.2322097378277155,3.83270911360799,4.681647940074906,7.990012484394507,3.245942571785269,7.116104868913857,6.367041198501872,5.905118601747815, +5.967540574282147,7.615480649188515,4.662921348314606,7.428214731585518,5.50561797752809,5.455680399500624,2.397003745318352,5.299625468164794,3.1585518102372037,4.65043695380774,5.287141073657928,3.464419475655431,2.084893882646692,2.521847690387016,3.5205992509363297,8.11485642946317,6.866416978776529,5.106117353308365,3.826466916354557,3.3021223470661676,6.104868913857677,7.615480649188515,4.812734082397004,7.8027465667915115,7.0536828963795255,3.1647940074906367,2.908863920099875,2.5593008739076155,4.176029962546816,5.936329588014981,2.128589263420724,3.4456928838951315,6.741573033707866,5.692883895131087,3.027465667915106,4.357053682896379,3.3333333333333335,8.489388264669165,6.142322097378277,2.272159800249688,2.521847690387016,6.616729088639201,5.842696629213483,3.732833957553059,2.9712858926342074,3.1273408239700373,8.11485642946317,5.249687890137328,3.6454431960049942,6.679151061173534,5.149812734082397,5.7553058676654185,6.123595505617978,8.551810237203496,3.607990012484395,5.224719101123595,6.061173533083646,7.740324594257178,7.927590511860175,5.293383270911361,3.882646691635456,4.943820224719102,5.399500624219725,3.508114856429463,7.990012484394507,5.293383270911361,4.1011235955056184,7.49063670411985,3.6704119850187267,5.280898876404494,6.01123595505618,6.429463171036204,7.49063670411985,5.66167290886392,7.927590511860175,7.677902621722847,5.730337078651686,4.893882646691636,2.8339575530586765,3.926342072409488,8.67665418227216,5.705368289637952,5.074906367041199,2.6279650436953808,8.302122347066168,5.955056179775282,7.0536828963795255,3.81398252184769,5.493133583021224,5.418227215980025,7.677902621722847,2.2908863920099876,4.263420724094882,3.857677902621723,4.712858926342073,7.990012484394507,3.2771535580524347,7.17852684144819,6.367041198501872,5.930087390761548, +5.998751560549313,7.615480649188515,4.694132334581773,7.49063670411985,5.5305867665418225,5.474406991260924,2.4219725343320846,5.324594257178527,3.183520599250936,4.66916354556804,5.305867665418227,3.495630461922597,2.1098626716604243,2.5530586766541825,3.545568039950062,8.11485642946317,6.866416978776529,5.1373283395755305,3.8514357053682895,3.320848938826467,6.1360799001248445,7.677902621722847,4.837702871410737,7.865168539325843,7.0536828963795255,3.1897627965043696,2.933832709113608,2.5842696629213484,4.207240948813983,5.961298377028713,2.153558052434457,3.4769038701622974,6.741573033707866,5.717852684144819,3.0524344569288386,4.382022471910113,3.370786516853933,8.551810237203496,6.167290886392011,2.2908863920099876,2.546816479400749,6.679151061173534,5.867665418227216,3.764044943820225,3.0024968789013733,3.1585518102372037,8.11485642946317,5.280898876404494,3.682896379525593,6.741573033707866,5.181023720349563,5.786516853932584,6.1485642946317105,8.551810237203496,3.6329588014981273,5.243445692883895,6.092384519350812,7.740324594257178,7.990012484394507,5.318352059925093,3.9013732833957557,4.962546816479401,5.430711610486892,3.5268414481897628,7.990012484394507,5.312109862671661,4.1260923845193505,7.553058676654182,3.6953807740324596,5.305867665418227,6.0424469413233455,6.491885143570538,7.49063670411985,5.692883895131087,7.990012484394507,7.677902621722847,5.749063670411985,4.931335830212235,2.8589263420724094,3.957553058676654,8.739076154806492,5.736579275905119,5.106117353308365,2.6466916354556806,8.3645443196005,5.980024968789014,7.0536828963795255,3.8451935081148565,5.5181023720349565,5.449438202247191,7.677902621722847,2.3158551810237205,4.294631710362047,3.888888888888889,4.7440699126092385,8.05243445692884,3.3083645443196006,7.17852684144819,6.429463171036204,5.955056179775282, +6.029962546816479,7.677902621722847,4.725343320848939,7.49063670411985,5.555555555555556,5.499375780274657,2.446941323345818,5.34956304619226,3.214731585518102,4.694132334581773,5.33083645443196,3.5268414481897628,2.134831460674157,2.5842696629213484,3.5705368289637955,8.177278401997503,6.928838951310862,5.168539325842697,3.870162297128589,3.3458177278401995,6.161048689138577,7.677902621722847,4.8626716604244695,7.865168539325843,7.0536828963795255,3.2209737827715355,2.965043695380774,2.6092384519350813,4.238451935081149,5.986267166042447,2.1785268414481895,3.5143570536828963,6.803995006242197,5.742821473158552,3.0711610486891385,4.400749063670412,3.4019975031210987,8.551810237203496,6.186017478152309,2.3158551810237205,2.571785268414482,6.679151061173534,5.8988764044943816,3.7952559300873907,3.033707865168539,3.183520599250936,8.177278401997503,5.312109862671661,3.714107365792759,6.741573033707866,5.212234706616729,5.81772784019975,6.179775280898876,8.614232209737828,3.6579275905118602,5.262172284644195,6.117353308364544,7.8027465667915115,7.990012484394507,5.34956304619226,3.920099875156055,4.987515605493134,5.461922596754057,3.5518102372034956,8.05243445692884,5.337078651685393,4.144818976279651,7.553058676654182,3.7203495630461925,5.33083645443196,6.073657927590512,6.491885143570538,7.553058676654182,5.717852684144819,7.990012484394507,7.740324594257178,5.774032459425719,4.962546816479401,2.8838951310861427,3.9950062421972534,8.739076154806492,5.767790262172285,5.143570536828964,2.671660424469413,8.3645443196005,6.004993757802747,7.116104868913857,3.8764044943820224,5.543071161048689,5.480649188514358,7.740324594257178,2.340823970037453,4.31960049937578,3.9138576779026217,4.781523096129837,8.11485642946317,3.3458177278401995,7.240948813982522,6.429463171036204,5.97378277153558, +6.061173533083646,7.677902621722847,4.762796504369538,7.49063670411985,5.580524344569288,5.524344569288389,2.4656679151061174,5.380774032459426,3.245942571785269,4.719101123595506,5.34956304619226,3.5580524344569286,2.153558052434457,2.6154806491885143,3.589263420724095,8.177278401997503,6.928838951310862,5.199750312109863,3.8951310861423223,3.3645443196004994,6.192259675405743,7.740324594257178,4.887640449438202,7.927590511860175,7.116104868913857,3.2521847690387014,2.9962546816479403,2.634207240948814,4.269662921348314,6.01123595505618,2.203495630461923,3.545568039950062,6.803995006242197,5.761548064918852,3.0961298377028714,4.425717852684145,3.439450686641698,8.614232209737828,6.210986267166042,2.33458177278402,2.596754057428215,6.679151061173534,5.9238451935081144,3.826466916354557,3.058676654182272,3.2084893882646695,8.177278401997503,5.34956304619226,3.7515605493133584,6.803995006242197,5.237203495630462,5.855181023720349,6.20474406991261,8.614232209737828,3.6766541822721597,5.287141073657928,6.1485642946317105,7.8027465667915115,8.05243445692884,5.3745318352059925,3.938826466916354,5.0062421972534334,5.493133583021224,3.5705368289637955,8.05243445692884,5.355805243445693,4.169787765293384,7.553058676654182,3.745318352059925,5.355805243445693,6.104868913857677,6.554307116104869,7.553058676654182,5.742821473158552,8.05243445692884,7.740324594257178,5.792759051186017,4.9937578027465666,2.908863920099875,4.02621722846442,8.801498127340825,5.799001248439451,5.174781523096129,2.690387016229713,8.426966292134832,6.023720349563047,7.116104868913857,3.9076154806491883,5.568039950062421,5.511860174781523,7.740324594257178,2.3657927590511862,4.3508114856429465,3.938826466916354,4.812734082397004,8.11485642946317,3.3770287141073654,7.240948813982522,6.429463171036204,5.998751560549313, +6.086142322097379,7.740324594257178,4.794007490636704,7.553058676654182,5.605493133583021,5.543071161048689,2.4906367041198503,5.405742821473158,3.2771535580524347,4.737827715355805,5.3745318352059925,3.5830212234706615,2.1785268414481895,2.640449438202247,3.6142322097378274,8.177278401997503,,,3.920099875156055,3.3895131086142323,6.223470661672909,7.740324594257178,4.912609238451935,7.927590511860175,7.116104868913857,3.2771535580524347,3.027465667915106,2.6591760299625467,4.300873907615481,6.036204744069912,2.2284644194756553,3.576779026217228,6.803995006242197,5.786516853932584,3.1210986267166043,4.450686641697877,3.470661672908864,8.614232209737828,6.235955056179775,2.35330836454432,2.6154806491885143,6.741573033707866,5.948813982521848,3.8639200998751564,3.089887640449438,3.2397003745318353,8.239700374531834,,3.7827715355805243,6.803995006242197,5.268414481897628,5.8863920099875156,,8.67665418227216,3.701622971285893,5.305867665418227,6.179775280898876,,8.05243445692884,5.399500624219725,3.957553058676654,5.024968789013733,5.5305867665418225,3.595505617977528,8.11485642946317,5.380774032459426,4.188514357053683,7.615480649188515,3.764044943820225,5.380774032459426,6.1360799001248445,6.554307116104869,7.553058676654182,5.774032459425719,8.05243445692884,7.740324594257178,5.811485642946318,5.031210986267166,2.933832709113608,4.063670411985019,,5.830212234706617,5.205992509363296,2.7091136079900124,,6.048689138576779,7.116104868913857,3.938826466916354,5.593008739076155,5.549313358302123,,2.3907615480649187,4.382022471910113,3.9637952559300875,4.843945068664169,,3.4144818976279647,7.240948813982522,6.491885143570538,6.023720349563047, +6.117353308364544,7.8027465667915115,4.831460674157303,7.553058676654182,5.630461922596755,5.568039950062421,2.515605493133583,5.430711610486892,3.3021223470661676,4.762796504369538,5.393258426966292,3.6142322097378274,2.203495630461923,2.671660424469413,3.639200998751561,8.239700374531834,,,3.9450686641697876,3.408239700374532,6.242197253433209,7.8027465667915115,4.937578027465668,7.990012484394507,7.17852684144819,3.3083645443196006,3.058676654182272,2.68414481897628,4.332084893882647,6.061173533083646,2.253433208489388,3.6142322097378274,6.866416978776529,5.805243445692884,3.139825218476904,4.475655430711611,3.508114856429463,8.67665418227216,6.242197253433209,2.3782771535580522,2.640449438202247,6.741573033707866,5.97378277153558,3.8951310861423223,3.1210986267166043,3.2646691635455682,8.239700374531834,,3.81398252184769,6.866416978776529,5.293383270911361,5.9238451935081144,,8.67665418227216,,5.324594257178527,6.20474406991261,,8.05243445692884,5.430711610486892,3.9762796504369535,5.049937578027466,5.561797752808988,3.620474406991261,8.11485642946317,5.405742821473158,4.213483146067416,7.615480649188515,3.7890137328339577,5.405742821473158,6.167290886392011,6.616729088639201,7.615480649188515,5.799001248439451,8.11485642946317,7.8027465667915115,5.836454431960051,5.062421972534332,,4.1011235955056184,,5.861423220973783,5.243445692883895,2.7340823970037453,,6.073657927590512,7.17852684144819,3.970037453183521,5.617977528089888,5.580524344569288,,2.4094881398252186,4.413233458177278,3.9950062421972534,4.881398252184769,,3.4456928838951315,7.303370786516854,6.491885143570538,6.048689138576779, +6.1485642946317105,7.8027465667915115,4.8626716604244695,7.615480649188515,5.655430711610487,5.593008739076155,2.5343320848938826,5.455680399500624,3.3333333333333335,4.787765293383271,5.418227215980025,3.6454431960049942,2.2222222222222223,2.702871410736579,3.6641697877652937,8.239700374531834,,,3.970037453183521,3.4269662921348316,6.30461922596754,7.8027465667915115,4.962546816479401,7.990012484394507,7.17852684144819,3.339575530586767,3.089887640449438,2.7091136079900124,4.3632958801498125,6.086142322097379,2.272159800249688,3.6454431960049942,6.866416978776529,5.830212234706617,3.1647940074906367,4.49438202247191,3.545568039950062,8.67665418227216,6.30461922596754,2.397003745318352,2.66541822721598,6.741573033707866,6.004993757802747,3.926342072409488,3.1460674157303368,3.2896379525593007,8.302122347066168,,,6.866416978776529,5.324594257178527,5.955056179775282,,8.739076154806492,,5.34956304619226,6.235955056179775,,8.11485642946317,5.455680399500624,4.001248439450687,5.068664169787765,5.593008739076155,3.639200998751561,8.177278401997503,5.424469413233458,4.2322097378277155,7.615480649188515,3.81398252184769,5.430711610486892,6.198501872659176,6.616729088639201,7.615480649188515,5.830212234706617,8.11485642946317,7.8027465667915115,5.855181023720349,5.099875156054932,,4.132334581772784,,5.892634207240949,5.274656679151062,2.752808988764045,,6.098626716604246,7.17852684144819,4.001248439450687,5.6491885143570535,5.611735330836455,,2.4344569288389515,4.444444444444445,4.019975031210986,4.912609238451935,,3.4831460674157304,7.303370786516854,6.554307116104869,6.067415730337078, +,7.865168539325843,4.893882646691636,,5.68039950062422,5.611735330836455,2.5593008739076155,,3.3645443196004994,4.806491885143571,5.436953807740325,3.6766541822721597,2.247191011235955,2.7340823970037453,3.689138576779026,8.302122347066168,,,3.9950062421972534,3.451935081148564,6.30461922596754,7.865168539325843,4.987515605493134,8.05243445692884,7.240948813982522,3.3645443196004994,3.114856429463171,2.7340823970037453,4.400749063670412,6.111111111111111,2.2971285892634206,3.682896379525593,6.866416978776529,5.848938826466916,3.183520599250936,4.519350811485642,3.576779026217228,8.739076154806492,6.30461922596754,2.4157303370786516,2.690387016229713,6.803995006242197,6.029962546816479,3.957553058676654,3.1772784019975036,3.3146067415730336,8.302122347066168,,,6.928838951310862,5.34956304619226,5.986267166042447,,8.801498127340825,,5.36828963795256,6.242197253433209,,8.11485642946317,5.480649188514358,4.019975031210986,5.087390761548065,5.6242197253433215,3.6641697877652937,8.177278401997503,5.449438202247191,4.257178526841448,7.677902621722847,3.8389513108614235,5.455680399500624,6.229712858926342,6.679151061173534,7.615480649188515,5.855181023720349,8.177278401997503,7.8027465667915115,5.880149812734083,5.131086142322098,,4.169787765293384,,5.9238451935081144,5.305867665418227,2.777777777777778,,6.123595505617978,7.240948813982522,4.032459425717852,5.674157303370786,5.64294631710362,,2.459425717852684,4.475655430711611,4.044943820224719,4.943820224719102,,3.5143570536828963,7.365792759051186,6.554307116104869,6.092384519350812, +,7.865168539325843,4.931335830212235,,5.705368289637952,5.636704119850187,2.5842696629213484,,3.3957553058676653,4.831460674157303,5.455680399500624,3.701622971285893,2.272159800249688,2.7652933832709112,3.714107365792759,,,,4.019975031210986,3.470661672908864,6.367041198501872,7.865168539325843,5.0062421972534334,,7.240948813982522,3.3957553058676653,3.1460674157303368,2.7590511860174782,4.431960049937578,6.1360799001248445,,3.714107365792759,6.928838951310862,5.8739076154806495,3.2084893882646695,4.544319600499376,3.6142322097378274,8.739076154806492,6.30461922596754,2.4406991260923845,2.715355805243446,6.803995006242197,6.054931335830212,3.9950062421972534,3.2084893882646695,3.3458177278401995,8.3645443196005,,,6.928838951310862,5.380774032459426,6.023720349563047,,8.801498127340825,,5.3870162297128585,6.30461922596754,,8.177278401997503,5.50561797752809,4.038701622971286,5.1123595505617985,5.655430711610487,3.682896379525593,8.239700374531834,5.468164794007491,4.275905118601748,7.677902621722847,3.8639200998751564,5.480649188514358,6.242197253433209,6.679151061173534,7.677902621722847,5.880149812734083,8.177278401997503,7.865168539325843,5.8988764044943816,5.168539325842697,,,,5.955056179775282,5.343320848938826,2.7965043695380776,,6.1485642946317105,7.240948813982522,4.063670411985019,5.69912609238452,5.674157303370786,,2.4843945068664173,4.506866416978776,4.069912609238452,4.9812734082397006,,3.5518102372034956,7.365792759051186,6.616729088639201,6.117353308364544, +,7.927590511860175,4.962546816479401,,5.730337078651686,5.655430711610487,2.602996254681648,,3.420724094881398,4.850187265917603,5.480649188514358,3.732833957553059,2.2908863920099876,2.790262172284644,3.7390761548064915,,,,4.044943820224719,3.495630461922597,6.367041198501872,7.927590511860175,5.031210986267166,,7.303370786516854,3.4269662921348316,3.1772784019975036,2.7840199750312107,4.463171036204744,,,3.745318352059925,6.928838951310862,5.8988764044943816,3.233458177278402,4.569288389513109,3.6454431960049942,8.801498127340825,6.367041198501872,2.459425717852684,2.740324594257179,6.866416978776529,6.086142322097379,4.02621722846442,3.2397003745318353,3.370786516853933,8.3645443196005,,,6.991260923845194,5.411985018726591,6.054931335830212,,8.863920099875156,,5.411985018726591,6.30461922596754,,8.177278401997503,5.536828963795256,4.057428214731585,5.131086142322098,5.686641697877653,3.7078651685393256,8.239700374531834,5.493133583021224,4.294631710362047,7.677902621722847,3.888888888888889,5.50561797752809,6.30461922596754,6.741573033707866,7.677902621722847,5.9113607990012484,8.239700374531834,7.865168539325843,5.917602996254682,5.199750312109863,,,,5.986267166042447,5.3745318352059925,2.82147315855181,,6.173533083645444,7.240948813982522,4.094881398252185,5.724094881398252,5.705368289637952,,2.5093632958801497,4.538077403245943,4.1011235955056184,5.012484394506866,,3.5830212234706615,7.428214731585518,,6.1360799001248445, +,7.927590511860175,4.9937578027465666,,5.7553058676654185,5.68039950062422,2.6279650436953808,,3.451935081148564,4.875156054931336,5.499375780274657,3.764044943820225,2.3158551810237205,2.82147315855181,3.764044943820225,,,,4.069912609238452,3.5143570536828963,6.367041198501872,7.990012484394507,5.056179775280899,,7.303370786516854,3.4581772784019975,3.2084893882646695,2.808988764044944,4.49438202247191,,,3.7827715355805243,6.928838951310862,5.917602996254682,3.2521847690387014,,3.682896379525593,8.801498127340825,6.367041198501872,2.478152309612984,2.7590511860174782,6.866416978776529,6.111111111111111,4.057428214731585,3.2646691635455682,3.3957553058676653,8.426966292134832,,,6.991260923845194,5.436953807740325,6.092384519350812,,8.863920099875156,,5.430711610486892,6.367041198501872,,8.239700374531834,5.561797752808988,4.0761548064918856,5.149812734082397,5.717852684144819,3.7265917602996255,8.302122347066168,5.5181023720349565,4.31960049937578,7.740324594257178,3.9138576779026217,5.5305867665418225,6.30461922596754,6.741573033707866,7.740324594257178,5.936329588014981,8.239700374531834,7.865168539325843,5.942571785268415,5.237203495630462,,,,6.0174781523096135,5.405742821473158,2.84019975031211,,6.192259675405743,7.303370786516854,4.1260923845193505,5.749063670411985,5.742821473158552,,2.5343320848938826,4.569288389513109,4.1260923845193505,5.043695380774032,,3.6142322097378274,7.428214731585518,,6.161048689138577, +,7.990012484394507,5.031210986267166,,5.7802746566791505,5.705368289637952,,,3.4831460674157304,4.900124843945068,5.524344569288389,3.7952559300873907,2.340823970037453,2.852684144818976,3.7890137328339577,,,,4.094881398252185,3.5393258426966296,6.429463171036204,7.990012484394507,5.081148564294631,,7.365792759051186,3.4831460674157304,3.2397003745318353,2.8339575530586765,4.525593008739076,,,3.81398252184769,6.991260923845194,,3.2771535580524347,,3.714107365792759,8.863920099875156,6.429463171036204,2.4968789013732833,2.7840199750312107,6.866416978776529,6.1360799001248445,4.0886392009987516,3.295880149812734,,8.426966292134832,,,7.0536828963795255,5.468164794007491,6.123595505617978,,8.926342072409488,,5.455680399500624,6.367041198501872,,8.239700374531834,,4.094881398252185,5.174781523096129,5.749063670411985,3.7515605493133584,8.302122347066168,5.536828963795256,4.33832709113608,7.740324594257178,3.938826466916354,5.555555555555556,,6.803995006242197,7.740324594257178,5.961298377028713,8.302122347066168,7.927590511860175,5.961298377028713,5.268414481897628,,,,6.048689138576779,5.443196004993759,2.865168539325843,,6.217228464419476,7.303370786516854,4.157303370786517,5.774032459425719,5.774032459425719,,2.5530586766541825,4.600499375780275,4.151061173533084,5.081148564294631,,3.651685393258427,,,6.186017478152309, +,,5.062421972534332,,5.805243445692884,,,,3.5143570536828963,4.918851435705368,5.543071161048689,3.8202247191011236,2.359550561797753,2.8838951310861427,3.81398252184769,,,,4.119850187265917,3.5580524344569286,6.429463171036204,8.05243445692884,5.106117353308365,,7.365792759051186,3.5143570536828963,3.2709113607990012,2.8589263420724094,4.556803995006242,,,3.8451935081148565,6.991260923845194,,3.295880149812734,,3.7515605493133584,8.863920099875156,6.429463171036204,2.521847690387016,2.808988764044944,6.928838951310862,6.161048689138577,4.1260923845193505,3.3270911360799,,8.489388264669165,,,7.0536828963795255,5.493133583021224,6.161048689138577,,,,5.474406991260924,6.429463171036204,,8.239700374531834,,4.1136079900124844,5.19350811485643,5.7802746566791505,3.776529338327091,8.3645443196005,5.561797752808988,4.3632958801498125,7.740324594257178,3.9637952559300875,5.580524344569288,,6.803995006242197,,5.992509363295881,8.302122347066168,7.927590511860175,5.980024968789014,5.305867665418227,,,,6.079900124843945,5.474406991260924,2.8838951310861427,,6.242197253433209,7.365792759051186,4.18227215980025,5.799001248439451,5.805243445692884,,2.578027465667915,4.631710362047441,4.18227215980025,5.1123595505617985,,3.682896379525593,,,6.210986267166042, +,,5.093632958801498,,5.830212234706617,,,,3.5393258426966296,4.943820224719102,5.568039950062421,3.8514357053682895,2.3845193508114857,2.908863920099875,3.8389513108614235,,,,4.144818976279651,3.5830212234706615,6.491885143570538,,5.131086142322098,,7.428214731585518,3.545568039950062,3.295880149812734,2.8838951310861427,4.588014981273409,,,3.882646691635456,6.991260923845194,,3.320848938826467,,,8.926342072409488,6.429463171036204,2.5405742821473156,2.8339575530586765,6.928838951310862,,,3.352059925093633,,8.489388264669165,,,7.116104868913857,5.524344569288389,6.192259675405743,,,,5.493133583021224,6.429463171036204,,8.302122347066168,,4.132334581772784,5.212234706616729,5.811485642946318,3.7952559300873907,8.3645443196005,5.580524344569288,4.382022471910113,7.8027465667915115,3.9887640449438204,5.605493133583021,,6.866416978776529,,6.0174781523096135,8.3645443196005,7.927590511860175,6.004993757802747,5.337078651685393,,,,6.111111111111111,5.50561797752809,2.908863920099875,,6.242197253433209,7.365792759051186,4.213483146067416,5.823970037453184,5.836454431960051,,2.602996254681648,4.662921348314606,4.207240948813983,5.143570536828964,,3.7203495630461925,,,6.229712858926342, +,,5.131086142322098,,5.855181023720349,,,,3.5705368289637955,4.9687890137328345,5.586766541822722,3.882646691635456,2.4094881398252186,2.9400749063670415,3.8639200998751564,,,,4.169787765293384,3.6017478152309614,6.491885143570538,,5.15605493133583,,7.428214731585518,3.5705368289637955,3.3270911360799,2.908863920099875,4.619225967540574,,,3.9138576779026217,7.0536828963795255,,3.3458177278401995,,,8.926342072409488,6.491885143570538,2.5593008739076155,2.8589263420724094,6.928838951310862,,,3.383270911360799,,8.551810237203496,,,7.116104868913857,,,,,,5.5181023720349565,6.491885143570538,,8.302122347066168,,4.151061173533084,5.237203495630462,5.842696629213483,3.8202247191011236,8.426966292134832,5.605493133583021,4.406991260923846,7.8027465667915115,4.00749063670412,5.630461922596755,,,,6.0424469413233455,8.3645443196005,7.990012484394507,6.023720349563047,5.3745318352059925,,,,,5.543071161048689,2.9275905118601746,,6.30461922596754,7.428214731585518,4.244694132334582,5.848938826466916,5.867665418227216,,2.6279650436953808,4.694132334581773,4.2322097378277155,5.174781523096129,,3.7515605493133584,,,6.242197253433209, +,,5.162297128589263,,,,,,3.6017478152309614,4.987515605493134,5.605493133583021,3.9076154806491883,2.428214731585518,2.9712858926342074,,,,,4.194756554307116,3.6267166042446943,6.554307116104869,,5.181023720349563,,7.49063670411985,3.6017478152309614,3.3583021223470664,2.933832709113608,4.65043695380774,,,,7.0536828963795255,,3.3645443196004994,,,8.98876404494382,,2.5842696629213484,2.8838951310861427,6.991260923845194,,,3.4144818976279647,,8.551810237203496,,,7.116104868913857,,,,,,5.536828963795256,6.491885143570538,,8.3645443196005,,4.176029962546816,5.2559300873907615,5.880149812734083,3.8389513108614235,8.426966292134832,5.6242197253433215,4.425717852684145,7.8027465667915115,4.032459425717852,,,,,6.073657927590512,8.426966292134832,7.990012484394507,6.0424469413233455,5.405742821473158,,,,,,2.9525593008739075,,,7.428214731585518,,5.8739076154806495,5.905118601747815,,,,4.257178526841448,5.212234706616729,,,,,6.30461922596754, +,,,,,,,,3.6329588014981273,5.012484394506866,5.630461922596755,3.938826466916354,2.453183520599251,3.0024968789013733,,,,,4.213483146067416,3.6454431960049942,6.554307116104869,,5.205992509363296,,7.49063670411985,3.6329588014981273,,2.958801498127341,4.681647940074906,,,,7.0536828963795255,,3.3895131086142323,,,8.98876404494382,,2.602996254681648,2.908863920099875,6.991260923845194,,,,,,,,7.17852684144819,,,,,,5.555555555555556,6.491885143570538,,8.3645443196005,,4.194756554307116,5.274656679151062,5.9113607990012484,3.8639200998751564,8.489388264669165,5.6491885143570535,4.450686641697877,,4.057428214731585,,,,,6.098626716604246,8.426966292134832,7.990012484394507,6.067415730337078,,,,,,,2.9712858926342074,,,7.428214731585518,,5.8988764044943816,5.936329588014981,,,,4.288389513108614,5.243445692883895,,,,,6.30461922596754, +,,,,,,,,3.6579275905118602,5.0374531835206,5.6491885143570535,,2.471910112359551,3.033707865168539,,,,,,3.6704119850187267,6.616729088639201,,5.224719101123595,,7.553058676654182,,,2.9837702871410734,4.712858926342073,,,,7.116104868913857,,3.408239700374532,,,9.051186017478152,,,2.9275905118601746,6.991260923845194,,,,,,,,7.17852684144819,,,,,,5.580524344569288,6.554307116104869,,,,4.213483146067416,5.299625468164794,5.942571785268415,3.888888888888889,8.489388264669165,,4.4694132334581775,,4.082397003745319,,,,,6.123595505617978,8.489388264669165,8.05243445692884,6.086142322097379,,,,,,,2.9962546816479403,,,7.49063670411985,,5.9238451935081144,5.967540574282147,,,,,5.274656679151062,,,,,6.30461922596754, +,,,,,,,,3.689138576779026,5.056179775280899,,,2.4968789013732833,3.058676654182272,,,,,,3.689138576779026,6.616729088639201,,5.249687890137328,,7.553058676654182,,,3.0087390761548067,,,,,7.116104868913857,,3.4332084893882646,,,9.051186017478152,,,2.9525593008739075,7.0536828963795255,,,,,,,,7.240948813982522,,,,,,,,,,,4.2322097378277155,5.318352059925093,5.97378277153558,3.9076154806491883,8.551810237203496,,4.49438202247191,,4.107365792759051,,,,,6.154806491885144,8.489388264669165,8.05243445692884,6.104868913857677,,,,,,,3.0149812734082393,,,7.49063670411985,,5.948813982521848,5.998751560549313,,,,,,,,,,6.367041198501872, +,,,,,,,,3.7203495630461925,,,,,3.089887640449438,,,,,,3.714107365792759,6.679151061173534,,5.274656679151062,,7.553058676654182,,,3.033707865168539,,,,,,,3.4581772784019975,,,9.113607990012484,,,2.977528089887641,,,,,,,,,7.240948813982522,,,,,,,,,,,4.250936329588015,5.337078651685393,6.004993757802747,3.9325842696629216,8.551810237203496,,,,4.132334581772784,,,,,6.179775280898876,8.551810237203496,8.05243445692884,6.129837702871411,,,,,,,3.0399500624219726,,,7.553058676654182,,5.97378277153558,6.029962546816479,,,,,,,,,,6.367041198501872, +,,,,,,,,,,,,,3.1210986267166043,,,,,,3.732833957553059,6.679151061173534,,5.299625468164794,,,,,3.058676654182272,,,,,,,,,,9.113607990012484,,,,,,,,,,,,7.303370786516854,,,,,,,,,,,4.269662921348314,5.3620474406991265,6.036204744069912,3.951310861423221,8.614232209737828,,,,,,,,,6.210986267166042,8.551810237203496,8.11485642946317,6.1485642946317105,,,,,,,3.058676654182272,,,7.553058676654182,,,,,,,,,,,,,6.367041198501872, +,,,,,,,,,,,,,3.15230961298377,,,,,,3.7515605493133584,6.741573033707866,,5.324594257178527,,,,,3.0836454431960054,,,,,,,,,,9.176029962546817,,,,,,,,,,,,7.303370786516854,,,,,,,,,,,4.288389513108614,5.380774032459426,6.067415730337078,3.9762796504369535,8.614232209737828,,,,,,,,,6.235955056179775,,8.11485642946317,6.167290886392011,,,,,,,3.077403245942572,,,7.553058676654182,,,,,,,,,,,,,6.429463171036204, +,,,,,,,,,,,,,,,,,,,,6.741573033707866,,,,,,,,,,,,,,,,,9.176029962546817,,,,,,,,,,,,,,,,,,,,,,,,5.399500624219725,6.098626716604246,,8.67665418227216,,,,,,,,,6.242197253433209,,8.11485642946317,6.192259675405743,,,,,,,3.102372034956305,,,7.615480649188515,,,,,,,,,,,,,6.429463171036204, +,,,,,,,,,,,,,,,,,,,,6.803995006242197,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5.424469413233458,,,,,,,,,,,,6.30461922596754,,,6.210986267166042,,,,,,,3.1210986267166043,,,7.615480649188515,,,,,,,,,,,,,, +3.651685393258427,5.074906367041199,2.1161048689138577,5.305867665418227,3.589263420724095,3.7265917602996255,0.6554307116104868,3.3021223470661676,0.9051186017478152,2.908863920099875,3.6641697877652937,1.223470661672909,0.35268414481897625,0.24968789013732834,1.647940074906367,5.855181023720349,4.4818976279650435,2.7590511860174782,1.9600499375780276,1.6541822721598003,3.8951310861423223,5.224719101123595,2.9712858926342074,5.474406991260924,4.800249687890138,0.9488139825218477,0.6173533083645443,0.6616729088639202,1.7602996254681649,4.057428214731585,0.24781523096129837,0.8926342072409489,5.099875156054932,4.001248439450687,1.317103620474407,2.5842696629213484,0.717852684144819,6.179775280898876,4.313358302122348,0.7116104868913858,0.6928838951310862,4.956304619225968,3.8077403245942576,1.2359550561797754,0.7365792759051186,1.079900124843945,5.724094881398252,2.702871410736579,1.0923845193508115,4.444444444444445,2.9837702871410734,3.183520599250936,4.132334581772784,5.81772784019975,1.797752808988764,3.6267166042446943,3.9076154806491883,4.875156054931336,6.029962546816479,3.2397003745318353,2.4032459425717856,3.3645443196004994,2.9837702871410734,1.8102372034956304,5.6491885143570535,3.5830212234706615,2.446941323345818,5.855181023720349,1.8164794007490637,3.3957553058676653,3.6766541822721597,3.957553058676654,5.705368289637952,3.595505617977528,5.593008739076155,6.104868913857677,4.138576779026217,2.303370786516854,0.9550561797752809,1.2796504369538078,5.730337078651686,3.3645443196004994,2.5343320848938826,0.9800249687890138,5.930087390761548,4.1260923845193505,5.1248439450686645,1.4544319600499376,3.576779026217228,2.958801498127341,5.436953807740325,0.466916354556804,1.9101123595505618,1.8352059925093633,2.1972534332084894,5.031210986267166,0.6928838951310862,4.856429463171036,4.425717852684145,4.157303370786517, +3.682896379525593,5.1123595505617985,2.153558052434457,5.33083645443196,3.6142322097378274,3.745318352059925,0.6803995006242198,3.3270911360799,0.9363295880149812,2.933832709113608,3.682896379525593,1.2546816479400749,0.3757802746566792,0.27965043695380776,1.6729088639200997,5.880149812734083,4.51310861423221,2.790262172284644,1.9850187265917605,1.6791510611735332,3.920099875156055,5.262172284644195,2.9962546816479403,5.50561797752809,4.831460674157303,0.9737827715355806,0.6491885143570537,0.686641697877653,1.7915106117353308,4.082397003745319,0.2727840199750312,0.9300873907615481,5.1248439450686645,4.019975031210986,1.34207240948814,2.6092384519350813,0.7490636704119851,6.210986267166042,4.33832709113608,0.7303370786516854,0.717852684144819,4.975031210986267,3.8389513108614235,1.2671660424469413,0.7677902621722846,1.104868913857678,5.7553058676654185,2.7340823970037453,1.1235955056179776,4.475655430711611,3.0087390761548067,3.214731585518102,4.157303370786517,5.855181023720349,1.8164794007490637,3.651685393258427,3.9325842696629216,4.912609238451935,6.054931335830212,3.2709113607990012,2.4219725343320846,3.383270911360799,3.0149812734082393,1.8289637952559301,5.68039950062422,3.607990012484395,2.4656679151061174,5.880149812734083,1.8414481897627966,3.420724094881398,3.7078651685393256,3.9887640449438204,5.730337078651686,3.6267166042446943,5.6242197253433215,6.129837702871411,4.16354556803995,2.340823970037453,0.9800249687890138,1.3108614232209737,5.767790262172285,3.3895131086142323,2.571785268414482,0.9987515605493134,5.961298377028713,4.151061173533084,5.149812734082397,1.4856429463171037,3.6017478152309614,2.990012484394507,5.468164794007491,0.49063670411985016,1.941323345817728,1.8601747815230962,2.2347066167290888,5.068664169787765,0.7303370786516854,4.887640449438202,4.450686641697877,4.18227215980025, +3.714107365792759,5.143570536828964,2.184769038701623,5.3620474406991265,3.639200998751561,3.7702871410736583,0.7053682896379525,3.3583021223470664,0.9675405742821472,2.958801498127341,3.7078651685393256,1.2796504369538078,0.39825218476903873,0.3096129837702871,1.6978776529338326,5.9113607990012484,4.544319600499376,2.82147315855181,2.009987515605493,1.6978776529338326,3.951310861423221,5.293383270911361,3.0149812734082393,5.536828963795256,4.856429463171036,1.0049937578027466,0.6803995006242198,0.7116104868913858,1.8227215980024971,4.107365792759051,0.29712858926342073,0.9612983770287141,5.143570536828964,4.044943820224719,1.3670411985018727,2.634207240948814,0.7865168539325842,6.242197253433209,4.3632958801498125,0.7553058676654182,0.7428214731585518,5.0,3.8639200998751564,1.2983770287141074,0.7927590511860175,1.1298377028714106,5.786516853932584,2.7715355805243447,1.161048689138577,4.506866416978776,3.0399500624219726,3.245942571785269,4.188514357053683,5.892634207240949,1.8414481897627966,3.6704119850187267,3.9637952559300875,4.950062421972534,6.086142322097379,3.295880149812734,2.446941323345818,3.4019975031210987,3.046192259675406,1.8539325842696628,5.711610486891385,3.6329588014981273,2.4906367041198503,5.8988764044943816,1.8664169787765295,3.4456928838951315,3.7390761548064915,4.019975031210986,5.7553058676654185,3.651685393258427,5.655430711610487,6.1485642946317105,4.18227215980025,2.3720349563046192,1.0049937578027466,1.348314606741573,5.805243445692884,3.420724094881398,2.602996254681648,1.0237203495630463,5.992509363295881,4.176029962546816,5.174781523096129,1.5168539325842696,3.6267166042446943,3.0212234706616727,5.499375780274657,0.5149812734082396,1.9725343320848938,1.8851435705368291,2.2659176029962547,5.106117353308365,0.7615480649188515,4.918851435705368,4.475655430711611,4.207240948813983, +3.745318352059925,5.174781523096129,2.215980024968789,5.3870162297128585,3.6641697877652937,3.7952559300873907,0.7240948813982522,3.383270911360799,0.9987515605493134,2.977528089887641,3.7265917602996255,1.3108614232209737,0.4213483146067416,0.33957553058676654,1.7228464419475658,5.942571785268415,4.575530586766542,2.8464419475655434,2.034956304619226,1.7228464419475658,3.982521847690387,5.324594257178527,3.0399500624219726,5.568039950062421,4.887640449438202,1.0362047440699127,0.7053682896379525,0.7365792759051186,1.8539325842696628,4.132334581772784,0.32209737827715357,0.9987515605493134,5.168539325842697,4.069912609238452,1.3857677902621723,2.6591760299625467,0.8177278401997503,6.30461922596754,4.388264669163545,0.7740324594257179,0.7677902621722846,5.0187265917602994,3.888888888888889,1.3358302122347065,0.8239700374531835,1.161048689138577,5.81772784019975,2.8027465667915106,1.1922596754057428,4.538077403245943,3.0649188514357055,3.2833957553058677,4.213483146067416,5.930087390761548,1.8664169787765295,3.6953807740324596,3.9887640449438204,4.987515605493134,6.111111111111111,3.320848938826467,2.4656679151061174,3.4269662921348316,3.0836454431960054,1.8726591760299625,5.736579275905119,3.651685393258427,2.5093632958801497,5.9238451935081144,1.8913857677902621,3.470661672908864,3.7702871410736583,4.057428214731585,5.774032459425719,3.6766541822721597,5.686641697877653,6.167290886392011,4.200998751560549,2.4032459425717856,1.0299625468164793,1.3795255930087391,5.848938826466916,3.451935081148564,2.634207240948814,1.042446941323346,6.023720349563047,4.200998751560549,5.199750312109863,1.5480649188514357,3.651685393258427,3.0524344569288386,5.524344569288389,0.5387016229712859,2.00374531835206,1.9101123595505618,2.2971285892634206,5.149812734082397,0.7990012484394506,4.950062421972534,4.500624219725343,4.225967540574282, +3.776529338327091,5.212234706616729,2.253433208489388,5.418227215980025,3.689138576779026,3.81398252184769,0.7490636704119851,3.408239700374532,1.0237203495630463,3.0024968789013733,3.745318352059925,1.34207240948814,0.44382022471910115,0.36953807740324596,1.7415730337078652,5.97378277153558,4.606741573033708,2.8776529338327093,2.0599250936329585,1.7415730337078652,4.00749063670412,5.355805243445693,3.0649188514357055,5.599250936329588,4.918851435705368,1.0611735330836456,0.7365792759051186,0.7615480649188515,1.8851435705368291,4.157303370786517,0.3464419475655431,1.0299625468164793,5.187265917602996,4.0886392009987516,1.410736579275905,2.6779026217228465,0.8551810237203495,6.30461922596754,4.413233458177278,0.7927590511860175,0.7927590511860175,5.043695380774032,3.920099875156055,1.3670411985018727,0.8551810237203495,1.1860174781523096,5.848938826466916,2.8339575530586765,1.229712858926342,4.563046192259676,3.0961298377028714,3.3146067415730336,4.238451935081149,5.961298377028713,1.8913857677902621,3.714107365792759,4.019975031210986,5.024968789013733,6.1360799001248445,3.352059925093633,2.4843945068664173,3.4456928838951315,3.114856429463171,1.8976279650436954,5.767790262172285,3.6766541822721597,2.5343320848938826,5.942571785268415,1.916354556803995,3.495630461922597,3.801498127340824,4.0886392009987516,5.799001248439451,3.7078651685393256,5.717852684144819,6.192259675405743,4.225967540574282,2.4406991260923845,1.0549313358302121,1.4169787765293382,5.8863920099875156,3.4831460674157304,2.671660424469413,1.0674157303370786,6.054931335830212,4.225967540574282,5.224719101123595,1.5792759051186018,3.6766541822721597,3.089887640449438,5.555555555555556,0.5630461922596754,2.034956304619226,1.941323345817728,2.328339575530587,5.187265917602996,0.8302122347066168,4.975031210986267,4.531835205992509,4.250936329588015, +3.801498127340824,5.243445692883895,2.2846441947565546,5.443196004993759,3.714107365792759,3.8389513108614235,0.7740324594257179,3.4332084893882646,1.0549313358302121,3.027465667915106,3.7702871410736583,1.373283395755306,0.466916354556804,0.3995006242197253,1.766541822721598,5.998751560549313,4.637952559300874,2.908863920099875,2.084893882646692,1.766541822721598,4.038701622971286,5.3870162297128585,3.089887640449438,5.630461922596755,4.943820224719102,1.0923845193508115,0.7677902621722846,0.7865168539325842,1.916354556803995,4.18227215980025,0.3714107365792759,1.0611735330836456,5.212234706616729,4.1136079900124844,1.4294631710362047,2.702871410736579,0.8863920099875156,6.30461922596754,4.438202247191011,0.8114856429463172,0.8177278401997503,5.062421972534332,3.9450686641697876,1.3982521847690388,0.8801498127340824,1.2109862671660423,5.880149812734083,2.871410736579276,1.260923845193508,4.594257178526841,3.1210986267166043,3.352059925093633,4.263420724094882,5.998751560549313,1.916354556803995,3.732833957553059,4.051186017478152,5.062421972534332,6.161048689138577,3.3770287141073654,2.5031210986267167,3.464419475655431,3.1460674157303368,1.916354556803995,5.799001248439451,3.6953807740324596,2.5530586766541825,5.967540574282147,1.941323345817728,3.5205992509363297,3.83270911360799,4.119850187265917,5.823970037453184,3.732833957553059,5.749063670411985,6.210986267166042,4.244694132334582,2.471910112359551,1.079900124843945,1.4544319600499376,5.9238451935081144,3.5143570536828963,2.702871410736579,1.0861423220973783,6.086142322097379,4.244694132334582,5.249687890137328,1.6104868913857677,3.701622971285893,3.1210986267166043,5.586766541822722,0.5867665418227216,2.066167290886392,1.9662921348314608,2.3657927590511862,5.224719101123595,0.867665418227216,5.0062421972534334,4.556803995006242,4.275905118601748, +3.83270911360799,5.274656679151062,2.3158551810237205,5.474406991260924,3.7390761548064915,3.857677902621723,0.7927590511860175,3.4581772784019975,1.0861423220973783,3.046192259675406,3.7890137328339577,1.3982521847690388,0.4893882646691636,0.42946317103620474,1.7915106117353308,6.029962546816479,4.66916354556804,2.9400749063670415,2.1098626716604243,1.7852684144818978,4.069912609238452,5.418227215980025,3.114856429463171,5.66167290886392,4.975031210986267,1.1235955056179776,0.7990012484394506,0.8114856429463172,1.9475655430711611,4.207240948813983,0.39637952559300876,1.0986267166042447,5.230961298377029,4.132334581772784,1.4544319600499376,2.727840199750312,0.9238451935081149,6.367041198501872,4.456928838951311,0.8364544319600499,0.8426966292134832,5.087390761548065,3.970037453183521,1.4294631710362047,0.9113607990012486,1.2421972534332086,5.9113607990012484,2.902621722846442,1.2921348314606742,4.6254681647940075,3.15230961298377,3.383270911360799,4.288389513108614,6.036204744069912,1.9350811485642945,3.7578027465667914,4.0761548064918856,5.099875156054932,6.186017478152309,3.4019975031210987,2.521847690387016,3.4893882646691634,3.1772784019975036,1.941323345817728,5.830212234706617,3.7203495630461925,2.578027465667915,5.986267166042447,1.9662921348314608,3.545568039950062,3.8639200998751564,4.151061173533084,5.848938826466916,3.7578027465667914,5.7802746566791505,6.229712858926342,4.263420724094882,2.5093632958801497,1.104868913857678,1.4856429463171037,5.961298377028713,3.545568039950062,2.7340823970037453,1.1111111111111112,6.117353308364544,4.269662921348314,5.274656679151062,1.6416978776529338,3.7265917602996255,3.15230961298377,5.611735330836455,0.6104868913857677,2.097378277153558,1.9912609238451935,2.397003745318352,5.262172284644195,0.898876404494382,5.0374531835206,4.581772784019975,4.294631710362047, +3.8639200998751564,5.312109862671661,2.35330836454432,5.499375780274657,3.764044943820225,3.882646691635456,0.8177278401997503,3.4893882646691634,1.1173533083645444,3.0711610486891385,3.81398252184769,1.4294631710362047,0.5124843945068664,0.45942571785268416,1.8164794007490637,6.061173533083646,4.700374531835206,2.9712858926342074,2.128589263420724,1.8102372034956304,4.094881398252185,5.449438202247191,3.139825218476904,5.692883895131087,5.0062421972534334,1.1485642946317103,0.8302122347066168,0.8364544319600499,1.978776529338327,4.2322097378277155,0.4207240948813982,1.1298377028714106,5.2559300873907615,4.157303370786517,1.4794007490636705,2.746566791510612,0.9550561797752809,6.367041198501872,4.4818976279650435,0.8551810237203495,0.8614232209737829,5.106117353308365,3.9950062421972534,1.466916354556804,0.9425717852684146,1.2671660424469413,5.942571785268415,2.9400749063670415,1.3295880149812733,4.656679151061174,3.183520599250936,3.4144818976279647,4.31960049937578,6.067415730337078,1.9600499375780276,3.776529338327091,4.107365792759051,5.1373283395755305,6.210986267166042,3.4332084893882646,2.5405742821473156,3.508114856429463,3.2084893882646695,1.9662921348314608,5.861423220973783,3.745318352059925,2.596754057428215,6.01123595505618,1.9912609238451935,3.5705368289637955,3.8951310861423223,4.188514357053683,5.867665418227216,3.7890137328339577,5.811485642946318,6.242197253433209,4.288389513108614,2.5405742821473156,1.1298377028714106,1.523096129837703,6.004993757802747,3.576779026217228,2.7715355805243447,1.1298377028714106,6.1485642946317105,4.294631710362047,5.299625468164794,1.6729088639200997,3.7515605493133584,3.183520599250936,5.64294631710362,0.6367041198501873,2.128589263420724,2.0224719101123596,2.428214731585518,5.305867665418227,0.9363295880149812,5.068664169787765,4.606741573033708,4.31960049937578, +3.8951310861423223,5.343320848938826,2.3845193508114857,5.5305867665418225,3.7890137328339577,3.9076154806491883,0.8426966292134832,3.5143570536828963,1.1423220973782773,3.0961298377028714,3.83270911360799,1.4606741573033708,0.534956304619226,0.4893882646691636,1.8414481897627966,6.086142322097379,4.7315855181023725,3.0024968789013733,2.153558052434457,1.8289637952559301,4.1260923845193505,5.480649188514358,3.1647940074906367,5.724094881398252,5.0374531835206,1.1797752808988764,0.8614232209737829,0.8614232209737829,2.016229712858926,4.257178526841448,0.44569288389513106,1.161048689138577,5.274656679151062,4.176029962546816,1.4981273408239701,2.7715355805243447,0.9925093632958802,6.429463171036204,4.506866416978776,0.8739076154806492,0.8863920099875156,5.131086142322098,4.02621722846442,1.4981273408239701,0.9737827715355806,1.2921348314606742,5.97378277153558,2.9712858926342074,1.3607990012484397,4.681647940074906,3.2084893882646695,3.451935081148564,4.344569288389513,6.104868913857677,1.9850187265917605,3.7952559300873907,4.132334581772784,5.174781523096129,6.235955056179775,3.4581772784019975,2.5593008739076155,3.5268414481897628,3.2397003745318353,1.9850187265917605,5.892634207240949,3.764044943820225,2.6217228464419473,6.029962546816479,2.016229712858926,3.595505617977528,3.926342072409488,4.219725343320849,5.892634207240949,3.81398252184769,5.842696629213483,6.242197253433209,4.307116104868914,2.578027465667915,1.1548064918851435,1.554307116104869,6.0424469413233455,3.607990012484395,2.8027465667915106,1.1548064918851435,6.179775280898876,4.31960049937578,5.324594257178527,1.704119850187266,3.776529338327091,3.214731585518102,5.674157303370786,0.6616729088639202,2.15980024968789,2.0474406991260925,2.4656679151061174,5.343320848938826,0.9675405742821472,5.099875156054932,4.631710362047441,4.344569288389513, +3.926342072409488,5.3745318352059925,2.4157303370786516,5.555555555555556,3.81398252184769,3.926342072409488,0.8614232209737829,3.5393258426966296,1.1735330836454432,3.114856429463171,3.857677902621723,1.4918851435705367,0.5580524344569288,0.519350811485643,1.8664169787765295,6.117353308364544,4.762796504369538,3.033707865168539,2.1785268414481895,1.8476903870162298,4.157303370786517,5.511860174781523,3.1897627965043696,5.7553058676654185,5.062421972534332,1.2109862671660423,0.8863920099875156,0.8863920099875156,2.0474406991260925,4.282147315855181,0.4700374531835206,1.198501872659176,5.299625468164794,4.200998751560549,1.523096129837703,2.7965043695380776,1.0237203495630463,6.429463171036204,4.531835205992509,0.898876404494382,0.9113607990012486,5.149812734082397,4.051186017478152,1.529338327091136,0.9987515605493134,1.3233458177278403,6.004993757802747,3.0024968789013733,1.3982521847690388,4.712858926342073,3.2397003745318353,3.4831460674157304,4.369538077403246,6.142322097378277,2.009987515605493,3.8202247191011236,4.16354556803995,5.212234706616729,6.242197253433209,3.4831460674157304,2.578027465667915,3.5518102372034956,3.2709113607990012,2.009987515605493,5.9238451935081144,3.7890137328339577,2.640449438202247,6.054931335830212,2.0411985018726595,3.620474406991261,3.957553058676654,4.250936329588015,5.917602996254682,3.8451935081148565,5.8739076154806495,6.30461922596754,4.325842696629214,2.6092384519350813,1.1797752808988764,1.591760299625468,6.079900124843945,3.639200998751561,2.8339575530586765,1.1735330836454432,6.210986267166042,4.344569288389513,5.34956304619226,1.735330836454432,3.801498127340824,3.245942571785269,5.705368289637952,0.6803995006242198,2.1910112359550564,2.0724094881398254,2.4968789013732833,5.380774032459426,0.9987515605493134,5.131086142322098,4.656679151061174,4.369538077403246, +3.957553058676654,5.411985018726591,2.453183520599251,5.586766541822722,3.8389513108614235,3.951310861423221,0.8863920099875156,3.564294631710362,1.2047440699126093,3.139825218476904,3.8764044943820224,1.5168539325842696,0.5811485642946317,0.548689138576779,1.8913857677902621,6.1485642946317105,4.794007490636704,3.0649188514357055,2.203495630461923,1.8726591760299625,4.18227215980025,5.543071161048689,3.214731585518102,5.786516853932584,5.093632958801498,1.2359550561797754,0.9176029962546817,0.9113607990012486,2.0786516853932584,4.307116104868914,0.4950062421972534,1.229712858926342,5.318352059925093,4.225967540574282,1.5418227215980027,2.82147315855181,1.0611735330836456,6.491885143570538,4.556803995006242,0.9176029962546817,0.9363295880149812,5.174781523096129,4.0761548064918856,1.5605493133583022,1.0299625468164793,1.348314606741573,6.036204744069912,3.0399500624219726,1.4294631710362047,4.7440699126092385,3.2646691635455682,3.5205992509363297,4.394506866416979,6.173533083645444,2.034956304619226,3.8389513108614235,4.188514357053683,5.249687890137328,6.30461922596754,3.5143570536828963,2.596754057428215,3.5705368289637955,3.3021223470661676,2.0287141073657926,5.955056179775282,3.8077403245942576,2.66541822721598,6.073657927590512,2.0599250936329585,3.6454431960049942,3.982521847690387,4.282147315855181,5.942571785268415,3.870162297128589,5.905118601747815,6.30461922596754,4.3508114856429465,2.6466916354556806,1.2047440699126093,1.6229712858926344,6.117353308364544,3.6704119850187267,2.871410736579276,1.198501872659176,6.242197253433209,4.369538077403246,5.3745318352059925,1.766541822721598,3.826466916354557,3.2833957553058677,5.730337078651686,0.7053682896379525,2.2222222222222223,2.097378277153558,2.5280898876404496,5.424469413233458,1.0362047440699127,5.15605493133583,4.681647940074906,4.388264669163545, +3.9887640449438204,5.443196004993759,2.4843945068664173,5.611735330836455,3.8639200998751564,3.9762796504369535,0.9113607990012486,3.589263420724095,1.2359550561797754,3.1647940074906367,3.8951310861423223,1.5480649188514357,0.6036204744069913,0.5786516853932584,1.916354556803995,6.179775280898876,4.825218476903871,3.0961298377028714,2.2284644194756553,1.8913857677902621,4.213483146067416,5.574282147315855,3.233458177278402,5.81772784019975,5.1248439450686645,1.2671660424469413,0.9488139825218477,0.9363295880149812,2.1098626716604243,4.332084893882647,0.5199750312109862,1.2671660424469413,5.337078651685393,4.244694132334582,1.5667915106117354,2.84019975031211,1.0923845193508115,6.491885143570538,4.581772784019975,0.9363295880149812,0.9612983770287141,5.199750312109863,4.1011235955056184,1.5980024968789013,1.0611735330836456,1.373283395755306,6.067415730337078,3.0711610486891385,1.4606741573033708,4.775280898876405,3.295880149812734,3.5518102372034956,4.419475655430712,6.210986267166042,2.0599250936329585,3.857677902621723,4.219725343320849,5.287141073657928,6.30461922596754,3.5393258426966296,2.6217228464419473,3.589263420724095,3.3333333333333335,2.0536828963795255,5.986267166042447,3.83270911360799,2.68414481897628,6.098626716604246,2.084893882646692,3.6704119850187267,4.013732833957553,4.31960049937578,5.961298377028713,3.8951310861423223,5.936329588014981,6.30461922596754,4.369538077403246,2.6779026217228465,1.229712858926342,1.6604244694132335,6.154806491885144,3.701622971285893,2.902621722846442,1.2172284644194757,6.30461922596754,4.394506866416979,5.399500624219725,1.797752808988764,3.8514357053682895,3.3146067415730336,5.761548064918852,0.7303370786516854,2.253433208489388,2.128589263420724,2.565543071161049,5.461922596754057,1.0674157303370786,5.187265917602996,4.70661672908864,4.413233458177278, +4.019975031210986,5.474406991260924,2.521847690387016,5.64294631710362,3.888888888888889,3.9950062421972534,0.9300873907615481,3.620474406991261,1.260923845193508,3.183520599250936,3.920099875156055,1.5792759051186018,0.6242197253433208,0.6086142322097379,1.941323345817728,6.20474406991261,4.856429463171036,3.1273408239700373,2.253433208489388,1.916354556803995,4.244694132334582,5.605493133583021,3.258426966292135,5.848938826466916,5.149812734082397,1.2983770287141074,0.9800249687890138,0.9612983770287141,2.1410736579275906,4.357053682896379,0.5443196004993758,1.2983770287141074,5.3620474406991265,4.269662921348314,1.591760299625468,2.865168539325843,1.1298377028714106,6.554307116104869,4.606741573033708,0.9550561797752809,0.9862671660424469,5.218476903870163,4.132334581772784,1.6292134831460674,1.0861423220973783,1.404494382022472,6.098626716604246,3.102372034956305,1.4981273408239701,4.800249687890138,3.3270911360799,3.589263420724095,4.450686641697877,6.242197253433209,2.0786516853932584,3.882646691635456,4.244694132334582,5.324594257178527,6.367041198501872,3.564294631710362,2.640449438202247,3.6142322097378274,3.3645443196004994,2.0786516853932584,6.0174781523096135,3.857677902621723,2.7091136079900124,6.117353308364544,2.1098626716604243,3.6953807740324596,4.044943820224719,4.3508114856429465,5.986267166042447,3.926342072409488,5.967540574282147,6.367041198501872,4.388264669163545,2.715355805243446,1.2484394506866416,1.6978776529338326,6.198501872659176,3.732833957553059,2.933832709113608,1.2359550561797754,6.30461922596754,4.413233458177278,5.424469413233458,1.8227215980024971,3.8764044943820224,3.3458177278401995,5.792759051186017,0.7553058676654182,2.2846441947565546,2.153558052434457,2.596754057428215,5.499375780274657,1.104868913857678,5.218476903870163,4.737827715355805,4.438202247191011, +4.044943820224719,5.511860174781523,2.5530586766541825,5.667915106117353,3.9138576779026217,4.019975031210986,0.9550561797752809,3.6454431960049942,1.2921348314606742,3.2084893882646695,3.938826466916354,1.6042446941323347,0.6491885143570537,0.6367041198501873,1.9662921348314608,6.235955056179775,4.887640449438202,3.1585518102372037,2.278401997503121,1.9350811485642945,4.269662921348314,5.64294631710362,3.2833957553058677,5.880149812734083,5.181023720349563,1.3233458177278403,1.0112359550561798,0.9862671660424469,2.1722846441947565,4.382022471910113,0.5692883895131086,1.3295880149812733,5.380774032459426,4.288389513108614,1.6104868913857677,2.8901373283395753,1.16729088639201,6.554307116104869,4.6254681647940075,0.9800249687890138,1.0112359550561798,5.243445692883895,4.157303370786517,1.6604244694132335,1.1173533083645444,1.4294631710362047,6.129837702871411,3.139825218476904,1.529338327091136,4.831460674157303,3.352059925093633,3.620474406991261,4.475655430711611,6.30461922596754,2.1036204744069913,3.9013732833957557,4.275905118601748,5.3620474406991265,6.367041198501872,3.595505617977528,2.6591760299625467,3.6329588014981273,3.3957553058676653,2.097378277153558,6.048689138576779,3.8764044943820224,2.727840199750312,6.1360799001248445,2.134831460674157,3.7203495630461925,4.0761548064918856,4.382022471910113,6.01123595505618,3.951310861423221,5.998751560549313,6.367041198501872,4.413233458177278,2.746566791510612,1.2734082397003745,1.7290886392009988,6.235955056179775,3.764044943820225,2.9712858926342074,1.260923845193508,6.367041198501872,4.438202247191011,5.449438202247191,1.8539325842696628,3.9013732833957557,3.3770287141073654,5.81772784019975,0.7802746566791511,2.3158551810237205,2.1785268414481895,2.6279650436953808,5.536828963795256,1.136079900124844,5.249687890137328,4.762796504369538,4.463171036204744, +4.0761548064918856,5.543071161048689,2.5842696629213484,5.69912609238452,3.938826466916354,4.044943820224719,0.9800249687890138,3.6704119850187267,1.3233458177278403,3.233458177278402,3.9637952559300875,1.6354556803995006,0.6741573033707865,0.6679151061173533,1.9912609238451935,6.242197253433209,4.918851435705368,3.1897627965043696,2.303370786516854,1.9600499375780276,4.300873907615481,5.674157303370786,3.3083645443196006,5.9113607990012484,5.212234706616729,1.3545568039950062,1.0362047440699127,1.0112359550561798,2.203495630461923,4.406991260923846,0.5942571785268415,1.3670411985018727,5.405742821473158,4.313358302122348,1.6354556803995006,2.9151061173533086,1.198501872659176,6.616729088639201,4.65043695380774,0.9987515605493134,1.0299625468164793,5.262172284644195,4.18227215980025,1.6978776529338326,1.1485642946317103,1.4544319600499376,6.161048689138577,3.17103620474407,1.5605493133583022,4.8626716604244695,3.383270911360799,3.651685393258427,4.500624219725343,6.30461922596754,2.128589263420724,3.920099875156055,4.300873907615481,5.399500624219725,6.367041198501872,3.620474406991261,2.6779026217228465,3.651685393258427,3.4332084893882646,2.122347066167291,6.079900124843945,3.9013732833957557,2.752808988764045,6.161048689138577,2.15980024968789,3.745318352059925,4.107365792759051,4.413233458177278,6.036204744069912,3.9762796504369535,6.029962546816479,6.367041198501872,4.431960049937578,2.7840199750312107,1.2983770287141074,1.766541822721598,6.30461922596754,3.7952559300873907,3.0024968789013733,1.2796504369538078,6.367041198501872,4.463171036204744,5.480649188514358,1.8851435705368291,3.926342072409488,3.408239700374532,5.848938826466916,0.8052434456928839,2.3470661672908864,2.203495630461923,2.66541822721598,5.580524344569288,1.1735330836454432,5.280898876404494,4.787765293383271,4.4818976279650435, +4.107365792759051,5.574282147315855,2.6217228464419473,5.724094881398252,3.9637952559300875,4.063670411985019,0.9987515605493134,3.6953807740324596,1.3545568039950062,3.2521847690387014,3.982521847690387,1.6666666666666667,0.6928838951310862,0.6991260923845194,2.016229712858926,6.30461922596754,4.950062421972534,3.2209737827715355,2.328339575530587,1.978776529338327,4.332084893882647,5.705368289637952,3.3333333333333335,5.942571785268415,5.237203495630462,1.3857677902621723,1.0674157303370786,1.0362047440699127,2.2347066167290888,4.431960049937578,0.618601747815231,1.3982521847690388,5.424469413233458,4.332084893882647,1.6541822721598003,2.933832709113608,1.2359550561797754,6.616729088639201,4.675405742821473,1.017478152309613,1.0549313358302121,5.287141073657928,4.213483146067416,1.7290886392009988,1.1797752808988764,1.4856429463171037,6.192259675405743,3.202247191011236,1.5980024968789013,4.893882646691636,3.408239700374532,3.689138576779026,4.525593008739076,6.367041198501872,2.153558052434457,3.9450686641697876,4.332084893882647,5.436953807740325,6.429463171036204,3.6454431960049942,2.696629213483146,3.6766541822721597,3.464419475655431,2.1410736579275906,6.111111111111111,3.920099875156055,2.7715355805243447,6.179775280898876,2.184769038701623,3.7702871410736583,4.138576779026217,4.444444444444445,6.054931335830212,4.00749063670412,6.061173533083646,6.429463171036204,4.450686641697877,2.8152309612983775,1.3233458177278403,1.797752808988764,6.30461922596754,3.826466916354557,3.0399500624219726,1.3046192259675407,6.429463171036204,4.488139825218477,5.50561797752809,1.916354556803995,3.951310861423221,3.4456928838951315,5.880149812734083,0.8239700374531835,2.3782771535580522,2.2347066167290888,2.696629213483146,5.617977528089888,1.2047440699126093,5.312109862671661,4.812734082397004,4.506866416978776, +4.138576779026217,5.611735330836455,2.6529338327091136,5.7553058676654185,3.9887640449438204,4.0886392009987516,1.0237203495630463,3.7265917602996255,1.3795255930087391,3.2771535580524347,4.00749063670412,1.6978776529338326,0.717852684144819,0.7303370786516854,2.0411985018726595,6.30461922596754,4.9812734082397006,3.2521847690387014,2.35330836454432,2.00374531835206,4.357053682896379,5.736579275905119,3.3583021223470664,5.967540574282147,5.268414481897628,1.410736579275905,1.0986267166042447,1.0611735330836456,2.2659176029962547,4.456928838951311,0.6429463171036205,1.4294631710362047,5.449438202247191,4.357053682896379,1.6791510611735332,2.958801498127341,1.2671660424469413,6.679151061173534,4.700374531835206,1.042446941323346,1.079900124843945,5.305867665418227,4.238451935081149,1.7602996254681649,1.2047440699126093,1.5106117353308364,6.223470661672909,3.2397003745318353,1.6292134831460674,4.918851435705368,3.439450686641698,3.7203495630461925,4.55056179775281,6.367041198501872,2.1785268414481895,3.9637952559300875,4.3632958801498125,5.474406991260924,6.429463171036204,3.6766541822721597,2.715355805243446,3.6953807740324596,3.495630461922597,2.1660424469413235,6.1360799001248445,3.9450686641697876,2.7965043695380776,6.20474406991261,2.209737827715356,3.7952559300873907,4.169787765293384,4.4818976279650435,6.079900124843945,4.032459425717852,6.092384519350812,6.429463171036204,4.475655430711611,2.8464419475655434,1.348314606741573,1.8352059925093633,6.367041198501872,3.857677902621723,3.0711610486891385,1.3233458177278403,6.429463171036204,4.51310861423221,5.5305867665418225,1.9475655430711611,3.9762796504369535,3.4769038701622974,5.905118601747815,0.8489388264669163,2.4094881398252186,2.259675405742821,2.727840199750312,5.655430711610487,1.2359550561797754,5.337078651685393,4.837702871410737,4.531835205992509, +4.169787765293384,5.64294631710362,2.68414481897628,5.7802746566791505,4.013732833957553,4.1136079900124844,1.048689138576779,3.7515605493133584,1.410736579275905,3.3021223470661676,4.02621722846442,1.7228464419475658,0.7428214731585518,0.7553058676654182,2.066167290886392,6.367041198501872,5.012484394506866,3.2833957553058677,2.3782771535580522,2.0224719101123596,4.388264669163545,5.767790262172285,3.383270911360799,5.998751560549313,5.299625468164794,1.4419475655430714,1.1298377028714106,1.0861423220973783,2.2971285892634206,4.4818976279650435,0.6679151061173533,1.466916354556804,5.468164794007491,4.382022471910113,1.704119850187266,2.9837702871410734,1.3046192259675407,6.679151061173534,4.725343320848939,1.0611735330836456,1.104868913857678,5.33083645443196,4.263420724094882,1.7915106117353308,1.2359550561797754,1.5355805243445693,6.242197253433209,3.2709113607990012,1.6666666666666667,4.950062421972534,3.464419475655431,3.7578027465667914,4.581772784019975,6.429463171036204,2.1972534332084894,3.9887640449438204,4.388264669163545,5.511860174781523,6.491885143570538,3.701622971285893,2.7340823970037453,3.714107365792759,3.5268414481897628,2.184769038701623,6.167290886392011,3.9637952559300875,2.8152309612983775,6.223470661672909,2.2347066167290888,3.8202247191011236,4.200998751560549,4.51310861423221,6.104868913857677,4.057428214731585,6.123595505617978,6.429463171036204,4.49438202247191,2.8838951310861427,1.373283395755306,1.8726591760299625,6.367041198501872,3.888888888888889,3.102372034956305,1.348314606741573,6.491885143570538,4.538077403245943,5.555555555555556,1.978776529338327,4.001248439450687,3.508114856429463,5.936329588014981,0.8739076154806492,2.4406991260923845,2.2846441947565546,2.7590511860174782,5.69912609238452,1.2734082397003745,5.36828963795256,4.8626716604244695,4.556803995006242, +4.200998751560549,5.674157303370786,2.7215980024968793,5.811485642946318,4.038701622971286,4.132334581772784,1.0674157303370786,3.776529338327091,1.4419475655430714,3.320848938826467,4.044943820224719,1.7540574282147314,0.7615480649188515,0.7865168539325842,2.091136079900125,6.367041198501872,5.043695380774032,3.3146067415730336,2.4032459425717856,2.0474406991260925,4.419475655430712,5.799001248439451,3.408239700374532,6.029962546816479,5.324594257178527,1.4731585518102372,1.161048689138577,1.1111111111111112,2.328339575530587,4.506866416978776,0.6928838951310862,1.4981273408239701,5.493133583021224,4.400749063670412,1.7228464419475658,3.0087390761548067,1.3358302122347065,6.741573033707866,4.750312109862672,1.079900124843945,1.1298377028714106,5.34956304619226,4.288389513108614,1.8289637952559301,1.2671660424469413,1.5605493133583022,6.30461922596754,3.3083645443196006,1.6978776529338326,4.9812734082397006,3.495630461922597,3.7890137328339577,4.606741573033708,6.429463171036204,2.2222222222222223,4.00749063670412,4.419475655430712,5.549313358302123,6.491885143570538,3.7265917602996255,2.752808988764045,3.7390761548064915,3.5580524344569286,2.209737827715356,6.198501872659176,3.9887640449438204,2.84019975031211,6.242197253433209,2.259675405742821,3.8451935081148565,4.2322097378277155,4.544319600499376,6.123595505617978,4.0886392009987516,6.1485642946317105,6.491885143570538,4.519350811485642,2.9151061173533086,1.3982521847690388,1.9038701622971288,6.429463171036204,3.920099875156055,3.139825218476904,1.3670411985018727,6.491885143570538,4.563046192259676,5.580524344569288,2.009987515605493,4.02621722846442,3.5393258426966296,5.967540574282147,0.898876404494382,2.4656679151061174,2.3158551810237205,2.7965043695380776,5.736579275905119,1.3046192259675407,5.399500624219725,4.887640449438202,4.575530586766542, +4.2322097378277155,5.711610486891385,2.752808988764045,5.836454431960051,4.063670411985019,4.157303370786517,1.0923845193508115,3.801498127340824,1.4731585518102372,3.3458177278401995,4.069912609238452,1.7852684144818978,0.7865168539325842,0.8177278401997503,2.1161048689138577,6.429463171036204,5.074906367041199,3.3458177278401995,2.428214731585518,2.066167290886392,4.444444444444445,5.830212234706617,3.4332084893882646,6.061173533083646,5.355805243445693,1.4981273408239701,1.1922596754057428,1.136079900124844,2.3657927590511862,4.525593008739076,0.717852684144819,1.5355805243445693,5.511860174781523,4.425717852684145,1.7478152309612984,3.027465667915106,1.373283395755306,6.741573033707866,4.769038701622971,1.104868913857678,1.1548064918851435,5.3745318352059925,4.31960049937578,1.8601747815230962,1.2921348314606742,1.591760299625468,6.30461922596754,3.339575530586767,1.7290886392009988,5.012484394506866,3.5268414481897628,3.826466916354557,4.631710362047441,6.491885143570538,2.247191011235955,4.02621722846442,4.444444444444445,5.586766541822722,6.491885143570538,3.7578027465667914,2.7715355805243447,3.7578027465667914,3.589263420724095,2.2347066167290888,6.229712858926342,4.013732833957553,2.8589263420724094,6.242197253433209,2.2846441947565546,3.870162297128589,4.263420724094882,4.575530586766542,6.1485642946317105,4.1136079900124844,6.179775280898876,6.491885143570538,4.538077403245943,2.9525593008739075,1.4232209737827717,1.941323345817728,6.491885143570538,3.9450686641697876,3.17103620474407,1.3920099875156053,6.554307116104869,4.581772784019975,5.605493133583021,2.0411985018726595,4.057428214731585,3.5705368289637955,5.992509363295881,0.9238451935081149,2.4968789013732833,2.340823970037453,2.8277153558052435,5.774032459425719,1.34207240948814,5.430711610486892,4.912609238451935,4.600499375780275, +4.263420724094882,5.742821473158552,2.7840199750312107,5.867665418227216,4.0886392009987516,4.18227215980025,1.1173533083645444,3.826466916354557,1.4981273408239701,3.370786516853933,4.0886392009987516,1.8164794007490637,0.8114856429463172,0.8489388264669163,2.1410736579275906,6.429463171036204,5.106117353308365,3.3770287141073654,2.453183520599251,2.091136079900125,4.475655430711611,5.861423220973783,3.4581772784019975,6.092384519350812,5.3870162297128585,1.529338327091136,1.2172284644194757,1.161048689138577,2.397003745318352,4.55056179775281,0.7428214731585518,1.5667915106117354,5.5305867665418225,4.444444444444445,1.766541822721598,3.0524344569288386,1.404494382022472,6.803995006242197,4.794007490636704,1.1235955056179776,1.1735330836454432,5.393258426966292,4.344569288389513,1.8913857677902621,1.3233458177278403,1.616729088639201,6.367041198501872,3.370786516853933,1.766541822721598,5.0374531835206,3.5518102372034956,3.857677902621723,4.656679151061174,6.554307116104869,2.272159800249688,4.051186017478152,4.475655430711611,5.6242197253433215,6.554307116104869,3.7827715355805243,2.7965043695380776,3.776529338327091,3.620474406991261,2.253433208489388,6.242197253433209,4.032459425717852,2.8838951310861427,6.30461922596754,2.303370786516854,3.8951310861423223,4.294631710362047,4.612983770287141,6.173533083645444,4.138576779026217,6.210986267166042,6.491885143570538,4.556803995006242,2.9837702871410734,1.4481897627965044,1.9725343320848938,6.491885143570538,3.9762796504369535,3.202247191011236,1.410736579275905,6.554307116104869,4.606741573033708,5.630461922596755,2.0724094881398254,4.082397003745319,3.6017478152309614,6.023720349563047,0.9488139825218477,2.5280898876404496,2.3657927590511862,2.8589263420724094,5.811485642946318,1.373283395755306,5.461922596754057,4.943820224719102,4.6254681647940075, +4.288389513108614,5.774032459425719,2.82147315855181,5.892634207240949,4.1136079900124844,4.200998751560549,1.136079900124844,3.857677902621723,1.529338327091136,3.3895131086142323,4.1136079900124844,1.8414481897627966,0.8302122347066168,0.8801498127340824,2.1660424469413235,6.491885143570538,5.1373283395755305,3.408239700374532,2.471910112359551,2.1098626716604243,4.500624219725343,5.892634207240949,3.4769038701622974,6.123595505617978,5.418227215980025,1.5605493133583022,1.2484394506866416,1.1860174781523096,2.428214731585518,4.575530586766542,0.7677902621722846,1.5980024968789013,5.555555555555556,4.4694132334581775,1.7915106117353308,3.077403245942572,1.4419475655430714,6.803995006242197,4.818976279650437,1.1423220973782773,1.198501872659176,5.418227215980025,4.369538077403246,1.9225967540574282,1.3545568039950062,1.6416978776529338,6.367041198501872,3.408239700374532,1.797752808988764,5.068664169787765,3.5830212234706615,3.888888888888889,4.681647940074906,6.554307116104869,2.2971285892634206,4.069912609238452,4.500624219725343,5.66167290886392,6.554307116104869,3.8077403245942576,2.8152309612983775,3.801498127340824,3.651685393258427,2.278401997503121,6.30461922596754,4.057428214731585,2.902621722846442,6.30461922596754,2.328339575530587,3.920099875156055,4.325842696629214,4.644194756554308,6.198501872659176,4.169787765293384,6.242197253433209,6.554307116104869,4.581772784019975,3.0212234706616727,1.4731585518102372,2.009987515605493,6.554307116104869,4.00749063670412,3.2397003745318353,1.435705368289638,6.616729088639201,4.631710362047441,5.655430711610487,2.1036204744069913,4.107365792759051,3.639200998751561,6.054931335830212,0.9737827715355806,2.5593008739076155,2.3907615480649187,2.8963795255930087,5.855181023720349,1.410736579275905,5.493133583021224,4.9687890137328345,4.644194756554308, +4.31960049937578,5.805243445692884,2.852684144818976,5.9238451935081144,4.144818976279651,4.225967540574282,1.161048689138577,3.882646691635456,1.5605493133583022,3.4144818976279647,4.132334581772784,1.8726591760299625,0.8551810237203495,0.9051186017478152,2.1910112359550564,6.491885143570538,5.162297128589263,3.439450686641698,2.4968789013732833,2.128589263420724,4.531835205992509,5.9238451935081144,3.5018726591760303,6.154806491885144,5.443196004993759,1.585518102372035,1.2796504369538078,1.2109862671660423,2.459425717852684,4.600499375780275,0.7927590511860175,1.6354556803995006,5.574282147315855,4.488139825218477,1.8164794007490637,3.0961298377028714,1.4731585518102372,6.866416978776529,4.843945068664169,1.161048689138577,1.223470661672909,5.443196004993759,4.400749063670412,1.9600499375780276,1.3857677902621723,1.6729088639200997,6.429463171036204,3.439450686641698,1.8352059925093633,5.099875156054932,3.607990012484395,3.926342072409488,4.712858926342073,6.616729088639201,2.322097378277154,4.0886392009987516,4.531835205992509,5.69912609238452,6.616729088639201,3.8389513108614235,2.8339575530586765,3.8202247191011236,3.682896379525593,2.2971285892634206,6.30461922596754,4.0761548064918856,2.9275905118601746,6.30461922596754,2.35330836454432,3.9450686641697876,4.357053682896379,4.675405742821473,6.217228464419476,4.194756554307116,6.30461922596754,6.554307116104869,4.600499375780275,3.0524344569288386,1.4981273408239701,2.0411985018726595,6.554307116104869,4.038701622971286,3.2709113607990012,1.4544319600499376,6.616729088639201,4.656679151061174,5.68039950062422,2.134831460674157,4.132334581772784,3.6704119850187267,6.079900124843945,0.9925093632958802,2.5905118601747814,2.4219725343320846,2.9275905118601746,5.892634207240949,1.4419475655430714,5.5181023720349565,4.9937578027465666,4.66916354556804, +4.3508114856429465,5.842696629213483,2.8901373283395753,5.948813982521848,4.169787765293384,4.244694132334582,1.1860174781523096,3.9076154806491883,1.585518102372035,3.439450686641698,4.151061173533084,1.9038701622971288,0.8801498127340824,0.9363295880149812,2.209737827715356,6.554307116104869,5.19350811485643,3.470661672908864,2.521847690387016,2.153558052434457,4.563046192259676,5.955056179775282,3.5268414481897628,6.186017478152309,5.474406991260924,1.616729088639201,1.3108614232209737,1.2359550561797754,2.4906367041198503,4.6254681647940075,0.8177278401997503,1.6666666666666667,5.599250936329588,4.51310861423221,1.8352059925093633,3.1210986267166043,1.5106117353308364,6.866416978776529,4.868913857677903,1.1860174781523096,1.2484394506866416,5.461922596754057,4.425717852684145,1.9912609238451935,1.410736579275905,1.6978776529338326,6.429463171036204,3.470661672908864,1.8664169787765295,5.131086142322098,3.639200998751561,3.957553058676654,4.737827715355805,6.616729088639201,2.340823970037453,4.1136079900124844,4.556803995006242,5.736579275905119,6.616729088639201,3.8639200998751564,2.852684144818976,3.8389513108614235,3.714107365792759,2.322097378277154,6.367041198501872,4.1011235955056184,2.9463171036204745,6.367041198501872,2.3782771535580522,3.970037453183521,4.382022471910113,4.70661672908864,6.242197253433209,4.225967540574282,6.30461922596754,6.554307116104869,4.619225967540574,3.089887640449438,1.523096129837703,2.0786516853932584,6.616729088639201,4.069912609238452,3.3021223470661676,1.4794007490636705,6.679151061173534,4.681647940074906,5.705368289637952,2.1660424469413235,4.157303370786517,3.701622971285893,6.111111111111111,1.017478152309613,2.6217228464419473,2.446941323345818,2.958801498127341,5.930087390761548,1.4794007490636705,5.549313358302123,5.0187265917602994,4.694132334581773, +4.382022471910113,5.8739076154806495,2.9213483146067416,5.980024968789014,4.194756554307116,4.269662921348314,1.2047440699126093,3.9325842696629216,1.616729088639201,3.4581772784019975,4.176029962546816,1.9350811485642945,0.898876404494382,0.9675405742821472,2.2347066167290888,6.554307116104869,5.224719101123595,3.5018726591760303,2.546816479400749,2.1722846441947565,4.588014981273409,5.992509363295881,3.5518102372034956,6.217228464419476,5.50561797752809,1.647940074906367,1.34207240948814,1.260923845193508,2.521847690387016,4.65043695380774,0.8426966292134832,1.6978776529338326,5.617977528089888,4.538077403245943,1.8601747815230962,3.1460674157303368,1.5418227215980027,6.928838951310862,4.893882646691636,1.2047440699126093,1.2734082397003745,5.48689138576779,4.450686641697877,2.0224719101123596,1.4419475655430714,1.7228464419475658,6.491885143570538,3.508114856429463,1.8976279650436954,5.15605493133583,3.6641697877652937,3.9950062421972534,4.762796504369538,6.679151061173534,2.3657927590511862,4.132334581772784,4.588014981273409,5.774032459425719,6.616729088639201,3.888888888888889,2.871410736579276,3.8639200998751564,3.745318352059925,2.3470661672908864,6.367041198501872,4.1260923845193505,2.9712858926342074,6.367041198501872,2.4032459425717856,3.9950062421972534,4.413233458177278,4.7440699126092385,6.242197253433209,4.250936329588015,6.367041198501872,6.616729088639201,4.644194756554308,3.1210986267166043,1.5480649188514357,2.1161048689138577,6.679151061173534,4.1011235955056184,3.339575530586767,1.4981273408239701,6.679151061173534,4.70661672908864,5.730337078651686,2.1972534332084894,4.18227215980025,3.732833957553059,6.142322097378277,1.042446941323346,2.6529338327091136,2.471910112359551,2.9962546816479403,5.97378277153558,1.5106117353308364,5.580524344569288,5.043695380774032,4.719101123595506, +4.413233458177278,5.905118601747815,2.9525593008739075,6.004993757802747,4.219725343320849,4.294631710362047,1.229712858926342,3.957553058676654,1.647940074906367,3.4831460674157304,4.194756554307116,1.9600499375780276,0.9238451935081149,0.9987515605493134,2.259675405742821,6.616729088639201,5.2559300873907615,3.5268414481897628,2.571785268414482,2.1972534332084894,4.619225967540574,6.023720349563047,3.576779026217228,6.242197253433209,5.5305867665418225,1.6729088639200997,1.373283395755306,1.285892634207241,2.5530586766541825,4.675405742821473,0.867665418227216,1.735330836454432,5.64294631710362,4.556803995006242,1.8789013732833957,3.17103620474407,1.5792759051186018,6.928838951310862,4.918851435705368,1.223470661672909,1.2983770287141074,5.50561797752809,4.475655430711611,2.0536828963795255,1.4731585518102372,1.7540574282147314,6.491885143570538,3.5393258426966296,1.9350811485642945,5.187265917602996,3.6953807740324596,4.02621722846442,4.787765293383271,6.679151061173534,2.3907615480649187,4.151061173533084,4.612983770287141,5.811485642946318,6.679151061173534,3.920099875156055,2.8901373283395753,3.882646691635456,3.7827715355805243,2.3657927590511862,6.429463171036204,4.144818976279651,2.990012484394507,6.429463171036204,2.428214731585518,4.019975031210986,4.444444444444445,4.775280898876405,6.30461922596754,4.275905118601748,6.367041198501872,6.616729088639201,4.662921348314606,3.1585518102372037,1.5730337078651684,2.1473158551810236,6.679151061173534,4.132334581772784,3.370786516853933,1.523096129837703,6.741573033707866,4.7315855181023725,5.7553058676654185,2.2284644194756553,4.207240948813983,3.764044943820225,6.167290886392011,1.0674157303370786,2.68414481897628,2.4968789013732833,3.027465667915106,6.01123595505618,1.5418227215980027,5.611735330836455,5.068664169787765,4.737827715355805, +4.444444444444445,5.942571785268415,2.990012484394507,6.036204744069912,4.244694132334582,4.313358302122348,1.2546816479400749,3.9887640449438204,1.6791510611735332,3.508114856429463,4.219725343320849,1.9912609238451935,0.9488139825218477,1.0299625468164793,2.2846441947565546,6.616729088639201,5.287141073657928,3.5580524344569286,2.596754057428215,2.215980024968789,4.65043695380774,6.054931335830212,3.6017478152309614,6.30461922596754,5.561797752808988,1.704119850187266,1.3982521847690388,1.3108614232209737,2.5842696629213484,4.700374531835206,0.8926342072409489,1.766541822721598,5.66167290886392,4.581772784019975,1.9038701622971288,3.1897627965043696,1.6104868913857677,6.991260923845194,4.937578027465668,1.2484394506866416,1.3233458177278403,5.5305867665418225,4.506866416978776,2.091136079900125,1.4981273408239701,1.7790262172284643,6.554307116104869,3.5705368289637955,1.9662921348314608,5.218476903870163,3.7265917602996255,4.057428214731585,4.812734082397004,6.741573033707866,2.4157303370786516,4.176029962546816,4.644194756554308,5.848938826466916,6.679151061173534,3.9450686641697876,2.908863920099875,3.9013732833957557,3.81398252184769,2.3907615480649187,6.429463171036204,4.169787765293384,3.0149812734082393,6.429463171036204,2.453183520599251,4.044943820224719,4.475655430711611,4.806491885143571,6.30461922596754,4.307116104868914,6.429463171036204,6.616729088639201,4.681647940074906,3.1897627965043696,1.5980024968789013,2.184769038701623,6.741573033707866,4.16354556803995,3.4019975031210987,1.5418227215980027,6.741573033707866,4.750312109862672,5.7802746566791505,2.259675405742821,4.2322097378277155,3.801498127340824,6.198501872659176,1.0923845193508115,2.715355805243446,2.5280898876404496,3.058676654182272,6.048689138576779,1.5792759051186018,5.64294631710362,5.093632958801498,4.762796504369538, +4.475655430711611,5.97378277153558,3.0212234706616727,6.061173533083646,4.269662921348314,4.33832709113608,1.2734082397003745,4.013732833957553,1.704119850187266,3.5268414481897628,4.238451935081149,2.0224719101123596,0.9675405742821472,1.0549313358302121,2.309612983770287,6.616729088639201,5.318352059925093,3.589263420724095,2.6217228464419473,2.2409488139825218,4.675405742821473,6.086142322097379,3.6267166042446943,6.30461922596754,5.593008739076155,1.735330836454432,1.4294631710362047,1.3358302122347065,2.6154806491885143,4.725343320848939,0.9176029962546817,1.8039950062421974,5.686641697877653,4.600499375780275,1.9288389513108615,3.214731585518102,1.647940074906367,6.991260923845194,4.962546816479401,1.2671660424469413,1.34207240948814,5.549313358302123,4.531835205992509,2.122347066167291,1.529338327091136,1.8039950062421974,6.554307116104869,3.607990012484395,1.9975031210986267,5.249687890137328,3.7515605493133584,4.094881398252185,4.843945068664169,6.803995006242197,2.4406991260923845,4.194756554307116,4.675405742821473,5.8863920099875156,6.741573033707866,3.970037453183521,2.9275905118601746,3.926342072409488,3.8451935081148565,2.4094881398252186,6.491885143570538,4.188514357053683,3.033707865168539,6.429463171036204,2.478152309612984,4.069912609238452,4.506866416978776,4.837702871410737,6.367041198501872,4.332084893882647,6.429463171036204,6.679151061173534,4.70661672908864,3.227215980024969,1.6229712858926344,2.215980024968789,6.803995006242197,4.194756554307116,3.439450686641698,1.5667915106117354,6.803995006242197,4.775280898876405,5.805243445692884,2.2908863920099876,4.257178526841448,3.83270911360799,6.229712858926342,1.1173533083645444,2.746566791510612,2.5530586766541825,3.089887640449438,6.086142322097379,1.6104868913857677,5.674157303370786,5.118601747815231,4.787765293383271, +4.506866416978776,6.004993757802747,3.0524344569288386,6.092384519350812,4.294631710362047,4.3632958801498125,1.2983770287141074,4.038701622971286,1.735330836454432,3.5518102372034956,4.263420724094882,2.0474406991260925,0.9925093632958802,1.0861423220973783,2.33458177278402,6.679151061173534,5.34956304619226,3.620474406991261,2.6466916354556806,2.259675405742821,4.70661672908864,6.117353308364544,3.651685393258427,6.367041198501872,5.617977528089888,1.7602996254681649,1.4606741573033708,1.3607990012484397,2.6466916354556806,4.750312109862672,0.9425717852684146,1.8352059925093633,5.705368289637952,4.6254681647940075,1.9475655430711611,3.2397003745318353,1.6791510611735332,7.0536828963795255,4.987515605493134,1.285892634207241,1.3670411985018727,5.574282147315855,4.556803995006242,2.153558052434457,1.5605493133583022,1.8352059925093633,6.616729088639201,3.639200998751561,2.034956304619226,5.274656679151062,3.7827715355805243,4.1260923845193505,4.868913857677903,6.803995006242197,2.4656679151061174,4.213483146067416,4.700374531835206,5.9238451935081144,6.741573033707866,3.9950062421972534,2.9463171036204745,3.9450686641697876,3.8764044943820224,2.4344569288389515,6.491885143570538,4.213483146067416,3.058676654182272,6.491885143570538,2.5031210986267167,4.094881398252185,4.538077403245943,4.868913857677903,6.367041198501872,4.357053682896379,6.491885143570538,6.679151061173534,4.725343320848939,3.258426966292135,1.647940074906367,2.253433208489388,6.803995006242197,4.225967540574282,3.470661672908864,1.585518102372035,6.803995006242197,4.800249687890138,5.830212234706617,2.322097378277154,4.282147315855181,3.8639200998751564,6.242197253433209,1.136079900124844,2.777777777777778,2.578027465667915,3.1273408239700373,6.129837702871411,1.647940074906367,5.69912609238452,5.149812734082397,4.812734082397004, +4.538077403245943,6.0424469413233455,3.089887640449438,6.117353308364544,4.31960049937578,4.382022471910113,1.3233458177278403,4.063670411985019,1.766541822721598,3.576779026217228,4.282147315855181,2.0786516853932584,1.017478152309613,1.1173533083645444,2.359550561797753,6.679151061173534,5.380774032459426,3.651685393258427,2.671660424469413,2.2846441947565546,4.737827715355805,6.1485642946317105,3.6766541822721597,6.367041198501872,5.6491885143570535,1.7915106117353308,1.4918851435705367,1.3857677902621723,2.68414481897628,4.775280898876405,0.9675405742821472,1.8664169787765295,5.724094881398252,4.65043695380774,1.9725343320848938,3.2646691635455682,1.7166042446941323,7.0536828963795255,5.012484394506866,1.3046192259675407,1.3920099875156053,5.593008739076155,4.588014981273409,2.184769038701623,1.591760299625468,1.8601747815230962,6.616729088639201,3.6766541822721597,2.066167290886392,5.305867665418227,3.8077403245942576,4.16354556803995,4.893882646691636,6.866416978776529,2.4843945068664173,4.238451935081149,4.7315855181023725,5.961298377028713,6.741573033707866,4.02621722846442,2.9712858926342074,3.9637952559300875,3.9076154806491883,2.453183520599251,6.554307116104869,4.238451935081149,3.077403245942572,6.491885143570538,2.5280898876404496,4.1136079900124844,4.569288389513109,4.906367041198502,6.367041198501872,4.388264669163545,6.491885143570538,6.679151061173534,4.7440699126092385,3.2896379525593007,1.6729088639200997,2.2846441947565546,6.866416978776529,4.257178526841448,3.5018726591760303,1.6042446941323347,6.866416978776529,4.825218476903871,5.855181023720349,2.35330836454432,4.307116104868914,3.8951310861423223,6.30461922596754,1.161048689138577,2.808988764044944,2.6092384519350813,3.1585518102372037,6.167290886392011,1.6791510611735332,5.730337078651686,5.174781523096129,4.831460674157303, +4.563046192259676,6.073657927590512,3.1210986267166043,6.1485642946317105,4.344569288389513,4.406991260923846,1.348314606741573,4.0886392009987516,1.797752808988764,3.595505617977528,4.300873907615481,2.1098626716604243,1.0362047440699127,1.1485642946317103,2.3845193508114857,6.741573033707866,5.411985018726591,3.682896379525593,2.696629213483146,2.303370786516854,4.762796504369538,6.179775280898876,3.6953807740324596,6.429463171036204,5.68039950062422,1.8227215980024971,1.523096129837703,1.410736579275905,2.715355805243446,4.800249687890138,0.9925093632958802,1.9038701622971288,5.749063670411985,4.66916354556804,1.9975031210986267,3.2833957553058677,1.7478152309612984,7.116104868913857,5.0374531835206,1.3295880149812733,1.4169787765293382,5.617977528089888,4.612983770287141,2.2222222222222223,1.616729088639201,1.8851435705368291,6.679151061173534,3.7078651685393256,2.1036204744069913,5.337078651685393,3.8389513108614235,4.194756554307116,4.918851435705368,6.866416978776529,2.5093632958801497,4.257178526841448,4.7565543071161045,5.998751560549313,6.803995006242197,4.051186017478152,2.990012484394507,3.9887640449438204,3.938826466916354,2.478152309612984,6.554307116104869,4.257178526841448,3.102372034956305,6.491885143570538,2.546816479400749,4.138576779026217,4.600499375780275,4.937578027465668,6.429463171036204,4.413233458177278,6.554307116104869,6.741573033707866,4.769038701622971,3.3270911360799,1.6978776529338326,2.322097378277154,6.866416978776529,4.288389513108614,3.5393258426966296,1.6292134831460674,6.866416978776529,4.850187265917603,5.880149812734083,2.3845193508114857,4.332084893882647,3.926342072409488,6.30461922596754,1.1860174781523096,2.84019975031211,2.634207240948814,3.1897627965043696,6.20474406991261,1.7166042446941323,5.761548064918852,5.199750312109863,4.856429463171036, +4.594257178526841,6.104868913857677,3.15230961298377,6.173533083645444,4.369538077403246,4.431960049937578,1.3670411985018727,4.119850187265917,1.8227215980024971,3.620474406991261,4.325842696629214,2.1410736579275906,1.0611735330836456,1.1797752808988764,2.4094881398252186,6.741573033707866,5.443196004993759,3.714107365792759,2.7215980024968793,2.328339575530587,4.794007490636704,6.210986267166042,3.7203495630461925,6.429463171036204,5.705368289637952,1.8476903870162298,1.554307116104869,1.435705368289638,2.746566791510612,4.825218476903871,1.0112359550561798,1.9350811485642945,5.767790262172285,4.694132334581773,2.016229712858926,3.3083645443196006,1.7852684144818978,7.116104868913857,5.062421972534332,1.348314606741573,1.4419475655430714,5.636704119850187,4.637952559300874,2.253433208489388,1.647940074906367,1.916354556803995,6.679151061173534,3.7390761548064915,2.134831460674157,5.36828963795256,3.8639200998751564,4.2322097378277155,4.943820224719102,6.928838951310862,2.5343320848938826,4.282147315855181,4.787765293383271,6.036204744069912,6.803995006242197,4.0761548064918856,3.0087390761548067,4.00749063670412,3.970037453183521,2.5031210986267167,6.616729088639201,4.282147315855181,3.1210986267166043,6.554307116104869,2.571785268414482,4.16354556803995,4.631710362047441,4.9687890137328345,6.429463171036204,4.438202247191011,6.554307116104869,6.741573033707866,4.787765293383271,3.3583021223470664,1.7228464419475658,2.359550561797753,6.928838951310862,4.31960049937578,3.5705368289637955,1.647940074906367,6.928838951310862,4.875156054931336,5.905118601747815,2.4157303370786516,4.357053682896379,3.9637952559300875,6.367041198501872,1.2109862671660423,2.871410736579276,2.6591760299625467,3.227215980024969,6.242197253433209,1.7478152309612984,5.792759051186017,5.224719101123595,4.881398252184769, +4.6254681647940075,6.142322097378277,3.1897627965043696,6.20474406991261,4.394506866416979,4.450686641697877,1.3920099875156053,4.144818976279651,1.8539325842696628,3.6454431960049942,4.344569288389513,2.1660424469413235,1.079900124843945,1.2047440699126093,2.4344569288389515,6.803995006242197,5.474406991260924,3.745318352059925,2.746566791510612,2.3470661672908864,4.825218476903871,6.242197253433209,3.745318352059925,6.491885143570538,5.736579275905119,1.8789013732833957,1.5792759051186018,1.4606741573033708,2.777777777777778,4.850187265917603,1.0362047440699127,1.9662921348314608,5.792759051186017,4.712858926342073,2.0411985018726595,3.3333333333333335,1.8164794007490637,7.17852684144819,5.081148564294631,1.3670411985018727,1.466916354556804,5.66167290886392,4.662921348314606,2.2846441947565546,1.6791510611735332,1.941323345817728,6.741573033707866,3.776529338327091,2.1660424469413235,5.393258426966292,3.8951310861423223,4.263420724094882,4.9687890137328345,6.928838951310862,2.5593008739076155,4.300873907615481,4.812734082397004,6.073657927590512,6.866416978776529,4.107365792759051,3.027465667915106,4.02621722846442,4.001248439450687,2.521847690387016,6.616729088639201,4.300873907615481,3.1460674157303368,6.554307116104869,2.596754057428215,4.188514357053683,4.662921348314606,5.0,6.429463171036204,4.4694132334581775,6.616729088639201,6.741573033707866,4.812734082397004,3.3957553058676653,1.7478152309612984,2.3907615480649187,6.991260923845194,4.3508114856429465,3.6017478152309614,1.6729088639200997,6.928838951310862,4.893882646691636,5.930087390761548,2.446941323345818,4.382022471910113,3.9950062421972534,6.367041198501872,1.2359550561797754,2.902621722846442,2.68414481897628,3.258426966292135,6.30461922596754,1.7852684144818978,5.823970037453184,5.249687890137328,4.906367041198502, +4.656679151061174,6.173533083645444,3.2209737827715355,6.229712858926342,4.419475655430712,4.475655430711611,1.4169787765293382,4.169787765293384,1.8851435705368291,3.6641697877652937,4.369538077403246,2.1972534332084894,1.104868913857678,1.2359550561797754,2.459425717852684,6.803995006242197,5.50561797752809,3.776529338327091,2.7715355805243447,2.3720349563046192,4.850187265917603,6.30461922596754,3.7702871410736583,6.491885143570538,5.767790262172285,1.9101123595505618,1.6104868913857677,1.4856429463171037,2.808988764044944,4.875156054931336,1.0611735330836456,2.00374531835206,5.811485642946318,4.737827715355805,2.0599250936329585,3.3583021223470664,1.8539325842696628,7.17852684144819,5.106117353308365,1.3920099875156053,1.4856429463171037,5.686641697877653,4.694132334581773,2.3158551810237205,1.704119850187266,1.9662921348314608,6.741573033707866,3.8077403245942576,2.203495630461923,5.424469413233458,3.926342072409488,4.294631710362047,5.0,6.991260923845194,2.5842696629213484,4.31960049937578,4.843945068664169,6.111111111111111,6.866416978776529,4.132334581772784,3.046192259675406,4.051186017478152,4.032459425717852,2.546816479400749,6.679151061173534,4.325842696629214,3.1647940074906367,6.554307116104869,2.6217228464419473,4.213483146067416,4.694132334581773,5.0374531835206,6.491885143570538,4.49438202247191,6.616729088639201,6.803995006242197,4.831460674157303,3.4269662921348316,1.772784019975031,2.428214731585518,6.991260923845194,4.382022471910113,3.639200998751561,1.6916354556803994,6.991260923845194,4.918851435705368,5.955056179775282,2.478152309612984,4.406991260923846,4.02621722846442,6.429463171036204,1.260923845193508,2.933832709113608,2.715355805243446,3.2896379525593007,6.30461922596754,1.8164794007490637,5.855181023720349,5.274656679151062,4.925093632958801, +4.687890137328339,6.20474406991261,3.258426966292135,6.242197253433209,4.444444444444445,4.500624219725343,1.435705368289638,4.194756554307116,1.916354556803995,3.689138576779026,4.388264669163545,2.2284644194756553,1.1298377028714106,1.2671660424469413,2.4843945068664173,6.866416978776529,5.536828963795256,3.8077403245942576,2.7965043695380776,2.3907615480649187,4.881398252184769,6.30461922596754,3.7952559300873907,6.554307116104869,5.799001248439451,1.9350811485642945,1.6416978776529338,1.5106117353308364,2.84019975031211,4.900124843945068,1.0861423220973783,2.034956304619226,5.836454431960051,4.7565543071161045,2.084893882646692,3.3770287141073654,1.8851435705368291,7.240948813982522,5.131086142322098,1.410736579275905,1.5106117353308364,5.705368289637952,4.719101123595506,2.35330836454432,1.735330836454432,1.9975031210986267,6.803995006242197,3.8389513108614235,2.2347066167290888,5.455680399500624,3.951310861423221,4.332084893882647,5.024968789013733,7.0536828963795255,2.602996254681648,4.344569288389513,4.868913857677903,6.1485642946317105,6.866416978776529,4.157303370786517,3.0649188514357055,4.069912609238452,4.063670411985019,2.565543071161049,6.679151061173534,4.3508114856429465,3.1897627965043696,6.616729088639201,2.6466916354556806,4.238451935081149,4.725343320848939,5.068664169787765,6.491885143570538,4.519350811485642,6.679151061173534,6.803995006242197,4.850187265917603,3.464419475655431,1.797752808988764,2.459425717852684,7.0536828963795255,4.413233458177278,3.6704119850187267,1.7166042446941323,6.991260923845194,4.943820224719102,5.980024968789014,2.5093632958801497,4.431960049937578,4.057428214731585,6.429463171036204,1.285892634207241,2.965043695380774,2.740324594257179,3.3270911360799,6.367041198501872,1.8476903870162298,5.880149812734083,5.299625468164794,4.950062421972534, +4.719101123595506,6.242197253433209,3.2896379525593007,6.30461922596754,4.4694132334581775,4.519350811485642,1.4606741573033708,4.219725343320849,1.941323345817728,3.714107365792759,4.413233458177278,2.259675405742821,1.1485642946317103,1.2983770287141074,2.5093632958801497,6.866416978776529,5.568039950062421,3.8389513108614235,2.82147315855181,2.4157303370786516,4.912609238451935,6.367041198501872,3.8202247191011236,6.554307116104869,5.823970037453184,1.9662921348314608,1.6729088639200997,1.5355805243445693,2.871410736579276,4.925093632958801,1.1111111111111112,2.0724094881398254,5.855181023720349,4.781523096129837,2.1098626716604243,3.4019975031210987,1.9225967540574282,7.240948813982522,5.15605493133583,1.4294631710362047,1.5355805243445693,5.730337078651686,4.7440699126092385,2.3845193508114857,1.766541822721598,2.0224719101123596,6.803995006242197,3.8764044943820224,2.272159800249688,5.48689138576779,3.982521847690387,4.3632958801498125,5.049937578027466,7.0536828963795255,2.6279650436953808,4.3632958801498125,4.900124843945068,6.186017478152309,6.928838951310862,4.188514357053683,3.0836454431960054,4.0886392009987516,4.094881398252185,2.5905118601747814,6.741573033707866,4.369538077403246,3.2084893882646695,6.616729088639201,2.671660424469413,4.263420724094882,4.750312109862672,5.099875156054932,6.491885143570538,4.55056179775281,6.679151061173534,6.803995006242197,4.875156054931336,3.495630461922597,1.8227215980024971,2.4968789013732833,7.116104868913857,4.444444444444445,3.7078651685393256,1.735330836454432,7.0536828963795255,4.9687890137328345,6.01123595505618,2.5405742821473156,4.456928838951311,4.0886392009987516,6.491885143570538,1.3046192259675407,2.9962546816479403,2.7652933832709112,3.3583021223470664,6.429463171036204,1.8851435705368291,5.9113607990012484,5.324594257178527,4.975031210986267, +4.750312109862672,6.30461922596754,3.320848938826467,6.30461922596754,4.49438202247191,4.544319600499376,1.4856429463171037,4.250936329588015,1.9725343320848938,3.732833957553059,4.431960049937578,2.2846441947565546,1.1735330836454432,1.3295880149812733,2.5343320848938826,6.928838951310862,5.599250936329588,3.870162297128589,2.84019975031211,2.4344569288389515,4.937578027465668,6.367041198501872,3.8451935081148565,6.616729088639201,5.855181023720349,1.9975031210986267,1.704119850187266,1.5605493133583022,2.902621722846442,4.950062421972534,1.136079900124844,2.1036204744069913,5.880149812734083,4.806491885143571,2.128589263420724,3.4269662921348316,1.9600499375780276,7.303370786516854,5.181023720349563,1.4544319600499376,1.5605493133583022,5.749063670411985,4.775280898876405,2.4157303370786516,1.797752808988764,2.0474406991260925,6.866416978776529,3.9076154806491883,2.303370786516854,5.511860174781523,4.00749063670412,4.400749063670412,5.074906367041199,7.116104868913857,2.6529338327091136,4.382022471910113,4.931335830212235,6.223470661672909,6.928838951310862,4.213483146067416,3.102372034956305,4.1136079900124844,4.132334581772784,2.6092384519350813,6.741573033707866,4.394506866416979,3.227215980024969,6.616729088639201,2.696629213483146,4.288389513108614,4.781523096129837,5.131086142322098,6.554307116104869,4.575530586766542,6.741573033707866,6.866416978776529,4.893882646691636,3.533083645443196,1.8476903870162298,2.5343320848938826,7.116104868913857,4.475655430711611,3.7390761548064915,1.7602996254681649,7.0536828963795255,4.9937578027465666,6.036204744069912,2.571785268414482,4.4818976279650435,4.119850187265917,6.491885143570538,1.3295880149812733,3.027465667915106,2.790262172284644,3.3895131086142323,6.429463171036204,1.916354556803995,5.942571785268415,5.355805243445693,4.9937578027465666, +4.781523096129837,6.30461922596754,3.3583021223470664,6.367041198501872,4.519350811485642,4.563046192259676,1.5043695380774034,4.275905118601748,2.00374531835206,3.7578027465667914,4.450686641697877,2.3158551810237205,1.198501872659176,1.3545568039950062,2.5593008739076155,6.928838951310862,5.630461922596755,3.9013732833957557,2.865168539325843,2.453183520599251,4.9687890137328345,6.429463171036204,3.870162297128589,6.616729088639201,5.8863920099875156,2.0287141073657926,1.7290886392009988,1.585518102372035,2.933832709113608,4.975031210986267,1.161048689138577,2.134831460674157,5.8988764044943816,4.825218476903871,2.153558052434457,3.4456928838951315,1.9912609238451935,7.303370786516854,5.205992509363296,1.4731585518102372,1.585518102372035,5.774032459425719,4.800249687890138,2.446941323345818,1.8227215980024971,2.0786516853932584,6.866416978776529,3.938826466916354,2.33458177278402,5.543071161048689,4.038701622971286,4.431960049937578,5.099875156054932,7.116104868913857,2.6779026217228465,4.406991260923846,4.956304619225968,6.242197253433209,6.991260923845194,4.238451935081149,3.1273408239700373,4.132334581772784,4.16354556803995,2.634207240948814,6.803995006242197,4.413233458177278,3.2521847690387014,6.679151061173534,2.7215980024968793,4.313358302122348,4.812734082397004,5.168539325842697,6.554307116104869,4.606741573033708,6.741573033707866,6.866416978776529,4.912609238451935,3.564294631710362,1.8726591760299625,2.565543071161049,7.17852684144819,4.500624219725343,3.7702871410736583,1.7790262172284643,7.116104868913857,5.0187265917602994,6.061173533083646,2.602996254681648,4.506866416978776,4.157303370786517,6.491885143570538,1.3545568039950062,3.058676654182272,2.82147315855181,3.420724094881398,6.491885143570538,1.9538077403245941,5.97378277153558,5.380774032459426,5.0187265917602994, +4.806491885143571,6.367041198501872,3.3895131086142323,6.367041198501872,4.544319600499376,4.588014981273409,1.529338327091136,4.300873907615481,2.034956304619226,3.7827715355805243,4.475655430711611,2.3470661672908864,1.2172284644194757,1.3857677902621723,2.5842696629213484,6.991260923845194,5.66167290886392,3.9325842696629216,2.8901373283395753,2.478152309612984,5.0,6.429463171036204,3.8951310861423223,6.679151061173534,5.9113607990012484,2.0536828963795255,1.7602996254681649,1.6104868913857677,2.965043695380774,5.0,1.1860174781523096,2.1722846441947565,5.917602996254682,4.850187265917603,2.1722846441947565,3.470661672908864,2.0287141073657926,7.365792759051186,5.230961298377029,1.4918851435705367,1.6104868913857677,5.792759051186017,4.825218476903871,2.4843945068664173,1.8539325842696628,2.1036204744069913,6.928838951310862,3.9762796504369535,2.3720349563046192,5.574282147315855,4.063670411985019,4.4694132334581775,5.131086142322098,7.17852684144819,2.702871410736579,4.425717852684145,4.987515605493134,6.30461922596754,6.991260923845194,4.269662921348314,3.1460674157303368,4.151061173533084,4.194756554307116,2.6591760299625467,6.803995006242197,4.438202247191011,3.2709113607990012,6.679151061173534,2.746566791510612,4.33832709113608,4.843945068664169,5.199750312109863,6.616729088639201,4.631710362047441,6.803995006242197,6.866416978776529,4.937578027465668,3.6017478152309614,1.8976279650436954,2.602996254681648,7.17852684144819,4.531835205992509,3.8077403245942576,1.8039950062421974,7.116104868913857,5.043695380774032,6.086142322097379,2.634207240948814,4.531835205992509,4.188514357053683,6.554307116104869,1.3795255930087391,3.0836454431960054,2.8464419475655434,3.4581772784019975,6.491885143570538,1.9850187265917605,6.004993757802747,5.405742821473158,5.043695380774032, +4.837702871410737,6.367041198501872,3.420724094881398,6.367041198501872,4.569288389513109,4.612983770287141,1.554307116104869,4.325842696629214,2.0599250936329585,3.801498127340824,4.49438202247191,2.3720349563046192,1.2421972534332086,1.4169787765293382,2.6092384519350813,6.991260923845194,5.692883895131087,3.9637952559300875,2.9151061173533086,2.4968789013732833,5.024968789013733,6.491885143570538,3.9138576779026217,6.679151061173534,5.942571785268415,2.084893882646692,1.7915106117353308,1.6354556803995006,2.9962546816479403,5.024968789013733,1.2109862671660423,2.203495630461923,5.942571785268415,4.868913857677903,2.1972534332084894,3.495630461922597,2.0599250936329585,7.365792759051186,5.249687890137328,1.5106117353308364,1.6354556803995006,5.81772784019975,4.850187265917603,2.515605493133583,1.8851435705368291,2.128589263420724,6.928838951310862,4.00749063670412,2.4032459425717856,5.605493133583021,4.094881398252185,4.500624219725343,5.15605493133583,7.17852684144819,2.727840199750312,4.444444444444445,5.012484394506866,6.30461922596754,6.991260923845194,4.294631710362047,3.1647940074906367,4.176029962546816,4.225967540574282,2.6779026217228465,6.866416978776529,4.463171036204744,3.295880149812734,6.679151061173534,2.7715355805243447,4.3632958801498125,4.875156054931336,5.230961298377029,6.616729088639201,4.656679151061174,6.803995006242197,6.928838951310862,4.956304619225968,3.6329588014981273,1.9225967540574282,2.634207240948814,7.240948813982522,4.563046192259676,3.8389513108614235,1.8227215980024971,7.17852684144819,5.062421972534332,6.111111111111111,2.66541822721598,4.556803995006242,4.219725343320849,6.554307116104869,1.404494382022472,3.114856429463171,2.871410736579276,3.4893882646691634,6.554307116104869,2.0224719101123596,6.036204744069912,5.430711610486892,5.068664169787765, +4.868913857677903,6.429463171036204,3.4581772784019975,6.429463171036204,4.594257178526841,4.631710362047441,1.5730337078651684,4.357053682896379,2.091136079900125,3.826466916354557,4.519350811485642,2.4032459425717856,1.2671660424469413,1.4481897627965044,2.634207240948814,7.0536828963795255,5.724094881398252,3.9950062421972534,2.9400749063670415,2.521847690387016,5.056179775280899,6.491885143570538,3.938826466916354,6.741573033707866,5.97378277153558,2.1161048689138577,1.8227215980024971,1.6604244694132335,3.033707865168539,5.049937578027466,1.2359550561797754,2.2347066167290888,5.961298377028713,4.893882646691636,2.2222222222222223,3.5205992509363297,2.097378277153558,7.428214731585518,5.274656679151062,1.5355805243445693,1.6541822721598003,5.836454431960051,4.881398252184769,2.546816479400749,1.9101123595505618,2.15980024968789,6.991260923845194,4.044943820224719,2.4344569288389515,5.630461922596755,4.1260923845193505,4.531835205992509,5.181023720349563,7.240948813982522,2.746566791510612,4.4694132334581775,5.043695380774032,6.367041198501872,7.0536828963795255,4.31960049937578,3.183520599250936,4.194756554307116,4.257178526841448,2.702871410736579,6.866416978776529,4.4818976279650435,3.3146067415730336,6.741573033707866,2.790262172284644,4.388264669163545,4.906367041198502,5.262172284644195,6.616729088639201,4.687890137328339,6.803995006242197,6.928838951310862,4.975031210986267,3.6704119850187267,1.941323345817728,2.671660424469413,7.303370786516854,4.594257178526841,3.870162297128589,1.8476903870162298,7.17852684144819,5.087390761548065,6.1360799001248445,2.696629213483146,4.588014981273409,4.250936329588015,6.616729088639201,1.4294631710362047,3.1460674157303368,2.8963795255930087,3.5205992509363297,6.616729088639201,2.0536828963795255,6.061173533083646,5.455680399500624,5.087390761548065, +4.900124843945068,6.429463171036204,3.4893882646691634,6.429463171036204,4.619225967540574,4.656679151061174,1.5980024968789013,4.382022471910113,2.122347066167291,3.8451935081148565,4.538077403245943,2.4344569288389515,1.285892634207241,1.4731585518102372,2.6529338327091136,7.0536828963795255,5.7553058676654185,4.02621722846442,2.965043695380774,2.5405742821473156,5.087390761548065,6.554307116104869,3.9637952559300875,6.741573033707866,5.998751560549313,2.1410736579275906,1.8539325842696628,1.6853932584269664,3.0649188514357055,5.074906367041199,1.260923845193508,2.272159800249688,5.986267166042447,4.912609238451935,2.2409488139825218,3.5393258426966296,2.128589263420724,7.428214731585518,5.299625468164794,1.554307116104869,1.6791510611735332,5.861423220973783,4.906367041198502,2.578027465667915,1.941323345817728,2.184769038701623,6.991260923845194,4.0761548064918856,2.471910112359551,5.66167290886392,4.151061173533084,4.569288389513109,5.205992509363296,7.303370786516854,2.7715355805243447,4.488139825218477,5.068664169787765,6.429463171036204,7.0536828963795255,4.3508114856429465,3.202247191011236,4.213483146067416,4.288389513108614,2.7215980024968793,6.928838951310862,4.506866416978776,3.339575530586767,6.741573033707866,2.8152309612983775,4.413233458177278,4.937578027465668,5.299625468164794,6.679151061173534,4.712858926342073,6.866416978776529,6.928838951310862,5.0,3.701622971285893,1.9662921348314608,2.702871410736579,7.303370786516854,4.6254681647940075,3.9076154806491883,1.8664169787765295,7.240948813982522,5.1123595505617985,6.161048689138577,2.727840199750312,4.612983770287141,4.282147315855181,6.616729088639201,1.4481897627965044,3.1772784019975036,2.9275905118601746,3.5580524344569286,6.616729088639201,2.091136079900125,6.092384519350812,5.480649188514358,5.1123595505617985, +4.931335830212235,6.491885143570538,3.5205992509363297,6.491885143570538,4.644194756554308,4.681647940074906,1.6229712858926344,4.406991260923846,2.153558052434457,3.870162297128589,4.563046192259676,2.4656679151061174,1.3108614232209737,1.5043695380774034,2.6779026217228465,7.116104868913857,5.786516853932584,4.057428214731585,2.990012484394507,2.565543071161049,5.1123595505617985,6.554307116104869,3.9887640449438204,6.803995006242197,6.029962546816479,2.1722846441947565,1.8851435705368291,1.710362047440699,3.0961298377028714,5.099875156054932,1.285892634207241,2.303370786516854,6.004993757802747,4.937578027465668,2.2659176029962547,3.564294631710362,2.1660424469413235,7.49063670411985,5.324594257178527,1.5730337078651684,1.704119850187266,5.8863920099875156,4.931335830212235,2.6154806491885143,1.9725343320848938,2.209737827715356,7.0536828963795255,4.107365792759051,2.5031210986267167,5.692883895131087,4.18227215980025,4.600499375780275,5.230961298377029,7.303370786516854,2.7965043695380776,4.506866416978776,5.099875156054932,6.429463171036204,7.116104868913857,4.375780274656679,3.2209737827715355,4.238451935081149,4.31960049937578,2.746566791510612,6.928838951310862,4.525593008739076,3.3583021223470664,6.741573033707866,2.84019975031211,4.438202247191011,4.9687890137328345,5.33083645443196,6.679151061173534,4.737827715355805,6.866416978776529,6.991260923845194,5.0187265917602994,3.732833957553059,1.9912609238451935,2.740324594257179,7.365792759051186,4.656679151061174,3.938826466916354,1.8913857677902621,7.240948813982522,5.1373283395755305,6.186017478152309,2.7590511860174782,4.637952559300874,4.31960049937578,6.679151061173534,1.4731585518102372,3.2084893882646695,2.9525593008739075,3.589263420724095,6.679151061173534,2.122347066167291,6.123595505617978,5.50561797752809,5.1373283395755305, +4.962546816479401,6.491885143570538,3.5580524344569286,6.491885143570538,4.66916354556804,4.700374531835206,1.6416978776529338,4.431960049937578,2.1785268414481895,3.8951310861423223,4.581772784019975,2.4906367041198503,1.3358302122347065,1.5355805243445693,2.702871410736579,7.116104868913857,5.81772784019975,4.0886392009987516,3.0149812734082393,2.5842696629213484,5.143570536828964,6.616729088639201,4.013732833957553,6.803995006242197,6.061173533083646,2.203495630461923,1.9101123595505618,1.735330836454432,3.1273408239700373,5.118601747815231,1.3108614232209737,2.340823970037453,6.029962546816479,4.962546816479401,2.2846441947565546,3.589263420724095,2.1972534332084894,7.49063670411985,5.34956304619226,1.5980024968789013,1.7290886392009988,5.905118601747815,4.962546816479401,2.6466916354556806,2.00374531835206,2.2409488139825218,7.0536828963795255,4.144818976279651,2.5405742821473156,5.724094881398252,4.207240948813983,4.637952559300874,5.262172284644195,7.365792759051186,2.82147315855181,4.531835205992509,5.1248439450686645,6.491885143570538,7.116104868913857,4.400749063670412,3.2397003745318353,4.257178526841448,4.3508114856429465,2.7715355805243447,6.991260923845194,4.55056179775281,3.383270911360799,6.803995006242197,2.865168539325843,4.463171036204744,5.0,5.3620474406991265,6.679151061173534,4.769038701622971,6.928838951310862,6.991260923845194,5.0374531835206,3.7702871410736583,2.016229712858926,2.777777777777778,7.428214731585518,4.687890137328339,3.970037453183521,1.9101123595505618,7.303370786516854,5.162297128589263,6.210986267166042,2.790262172284644,4.662921348314606,4.3508114856429465,6.679151061173534,1.4981273408239701,3.2397003745318353,2.977528089887641,3.620474406991261,6.741573033707866,2.153558052434457,6.154806491885144,5.5305867665418225,5.162297128589263, +4.9937578027465666,6.554307116104869,3.589263420724095,6.554307116104869,4.694132334581773,4.725343320848939,1.6666666666666667,4.456928838951311,2.209737827715356,3.9138576779026217,4.600499375780275,2.521847690387016,1.3545568039950062,1.5667915106117354,2.727840199750312,7.17852684144819,5.848938826466916,4.119850187265917,3.0399500624219726,2.6092384519350813,5.174781523096129,6.616729088639201,4.038701622971286,6.866416978776529,6.086142322097379,2.2284644194756553,1.941323345817728,1.7602996254681649,3.1585518102372037,5.143570536828964,1.3358302122347065,2.3720349563046192,6.048689138576779,4.9812734082397006,2.309612983770287,3.6142322097378274,2.2347066167290888,7.553058676654182,5.3745318352059925,1.616729088639201,1.7540574282147314,5.930087390761548,4.987515605493134,2.6779026217228465,2.0287141073657926,2.2659176029962547,7.116104868913857,4.176029962546816,2.571785268414482,5.749063670411985,4.238451935081149,4.66916354556804,5.287141073657928,7.365792759051186,2.8464419475655434,4.55056179775281,5.15605493133583,6.491885143570538,7.116104868913857,4.431960049937578,3.258426966292135,4.275905118601748,4.382022471910113,2.790262172284644,6.991260923845194,4.575530586766542,3.4019975031210987,6.803995006242197,2.8901373283395753,4.488139825218477,5.031210986267166,5.393258426966292,6.741573033707866,4.794007490636704,6.928838951310862,6.991260923845194,5.062421972534332,3.801498127340824,2.0411985018726595,2.808988764044944,7.428214731585518,4.719101123595506,4.00749063670412,1.9350811485642945,7.303370786516854,5.187265917602996,6.235955056179775,2.82147315855181,4.687890137328339,4.382022471910113,6.741573033707866,1.523096129837703,3.2709113607990012,3.0087390761548067,3.6579275905118602,6.741573033707866,2.1910112359550564,6.186017478152309,5.561797752808988,5.181023720349563, +5.024968789013733,6.554307116104869,3.6267166042446943,6.554307116104869,4.719101123595506,4.750312109862672,1.6916354556803994,4.488139825218477,2.2409488139825218,3.938826466916354,4.6254681647940075,2.5530586766541825,1.3795255930087391,1.5980024968789013,2.752808988764045,7.17852684144819,5.880149812734083,4.151061173533084,3.0649188514357055,2.6279650436953808,5.199750312109863,6.679151061173534,4.063670411985019,6.866416978776529,6.117353308364544,2.259675405742821,1.9725343320848938,1.7852684144818978,3.1897627965043696,5.168539325842697,1.3607990012484397,2.4032459425717856,6.073657927590512,5.0062421972534334,2.33458177278402,3.6329588014981273,2.2659176029962547,7.553058676654182,5.393258426966292,1.6354556803995006,1.7790262172284643,5.948813982521848,5.012484394506866,2.715355805243446,2.0599250936329585,2.2908863920099876,7.116104868913857,4.207240948813983,2.602996254681648,5.7802746566791505,4.269662921348314,4.700374531835206,5.312109862671661,7.428214731585518,2.865168539325843,4.575530586766542,5.181023720349563,6.554307116104869,7.17852684144819,4.456928838951311,3.2771535580524347,4.300873907615481,4.413233458177278,2.8152309612983775,7.0536828963795255,4.594257178526841,3.4269662921348316,6.803995006242197,2.9151061173533086,4.51310861423221,5.062421972534332,5.424469413233458,6.741573033707866,4.818976279650437,6.991260923845194,7.0536828963795255,5.081148564294631,3.8389513108614235,2.066167290886392,2.8464419475655434,7.49063670411985,4.750312109862672,4.038701622971286,1.9538077403245941,7.365792759051186,5.212234706616729,6.242197253433209,2.852684144818976,4.712858926342073,4.413233458177278,6.741573033707866,1.5480649188514357,3.3021223470661676,3.033707865168539,3.689138576779026,6.803995006242197,2.2222222222222223,6.217228464419476,5.586766541822722,5.205992509363296, +5.056179775280899,6.616729088639201,3.6579275905118602,6.616729088639201,4.7440699126092385,4.769038701622971,1.710362047440699,4.51310861423221,2.272159800249688,3.9637952559300875,4.644194756554308,2.5842696629213484,1.404494382022472,1.6229712858926344,2.777777777777778,7.17852684144819,5.9113607990012484,4.18227215980025,3.089887640449438,2.6529338327091136,5.230961298377029,6.679151061173534,4.0886392009987516,6.928838951310862,6.1485642946317105,2.2908863920099876,2.00374531835206,1.8102372034956304,3.2209737827715355,5.19350811485643,1.3857677902621723,2.4406991260923845,6.092384519350812,5.024968789013733,2.35330836454432,3.6579275905118602,2.303370786516854,7.615480649188515,5.418227215980025,1.6541822721598003,1.8039950062421974,5.97378277153558,5.0374531835206,2.746566791510612,2.091136079900125,2.322097378277154,7.17852684144819,4.244694132334582,2.640449438202247,5.811485642946318,4.294631710362047,4.737827715355805,5.337078651685393,7.428214731585518,2.8901373283395753,4.594257178526841,5.212234706616729,6.616729088639201,7.17852684144819,4.4818976279650435,3.3021223470661676,4.31960049937578,4.444444444444445,2.8339575530586765,7.0536828963795255,4.619225967540574,3.4456928838951315,6.866416978776529,2.9400749063670415,4.538077403245943,5.093632958801498,5.461922596754057,6.803995006242197,4.850187265917603,6.991260923845194,7.0536828963795255,5.099875156054932,3.870162297128589,2.091136079900125,2.8776529338327093,7.49063670411985,4.781523096129837,4.069912609238452,1.9725343320848938,7.365792759051186,5.230961298377029,6.30461922596754,2.8838951310861427,4.737827715355805,4.444444444444445,6.803995006242197,1.5730337078651684,3.3333333333333335,3.058676654182272,3.7203495630461925,6.803995006242197,2.259675405742821,6.242197253433209,5.611735330836455,5.230961298377029, +5.081148564294631,6.616729088639201,3.689138576779026,6.616729088639201,4.775280898876405,4.794007490636704,1.735330836454432,4.538077403245943,2.2971285892634206,3.982521847690387,4.66916354556804,2.6092384519350813,1.4232209737827717,1.6541822721598003,2.8027465667915106,7.240948813982522,5.942571785268415,4.213483146067416,3.114856429463171,2.671660424469413,5.262172284644195,6.741573033707866,4.1136079900124844,6.928838951310862,6.179775280898876,2.3158551810237205,2.034956304619226,1.8352059925093633,3.2521847690387014,5.218476903870163,1.410736579275905,2.471910112359551,6.111111111111111,5.049937578027466,2.3782771535580522,3.682896379525593,2.33458177278402,7.615480649188515,5.443196004993759,1.6791510611735332,1.8227215980024971,5.992509363295881,5.068664169787765,2.777777777777778,2.1161048689138577,2.3470661672908864,7.17852684144819,4.275905118601748,2.671660424469413,5.842696629213483,4.325842696629214,4.769038701622971,5.3620474406991265,7.49063670411985,2.9151061173533086,4.612983770287141,5.243445692883895,6.616729088639201,7.240948813982522,4.51310861423221,3.320848938826467,4.33832709113608,4.4818976279650435,2.8589263420724094,7.116104868913857,4.637952559300874,3.470661672908864,6.866416978776529,2.965043695380774,4.563046192259676,5.118601747815231,5.493133583021224,6.803995006242197,4.875156054931336,7.0536828963795255,7.0536828963795255,5.1248439450686645,3.9076154806491883,2.1161048689138577,2.9151061173533086,7.553058676654182,4.812734082397004,4.107365792759051,1.9975031210986267,7.428214731585518,5.2559300873907615,6.30461922596754,2.9151061173533086,4.762796504369538,4.475655430711611,6.803995006242197,1.5980024968789013,3.3645443196004994,3.0836454431960054,3.7515605493133584,6.866416978776529,2.2908863920099876,6.30461922596754,5.636704119850187,5.2559300873907615, +5.1123595505617985,6.679151061173534,3.7265917602996255,6.679151061173534,4.800249687890138,4.818976279650437,1.7602996254681649,4.563046192259676,2.328339575530587,4.00749063670412,4.687890137328339,2.640449438202247,1.4481897627965044,1.6853932584269664,2.8277153558052435,7.240948813982522,5.97378277153558,4.238451935081149,3.139825218476904,2.696629213483146,5.287141073657928,6.741573033707866,4.132334581772784,6.991260923845194,6.20474406991261,2.3470661672908864,2.066167290886392,1.8601747815230962,3.2833957553058677,5.243445692883895,1.435705368289638,2.5031210986267167,6.1360799001248445,5.068664169787765,2.397003745318352,3.7078651685393256,2.3720349563046192,7.677902621722847,5.468164794007491,1.6978776529338326,1.8476903870162298,6.0174781523096135,5.093632958801498,2.808988764044944,2.1473158551810236,2.3720349563046192,7.240948813982522,4.307116104868914,2.7091136079900124,5.867665418227216,4.3508114856429465,4.806491885143571,5.393258426966292,7.553058676654182,2.9400749063670415,4.637952559300874,5.268414481897628,6.679151061173534,7.240948813982522,4.538077403245943,3.339575530586767,4.3632958801498125,4.51310861423221,2.8776529338327093,7.116104868913857,4.662921348314606,3.4893882646691634,6.866416978776529,2.990012484394507,4.588014981273409,5.149812734082397,5.524344569288389,6.803995006242197,4.900124843945068,7.0536828963795255,7.116104868913857,5.143570536828964,3.938826466916354,2.1410736579275906,2.9463171036204745,7.615480649188515,4.843945068664169,4.138576779026217,2.016229712858926,7.428214731585518,5.280898876404494,6.367041198501872,2.9463171036204745,4.787765293383271,4.51310861423221,6.866416978776529,1.616729088639201,3.3957553058676653,3.114856429463171,3.7890137328339577,6.928838951310862,2.328339575530587,6.30461922596754,5.66167290886392,5.274656679151062, +5.143570536828964,6.679151061173534,3.7578027465667914,6.679151061173534,4.825218476903871,4.837702871410737,1.7790262172284643,4.588014981273409,2.359550561797753,4.032459425717852,4.712858926342073,2.671660424469413,1.4731585518102372,1.7166042446941323,2.852684144818976,7.303370786516854,6.004993757802747,4.269662921348314,3.1647940074906367,2.715355805243446,5.318352059925093,6.803995006242197,4.157303370786517,6.991260923845194,6.235955056179775,2.3782771535580522,2.091136079900125,1.8851435705368291,3.3146067415730336,5.268414481897628,1.4606741573033708,2.5405742821473156,6.154806491885144,5.093632958801498,2.4219725343320846,3.7265917602996255,2.4032459425717856,7.677902621722847,5.493133583021224,1.7166042446941323,1.8726591760299625,6.036204744069912,5.118601747815231,2.8464419475655434,2.1785268414481895,2.4032459425717856,7.240948813982522,4.344569288389513,2.740324594257179,5.8988764044943816,4.382022471910113,4.837702871410737,5.418227215980025,7.553058676654182,2.965043695380774,4.656679151061174,5.299625468164794,6.679151061173534,7.303370786516854,4.563046192259676,3.3583021223470664,4.382022471910113,4.544319600499376,2.902621722846442,7.17852684144819,4.687890137328339,3.5143570536828963,6.928838951310862,3.0149812734082393,4.612983770287141,5.181023720349563,5.555555555555556,6.866416978776529,4.931335830212235,7.116104868913857,7.116104868913857,5.168539325842697,3.9762796504369535,2.1660424469413235,2.9837702871410734,7.615480649188515,4.875156054931336,4.169787765293384,2.0411985018726595,7.49063670411985,5.305867665418227,6.367041198501872,2.977528089887641,4.812734082397004,4.544319600499376,6.866416978776529,1.6416978776529338,3.4269662921348316,3.139825218476904,3.8202247191011236,6.928838951310862,2.359550561797753,6.367041198501872,5.686641697877653,5.299625468164794, +5.174781523096129,6.741573033707866,3.7890137328339577,6.679151061173534,4.850187265917603,4.8626716604244695,1.8039950062421974,4.619225967540574,2.3845193508114857,4.051186017478152,4.7315855181023725,2.702871410736579,1.4918851435705367,1.7478152309612984,2.8776529338327093,7.303370786516854,6.036204744069912,4.300873907615481,3.183520599250936,2.740324594257179,5.34956304619226,6.803995006242197,4.18227215980025,7.0536828963795255,6.242197253433209,2.4032459425717856,2.122347066167291,1.9101123595505618,3.3458177278401995,5.293383270911361,1.4856429463171037,2.571785268414482,6.179775280898876,5.118601747815231,2.446941323345818,3.7515605493133584,2.4406991260923845,7.740324594257178,5.5181023720349565,1.7415730337078652,1.8976279650436954,6.061173533083646,5.149812734082397,2.8776529338327093,2.209737827715356,2.428214731585518,7.303370786516854,4.375780274656679,2.7715355805243447,5.930087390761548,4.406991260923846,4.875156054931336,5.443196004993759,7.615480649188515,2.990012484394507,4.675405742821473,5.324594257178527,6.741573033707866,7.303370786516854,4.594257178526841,3.3770287141073654,4.400749063670412,4.575530586766542,2.9275905118601746,7.17852684144819,4.70661672908864,3.533083645443196,6.928838951310862,3.033707865168539,4.637952559300874,5.212234706616729,5.593008739076155,6.866416978776529,4.956304619225968,7.116104868913857,7.116104868913857,5.187265917602996,4.00749063670412,2.1910112359550564,3.0212234706616727,7.677902621722847,4.906367041198502,4.207240948813983,2.0599250936329585,7.49063670411985,5.33083645443196,6.367041198501872,3.0024968789013733,4.837702871410737,4.575530586766542,6.928838951310862,1.6666666666666667,3.4581772784019975,3.1647940074906367,3.8514357053682895,6.991260923845194,2.397003745318352,6.367041198501872,5.711610486891385,5.324594257178527, +5.205992509363296,6.803995006242197,3.826466916354557,6.741573033707866,4.875156054931336,4.887640449438202,1.8289637952559301,4.644194756554308,2.4157303370786516,4.0761548064918856,4.750312109862672,2.727840199750312,1.5168539325842696,1.772784019975031,2.902621722846442,7.365792759051186,6.067415730337078,4.332084893882647,3.2084893882646695,2.7590511860174782,5.3745318352059925,6.866416978776529,4.207240948813983,7.0536828963795255,6.30461922596754,2.4344569288389515,2.153558052434457,1.9350811485642945,3.383270911360799,5.318352059925093,1.5106117353308364,2.6092384519350813,6.198501872659176,5.1373283395755305,2.4656679151061174,3.776529338327091,2.471910112359551,7.740324594257178,5.543071161048689,1.7602996254681649,1.9225967540574282,6.079900124843945,5.174781523096129,2.908863920099875,2.2347066167290888,2.453183520599251,7.303370786516854,4.413233458177278,2.808988764044944,5.961298377028713,4.438202247191011,4.906367041198502,5.468164794007491,7.615480649188515,3.0087390761548067,4.700374531835206,5.355805243445693,6.803995006242197,7.303370786516854,4.619225967540574,3.3957553058676653,4.425717852684145,4.606741573033708,2.9463171036204745,7.240948813982522,4.7315855181023725,3.5580524344569286,6.991260923845194,3.058676654182272,4.662921348314606,5.243445692883895,5.6242197253433215,6.866416978776529,4.987515605493134,7.17852684144819,7.17852684144819,5.205992509363296,4.044943820224719,2.215980024968789,3.0524344569288386,7.740324594257178,4.937578027465668,4.238451935081149,2.084893882646692,7.553058676654182,5.355805243445693,6.429463171036204,3.033707865168539,4.8626716604244695,4.606741573033708,6.928838951310862,1.6916354556803994,3.4893882646691634,3.1897627965043696,3.888888888888889,7.0536828963795255,2.428214731585518,6.367041198501872,5.736579275905119,5.34956304619226, +5.237203495630462,6.803995006242197,3.857677902621723,6.741573033707866,4.900124843945068,4.906367041198502,1.8476903870162298,4.66916354556804,2.446941323345818,4.1011235955056184,4.775280898876405,2.7590511860174782,1.5418227215980027,1.8039950062421974,2.9275905118601746,7.365792759051186,6.092384519350812,4.3632958801498125,3.233458177278402,2.777777777777778,5.405742821473158,6.866416978776529,4.2322097378277155,7.116104868913857,6.30461922596754,2.4656679151061174,2.184769038701623,1.9600499375780276,3.4144818976279647,5.343320848938826,1.5355805243445693,2.640449438202247,6.223470661672909,5.162297128589263,2.4906367041198503,3.7952559300873907,2.5093632958801497,7.740324594257178,5.561797752808988,1.7790262172284643,1.9475655430711611,6.104868913857677,5.199750312109863,2.9400749063670415,2.2659176029962547,2.478152309612984,7.365792759051186,4.444444444444445,2.84019975031211,5.986267166042447,4.4694132334581775,4.937578027465668,5.493133583021224,7.677902621722847,3.033707865168539,4.719101123595506,5.380774032459426,6.803995006242197,7.365792759051186,4.644194756554308,3.4144818976279647,4.444444444444445,4.637952559300874,2.9712858926342074,7.240948813982522,4.750312109862672,3.576779026217228,6.991260923845194,3.0836454431960054,4.687890137328339,5.274656679151062,5.655430711610487,6.928838951310862,5.012484394506866,7.17852684144819,7.17852684144819,5.230961298377029,4.0761548064918856,2.2409488139825218,3.089887640449438,7.740324594257178,4.9687890137328345,4.269662921348314,2.1036204744069913,7.553058676654182,5.3745318352059925,6.429463171036204,3.0649188514357055,4.887640449438202,4.637952559300874,6.928838951310862,1.7166042446941323,3.5205992509363297,3.2209737827715355,3.920099875156055,7.0536828963795255,2.459425717852684,6.429463171036204,5.761548064918852,5.36828963795256, +5.268414481897628,6.866416978776529,3.888888888888889,6.803995006242197,4.925093632958801,4.931335830212235,1.8726591760299625,4.694132334581773,2.478152309612984,4.119850187265917,4.794007490636704,2.790262172284644,1.5605493133583022,1.8352059925093633,2.9525593008739075,7.428214731585518,6.123595505617978,4.394506866416979,3.258426966292135,2.8027465667915106,5.436953807740325,6.928838951310862,4.257178526841448,7.116104868913857,6.367041198501872,2.4906367041198503,2.215980024968789,1.9850187265917605,3.4456928838951315,5.36828963795256,1.5605493133583022,2.671660424469413,6.242197253433209,5.181023720349563,2.5093632958801497,3.8202247191011236,2.5405742821473156,7.8027465667915115,5.586766541822722,1.797752808988764,1.9662921348314608,6.129837702871411,5.224719101123595,2.977528089887641,2.2971285892634206,2.5093632958801497,7.365792759051186,4.475655430711611,2.871410736579276,6.0174781523096135,4.49438202247191,4.975031210986267,5.524344569288389,7.677902621722847,3.058676654182272,4.737827715355805,5.411985018726591,6.866416978776529,7.365792759051186,4.675405742821473,3.4332084893882646,4.463171036204744,4.66916354556804,2.990012484394507,7.303370786516854,4.775280898876405,3.6017478152309614,6.991260923845194,3.108614232209738,4.712858926342073,5.305867665418227,5.686641697877653,6.928838951310862,5.0374531835206,7.240948813982522,7.17852684144819,5.249687890137328,4.107365792759051,2.2659176029962547,3.1210986267166043,7.8027465667915115,5.0,4.307116104868914,2.128589263420724,7.615480649188515,5.399500624219725,6.491885143570538,3.0961298377028714,4.912609238451935,4.675405742821473,6.991260923845194,1.7415730337078652,3.5518102372034956,3.245942571785269,3.951310861423221,7.116104868913857,2.4968789013732833,6.429463171036204,5.792759051186017,5.393258426966292, +5.299625468164794,6.866416978776529,3.926342072409488,6.803995006242197,4.950062421972534,4.950062421972534,1.8976279650436954,4.719101123595506,2.5031210986267167,4.144818976279651,4.818976279650437,2.8152309612983775,1.585518102372035,1.8664169787765295,2.977528089887641,7.428214731585518,6.154806491885144,4.425717852684145,3.2833957553058677,2.82147315855181,5.461922596754057,6.928838951310862,4.282147315855181,7.17852684144819,6.367041198501872,2.521847690387016,2.2409488139825218,2.009987515605493,3.4769038701622974,5.393258426966292,1.585518102372035,2.7091136079900124,6.242197253433209,5.205992509363296,2.5343320848938826,3.8451935081148565,2.578027465667915,7.8027465667915115,5.611735330836455,1.8227215980024971,1.9912609238451935,6.1485642946317105,5.2559300873907615,3.0087390761548067,2.322097378277154,2.5343320848938826,7.428214731585518,4.51310861423221,2.908863920099875,6.048689138576779,4.525593008739076,5.0062421972534334,5.549313358302123,7.740324594257178,3.0836454431960054,4.762796504369538,5.436953807740325,6.866416978776529,7.428214731585518,4.700374531835206,3.451935081148564,4.488139825218477,4.700374531835206,3.0149812734082393,7.303370786516854,4.794007490636704,3.620474406991261,7.0536828963795255,3.1335830212234708,4.737827715355805,5.337078651685393,5.724094881398252,6.991260923845194,5.068664169787765,7.240948813982522,7.240948813982522,5.268414481897628,4.144818976279651,2.2908863920099876,3.1585518102372037,7.8027465667915115,5.031210986267166,4.33832709113608,2.1473158551810236,7.615480649188515,5.424469413233458,6.491885143570538,3.1273408239700373,4.937578027465668,4.70661672908864,6.991260923845194,1.7602996254681649,3.5830212234706615,3.2709113607990012,3.9887640449438204,7.17852684144819,2.5280898876404496,6.491885143570538,5.81772784019975,5.418227215980025, +5.324594257178527,6.928838951310862,3.957553058676654,6.866416978776529,4.975031210986267,4.975031210986267,1.916354556803995,4.750312109862672,2.5343320848938826,4.169787765293384,4.837702871410737,2.8464419475655434,1.6104868913857677,1.8976279650436954,3.0024968789013733,7.49063670411985,6.186017478152309,4.456928838951311,3.3083645443196006,2.8464419475655434,5.493133583021224,6.991260923845194,4.307116104868914,7.17852684144819,6.429463171036204,2.5530586766541825,2.272159800249688,2.034956304619226,3.508114856429463,5.418227215980025,1.6104868913857677,2.740324594257179,6.30461922596754,5.224719101123595,2.5593008739076155,3.870162297128589,2.6092384519350813,7.865168539325843,5.636704119850187,1.8414481897627966,2.016229712858926,6.173533083645444,5.280898876404494,3.0399500624219726,2.35330836454432,2.5593008739076155,7.428214731585518,4.544319600499376,2.9400749063670415,6.079900124843945,4.55056179775281,5.043695380774032,5.574282147315855,7.8027465667915115,3.108614232209738,4.781523096129837,5.468164794007491,6.928838951310862,7.428214731585518,4.725343320848939,3.4769038701622974,4.506866416978776,4.7315855181023725,3.033707865168539,7.365792759051186,4.818976279650437,3.6454431960049942,7.0536828963795255,3.1585518102372037,4.762796504369538,5.36828963795256,5.7553058676654185,6.991260923845194,5.093632958801498,7.303370786516854,7.240948813982522,5.293383270911361,4.176029962546816,2.3158551810237205,3.1960049937578026,7.865168539325843,5.062421972534332,4.375780274656679,2.1722846441947565,7.677902621722847,5.449438202247191,6.491885143570538,3.1585518102372037,4.962546816479401,4.737827715355805,7.0536828963795255,1.7852684144818978,3.6142322097378274,3.3021223470661676,4.019975031210986,7.17852684144819,2.565543071161049,6.491885143570538,5.842696629213483,5.436953807740325, +5.355805243445693,6.928838951310862,3.9887640449438204,6.866416978776529,5.0,5.0,1.941323345817728,4.775280898876405,2.565543071161049,4.188514357053683,4.856429463171036,2.8776529338327093,1.6292134831460674,1.9225967540574282,3.027465667915106,7.49063670411985,6.217228464419476,4.488139825218477,3.3333333333333335,2.865168539325843,5.524344569288389,6.991260923845194,4.332084893882647,7.240948813982522,6.429463171036204,2.578027465667915,2.303370786516854,2.0599250936329585,3.5393258426966296,5.443196004993759,1.6354556803995006,2.7715355805243447,6.30461922596754,5.249687890137328,2.578027465667915,3.888888888888889,2.6466916354556806,7.865168539325843,5.66167290886392,1.8601747815230962,2.0411985018726595,6.192259675405743,5.305867665418227,3.0711610486891385,2.3845193508114857,2.5905118601747814,7.49063670411985,4.575530586766542,2.977528089887641,6.104868913857677,4.581772784019975,5.074906367041199,5.599250936329588,7.8027465667915115,3.1335830212234708,4.800249687890138,5.493133583021224,6.991260923845194,7.428214731585518,4.750312109862672,3.495630461922597,4.525593008739076,4.762796504369538,3.058676654182272,7.365792759051186,4.843945068664169,3.6641697877652937,7.0536828963795255,3.183520599250936,4.787765293383271,5.399500624219725,5.786516853932584,6.991260923845194,5.118601747815231,7.303370786516854,7.240948813982522,5.312109862671661,4.213483146067416,2.340823970037453,3.227215980024969,7.927590511860175,5.087390761548065,4.406991260923846,2.1910112359550564,7.677902621722847,5.474406991260924,6.554307116104869,3.1897627965043696,4.987515605493134,4.769038701622971,7.0536828963795255,1.8102372034956304,3.6454431960049942,3.3270911360799,4.051186017478152,7.240948813982522,2.596754057428215,6.554307116104869,5.867665418227216,5.461922596754057, +5.3870162297128585,6.991260923845194,4.02621722846442,6.928838951310862,5.024968789013733,5.0187265917602994,1.9662921348314608,4.800249687890138,2.596754057428215,4.213483146067416,4.881398252184769,2.908863920099875,1.6541822721598003,1.9538077403245941,3.0524344569288386,7.553058676654182,6.242197253433209,4.519350811485642,3.3583021223470664,2.8901373283395753,5.549313358302123,7.0536828963795255,4.3508114856429465,7.240948813982522,6.491885143570538,2.6092384519350813,2.33458177278402,2.084893882646692,3.5705368289637955,5.468164794007491,1.6541822721598003,2.808988764044944,6.30461922596754,5.274656679151062,2.602996254681648,3.9138576779026217,2.6779026217228465,7.927590511860175,5.686641697877653,1.8851435705368291,2.066167290886392,6.217228464419476,5.337078651685393,3.108614232209738,2.4157303370786516,2.6154806491885143,7.49063670411985,4.612983770287141,3.0087390761548067,6.1360799001248445,4.606741573033708,5.1123595505617985,5.6242197253433215,7.865168539325843,3.15230961298377,4.825218476903871,5.524344569288389,6.991260923845194,7.49063670411985,4.781523096129837,3.5143570536828963,4.55056179775281,4.794007490636704,3.0836454431960054,7.428214731585518,4.8626716604244695,3.689138576779026,7.116104868913857,3.2084893882646695,4.812734082397004,5.430711610486892,5.81772784019975,7.0536828963795255,5.149812734082397,7.365792759051186,7.303370786516854,5.33083645443196,4.244694132334582,2.3657927590511862,3.2646691635455682,7.927590511860175,5.118601747815231,4.438202247191011,2.215980024968789,7.740324594257178,5.499375780274657,6.554307116104869,3.2209737827715355,5.012484394506866,4.800249687890138,7.116104868913857,1.8352059925093633,3.6766541822721597,3.352059925093633,4.082397003745319,7.240948813982522,2.634207240948814,6.554307116104869,5.892634207240949,5.48689138576779, +5.418227215980025,6.991260923845194,4.057428214731585,6.928838951310862,5.049937578027466,5.043695380774032,1.9850187265917605,4.825218476903871,2.6217228464419473,4.238451935081149,4.900124843945068,2.933832709113608,1.6791510611735332,1.9850187265917605,3.077403245942572,7.553058676654182,6.30461922596754,4.55056179775281,3.383270911360799,2.908863920099875,5.580524344569288,7.0536828963795255,4.375780274656679,7.303370786516854,6.491885143570538,2.640449438202247,2.3657927590511862,2.1098626716604243,3.6017478152309614,5.493133583021224,1.6791510611735332,2.84019975031211,6.367041198501872,5.293383270911361,2.6217228464419473,3.938826466916354,2.715355805243446,7.927590511860175,5.711610486891385,1.9038701622971288,2.091136079900125,6.235955056179775,5.3620474406991265,3.139825218476904,2.4406991260923845,2.640449438202247,7.553058676654182,4.644194756554308,3.0399500624219726,6.167290886392011,4.637952559300874,5.143570536828964,5.655430711610487,7.865168539325843,3.1772784019975036,4.843945068664169,5.555555555555556,7.0536828963795255,7.49063670411985,4.806491885143571,3.533083645443196,4.569288389513109,4.831460674157303,3.102372034956305,7.428214731585518,4.887640449438202,3.7078651685393256,7.116104868913857,3.233458177278402,4.837702871410737,5.461922596754057,5.855181023720349,7.0536828963795255,5.174781523096129,7.365792759051186,7.303370786516854,5.355805243445693,4.282147315855181,2.3907615480649187,3.295880149812734,7.990012484394507,5.149812734082397,4.475655430711611,2.2347066167290888,7.740324594257178,5.524344569288389,6.616729088639201,3.2521847690387014,5.0374531835206,4.831460674157303,7.116104868913857,1.8601747815230962,3.701622971285893,3.3770287141073654,4.119850187265917,7.303370786516854,2.66541822721598,6.616729088639201,5.917602996254682,5.511860174781523, +5.449438202247191,7.0536828963795255,4.094881398252185,6.928838951310862,5.074906367041199,5.068664169787765,2.009987515605493,4.850187265917603,2.6529338327091136,4.257178526841448,4.925093632958801,2.965043695380774,1.6978776529338326,2.016229712858926,3.102372034956305,7.615480649188515,6.30461922596754,4.581772784019975,3.408239700374532,2.933832709113608,5.611735330836455,7.116104868913857,4.400749063670412,7.303370786516854,6.554307116104869,2.66541822721598,2.397003745318352,2.134831460674157,3.6329588014981273,5.5181023720349565,1.704119850187266,2.8776529338327093,6.367041198501872,5.318352059925093,2.6466916354556806,3.9637952559300875,2.752808988764045,7.990012484394507,5.730337078651686,1.9225967540574282,2.1161048689138577,6.242197253433209,5.3870162297128585,3.17103620474407,2.471910112359551,2.671660424469413,7.553058676654182,4.675405742821473,3.077403245942572,6.198501872659176,4.66916354556804,5.174781523096129,5.68039950062422,7.927590511860175,3.202247191011236,4.868913857677903,5.580524344569288,7.0536828963795255,7.553058676654182,4.831460674157303,3.5518102372034956,4.588014981273409,4.8626716604244695,3.1273408239700373,7.428214731585518,4.906367041198502,3.732833957553059,7.116104868913857,3.258426966292135,4.8626716604244695,5.493133583021224,5.8863920099875156,7.0536828963795255,5.199750312109863,7.428214731585518,7.303370786516854,5.3745318352059925,4.313358302122348,2.4157303370786516,3.3333333333333335,7.990012484394507,5.181023720349563,4.506866416978776,2.259675405742821,7.8027465667915115,5.543071161048689,6.616729088639201,3.2833957553058677,5.062421972534332,4.868913857677903,7.17852684144819,1.8851435705368291,3.732833957553059,3.408239700374532,4.151061173533084,7.365792759051186,2.696629213483146,6.616729088639201,5.942571785268415,5.5305867665418225, +5.480649188514358,7.0536828963795255,4.1260923845193505,6.991260923845194,5.099875156054932,5.087390761548065,2.034956304619226,4.881398252184769,2.68414481897628,4.282147315855181,4.943820224719102,2.9962546816479403,1.7228464419475658,2.0474406991260925,3.1210986267166043,7.615480649188515,6.367041198501872,4.612983770287141,3.4332084893882646,2.9525593008739075,5.636704119850187,7.116104868913857,4.425717852684145,7.365792759051186,6.554307116104869,2.696629213483146,2.4219725343320846,2.15980024968789,3.6641697877652937,5.543071161048689,1.7290886392009988,2.908863920099875,6.367041198501872,5.337078651685393,2.671660424469413,3.982521847690387,2.7840199750312107,7.990012484394507,5.7553058676654185,1.9475655430711611,2.134831460674157,6.30461922596754,5.411985018726591,3.202247191011236,2.5031210986267167,2.696629213483146,7.615480649188515,4.712858926342073,3.108614232209738,6.223470661672909,4.694132334581773,5.212234706616729,5.705368289637952,7.927590511860175,3.227215980024969,4.887640449438202,5.611735330836455,7.116104868913857,7.553058676654182,4.8626716604244695,3.5705368289637955,4.612983770287141,4.893882646691636,3.1460674157303368,7.49063670411985,4.931335830212235,3.7515605493133584,7.17852684144819,3.2771535580524347,4.887640449438202,5.5181023720349565,5.917602996254682,7.116104868913857,5.230961298377029,7.428214731585518,7.365792759051186,5.393258426966292,4.3508114856429465,2.4406991260923845,3.3645443196004994,8.05243445692884,5.212234706616729,4.538077403245943,2.278401997503121,7.8027465667915115,5.568039950062421,6.616729088639201,3.3146067415730336,5.087390761548065,4.900124843945068,7.17852684144819,1.9101123595505618,3.764044943820225,3.4332084893882646,4.18227215980025,7.365792759051186,2.7340823970037453,6.679151061173534,5.967540574282147,5.555555555555556, +5.511860174781523,7.116104868913857,4.157303370786517,6.991260923845194,5.1248439450686645,5.1123595505617985,2.0536828963795255,4.906367041198502,2.715355805243446,4.307116104868914,4.9687890137328345,3.027465667915106,1.7478152309612984,2.0724094881398254,3.1460674157303368,7.677902621722847,6.367041198501872,4.644194756554308,3.4581772784019975,2.977528089887641,5.667915106117353,7.17852684144819,4.450686641697877,7.365792759051186,6.616729088639201,2.727840199750312,2.453183520599251,2.184769038701623,3.6953807740324596,5.568039950062421,1.7540574282147314,2.9400749063670415,6.429463171036204,5.3620474406991265,2.690387016229713,4.00749063670412,2.82147315855181,8.05243445692884,5.7802746566791505,1.9662921348314608,2.15980024968789,6.30461922596754,5.443196004993759,3.2397003745318353,2.5280898876404496,2.7215980024968793,7.615480649188515,4.7440699126092385,3.1460674157303368,6.242197253433209,4.725343320848939,5.243445692883895,5.730337078651686,7.990012484394507,3.2521847690387014,4.906367041198502,5.636704119850187,7.17852684144819,7.553058676654182,4.887640449438202,3.589263420724095,4.631710362047441,4.925093632958801,3.17103620474407,7.49063670411985,4.956304619225968,3.776529338327091,7.17852684144819,3.3021223470661676,4.912609238451935,5.549313358302123,5.948813982521848,7.116104868913857,5.2559300873907615,7.49063670411985,7.365792759051186,5.418227215980025,4.382022471910113,2.4656679151061174,3.4019975031210987,8.11485642946317,5.243445692883895,4.575530586766542,2.303370786516854,7.865168539325843,5.593008739076155,6.679151061173534,3.3458177278401995,5.118601747815231,4.931335830212235,7.240948813982522,1.9288389513108615,3.7952559300873907,3.4581772784019975,4.219725343320849,7.428214731585518,2.7652933832709112,6.679151061173534,5.998751560549313,5.580524344569288, +5.543071161048689,7.116104868913857,4.194756554307116,7.0536828963795255,5.149812734082397,5.1373283395755305,2.0786516853932584,4.931335830212235,2.740324594257179,4.325842696629214,4.987515605493134,3.0524344569288386,1.766541822721598,2.1036204744069913,3.17103620474407,7.677902621722847,6.429463171036204,4.675405742821473,3.4831460674157304,2.9962546816479403,5.69912609238452,7.17852684144819,4.475655430711611,7.428214731585518,6.616729088639201,2.752808988764045,2.4843945068664173,2.209737827715356,3.732833957553059,5.593008739076155,1.7790262172284643,2.977528089887641,6.429463171036204,5.380774032459426,2.715355805243446,4.032459425717852,2.852684144818976,8.05243445692884,5.805243445692884,1.9850187265917605,2.184769038701623,6.30461922596754,5.468164794007491,3.2709113607990012,2.5593008739076155,2.752808988764045,7.677902621722847,4.781523096129837,3.1772784019975036,6.30461922596754,4.750312109862672,5.280898876404494,5.7553058676654185,8.05243445692884,3.2709113607990012,4.931335830212235,5.667915106117353,7.17852684144819,7.615480649188515,4.912609238451935,3.607990012484395,4.65043695380774,4.956304619225968,3.1960049937578026,7.553058676654182,4.975031210986267,3.7952559300873907,7.17852684144819,3.3270911360799,4.937578027465668,5.580524344569288,5.980024968789014,7.17852684144819,5.280898876404494,7.49063670411985,7.365792759051186,5.436953807740325,4.419475655430712,2.4906367041198503,3.439450686641698,8.11485642946317,5.274656679151062,4.606741573033708,2.322097378277154,7.865168539325843,5.617977528089888,6.679151061173534,3.3770287141073654,5.143570536828964,4.962546816479401,7.240948813982522,1.9538077403245941,3.826466916354557,3.4831460674157304,4.250936329588015,7.49063670411985,2.8027465667915106,6.741573033707866,6.023720349563047,5.605493133583021, +5.574282147315855,7.17852684144819,4.225967540574282,7.0536828963795255,5.174781523096129,5.15605493133583,2.1036204744069913,4.956304619225968,2.7715355805243447,4.3508114856429465,5.0062421972534334,3.0836454431960054,1.7915106117353308,2.134831460674157,3.1960049937578026,7.677902621722847,6.429463171036204,4.70661672908864,3.508114856429463,3.0212234706616727,5.724094881398252,7.240948813982522,4.500624219725343,7.428214731585518,6.616729088639201,2.7840199750312107,2.515605493133583,2.2347066167290888,3.764044943820225,5.617977528089888,1.8039950062421974,3.0087390761548067,6.429463171036204,5.405742821473158,2.7340823970037453,4.051186017478152,2.8901373283395753,8.11485642946317,5.830212234706617,2.00374531835206,2.209737827715356,6.367041198501872,5.493133583021224,3.3021223470661676,2.5905118601747814,2.777777777777778,7.677902621722847,4.812734082397004,3.2084893882646695,6.30461922596754,4.781523096129837,5.312109862671661,5.786516853932584,8.05243445692884,3.295880149812734,4.950062421972534,5.692883895131087,7.240948813982522,7.615480649188515,4.943820224719102,3.6267166042446943,4.675405742821473,4.987515605493134,3.214731585518102,7.553058676654182,5.0,3.8202247191011236,7.240948813982522,3.352059925093633,4.962546816479401,5.611735330836455,6.0174781523096135,7.17852684144819,5.312109862671661,7.553058676654182,7.428214731585518,5.455680399500624,4.450686641697877,2.515605493133583,3.470661672908864,8.177278401997503,5.305867665418227,4.637952559300874,2.340823970037453,7.927590511860175,5.64294631710362,6.741573033707866,3.408239700374532,5.168539325842697,4.9937578027465666,7.303370786516854,1.978776529338327,3.857677902621723,3.5143570536828963,4.282147315855181,7.49063670411985,2.8339575530586765,6.741573033707866,6.048689138576779,5.6242197253433215, +5.599250936329588,7.17852684144819,4.257178526841448,7.116104868913857,5.199750312109863,5.181023720349563,2.122347066167291,4.987515605493134,2.8027465667915106,4.375780274656679,5.031210986267166,3.114856429463171,1.8102372034956304,2.1660424469413235,3.2209737827715355,7.740324594257178,6.491885143570538,4.737827715355805,3.5268414481897628,3.0399500624219726,5.7553058676654185,7.240948813982522,4.525593008739076,7.49063670411985,6.679151061173534,2.8152309612983775,2.546816479400749,2.259675405742821,3.7952559300873907,5.64294631710362,1.8289637952559301,3.0399500624219726,6.491885143570538,5.430711610486892,2.7590511860174782,4.0761548064918856,2.9213483146067416,8.11485642946317,5.855181023720349,2.0287141073657926,2.2347066167290888,6.367041198501872,5.524344569288389,3.3333333333333335,2.6217228464419473,2.8027465667915106,7.740324594257178,4.843945068664169,3.245942571785269,6.367041198501872,4.806491885143571,5.343320848938826,5.811485642946318,8.11485642946317,3.320848938826467,4.9687890137328345,5.724094881398252,7.240948813982522,7.677902621722847,4.9687890137328345,3.651685393258427,4.694132334581773,5.0187265917602994,3.2397003745318353,7.615480649188515,5.0187265917602994,3.8389513108614235,7.240948813982522,3.3770287141073654,4.987515605493134,5.64294631710362,6.048689138576779,7.17852684144819,5.337078651685393,7.553058676654182,7.428214731585518,5.480649188514358,4.488139825218477,2.5405742821473156,3.508114856429463,8.239700374531834,5.337078651685393,4.675405742821473,2.3657927590511862,7.927590511860175,5.667915106117353,6.741573033707866,3.439450686641698,5.19350811485643,5.031210986267166,7.303370786516854,2.00374531835206,3.888888888888889,3.5393258426966296,4.31960049937578,7.553058676654182,2.871410736579276,6.803995006242197,6.073657927590512,5.6491885143570535, +5.630461922596755,7.240948813982522,4.294631710362047,7.116104868913857,5.224719101123595,5.205992509363296,2.1473158551810236,5.012484394506866,2.8339575530586765,4.394506866416979,5.049937578027466,3.139825218476904,1.8352059925093633,2.1910112359550564,3.245942571785269,7.740324594257178,6.491885143570538,4.769038701622971,3.5518102372034956,3.0649188514357055,5.786516853932584,7.303370786516854,4.55056179775281,7.49063670411985,6.679151061173534,2.84019975031211,2.578027465667915,2.2846441947565546,3.826466916354557,5.667915106117353,1.8539325842696628,3.077403245942572,6.491885143570538,5.449438202247191,2.7840199750312107,4.1011235955056184,2.958801498127341,8.177278401997503,5.8739076154806495,2.0474406991260925,2.259675405742821,6.367041198501872,5.549313358302123,3.370786516853933,2.6466916354556806,2.8339575530586765,7.740324594257178,4.881398252184769,3.2771535580524347,6.367041198501872,4.837702871410737,5.380774032459426,5.836454431960051,8.11485642946317,3.3458177278401995,4.9937578027465666,5.749063670411985,7.303370786516854,7.677902621722847,4.9937578027465666,3.6704119850187267,4.712858926342073,5.049937578027466,3.258426966292135,7.615480649188515,5.043695380774032,3.8639200998751564,7.240948813982522,3.4019975031210987,5.012484394506866,5.674157303370786,6.079900124843945,7.240948813982522,5.3620474406991265,7.615480649188515,7.428214731585518,5.499375780274657,4.519350811485642,2.565543071161049,3.5393258426966296,8.239700374531834,5.36828963795256,4.70661672908864,2.3845193508114857,7.990012484394507,5.692883895131087,6.741573033707866,3.470661672908864,5.218476903870163,5.062421972534332,7.365792759051186,2.0287141073657926,3.920099875156055,3.564294631710362,4.3508114856429465,7.553058676654182,2.902621722846442,6.803995006242197,6.098626716604246,5.674157303370786, +5.66167290886392,7.303370786516854,4.325842696629214,7.17852684144819,5.249687890137328,5.224719101123595,2.1722846441947565,5.0374531835206,2.8589263420724094,4.419475655430712,5.074906367041199,3.17103620474407,1.8601747815230962,2.2222222222222223,3.2709113607990012,7.8027465667915115,6.554307116104869,4.800249687890138,3.576779026217228,3.0836454431960054,5.811485642946318,7.303370786516854,4.569288389513109,7.553058676654182,6.741573033707866,2.871410736579276,2.602996254681648,2.309612983770287,3.857677902621723,5.692883895131087,1.8789013732833957,3.108614232209738,6.491885143570538,5.474406991260924,2.8027465667915106,4.1260923845193505,2.990012484394507,8.177278401997503,5.8988764044943816,2.066167290886392,2.278401997503121,6.429463171036204,5.574282147315855,3.4019975031210987,2.6779026217228465,2.8589263420724094,7.8027465667915115,4.912609238451935,3.3146067415730336,6.429463171036204,4.868913857677903,5.411985018726591,5.861423220973783,8.177278401997503,3.370786516853933,5.012484394506866,5.7802746566791505,7.365792759051186,7.677902621722847,5.024968789013733,3.689138576779026,4.737827715355805,5.081148564294631,3.2833957553058677,7.677902621722847,5.068664169787765,3.882646691635456,7.303370786516854,3.4269662921348316,5.0374531835206,5.705368289637952,6.111111111111111,7.240948813982522,5.393258426966292,7.615480649188515,7.49063670411985,5.524344569288389,4.55056179775281,2.5905118601747814,3.576779026217228,8.302122347066168,5.399500624219725,4.737827715355805,2.4094881398252186,7.990012484394507,5.711610486891385,6.803995006242197,3.5018726591760303,5.243445692883895,5.093632958801498,7.365792759051186,2.0536828963795255,3.951310861423221,3.595505617977528,4.382022471910113,7.615480649188515,2.9400749063670415,6.866416978776529,6.123595505617978,5.69912609238452, +5.692883895131087,7.303370786516854,4.357053682896379,7.17852684144819,5.274656679151062,5.249687890137328,2.1910112359550564,5.062421972534332,2.8901373283395753,4.444444444444445,5.093632958801498,3.202247191011236,1.8789013732833957,2.253433208489388,3.295880149812734,7.8027465667915115,6.554307116104869,4.831460674157303,3.6017478152309614,3.102372034956305,5.842696629213483,7.365792759051186,4.594257178526841,7.553058676654182,6.741573033707866,2.902621722846442,2.634207240948814,2.33458177278402,3.888888888888889,5.711610486891385,1.9038701622971288,3.1460674157303368,6.554307116104869,5.493133583021224,2.8277153558052435,4.144818976279651,3.027465667915106,8.239700374531834,5.9238451935081144,2.091136079900125,2.303370786516854,6.429463171036204,5.599250936329588,3.4332084893882646,2.7091136079900124,2.8838951310861427,7.8027465667915115,4.943820224719102,3.3458177278401995,6.429463171036204,4.893882646691636,5.449438202247191,5.8863920099875156,8.177278401997503,3.3957553058676653,5.031210986267166,5.805243445692884,7.365792759051186,7.740324594257178,5.049937578027466,3.7078651685393256,4.7565543071161045,5.1123595505617985,3.3021223470661676,7.677902621722847,5.087390761548065,3.9076154806491883,7.303370786516854,3.451935081148564,5.062421972534332,5.736579275905119,6.1485642946317105,7.240948813982522,5.418227215980025,7.677902621722847,7.49063670411985,5.543071161048689,4.588014981273409,2.6154806491885143,3.6142322097378274,8.302122347066168,5.430711610486892,4.775280898876405,2.428214731585518,8.05243445692884,5.736579275905119,6.803995006242197,3.533083645443196,5.268414481897628,5.1248439450686645,7.365792759051186,2.0724094881398254,3.982521847690387,3.620474406991261,4.413233458177278,7.677902621722847,2.9712858926342074,6.866416978776529,6.1485642946317105,5.717852684144819, +5.724094881398252,7.365792759051186,4.394506866416979,7.240948813982522,5.299625468164794,5.274656679151062,2.215980024968789,5.087390761548065,2.9213483146067416,4.463171036204744,5.118601747815231,3.233458177278402,1.9038701622971288,2.2846441947565546,3.320848938826467,7.865168539325843,6.616729088639201,4.8626716604244695,3.6267166042446943,3.1273408239700373,5.8739076154806495,7.365792759051186,4.619225967540574,7.615480649188515,6.803995006242197,2.9275905118601746,2.66541822721598,2.359550561797753,3.920099875156055,5.736579275905119,1.9288389513108615,3.1772784019975036,6.554307116104869,5.5181023720349565,2.8464419475655434,4.169787765293384,3.058676654182272,8.239700374531834,5.948813982521848,2.1098626716604243,2.328339575530587,6.429463171036204,5.630461922596755,3.464419475655431,2.7340823970037453,2.9151061173533086,7.865168539325843,4.9812734082397006,3.3770287141073654,6.491885143570538,4.925093632958801,5.480649188514358,5.917602996254682,8.239700374531834,3.4144818976279647,5.056179775280899,5.836454431960051,7.428214731585518,7.740324594257178,5.074906367041199,3.7265917602996255,4.775280898876405,5.143570536828964,3.3270911360799,7.740324594257178,5.1123595505617985,3.926342072409488,7.303370786516854,3.4769038701622974,5.081148564294631,5.767790262172285,6.179775280898876,7.303370786516854,5.449438202247191,7.677902621722847,7.49063670411985,5.561797752808988,4.619225967540574,2.640449438202247,3.6454431960049942,8.3645443196005,5.461922596754057,4.806491885143571,2.453183520599251,8.05243445692884,5.761548064918852,6.866416978776529,3.564294631710362,5.293383270911361,5.15605493133583,7.428214731585518,2.097378277153558,4.013732833957553,3.6454431960049942,4.450686641697877,7.677902621722847,3.0024968789013733,6.928838951310862,6.173533083645444,5.742821473158552, +5.7553058676654185,7.365792759051186,4.425717852684145,7.240948813982522,5.324594257178527,5.293383270911361,2.2409488139825218,5.118601747815231,2.9525593008739075,4.488139825218477,5.1373283395755305,3.258426966292135,1.9288389513108615,2.3158551810237205,3.3458177278401995,7.865168539325843,6.616729088639201,4.893882646691636,3.651685393258427,3.1460674157303368,5.8988764044943816,7.428214731585518,4.644194756554308,7.615480649188515,6.803995006242197,2.958801498127341,2.696629213483146,2.3845193508114857,3.951310861423221,5.761548064918852,1.9538077403245941,3.2084893882646695,6.616729088639201,5.536828963795256,2.871410736579276,4.194756554307116,3.0961298377028714,8.302122347066168,5.97378277153558,2.128589263420724,2.35330836454432,6.491885143570538,5.655430711610487,3.5018726591760303,2.7652933832709112,2.9400749063670415,7.865168539325843,5.012484394506866,3.4144818976279647,6.491885143570538,4.950062421972534,5.5181023720349565,5.942571785268415,8.302122347066168,3.439450686641698,5.074906367041199,5.867665418227216,7.428214731585518,7.8027465667915115,5.106117353308365,3.745318352059925,4.800249687890138,5.181023720349563,3.352059925093633,7.740324594257178,5.131086142322098,3.951310861423221,7.365792759051186,3.5018726591760303,5.106117353308365,5.799001248439451,6.210986267166042,7.303370786516854,5.474406991260924,7.740324594257178,7.553058676654182,5.586766541822722,4.656679151061174,2.6591760299625467,3.682896379525593,8.426966292134832,5.493133583021224,4.837702871410737,2.471910112359551,8.11485642946317,5.786516853932584,6.866416978776529,3.595505617977528,5.318352059925093,5.19350811485643,7.428214731585518,2.122347066167291,4.044943820224719,3.6704119850187267,4.4818976279650435,7.740324594257178,3.0399500624219726,6.928838951310862,6.20474406991261,5.767790262172285, +5.786516853932584,7.428214731585518,4.463171036204744,7.240948813982522,5.34956304619226,5.318352059925093,2.259675405742821,5.143570536828964,2.977528089887641,4.51310861423221,5.15605493133583,3.2896379525593007,1.9475655430711611,2.340823970037453,3.370786516853933,7.927590511860175,6.679151061173534,4.925093632958801,3.6766541822721597,3.17103620474407,5.930087390761548,7.428214731585518,4.66916354556804,7.677902621722847,6.866416978776529,2.990012484394507,2.727840199750312,2.4094881398252186,3.982521847690387,5.786516853932584,1.978776529338327,3.245942571785269,6.616729088639201,5.561797752808988,2.8963795255930087,4.219725343320849,3.1273408239700373,8.302122347066168,5.998751560549313,2.1473158551810236,2.3782771535580522,6.491885143570538,5.68039950062422,3.533083645443196,2.7965043695380776,2.965043695380774,7.927590511860175,5.049937578027466,3.4456928838951315,6.491885143570538,4.9812734082397006,5.549313358302123,5.967540574282147,8.302122347066168,3.464419475655431,5.093632958801498,5.892634207240949,7.49063670411985,7.8027465667915115,5.131086142322098,3.764044943820225,4.818976279650437,5.212234706616729,3.370786516853933,7.8027465667915115,5.15605493133583,3.970037453183521,7.365792759051186,3.5205992509363297,5.131086142322098,5.830212234706617,6.242197253433209,7.365792759051186,5.499375780274657,7.740324594257178,7.553058676654182,5.605493133583021,4.687890137328339,2.68414481897628,3.714107365792759,8.426966292134832,5.524344569288389,4.875156054931336,2.4968789013732833,8.11485642946317,5.811485642946318,6.866416978776529,3.6267166042446943,5.343320848938826,5.224719101123595,7.49063670411985,2.1473158551810236,4.0761548064918856,3.701622971285893,4.51310861423221,7.8027465667915115,3.0711610486891385,6.991260923845194,6.229712858926342,5.786516853932584, +5.81772784019975,7.428214731585518,4.49438202247191,7.303370786516854,5.3745318352059925,5.337078651685393,2.2846441947565546,5.168539325842697,3.0087390761548067,4.531835205992509,5.181023720349563,3.320848938826467,1.9725343320848938,2.3720349563046192,3.3957553058676653,7.927590511860175,6.679151061173534,4.950062421972534,3.701622971285893,3.1897627965043696,5.961298377028713,7.49063670411985,4.694132334581773,7.677902621722847,6.866416978776529,3.0149812734082393,2.7590511860174782,2.4344569288389515,4.013732833957553,5.811485642946318,2.00374531835206,3.2771535580524347,6.616729088639201,5.586766541822722,2.9151061173533086,4.238451935081149,3.1647940074906367,8.3645443196005,6.023720349563047,2.1722846441947565,2.4032459425717856,6.554307116104869,5.711610486891385,3.564294631710362,2.8277153558052435,2.9962546816479403,7.927590511860175,5.081148564294631,3.4769038701622974,6.554307116104869,5.0062421972534334,5.580524344569288,5.992509363295881,8.3645443196005,3.4893882646691634,5.118601747815231,5.9238451935081144,7.553058676654182,7.8027465667915115,5.15605493133583,3.7827715355805243,4.837702871410737,5.243445692883895,3.3957553058676653,7.8027465667915115,5.181023720349563,3.9950062421972534,7.365792759051186,3.545568039950062,5.15605493133583,5.861423220973783,6.30461922596754,7.365792759051186,5.5305867665418225,7.8027465667915115,7.553058676654182,5.6242197253433215,4.725343320848939,2.7091136079900124,3.7515605493133584,8.489388264669165,5.555555555555556,4.906367041198502,2.515605493133583,8.177278401997503,5.836454431960051,6.928838951310862,3.6579275905118602,5.36828963795256,5.2559300873907615,7.49063670411985,2.1722846441947565,4.107365792759051,3.7265917602996255,4.55056179775281,7.8027465667915115,3.108614232209738,6.991260923845194,6.242197253433209,5.811485642946318, +5.842696629213483,7.49063670411985,4.525593008739076,7.303370786516854,5.405742821473158,5.3620474406991265,2.309612983770287,5.19350811485643,3.0399500624219726,4.556803995006242,5.199750312109863,3.352059925093633,1.9975031210986267,2.4032459425717856,3.420724094881398,7.990012484394507,6.741573033707866,4.9812734082397006,3.7265917602996255,3.214731585518102,5.986267166042447,7.49063670411985,4.719101123595506,7.740324594257178,6.928838951310862,3.046192259675406,2.7840199750312107,2.459425717852684,4.044943820224719,5.836454431960051,2.0287141073657926,3.3083645443196006,6.679151061173534,5.605493133583021,2.9400749063670415,4.263420724094882,3.1960049937578026,8.3645443196005,6.0424469413233455,2.1910112359550564,2.428214731585518,6.554307116104869,5.736579275905119,3.595505617977528,2.852684144818976,3.0212234706616727,7.990012484394507,5.1123595505617985,3.5143570536828963,6.554307116104869,5.0374531835206,5.617977528089888,6.0174781523096135,8.3645443196005,3.5143570536828963,5.1373283395755305,5.948813982521848,7.553058676654182,7.865168539325843,5.187265917602996,3.801498127340824,4.8626716604244695,5.274656679151062,3.4144818976279647,7.865168539325843,5.199750312109863,4.013732833957553,7.428214731585518,3.5705368289637955,5.181023720349563,5.8863920099875156,6.30461922596754,7.365792759051186,5.555555555555556,7.8027465667915115,7.615480649188515,5.6491885143570535,4.7565543071161045,2.7340823970037453,3.7827715355805243,8.551810237203496,5.586766541822722,4.937578027465668,2.5405742821473156,8.177278401997503,5.855181023720349,6.928838951310862,3.689138576779026,5.393258426966292,5.287141073657928,7.553058676654182,2.1972534332084894,4.138576779026217,3.7515605493133584,4.581772784019975,7.865168539325843,3.139825218476904,7.0536828963795255,6.30461922596754,5.836454431960051, +5.8739076154806495,7.49063670411985,4.563046192259676,7.365792759051186,5.430711610486892,5.3870162297128585,2.328339575530587,5.218476903870163,3.0711610486891385,4.581772784019975,5.224719101123595,3.3770287141073654,2.016229712858926,2.4344569288389515,3.4456928838951315,7.990012484394507,6.741573033707866,5.012484394506866,3.7515605493133584,3.233458177278402,6.0174781523096135,7.553058676654182,4.7440699126092385,7.740324594257178,6.928838951310862,3.077403245942572,2.8152309612983775,2.4843945068664173,4.082397003745319,5.861423220973783,2.0536828963795255,3.3458177278401995,6.679151061173534,5.630461922596755,2.958801498127341,4.288389513108614,3.233458177278402,8.426966292134832,6.067415730337078,2.209737827715356,2.446941323345818,6.554307116104869,5.761548064918852,3.6329588014981273,2.8838951310861427,3.046192259675406,7.990012484394507,5.149812734082397,3.545568039950062,6.616729088639201,5.068664169787765,5.6491885143570535,6.048689138576779,8.426966292134832,3.533083645443196,5.162297128589263,5.980024968789014,7.615480649188515,7.865168539325843,5.212234706616729,3.826466916354557,4.881398252184769,5.305867665418227,3.439450686641698,7.865168539325843,5.224719101123595,4.038701622971286,7.428214731585518,3.595505617977528,5.205992509363296,5.917602996254682,6.367041198501872,7.428214731585518,5.580524344569288,7.865168539325843,7.615480649188515,5.667915106117353,4.794007490636704,2.7590511860174782,3.8202247191011236,8.551810237203496,5.617977528089888,4.975031210986267,2.5593008739076155,8.239700374531834,5.880149812734083,6.991260923845194,3.7203495630461925,5.418227215980025,5.318352059925093,7.553058676654182,2.2222222222222223,4.169787765293384,3.776529338327091,4.612983770287141,7.865168539325843,3.1772784019975036,7.0536828963795255,6.30461922596754,5.861423220973783, +5.905118601747815,7.553058676654182,4.594257178526841,7.365792759051186,5.455680399500624,5.405742821473158,2.35330836454432,5.249687890137328,3.0961298377028714,4.600499375780275,5.243445692883895,3.408239700374532,2.0411985018726595,2.4656679151061174,3.470661672908864,8.05243445692884,6.803995006242197,5.043695380774032,3.776529338327091,3.258426966292135,6.048689138576779,7.553058676654182,4.769038701622971,7.8027465667915115,6.991260923845194,3.102372034956305,2.8464419475655434,2.5093632958801497,4.1136079900124844,5.8863920099875156,2.0786516853932584,3.3770287141073654,6.679151061173534,5.6491885143570535,2.9837702871410734,4.313358302122348,3.2646691635455682,8.426966292134832,6.092384519350812,2.2347066167290888,2.471910112359551,6.616729088639201,5.786516853932584,3.6641697877652937,2.9151061173533086,3.077403245942572,8.05243445692884,5.181023720349563,3.5830212234706615,6.616729088639201,5.093632958801498,5.686641697877653,6.073657927590512,8.426966292134832,3.5580524344569286,5.181023720349563,6.004993757802747,7.615480649188515,7.927590511860175,5.237203495630462,3.8451935081148565,4.900124843945068,5.337078651685393,3.464419475655431,7.927590511860175,5.243445692883895,4.057428214731585,7.428214731585518,3.620474406991261,5.230961298377029,5.948813982521848,6.367041198501872,7.428214731585518,5.611735330836455,7.865168539325843,7.615480649188515,5.686641697877653,4.825218476903871,2.7840199750312107,3.857677902621723,8.614232209737828,5.64294631710362,5.0062421972534334,2.5842696629213484,8.239700374531834,5.905118601747815,6.991260923845194,3.7515605493133584,5.443196004993759,5.34956304619226,7.615480649188515,2.2409488139825218,4.200998751560549,3.8077403245942576,4.65043695380774,7.927590511860175,3.2084893882646695,7.116104868913857,6.30461922596754,5.880149812734083, +5.936329588014981,7.553058676654182,4.6254681647940075,7.428214731585518,5.480649188514358,5.430711610486892,2.3782771535580522,5.274656679151062,3.1273408239700373,4.6254681647940075,5.268414481897628,3.439450686641698,2.066167290886392,2.4906367041198503,3.495630461922597,8.05243445692884,6.803995006242197,5.074906367041199,3.801498127340824,3.2771535580524347,6.073657927590512,7.615480649188515,4.787765293383271,7.8027465667915115,6.991260923845194,3.1335830212234708,2.8776529338327093,2.5343320848938826,4.144818976279651,5.9113607990012484,2.1036204744069913,3.4144818976279647,6.741573033707866,5.674157303370786,3.0087390761548067,4.332084893882647,3.3021223470661676,8.489388264669165,6.117353308364544,2.253433208489388,2.4968789013732833,6.616729088639201,5.81772784019975,3.6953807740324596,2.9400749063670415,3.102372034956305,8.05243445692884,5.212234706616729,3.6142322097378274,6.679151061173534,5.1248439450686645,5.717852684144819,6.098626716604246,8.489388264669165,3.5830212234706615,5.199750312109863,6.036204744069912,7.677902621722847,7.927590511860175,5.268414481897628,3.8639200998751564,4.925093632958801,5.36828963795256,3.4831460674157304,7.927590511860175,5.268414481897628,4.082397003745319,7.49063670411985,3.6454431960049942,5.2559300873907615,5.980024968789014,6.429463171036204,7.428214731585518,5.636704119850187,7.927590511860175,7.677902621722847,5.711610486891385,4.8626716604244695,2.808988764044944,3.888888888888889,8.614232209737828,5.674157303370786,5.043695380774032,2.602996254681648,8.302122347066168,5.930087390761548,6.991260923845194,3.7827715355805243,5.468164794007491,5.3870162297128585,7.615480649188515,2.2659176029962547,4.2322097378277155,3.83270911360799,4.681647940074906,7.990012484394507,3.245942571785269,7.116104868913857,6.367041198501872,5.905118601747815, +5.967540574282147,7.615480649188515,4.662921348314606,7.428214731585518,5.50561797752809,5.455680399500624,2.397003745318352,5.299625468164794,3.1585518102372037,4.65043695380774,5.287141073657928,3.464419475655431,2.084893882646692,2.521847690387016,3.5205992509363297,8.11485642946317,6.866416978776529,5.106117353308365,3.826466916354557,3.3021223470661676,6.104868913857677,7.615480649188515,4.812734082397004,7.8027465667915115,7.0536828963795255,3.1647940074906367,2.908863920099875,2.5593008739076155,4.176029962546816,5.936329588014981,2.128589263420724,3.4456928838951315,6.741573033707866,5.692883895131087,3.027465667915106,4.357053682896379,3.3333333333333335,8.489388264669165,6.142322097378277,2.272159800249688,2.521847690387016,6.616729088639201,5.842696629213483,3.732833957553059,2.9712858926342074,3.1273408239700373,8.11485642946317,5.249687890137328,3.6454431960049942,6.679151061173534,5.149812734082397,5.7553058676654185,6.123595505617978,8.551810237203496,3.607990012484395,5.224719101123595,6.061173533083646,7.740324594257178,7.927590511860175,5.293383270911361,3.882646691635456,4.943820224719102,5.399500624219725,3.508114856429463,7.990012484394507,5.293383270911361,4.1011235955056184,7.49063670411985,3.6704119850187267,5.280898876404494,6.01123595505618,6.429463171036204,7.49063670411985,5.66167290886392,7.927590511860175,7.677902621722847,5.730337078651686,4.893882646691636,2.8339575530586765,3.926342072409488,8.67665418227216,5.705368289637952,5.074906367041199,2.6279650436953808,8.302122347066168,5.955056179775282,7.0536828963795255,3.81398252184769,5.493133583021224,5.418227215980025,7.677902621722847,2.2908863920099876,4.263420724094882,3.857677902621723,4.712858926342073,7.990012484394507,3.2771535580524347,7.17852684144819,6.367041198501872,5.930087390761548, +5.998751560549313,7.615480649188515,4.694132334581773,7.49063670411985,5.5305867665418225,5.474406991260924,2.4219725343320846,5.324594257178527,3.183520599250936,4.66916354556804,5.305867665418227,3.495630461922597,2.1098626716604243,2.5530586766541825,3.545568039950062,8.11485642946317,6.866416978776529,5.1373283395755305,3.8514357053682895,3.320848938826467,6.1360799001248445,7.677902621722847,4.837702871410737,7.865168539325843,7.0536828963795255,3.1897627965043696,2.933832709113608,2.5842696629213484,4.207240948813983,5.961298377028713,2.153558052434457,3.4769038701622974,6.741573033707866,5.717852684144819,3.0524344569288386,4.382022471910113,3.370786516853933,8.551810237203496,6.167290886392011,2.2908863920099876,2.546816479400749,6.679151061173534,5.867665418227216,3.764044943820225,3.0024968789013733,3.1585518102372037,8.11485642946317,5.280898876404494,3.682896379525593,6.741573033707866,5.181023720349563,5.786516853932584,6.1485642946317105,8.551810237203496,3.6329588014981273,5.243445692883895,6.092384519350812,7.740324594257178,7.990012484394507,5.318352059925093,3.9013732833957557,4.962546816479401,5.430711610486892,3.5268414481897628,7.990012484394507,5.312109862671661,4.1260923845193505,7.553058676654182,3.6953807740324596,5.305867665418227,6.0424469413233455,6.491885143570538,7.49063670411985,5.692883895131087,7.990012484394507,7.677902621722847,5.749063670411985,4.931335830212235,2.8589263420724094,3.957553058676654,8.739076154806492,5.736579275905119,5.106117353308365,2.6466916354556806,8.3645443196005,5.980024968789014,7.0536828963795255,3.8451935081148565,5.5181023720349565,5.449438202247191,7.677902621722847,2.3158551810237205,4.294631710362047,3.888888888888889,4.7440699126092385,8.05243445692884,3.3083645443196006,7.17852684144819,6.429463171036204,5.955056179775282, +6.029962546816479,7.677902621722847,4.725343320848939,7.49063670411985,5.555555555555556,5.499375780274657,2.446941323345818,5.34956304619226,3.214731585518102,4.694132334581773,5.33083645443196,3.5268414481897628,2.134831460674157,2.5842696629213484,3.5705368289637955,8.177278401997503,6.928838951310862,5.168539325842697,3.870162297128589,3.3458177278401995,6.161048689138577,7.677902621722847,4.8626716604244695,7.865168539325843,7.0536828963795255,3.2209737827715355,2.965043695380774,2.6092384519350813,4.238451935081149,5.986267166042447,2.1785268414481895,3.5143570536828963,6.803995006242197,5.742821473158552,3.0711610486891385,4.400749063670412,3.4019975031210987,8.551810237203496,6.186017478152309,2.3158551810237205,2.571785268414482,6.679151061173534,5.8988764044943816,3.7952559300873907,3.033707865168539,3.183520599250936,8.177278401997503,5.312109862671661,3.714107365792759,6.741573033707866,5.212234706616729,5.81772784019975,6.179775280898876,8.614232209737828,3.6579275905118602,5.262172284644195,6.117353308364544,7.8027465667915115,7.990012484394507,5.34956304619226,3.920099875156055,4.987515605493134,5.461922596754057,3.5518102372034956,8.05243445692884,5.337078651685393,4.144818976279651,7.553058676654182,3.7203495630461925,5.33083645443196,6.073657927590512,6.491885143570538,7.553058676654182,5.717852684144819,7.990012484394507,7.740324594257178,5.774032459425719,4.962546816479401,2.8838951310861427,3.9950062421972534,8.739076154806492,5.767790262172285,5.143570536828964,2.671660424469413,8.3645443196005,6.004993757802747,7.116104868913857,3.8764044943820224,5.543071161048689,5.480649188514358,7.740324594257178,2.340823970037453,4.31960049937578,3.9138576779026217,4.781523096129837,8.11485642946317,3.3458177278401995,7.240948813982522,6.429463171036204,5.97378277153558, +6.061173533083646,7.677902621722847,4.762796504369538,7.49063670411985,5.580524344569288,5.524344569288389,2.4656679151061174,5.380774032459426,3.245942571785269,4.719101123595506,5.34956304619226,3.5580524344569286,2.153558052434457,2.6154806491885143,3.589263420724095,8.177278401997503,6.928838951310862,5.199750312109863,3.8951310861423223,3.3645443196004994,6.192259675405743,7.740324594257178,4.887640449438202,7.927590511860175,7.116104868913857,3.2521847690387014,2.9962546816479403,2.634207240948814,4.269662921348314,6.01123595505618,2.203495630461923,3.545568039950062,6.803995006242197,5.761548064918852,3.0961298377028714,4.425717852684145,3.439450686641698,8.614232209737828,6.210986267166042,2.33458177278402,2.596754057428215,6.679151061173534,5.9238451935081144,3.826466916354557,3.058676654182272,3.2084893882646695,8.177278401997503,5.34956304619226,3.7515605493133584,6.803995006242197,5.237203495630462,5.855181023720349,6.20474406991261,8.614232209737828,3.6766541822721597,5.287141073657928,6.1485642946317105,7.8027465667915115,8.05243445692884,5.3745318352059925,3.938826466916354,5.0062421972534334,5.493133583021224,3.5705368289637955,8.05243445692884,5.355805243445693,4.169787765293384,7.553058676654182,3.745318352059925,5.355805243445693,6.104868913857677,6.554307116104869,7.553058676654182,5.742821473158552,8.05243445692884,7.740324594257178,5.792759051186017,4.9937578027465666,2.908863920099875,4.02621722846442,8.801498127340825,5.799001248439451,5.174781523096129,2.690387016229713,8.426966292134832,6.023720349563047,7.116104868913857,3.9076154806491883,5.568039950062421,5.511860174781523,7.740324594257178,2.3657927590511862,4.3508114856429465,3.938826466916354,4.812734082397004,8.11485642946317,3.3770287141073654,7.240948813982522,6.429463171036204,5.998751560549313, +6.086142322097379,7.740324594257178,4.794007490636704,7.553058676654182,5.605493133583021,5.543071161048689,2.4906367041198503,5.405742821473158,3.2771535580524347,4.737827715355805,5.3745318352059925,3.5830212234706615,2.1785268414481895,2.640449438202247,3.6142322097378274,8.177278401997503,,,3.920099875156055,3.3895131086142323,6.223470661672909,7.740324594257178,4.912609238451935,7.927590511860175,7.116104868913857,3.2771535580524347,3.027465667915106,2.6591760299625467,4.300873907615481,6.036204744069912,2.2284644194756553,3.576779026217228,6.803995006242197,5.786516853932584,3.1210986267166043,4.450686641697877,3.470661672908864,8.614232209737828,6.235955056179775,2.35330836454432,2.6154806491885143,6.741573033707866,5.948813982521848,3.8639200998751564,3.089887640449438,3.2397003745318353,8.239700374531834,,3.7827715355805243,6.803995006242197,5.268414481897628,5.8863920099875156,,8.67665418227216,3.701622971285893,5.305867665418227,6.179775280898876,,8.05243445692884,5.399500624219725,3.957553058676654,5.024968789013733,5.5305867665418225,3.595505617977528,8.11485642946317,5.380774032459426,4.188514357053683,7.615480649188515,3.764044943820225,5.380774032459426,6.1360799001248445,6.554307116104869,7.553058676654182,5.774032459425719,8.05243445692884,7.740324594257178,5.811485642946318,5.031210986267166,2.933832709113608,4.063670411985019,,5.830212234706617,5.205992509363296,2.7091136079900124,,6.048689138576779,7.116104868913857,3.938826466916354,5.593008739076155,5.549313358302123,,2.3907615480649187,4.382022471910113,3.9637952559300875,4.843945068664169,,3.4144818976279647,7.240948813982522,6.491885143570538,6.023720349563047, +6.117353308364544,7.8027465667915115,4.831460674157303,7.553058676654182,5.630461922596755,5.568039950062421,2.515605493133583,5.430711610486892,3.3021223470661676,4.762796504369538,5.393258426966292,3.6142322097378274,2.203495630461923,2.671660424469413,3.639200998751561,8.239700374531834,,,3.9450686641697876,3.408239700374532,6.242197253433209,7.8027465667915115,4.937578027465668,7.990012484394507,7.17852684144819,3.3083645443196006,3.058676654182272,2.68414481897628,4.332084893882647,6.061173533083646,2.253433208489388,3.6142322097378274,6.866416978776529,5.805243445692884,3.139825218476904,4.475655430711611,3.508114856429463,8.67665418227216,6.242197253433209,2.3782771535580522,2.640449438202247,6.741573033707866,5.97378277153558,3.8951310861423223,3.1210986267166043,3.2646691635455682,8.239700374531834,,3.81398252184769,6.866416978776529,5.293383270911361,5.9238451935081144,,8.67665418227216,,5.324594257178527,6.20474406991261,,8.05243445692884,5.430711610486892,3.9762796504369535,5.049937578027466,5.561797752808988,3.620474406991261,8.11485642946317,5.405742821473158,4.213483146067416,7.615480649188515,3.7890137328339577,5.405742821473158,6.167290886392011,6.616729088639201,7.615480649188515,5.799001248439451,8.11485642946317,7.8027465667915115,5.836454431960051,5.062421972534332,,4.1011235955056184,,5.861423220973783,5.243445692883895,2.7340823970037453,,6.073657927590512,7.17852684144819,3.970037453183521,5.617977528089888,5.580524344569288,,2.4094881398252186,4.413233458177278,3.9950062421972534,4.881398252184769,,3.4456928838951315,7.303370786516854,6.491885143570538,6.048689138576779, +6.1485642946317105,7.8027465667915115,4.8626716604244695,7.615480649188515,5.655430711610487,5.593008739076155,2.5343320848938826,5.455680399500624,3.3333333333333335,4.787765293383271,5.418227215980025,3.6454431960049942,2.2222222222222223,2.702871410736579,3.6641697877652937,8.239700374531834,,,3.970037453183521,3.4269662921348316,6.30461922596754,7.8027465667915115,4.962546816479401,7.990012484394507,7.17852684144819,3.339575530586767,3.089887640449438,2.7091136079900124,4.3632958801498125,6.086142322097379,2.272159800249688,3.6454431960049942,6.866416978776529,5.830212234706617,3.1647940074906367,4.49438202247191,3.545568039950062,8.67665418227216,6.30461922596754,2.397003745318352,2.66541822721598,6.741573033707866,6.004993757802747,3.926342072409488,3.1460674157303368,3.2896379525593007,8.302122347066168,,,6.866416978776529,5.324594257178527,5.955056179775282,,8.739076154806492,,5.34956304619226,6.235955056179775,,8.11485642946317,5.455680399500624,4.001248439450687,5.068664169787765,5.593008739076155,3.639200998751561,8.177278401997503,5.424469413233458,4.2322097378277155,7.615480649188515,3.81398252184769,5.430711610486892,6.198501872659176,6.616729088639201,7.615480649188515,5.830212234706617,8.11485642946317,7.8027465667915115,5.855181023720349,5.099875156054932,,4.132334581772784,,5.892634207240949,5.274656679151062,2.752808988764045,,6.098626716604246,7.17852684144819,4.001248439450687,5.6491885143570535,5.611735330836455,,2.4344569288389515,4.444444444444445,4.019975031210986,4.912609238451935,,3.4831460674157304,7.303370786516854,6.554307116104869,6.067415730337078, +,7.865168539325843,4.893882646691636,,5.68039950062422,5.611735330836455,2.5593008739076155,,3.3645443196004994,4.806491885143571,5.436953807740325,3.6766541822721597,2.247191011235955,2.7340823970037453,3.689138576779026,8.302122347066168,,,3.9950062421972534,3.451935081148564,6.30461922596754,7.865168539325843,4.987515605493134,8.05243445692884,7.240948813982522,3.3645443196004994,3.114856429463171,2.7340823970037453,4.400749063670412,6.111111111111111,2.2971285892634206,3.682896379525593,6.866416978776529,5.848938826466916,3.183520599250936,4.519350811485642,3.576779026217228,8.739076154806492,6.30461922596754,2.4157303370786516,2.690387016229713,6.803995006242197,6.029962546816479,3.957553058676654,3.1772784019975036,3.3146067415730336,8.302122347066168,,,6.928838951310862,5.34956304619226,5.986267166042447,,8.801498127340825,,5.36828963795256,6.242197253433209,,8.11485642946317,5.480649188514358,4.019975031210986,5.087390761548065,5.6242197253433215,3.6641697877652937,8.177278401997503,5.449438202247191,4.257178526841448,7.677902621722847,3.8389513108614235,5.455680399500624,6.229712858926342,6.679151061173534,7.615480649188515,5.855181023720349,8.177278401997503,7.8027465667915115,5.880149812734083,5.131086142322098,,4.169787765293384,,5.9238451935081144,5.305867665418227,2.777777777777778,,6.123595505617978,7.240948813982522,4.032459425717852,5.674157303370786,5.64294631710362,,2.459425717852684,4.475655430711611,4.044943820224719,4.943820224719102,,3.5143570536828963,7.365792759051186,6.554307116104869,6.092384519350812, +,7.865168539325843,4.931335830212235,,5.705368289637952,5.636704119850187,2.5842696629213484,,3.3957553058676653,4.831460674157303,5.455680399500624,3.701622971285893,2.272159800249688,2.7652933832709112,3.714107365792759,,,,4.019975031210986,3.470661672908864,6.367041198501872,7.865168539325843,5.0062421972534334,,7.240948813982522,3.3957553058676653,3.1460674157303368,2.7590511860174782,4.431960049937578,6.1360799001248445,,3.714107365792759,6.928838951310862,5.8739076154806495,3.2084893882646695,4.544319600499376,3.6142322097378274,8.739076154806492,6.30461922596754,2.4406991260923845,2.715355805243446,6.803995006242197,6.054931335830212,3.9950062421972534,3.2084893882646695,3.3458177278401995,8.3645443196005,,,6.928838951310862,5.380774032459426,6.023720349563047,,8.801498127340825,,5.3870162297128585,6.30461922596754,,8.177278401997503,5.50561797752809,4.038701622971286,5.1123595505617985,5.655430711610487,3.682896379525593,8.239700374531834,5.468164794007491,4.275905118601748,7.677902621722847,3.8639200998751564,5.480649188514358,6.242197253433209,6.679151061173534,7.677902621722847,5.880149812734083,8.177278401997503,7.865168539325843,5.8988764044943816,5.168539325842697,,,,5.955056179775282,5.343320848938826,2.7965043695380776,,6.1485642946317105,7.240948813982522,4.063670411985019,5.69912609238452,5.674157303370786,,2.4843945068664173,4.506866416978776,4.069912609238452,4.9812734082397006,,3.5518102372034956,7.365792759051186,6.616729088639201,6.117353308364544, +,7.927590511860175,4.962546816479401,,5.730337078651686,5.655430711610487,2.602996254681648,,3.420724094881398,4.850187265917603,5.480649188514358,3.732833957553059,2.2908863920099876,2.790262172284644,3.7390761548064915,,,,4.044943820224719,3.495630461922597,6.367041198501872,7.927590511860175,5.031210986267166,,7.303370786516854,3.4269662921348316,3.1772784019975036,2.7840199750312107,4.463171036204744,,,3.745318352059925,6.928838951310862,5.8988764044943816,3.233458177278402,4.569288389513109,3.6454431960049942,8.801498127340825,6.367041198501872,2.459425717852684,2.740324594257179,6.866416978776529,6.086142322097379,4.02621722846442,3.2397003745318353,3.370786516853933,8.3645443196005,,,6.991260923845194,5.411985018726591,6.054931335830212,,8.863920099875156,,5.411985018726591,6.30461922596754,,8.177278401997503,5.536828963795256,4.057428214731585,5.131086142322098,5.686641697877653,3.7078651685393256,8.239700374531834,5.493133583021224,4.294631710362047,7.677902621722847,3.888888888888889,5.50561797752809,6.30461922596754,6.741573033707866,7.677902621722847,5.9113607990012484,8.239700374531834,7.865168539325843,5.917602996254682,5.199750312109863,,,,5.986267166042447,5.3745318352059925,2.82147315855181,,6.173533083645444,7.240948813982522,4.094881398252185,5.724094881398252,5.705368289637952,,2.5093632958801497,4.538077403245943,4.1011235955056184,5.012484394506866,,3.5830212234706615,7.428214731585518,,6.1360799001248445, +,7.927590511860175,4.9937578027465666,,5.7553058676654185,5.68039950062422,2.6279650436953808,,3.451935081148564,4.875156054931336,5.499375780274657,3.764044943820225,2.3158551810237205,2.82147315855181,3.764044943820225,,,,4.069912609238452,3.5143570536828963,6.367041198501872,7.990012484394507,5.056179775280899,,7.303370786516854,3.4581772784019975,3.2084893882646695,2.808988764044944,4.49438202247191,,,3.7827715355805243,6.928838951310862,5.917602996254682,3.2521847690387014,,3.682896379525593,8.801498127340825,6.367041198501872,2.478152309612984,2.7590511860174782,6.866416978776529,6.111111111111111,4.057428214731585,3.2646691635455682,3.3957553058676653,8.426966292134832,,,6.991260923845194,5.436953807740325,6.092384519350812,,8.863920099875156,,5.430711610486892,6.367041198501872,,8.239700374531834,5.561797752808988,4.0761548064918856,5.149812734082397,5.717852684144819,3.7265917602996255,8.302122347066168,5.5181023720349565,4.31960049937578,7.740324594257178,3.9138576779026217,5.5305867665418225,6.30461922596754,6.741573033707866,7.740324594257178,5.936329588014981,8.239700374531834,7.865168539325843,5.942571785268415,5.237203495630462,,,,6.0174781523096135,5.405742821473158,2.84019975031211,,6.192259675405743,7.303370786516854,4.1260923845193505,5.749063670411985,5.742821473158552,,2.5343320848938826,4.569288389513109,4.1260923845193505,5.043695380774032,,3.6142322097378274,7.428214731585518,,6.161048689138577, +,7.990012484394507,5.031210986267166,,5.7802746566791505,5.705368289637952,,,3.4831460674157304,4.900124843945068,5.524344569288389,3.7952559300873907,2.340823970037453,2.852684144818976,3.7890137328339577,,,,4.094881398252185,3.5393258426966296,6.429463171036204,7.990012484394507,5.081148564294631,,7.365792759051186,3.4831460674157304,3.2397003745318353,2.8339575530586765,4.525593008739076,,,3.81398252184769,6.991260923845194,,3.2771535580524347,,3.714107365792759,8.863920099875156,6.429463171036204,2.4968789013732833,2.7840199750312107,6.866416978776529,6.1360799001248445,4.0886392009987516,3.295880149812734,,8.426966292134832,,,7.0536828963795255,5.468164794007491,6.123595505617978,,8.926342072409488,,5.455680399500624,6.367041198501872,,8.239700374531834,,4.094881398252185,5.174781523096129,5.749063670411985,3.7515605493133584,8.302122347066168,5.536828963795256,4.33832709113608,7.740324594257178,3.938826466916354,5.555555555555556,,6.803995006242197,7.740324594257178,5.961298377028713,8.302122347066168,7.927590511860175,5.961298377028713,5.268414481897628,,,,6.048689138576779,5.443196004993759,2.865168539325843,,6.217228464419476,7.303370786516854,4.157303370786517,5.774032459425719,5.774032459425719,,2.5530586766541825,4.600499375780275,4.151061173533084,5.081148564294631,,3.651685393258427,,,6.186017478152309, +,,5.062421972534332,,5.805243445692884,,,,3.5143570536828963,4.918851435705368,5.543071161048689,3.8202247191011236,2.359550561797753,2.8838951310861427,3.81398252184769,,,,4.119850187265917,3.5580524344569286,6.429463171036204,8.05243445692884,5.106117353308365,,7.365792759051186,3.5143570536828963,3.2709113607990012,2.8589263420724094,4.556803995006242,,,3.8451935081148565,6.991260923845194,,3.295880149812734,,3.7515605493133584,8.863920099875156,6.429463171036204,2.521847690387016,2.808988764044944,6.928838951310862,6.161048689138577,4.1260923845193505,3.3270911360799,,8.489388264669165,,,7.0536828963795255,5.493133583021224,6.161048689138577,,,,5.474406991260924,6.429463171036204,,8.239700374531834,,4.1136079900124844,5.19350811485643,5.7802746566791505,3.776529338327091,8.3645443196005,5.561797752808988,4.3632958801498125,7.740324594257178,3.9637952559300875,5.580524344569288,,6.803995006242197,,5.992509363295881,8.302122347066168,7.927590511860175,5.980024968789014,5.305867665418227,,,,6.079900124843945,5.474406991260924,2.8838951310861427,,6.242197253433209,7.365792759051186,4.18227215980025,5.799001248439451,5.805243445692884,,2.578027465667915,4.631710362047441,4.18227215980025,5.1123595505617985,,3.682896379525593,,,6.210986267166042, +,,5.093632958801498,,5.830212234706617,,,,3.5393258426966296,4.943820224719102,5.568039950062421,3.8514357053682895,2.3845193508114857,2.908863920099875,3.8389513108614235,,,,4.144818976279651,3.5830212234706615,6.491885143570538,,5.131086142322098,,7.428214731585518,3.545568039950062,3.295880149812734,2.8838951310861427,4.588014981273409,,,3.882646691635456,6.991260923845194,,3.320848938826467,,,8.926342072409488,6.429463171036204,2.5405742821473156,2.8339575530586765,6.928838951310862,,,3.352059925093633,,8.489388264669165,,,7.116104868913857,5.524344569288389,6.192259675405743,,,,5.493133583021224,6.429463171036204,,8.302122347066168,,4.132334581772784,5.212234706616729,5.811485642946318,3.7952559300873907,8.3645443196005,5.580524344569288,4.382022471910113,7.8027465667915115,3.9887640449438204,5.605493133583021,,6.866416978776529,,6.0174781523096135,8.3645443196005,7.927590511860175,6.004993757802747,5.337078651685393,,,,6.111111111111111,5.50561797752809,2.908863920099875,,6.242197253433209,7.365792759051186,4.213483146067416,5.823970037453184,5.836454431960051,,2.602996254681648,4.662921348314606,4.207240948813983,5.143570536828964,,3.7203495630461925,,,6.229712858926342, +,,5.131086142322098,,5.855181023720349,,,,3.5705368289637955,4.9687890137328345,5.586766541822722,3.882646691635456,2.4094881398252186,2.9400749063670415,3.8639200998751564,,,,4.169787765293384,3.6017478152309614,6.491885143570538,,5.15605493133583,,7.428214731585518,3.5705368289637955,3.3270911360799,2.908863920099875,4.619225967540574,,,3.9138576779026217,7.0536828963795255,,3.3458177278401995,,,8.926342072409488,6.491885143570538,2.5593008739076155,2.8589263420724094,6.928838951310862,,,3.383270911360799,,8.551810237203496,,,7.116104868913857,,,,,,5.5181023720349565,6.491885143570538,,8.302122347066168,,4.151061173533084,5.237203495630462,5.842696629213483,3.8202247191011236,8.426966292134832,5.605493133583021,4.406991260923846,7.8027465667915115,4.00749063670412,5.630461922596755,,,,6.0424469413233455,8.3645443196005,7.990012484394507,6.023720349563047,5.3745318352059925,,,,,5.543071161048689,2.9275905118601746,,6.30461922596754,7.428214731585518,4.244694132334582,5.848938826466916,5.867665418227216,,2.6279650436953808,4.694132334581773,4.2322097378277155,5.174781523096129,,3.7515605493133584,,,6.242197253433209, +,,5.162297128589263,,,,,,3.6017478152309614,4.987515605493134,5.605493133583021,3.9076154806491883,2.428214731585518,2.9712858926342074,,,,,4.194756554307116,3.6267166042446943,6.554307116104869,,5.181023720349563,,7.49063670411985,3.6017478152309614,3.3583021223470664,2.933832709113608,4.65043695380774,,,,7.0536828963795255,,3.3645443196004994,,,8.98876404494382,,2.5842696629213484,2.8838951310861427,6.991260923845194,,,3.4144818976279647,,8.551810237203496,,,7.116104868913857,,,,,,5.536828963795256,6.491885143570538,,8.3645443196005,,4.176029962546816,5.2559300873907615,5.880149812734083,3.8389513108614235,8.426966292134832,5.6242197253433215,4.425717852684145,7.8027465667915115,4.032459425717852,,,,,6.073657927590512,8.426966292134832,7.990012484394507,6.0424469413233455,5.405742821473158,,,,,,2.9525593008739075,,,7.428214731585518,,5.8739076154806495,5.905118601747815,,,,4.257178526841448,5.212234706616729,,,,,6.30461922596754, +,,,,,,,,3.6329588014981273,5.012484394506866,5.630461922596755,3.938826466916354,2.453183520599251,3.0024968789013733,,,,,4.213483146067416,3.6454431960049942,6.554307116104869,,5.205992509363296,,7.49063670411985,3.6329588014981273,,2.958801498127341,4.681647940074906,,,,7.0536828963795255,,3.3895131086142323,,,8.98876404494382,,2.602996254681648,2.908863920099875,6.991260923845194,,,,,,,,7.17852684144819,,,,,,5.555555555555556,6.491885143570538,,8.3645443196005,,4.194756554307116,5.274656679151062,5.9113607990012484,3.8639200998751564,8.489388264669165,5.6491885143570535,4.450686641697877,,4.057428214731585,,,,,6.098626716604246,8.426966292134832,7.990012484394507,6.067415730337078,,,,,,,2.9712858926342074,,,7.428214731585518,,5.8988764044943816,5.936329588014981,,,,4.288389513108614,5.243445692883895,,,,,6.30461922596754, +,,,,,,,,3.6579275905118602,5.0374531835206,5.6491885143570535,,2.471910112359551,3.033707865168539,,,,,,3.6704119850187267,6.616729088639201,,5.224719101123595,,7.553058676654182,,,2.9837702871410734,4.712858926342073,,,,7.116104868913857,,3.408239700374532,,,9.051186017478152,,,2.9275905118601746,6.991260923845194,,,,,,,,7.17852684144819,,,,,,5.580524344569288,6.554307116104869,,,,4.213483146067416,5.299625468164794,5.942571785268415,3.888888888888889,8.489388264669165,,4.4694132334581775,,4.082397003745319,,,,,6.123595505617978,8.489388264669165,8.05243445692884,6.086142322097379,,,,,,,2.9962546816479403,,,7.49063670411985,,5.9238451935081144,5.967540574282147,,,,,5.274656679151062,,,,,6.30461922596754, +,,,,,,,,3.689138576779026,5.056179775280899,,,2.4968789013732833,3.058676654182272,,,,,,3.689138576779026,6.616729088639201,,5.249687890137328,,7.553058676654182,,,3.0087390761548067,,,,,7.116104868913857,,3.4332084893882646,,,9.051186017478152,,,2.9525593008739075,7.0536828963795255,,,,,,,,7.240948813982522,,,,,,,,,,,4.2322097378277155,5.318352059925093,5.97378277153558,3.9076154806491883,8.551810237203496,,4.49438202247191,,4.107365792759051,,,,,6.154806491885144,8.489388264669165,8.05243445692884,6.104868913857677,,,,,,,3.0149812734082393,,,7.49063670411985,,5.948813982521848,5.998751560549313,,,,,,,,,,6.367041198501872, +,,,,,,,,3.7203495630461925,,,,,3.089887640449438,,,,,,3.714107365792759,6.679151061173534,,5.274656679151062,,7.553058676654182,,,3.033707865168539,,,,,,,3.4581772784019975,,,9.113607990012484,,,2.977528089887641,,,,,,,,,7.240948813982522,,,,,,,,,,,4.250936329588015,5.337078651685393,6.004993757802747,3.9325842696629216,8.551810237203496,,,,4.132334581772784,,,,,6.179775280898876,8.551810237203496,8.05243445692884,6.129837702871411,,,,,,,3.0399500624219726,,,7.553058676654182,,5.97378277153558,6.029962546816479,,,,,,,,,,6.367041198501872, +,,,,,,,,,,,,,3.1210986267166043,,,,,,3.732833957553059,6.679151061173534,,5.299625468164794,,,,,3.058676654182272,,,,,,,,,,9.113607990012484,,,,,,,,,,,,7.303370786516854,,,,,,,,,,,4.269662921348314,5.3620474406991265,6.036204744069912,3.951310861423221,8.614232209737828,,,,,,,,,6.210986267166042,8.551810237203496,8.11485642946317,6.1485642946317105,,,,,,,3.058676654182272,,,7.553058676654182,,,,,,,,,,,,,6.367041198501872, +,,,,,,,,,,,,,3.15230961298377,,,,,,3.7515605493133584,6.741573033707866,,5.324594257178527,,,,,3.0836454431960054,,,,,,,,,,9.176029962546817,,,,,,,,,,,,7.303370786516854,,,,,,,,,,,4.288389513108614,5.380774032459426,6.067415730337078,3.9762796504369535,8.614232209737828,,,,,,,,,6.235955056179775,,8.11485642946317,6.167290886392011,,,,,,,3.077403245942572,,,7.553058676654182,,,,,,,,,,,,,6.429463171036204, +,,,,,,,,,,,,,,,,,,,,6.741573033707866,,,,,,,,,,,,,,,,,9.176029962546817,,,,,,,,,,,,,,,,,,,,,,,,5.399500624219725,6.098626716604246,,8.67665418227216,,,,,,,,,6.242197253433209,,8.11485642946317,6.192259675405743,,,,,,,3.102372034956305,,,7.615480649188515,,,,,,,,,,,,,6.429463171036204, +,,,,,,,,,,,,,,,,,,,,6.803995006242197,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5.424469413233458,,,,,,,,,,,,6.30461922596754,,,6.210986267166042,,,,,,,3.1210986267166043,,,7.615480649188515,,,,,,,,,,,,,, +3.651685393258427,5.074906367041199,2.1161048689138577,5.305867665418227,3.589263420724095,3.7265917602996255,0.6554307116104868,3.3021223470661676,0.9051186017478152,2.908863920099875,3.6641697877652937,1.223470661672909,0.35268414481897625,0.24968789013732834,1.647940074906367,5.855181023720349,4.4818976279650435,2.7590511860174782,1.9600499375780276,1.6541822721598003,3.8951310861423223,5.224719101123595,2.9712858926342074,5.474406991260924,4.800249687890138,0.9488139825218477,0.6173533083645443,0.6616729088639202,1.7602996254681649,4.057428214731585,0.24781523096129837,0.8926342072409489,5.099875156054932,4.001248439450687,1.317103620474407,2.5842696629213484,0.717852684144819,6.179775280898876,4.313358302122348,0.7116104868913858,0.6928838951310862,4.956304619225968,3.8077403245942576,1.2359550561797754,0.7365792759051186,1.079900124843945,5.724094881398252,2.702871410736579,1.0923845193508115,4.444444444444445,2.9837702871410734,3.183520599250936,4.132334581772784,5.81772784019975,1.797752808988764,3.6267166042446943,3.9076154806491883,4.875156054931336,6.029962546816479,3.2397003745318353,2.4032459425717856,3.3645443196004994,2.9837702871410734,1.8102372034956304,5.6491885143570535,3.5830212234706615,2.446941323345818,5.855181023720349,1.8164794007490637,3.3957553058676653,3.6766541822721597,3.957553058676654,5.705368289637952,3.595505617977528,5.593008739076155,6.104868913857677,4.138576779026217,2.303370786516854,0.9550561797752809,1.2796504369538078,5.730337078651686,3.3645443196004994,2.5343320848938826,0.9800249687890138,5.930087390761548,4.1260923845193505,5.1248439450686645,1.4544319600499376,3.576779026217228,2.958801498127341,5.436953807740325,0.466916354556804,1.9101123595505618,1.8352059925093633,2.1972534332084894,5.031210986267166,0.6928838951310862,4.856429463171036,4.425717852684145,4.157303370786517, +3.682896379525593,5.1123595505617985,2.153558052434457,5.33083645443196,3.6142322097378274,3.745318352059925,0.6803995006242198,3.3270911360799,0.9363295880149812,2.933832709113608,3.682896379525593,1.2546816479400749,0.3757802746566792,0.27965043695380776,1.6729088639200997,5.880149812734083,4.51310861423221,2.790262172284644,1.9850187265917605,1.6791510611735332,3.920099875156055,5.262172284644195,2.9962546816479403,5.50561797752809,4.831460674157303,0.9737827715355806,0.6491885143570537,0.686641697877653,1.7915106117353308,4.082397003745319,0.2727840199750312,0.9300873907615481,5.1248439450686645,4.019975031210986,1.34207240948814,2.6092384519350813,0.7490636704119851,6.210986267166042,4.33832709113608,0.7303370786516854,0.717852684144819,4.975031210986267,3.8389513108614235,1.2671660424469413,0.7677902621722846,1.104868913857678,5.7553058676654185,2.7340823970037453,1.1235955056179776,4.475655430711611,3.0087390761548067,3.214731585518102,4.157303370786517,5.855181023720349,1.8164794007490637,3.651685393258427,3.9325842696629216,4.912609238451935,6.054931335830212,3.2709113607990012,2.4219725343320846,3.383270911360799,3.0149812734082393,1.8289637952559301,5.68039950062422,3.607990012484395,2.4656679151061174,5.880149812734083,1.8414481897627966,3.420724094881398,3.7078651685393256,3.9887640449438204,5.730337078651686,3.6267166042446943,5.6242197253433215,6.129837702871411,4.16354556803995,2.340823970037453,0.9800249687890138,1.3108614232209737,5.767790262172285,3.3895131086142323,2.571785268414482,0.9987515605493134,5.961298377028713,4.151061173533084,5.149812734082397,1.4856429463171037,3.6017478152309614,2.990012484394507,5.468164794007491,0.49063670411985016,1.941323345817728,1.8601747815230962,2.2347066167290888,5.068664169787765,0.7303370786516854,4.887640449438202,4.450686641697877,4.18227215980025, +3.714107365792759,5.143570536828964,2.184769038701623,5.3620474406991265,3.639200998751561,3.7702871410736583,0.7053682896379525,3.3583021223470664,0.9675405742821472,2.958801498127341,3.7078651685393256,1.2796504369538078,0.39825218476903873,0.3096129837702871,1.6978776529338326,5.9113607990012484,4.544319600499376,2.82147315855181,2.009987515605493,1.6978776529338326,3.951310861423221,5.293383270911361,3.0149812734082393,5.536828963795256,4.856429463171036,1.0049937578027466,0.6803995006242198,0.7116104868913858,1.8227215980024971,4.107365792759051,0.29712858926342073,0.9612983770287141,5.143570536828964,4.044943820224719,1.3670411985018727,2.634207240948814,0.7865168539325842,6.242197253433209,4.3632958801498125,0.7553058676654182,0.7428214731585518,5.0,3.8639200998751564,1.2983770287141074,0.7927590511860175,1.1298377028714106,5.786516853932584,2.7715355805243447,1.161048689138577,4.506866416978776,3.0399500624219726,3.245942571785269,4.188514357053683,5.892634207240949,1.8414481897627966,3.6704119850187267,3.9637952559300875,4.950062421972534,6.086142322097379,3.295880149812734,2.446941323345818,3.4019975031210987,3.046192259675406,1.8539325842696628,5.711610486891385,3.6329588014981273,2.4906367041198503,5.8988764044943816,1.8664169787765295,3.4456928838951315,3.7390761548064915,4.019975031210986,5.7553058676654185,3.651685393258427,5.655430711610487,6.1485642946317105,4.18227215980025,2.3720349563046192,1.0049937578027466,1.348314606741573,5.805243445692884,3.420724094881398,2.602996254681648,1.0237203495630463,5.992509363295881,4.176029962546816,5.174781523096129,1.5168539325842696,3.6267166042446943,3.0212234706616727,5.499375780274657,0.5149812734082396,1.9725343320848938,1.8851435705368291,2.2659176029962547,5.106117353308365,0.7615480649188515,4.918851435705368,4.475655430711611,4.207240948813983, +3.745318352059925,5.174781523096129,2.215980024968789,5.3870162297128585,3.6641697877652937,3.7952559300873907,0.7240948813982522,3.383270911360799,0.9987515605493134,2.977528089887641,3.7265917602996255,1.3108614232209737,0.4213483146067416,0.33957553058676654,1.7228464419475658,5.942571785268415,4.575530586766542,2.8464419475655434,2.034956304619226,1.7228464419475658,3.982521847690387,5.324594257178527,3.0399500624219726,5.568039950062421,4.887640449438202,1.0362047440699127,0.7053682896379525,0.7365792759051186,1.8539325842696628,4.132334581772784,0.32209737827715357,0.9987515605493134,5.168539325842697,4.069912609238452,1.3857677902621723,2.6591760299625467,0.8177278401997503,6.30461922596754,4.388264669163545,0.7740324594257179,0.7677902621722846,5.0187265917602994,3.888888888888889,1.3358302122347065,0.8239700374531835,1.161048689138577,5.81772784019975,2.8027465667915106,1.1922596754057428,4.538077403245943,3.0649188514357055,3.2833957553058677,4.213483146067416,5.930087390761548,1.8664169787765295,3.6953807740324596,3.9887640449438204,4.987515605493134,6.111111111111111,3.320848938826467,2.4656679151061174,3.4269662921348316,3.0836454431960054,1.8726591760299625,5.736579275905119,3.651685393258427,2.5093632958801497,5.9238451935081144,1.8913857677902621,3.470661672908864,3.7702871410736583,4.057428214731585,5.774032459425719,3.6766541822721597,5.686641697877653,6.167290886392011,4.200998751560549,2.4032459425717856,1.0299625468164793,1.3795255930087391,5.848938826466916,3.451935081148564,2.634207240948814,1.042446941323346,6.023720349563047,4.200998751560549,5.199750312109863,1.5480649188514357,3.651685393258427,3.0524344569288386,5.524344569288389,0.5387016229712859,2.00374531835206,1.9101123595505618,2.2971285892634206,5.149812734082397,0.7990012484394506,4.950062421972534,4.500624219725343,4.225967540574282, +3.776529338327091,5.212234706616729,2.253433208489388,5.418227215980025,3.689138576779026,3.81398252184769,0.7490636704119851,3.408239700374532,1.0237203495630463,3.0024968789013733,3.745318352059925,1.34207240948814,0.44382022471910115,0.36953807740324596,1.7415730337078652,5.97378277153558,4.606741573033708,2.8776529338327093,2.0599250936329585,1.7415730337078652,4.00749063670412,5.355805243445693,3.0649188514357055,5.599250936329588,4.918851435705368,1.0611735330836456,0.7365792759051186,0.7615480649188515,1.8851435705368291,4.157303370786517,0.3464419475655431,1.0299625468164793,5.187265917602996,4.0886392009987516,1.410736579275905,2.6779026217228465,0.8551810237203495,6.30461922596754,4.413233458177278,0.7927590511860175,0.7927590511860175,5.043695380774032,3.920099875156055,1.3670411985018727,0.8551810237203495,1.1860174781523096,5.848938826466916,2.8339575530586765,1.229712858926342,4.563046192259676,3.0961298377028714,3.3146067415730336,4.238451935081149,5.961298377028713,1.8913857677902621,3.714107365792759,4.019975031210986,5.024968789013733,6.1360799001248445,3.352059925093633,2.4843945068664173,3.4456928838951315,3.114856429463171,1.8976279650436954,5.767790262172285,3.6766541822721597,2.5343320848938826,5.942571785268415,1.916354556803995,3.495630461922597,3.801498127340824,4.0886392009987516,5.799001248439451,3.7078651685393256,5.717852684144819,6.192259675405743,4.225967540574282,2.4406991260923845,1.0549313358302121,1.4169787765293382,5.8863920099875156,3.4831460674157304,2.671660424469413,1.0674157303370786,6.054931335830212,4.225967540574282,5.224719101123595,1.5792759051186018,3.6766541822721597,3.089887640449438,5.555555555555556,0.5630461922596754,2.034956304619226,1.941323345817728,2.328339575530587,5.187265917602996,0.8302122347066168,4.975031210986267,4.531835205992509,4.250936329588015, +3.801498127340824,5.243445692883895,2.2846441947565546,5.443196004993759,3.714107365792759,3.8389513108614235,0.7740324594257179,3.4332084893882646,1.0549313358302121,3.027465667915106,3.7702871410736583,1.373283395755306,0.466916354556804,0.3995006242197253,1.766541822721598,5.998751560549313,4.637952559300874,2.908863920099875,2.084893882646692,1.766541822721598,4.038701622971286,5.3870162297128585,3.089887640449438,5.630461922596755,4.943820224719102,1.0923845193508115,0.7677902621722846,0.7865168539325842,1.916354556803995,4.18227215980025,0.3714107365792759,1.0611735330836456,5.212234706616729,4.1136079900124844,1.4294631710362047,2.702871410736579,0.8863920099875156,6.30461922596754,4.438202247191011,0.8114856429463172,0.8177278401997503,5.062421972534332,3.9450686641697876,1.3982521847690388,0.8801498127340824,1.2109862671660423,5.880149812734083,2.871410736579276,1.260923845193508,4.594257178526841,3.1210986267166043,3.352059925093633,4.263420724094882,5.998751560549313,1.916354556803995,3.732833957553059,4.051186017478152,5.062421972534332,6.161048689138577,3.3770287141073654,2.5031210986267167,3.464419475655431,3.1460674157303368,1.916354556803995,5.799001248439451,3.6953807740324596,2.5530586766541825,5.967540574282147,1.941323345817728,3.5205992509363297,3.83270911360799,4.119850187265917,5.823970037453184,3.732833957553059,5.749063670411985,6.210986267166042,4.244694132334582,2.471910112359551,1.079900124843945,1.4544319600499376,5.9238451935081144,3.5143570536828963,2.702871410736579,1.0861423220973783,6.086142322097379,4.244694132334582,5.249687890137328,1.6104868913857677,3.701622971285893,3.1210986267166043,5.586766541822722,0.5867665418227216,2.066167290886392,1.9662921348314608,2.3657927590511862,5.224719101123595,0.867665418227216,5.0062421972534334,4.556803995006242,4.275905118601748, +3.83270911360799,5.274656679151062,2.3158551810237205,5.474406991260924,3.7390761548064915,3.857677902621723,0.7927590511860175,3.4581772784019975,1.0861423220973783,3.046192259675406,3.7890137328339577,1.3982521847690388,0.4893882646691636,0.42946317103620474,1.7915106117353308,6.029962546816479,4.66916354556804,2.9400749063670415,2.1098626716604243,1.7852684144818978,4.069912609238452,5.418227215980025,3.114856429463171,5.66167290886392,4.975031210986267,1.1235955056179776,0.7990012484394506,0.8114856429463172,1.9475655430711611,4.207240948813983,0.39637952559300876,1.0986267166042447,5.230961298377029,4.132334581772784,1.4544319600499376,2.727840199750312,0.9238451935081149,6.367041198501872,4.456928838951311,0.8364544319600499,0.8426966292134832,5.087390761548065,3.970037453183521,1.4294631710362047,0.9113607990012486,1.2421972534332086,5.9113607990012484,2.902621722846442,1.2921348314606742,4.6254681647940075,3.15230961298377,3.383270911360799,4.288389513108614,6.036204744069912,1.9350811485642945,3.7578027465667914,4.0761548064918856,5.099875156054932,6.186017478152309,3.4019975031210987,2.521847690387016,3.4893882646691634,3.1772784019975036,1.941323345817728,5.830212234706617,3.7203495630461925,2.578027465667915,5.986267166042447,1.9662921348314608,3.545568039950062,3.8639200998751564,4.151061173533084,5.848938826466916,3.7578027465667914,5.7802746566791505,6.229712858926342,4.263420724094882,2.5093632958801497,1.104868913857678,1.4856429463171037,5.961298377028713,3.545568039950062,2.7340823970037453,1.1111111111111112,6.117353308364544,4.269662921348314,5.274656679151062,1.6416978776529338,3.7265917602996255,3.15230961298377,5.611735330836455,0.6104868913857677,2.097378277153558,1.9912609238451935,2.397003745318352,5.262172284644195,0.898876404494382,5.0374531835206,4.581772784019975,4.294631710362047, +3.8639200998751564,5.312109862671661,2.35330836454432,5.499375780274657,3.764044943820225,3.882646691635456,0.8177278401997503,3.4893882646691634,1.1173533083645444,3.0711610486891385,3.81398252184769,1.4294631710362047,0.5124843945068664,0.45942571785268416,1.8164794007490637,6.061173533083646,4.700374531835206,2.9712858926342074,2.128589263420724,1.8102372034956304,4.094881398252185,5.449438202247191,3.139825218476904,5.692883895131087,5.0062421972534334,1.1485642946317103,0.8302122347066168,0.8364544319600499,1.978776529338327,4.2322097378277155,0.4207240948813982,1.1298377028714106,5.2559300873907615,4.157303370786517,1.4794007490636705,2.746566791510612,0.9550561797752809,6.367041198501872,4.4818976279650435,0.8551810237203495,0.8614232209737829,5.106117353308365,3.9950062421972534,1.466916354556804,0.9425717852684146,1.2671660424469413,5.942571785268415,2.9400749063670415,1.3295880149812733,4.656679151061174,3.183520599250936,3.4144818976279647,4.31960049937578,6.067415730337078,1.9600499375780276,3.776529338327091,4.107365792759051,5.1373283395755305,6.210986267166042,3.4332084893882646,2.5405742821473156,3.508114856429463,3.2084893882646695,1.9662921348314608,5.861423220973783,3.745318352059925,2.596754057428215,6.01123595505618,1.9912609238451935,3.5705368289637955,3.8951310861423223,4.188514357053683,5.867665418227216,3.7890137328339577,5.811485642946318,6.242197253433209,4.288389513108614,2.5405742821473156,1.1298377028714106,1.523096129837703,6.004993757802747,3.576779026217228,2.7715355805243447,1.1298377028714106,6.1485642946317105,4.294631710362047,5.299625468164794,1.6729088639200997,3.7515605493133584,3.183520599250936,5.64294631710362,0.6367041198501873,2.128589263420724,2.0224719101123596,2.428214731585518,5.305867665418227,0.9363295880149812,5.068664169787765,4.606741573033708,4.31960049937578, +3.8951310861423223,5.343320848938826,2.3845193508114857,5.5305867665418225,3.7890137328339577,3.9076154806491883,0.8426966292134832,3.5143570536828963,1.1423220973782773,3.0961298377028714,3.83270911360799,1.4606741573033708,0.534956304619226,0.4893882646691636,1.8414481897627966,6.086142322097379,4.7315855181023725,3.0024968789013733,2.153558052434457,1.8289637952559301,4.1260923845193505,5.480649188514358,3.1647940074906367,5.724094881398252,5.0374531835206,1.1797752808988764,0.8614232209737829,0.8614232209737829,2.016229712858926,4.257178526841448,0.44569288389513106,1.161048689138577,5.274656679151062,4.176029962546816,1.4981273408239701,2.7715355805243447,0.9925093632958802,6.429463171036204,4.506866416978776,0.8739076154806492,0.8863920099875156,5.131086142322098,4.02621722846442,1.4981273408239701,0.9737827715355806,1.2921348314606742,5.97378277153558,2.9712858926342074,1.3607990012484397,4.681647940074906,3.2084893882646695,3.451935081148564,4.344569288389513,6.104868913857677,1.9850187265917605,3.7952559300873907,4.132334581772784,5.174781523096129,6.235955056179775,3.4581772784019975,2.5593008739076155,3.5268414481897628,3.2397003745318353,1.9850187265917605,5.892634207240949,3.764044943820225,2.6217228464419473,6.029962546816479,2.016229712858926,3.595505617977528,3.926342072409488,4.219725343320849,5.892634207240949,3.81398252184769,5.842696629213483,6.242197253433209,4.307116104868914,2.578027465667915,1.1548064918851435,1.554307116104869,6.0424469413233455,3.607990012484395,2.8027465667915106,1.1548064918851435,6.179775280898876,4.31960049937578,5.324594257178527,1.704119850187266,3.776529338327091,3.214731585518102,5.674157303370786,0.6616729088639202,2.15980024968789,2.0474406991260925,2.4656679151061174,5.343320848938826,0.9675405742821472,5.099875156054932,4.631710362047441,4.344569288389513, +3.926342072409488,5.3745318352059925,2.4157303370786516,5.555555555555556,3.81398252184769,3.926342072409488,0.8614232209737829,3.5393258426966296,1.1735330836454432,3.114856429463171,3.857677902621723,1.4918851435705367,0.5580524344569288,0.519350811485643,1.8664169787765295,6.117353308364544,4.762796504369538,3.033707865168539,2.1785268414481895,1.8476903870162298,4.157303370786517,5.511860174781523,3.1897627965043696,5.7553058676654185,5.062421972534332,1.2109862671660423,0.8863920099875156,0.8863920099875156,2.0474406991260925,4.282147315855181,0.4700374531835206,1.198501872659176,5.299625468164794,4.200998751560549,1.523096129837703,2.7965043695380776,1.0237203495630463,6.429463171036204,4.531835205992509,0.898876404494382,0.9113607990012486,5.149812734082397,4.051186017478152,1.529338327091136,0.9987515605493134,1.3233458177278403,6.004993757802747,3.0024968789013733,1.3982521847690388,4.712858926342073,3.2397003745318353,3.4831460674157304,4.369538077403246,6.142322097378277,2.009987515605493,3.8202247191011236,4.16354556803995,5.212234706616729,6.242197253433209,3.4831460674157304,2.578027465667915,3.5518102372034956,3.2709113607990012,2.009987515605493,5.9238451935081144,3.7890137328339577,2.640449438202247,6.054931335830212,2.0411985018726595,3.620474406991261,3.957553058676654,4.250936329588015,5.917602996254682,3.8451935081148565,5.8739076154806495,6.30461922596754,4.325842696629214,2.6092384519350813,1.1797752808988764,1.591760299625468,6.079900124843945,3.639200998751561,2.8339575530586765,1.1735330836454432,6.210986267166042,4.344569288389513,5.34956304619226,1.735330836454432,3.801498127340824,3.245942571785269,5.705368289637952,0.6803995006242198,2.1910112359550564,2.0724094881398254,2.4968789013732833,5.380774032459426,0.9987515605493134,5.131086142322098,4.656679151061174,4.369538077403246, +3.957553058676654,5.411985018726591,2.453183520599251,5.586766541822722,3.8389513108614235,3.951310861423221,0.8863920099875156,3.564294631710362,1.2047440699126093,3.139825218476904,3.8764044943820224,1.5168539325842696,0.5811485642946317,0.548689138576779,1.8913857677902621,6.1485642946317105,4.794007490636704,3.0649188514357055,2.203495630461923,1.8726591760299625,4.18227215980025,5.543071161048689,3.214731585518102,5.786516853932584,5.093632958801498,1.2359550561797754,0.9176029962546817,0.9113607990012486,2.0786516853932584,4.307116104868914,0.4950062421972534,1.229712858926342,5.318352059925093,4.225967540574282,1.5418227215980027,2.82147315855181,1.0611735330836456,6.491885143570538,4.556803995006242,0.9176029962546817,0.9363295880149812,5.174781523096129,4.0761548064918856,1.5605493133583022,1.0299625468164793,1.348314606741573,6.036204744069912,3.0399500624219726,1.4294631710362047,4.7440699126092385,3.2646691635455682,3.5205992509363297,4.394506866416979,6.173533083645444,2.034956304619226,3.8389513108614235,4.188514357053683,5.249687890137328,6.30461922596754,3.5143570536828963,2.596754057428215,3.5705368289637955,3.3021223470661676,2.0287141073657926,5.955056179775282,3.8077403245942576,2.66541822721598,6.073657927590512,2.0599250936329585,3.6454431960049942,3.982521847690387,4.282147315855181,5.942571785268415,3.870162297128589,5.905118601747815,6.30461922596754,4.3508114856429465,2.6466916354556806,1.2047440699126093,1.6229712858926344,6.117353308364544,3.6704119850187267,2.871410736579276,1.198501872659176,6.242197253433209,4.369538077403246,5.3745318352059925,1.766541822721598,3.826466916354557,3.2833957553058677,5.730337078651686,0.7053682896379525,2.2222222222222223,2.097378277153558,2.5280898876404496,5.424469413233458,1.0362047440699127,5.15605493133583,4.681647940074906,4.388264669163545, +3.9887640449438204,5.443196004993759,2.4843945068664173,5.611735330836455,3.8639200998751564,3.9762796504369535,0.9113607990012486,3.589263420724095,1.2359550561797754,3.1647940074906367,3.8951310861423223,1.5480649188514357,0.6036204744069913,0.5786516853932584,1.916354556803995,6.179775280898876,4.825218476903871,3.0961298377028714,2.2284644194756553,1.8913857677902621,4.213483146067416,5.574282147315855,3.233458177278402,5.81772784019975,5.1248439450686645,1.2671660424469413,0.9488139825218477,0.9363295880149812,2.1098626716604243,4.332084893882647,0.5199750312109862,1.2671660424469413,5.337078651685393,4.244694132334582,1.5667915106117354,2.84019975031211,1.0923845193508115,6.491885143570538,4.581772784019975,0.9363295880149812,0.9612983770287141,5.199750312109863,4.1011235955056184,1.5980024968789013,1.0611735330836456,1.373283395755306,6.067415730337078,3.0711610486891385,1.4606741573033708,4.775280898876405,3.295880149812734,3.5518102372034956,4.419475655430712,6.210986267166042,2.0599250936329585,3.857677902621723,4.219725343320849,5.287141073657928,6.30461922596754,3.5393258426966296,2.6217228464419473,3.589263420724095,3.3333333333333335,2.0536828963795255,5.986267166042447,3.83270911360799,2.68414481897628,6.098626716604246,2.084893882646692,3.6704119850187267,4.013732833957553,4.31960049937578,5.961298377028713,3.8951310861423223,5.936329588014981,6.30461922596754,4.369538077403246,2.6779026217228465,1.229712858926342,1.6604244694132335,6.154806491885144,3.701622971285893,2.902621722846442,1.2172284644194757,6.30461922596754,4.394506866416979,5.399500624219725,1.797752808988764,3.8514357053682895,3.3146067415730336,5.761548064918852,0.7303370786516854,2.253433208489388,2.128589263420724,2.565543071161049,5.461922596754057,1.0674157303370786,5.187265917602996,4.70661672908864,4.413233458177278, +4.019975031210986,5.474406991260924,2.521847690387016,5.64294631710362,3.888888888888889,3.9950062421972534,0.9300873907615481,3.620474406991261,1.260923845193508,3.183520599250936,3.920099875156055,1.5792759051186018,0.6242197253433208,0.6086142322097379,1.941323345817728,6.20474406991261,4.856429463171036,3.1273408239700373,2.253433208489388,1.916354556803995,4.244694132334582,5.605493133583021,3.258426966292135,5.848938826466916,5.149812734082397,1.2983770287141074,0.9800249687890138,0.9612983770287141,2.1410736579275906,4.357053682896379,0.5443196004993758,1.2983770287141074,5.3620474406991265,4.269662921348314,1.591760299625468,2.865168539325843,1.1298377028714106,6.554307116104869,4.606741573033708,0.9550561797752809,0.9862671660424469,5.218476903870163,4.132334581772784,1.6292134831460674,1.0861423220973783,1.404494382022472,6.098626716604246,3.102372034956305,1.4981273408239701,4.800249687890138,3.3270911360799,3.589263420724095,4.450686641697877,6.242197253433209,2.0786516853932584,3.882646691635456,4.244694132334582,5.324594257178527,6.367041198501872,3.564294631710362,2.640449438202247,3.6142322097378274,3.3645443196004994,2.0786516853932584,6.0174781523096135,3.857677902621723,2.7091136079900124,6.117353308364544,2.1098626716604243,3.6953807740324596,4.044943820224719,4.3508114856429465,5.986267166042447,3.926342072409488,5.967540574282147,6.367041198501872,4.388264669163545,2.715355805243446,1.2484394506866416,1.6978776529338326,6.198501872659176,3.732833957553059,2.933832709113608,1.2359550561797754,6.30461922596754,4.413233458177278,5.424469413233458,1.8227215980024971,3.8764044943820224,3.3458177278401995,5.792759051186017,0.7553058676654182,2.2846441947565546,2.153558052434457,2.596754057428215,5.499375780274657,1.104868913857678,5.218476903870163,4.737827715355805,4.438202247191011, +4.044943820224719,5.511860174781523,2.5530586766541825,5.667915106117353,3.9138576779026217,4.019975031210986,0.9550561797752809,3.6454431960049942,1.2921348314606742,3.2084893882646695,3.938826466916354,1.6042446941323347,0.6491885143570537,0.6367041198501873,1.9662921348314608,6.235955056179775,4.887640449438202,3.1585518102372037,2.278401997503121,1.9350811485642945,4.269662921348314,5.64294631710362,3.2833957553058677,5.880149812734083,5.181023720349563,1.3233458177278403,1.0112359550561798,0.9862671660424469,2.1722846441947565,4.382022471910113,0.5692883895131086,1.3295880149812733,5.380774032459426,4.288389513108614,1.6104868913857677,2.8901373283395753,1.16729088639201,6.554307116104869,4.6254681647940075,0.9800249687890138,1.0112359550561798,5.243445692883895,4.157303370786517,1.6604244694132335,1.1173533083645444,1.4294631710362047,6.129837702871411,3.139825218476904,1.529338327091136,4.831460674157303,3.352059925093633,3.620474406991261,4.475655430711611,6.30461922596754,2.1036204744069913,3.9013732833957557,4.275905118601748,5.3620474406991265,6.367041198501872,3.595505617977528,2.6591760299625467,3.6329588014981273,3.3957553058676653,2.097378277153558,6.048689138576779,3.8764044943820224,2.727840199750312,6.1360799001248445,2.134831460674157,3.7203495630461925,4.0761548064918856,4.382022471910113,6.01123595505618,3.951310861423221,5.998751560549313,6.367041198501872,4.413233458177278,2.746566791510612,1.2734082397003745,1.7290886392009988,6.235955056179775,3.764044943820225,2.9712858926342074,1.260923845193508,6.367041198501872,4.438202247191011,5.449438202247191,1.8539325842696628,3.9013732833957557,3.3770287141073654,5.81772784019975,0.7802746566791511,2.3158551810237205,2.1785268414481895,2.6279650436953808,5.536828963795256,1.136079900124844,5.249687890137328,4.762796504369538,4.463171036204744, +4.0761548064918856,5.543071161048689,2.5842696629213484,5.69912609238452,3.938826466916354,4.044943820224719,0.9800249687890138,3.6704119850187267,1.3233458177278403,3.233458177278402,3.9637952559300875,1.6354556803995006,0.6741573033707865,0.6679151061173533,1.9912609238451935,6.242197253433209,4.918851435705368,3.1897627965043696,2.303370786516854,1.9600499375780276,4.300873907615481,5.674157303370786,3.3083645443196006,5.9113607990012484,5.212234706616729,1.3545568039950062,1.0362047440699127,1.0112359550561798,2.203495630461923,4.406991260923846,0.5942571785268415,1.3670411985018727,5.405742821473158,4.313358302122348,1.6354556803995006,2.9151061173533086,1.198501872659176,6.616729088639201,4.65043695380774,0.9987515605493134,1.0299625468164793,5.262172284644195,4.18227215980025,1.6978776529338326,1.1485642946317103,1.4544319600499376,6.161048689138577,3.17103620474407,1.5605493133583022,4.8626716604244695,3.383270911360799,3.651685393258427,4.500624219725343,6.30461922596754,2.128589263420724,3.920099875156055,4.300873907615481,5.399500624219725,6.367041198501872,3.620474406991261,2.6779026217228465,3.651685393258427,3.4332084893882646,2.122347066167291,6.079900124843945,3.9013732833957557,2.752808988764045,6.161048689138577,2.15980024968789,3.745318352059925,4.107365792759051,4.413233458177278,6.036204744069912,3.9762796504369535,6.029962546816479,6.367041198501872,4.431960049937578,2.7840199750312107,1.2983770287141074,1.766541822721598,6.30461922596754,3.7952559300873907,3.0024968789013733,1.2796504369538078,6.367041198501872,4.463171036204744,5.480649188514358,1.8851435705368291,3.926342072409488,3.408239700374532,5.848938826466916,0.8052434456928839,2.3470661672908864,2.203495630461923,2.66541822721598,5.580524344569288,1.1735330836454432,5.280898876404494,4.787765293383271,4.4818976279650435, +4.107365792759051,5.574282147315855,2.6217228464419473,5.724094881398252,3.9637952559300875,4.063670411985019,0.9987515605493134,3.6953807740324596,1.3545568039950062,3.2521847690387014,3.982521847690387,1.6666666666666667,0.6928838951310862,0.6991260923845194,2.016229712858926,6.30461922596754,4.950062421972534,3.2209737827715355,2.328339575530587,1.978776529338327,4.332084893882647,5.705368289637952,3.3333333333333335,5.942571785268415,5.237203495630462,1.3857677902621723,1.0674157303370786,1.0362047440699127,2.2347066167290888,4.431960049937578,0.618601747815231,1.3982521847690388,5.424469413233458,4.332084893882647,1.6541822721598003,2.933832709113608,1.2359550561797754,6.616729088639201,4.675405742821473,1.017478152309613,1.0549313358302121,5.287141073657928,4.213483146067416,1.7290886392009988,1.1797752808988764,1.4856429463171037,6.192259675405743,3.202247191011236,1.5980024968789013,4.893882646691636,3.408239700374532,3.689138576779026,4.525593008739076,6.367041198501872,2.153558052434457,3.9450686641697876,4.332084893882647,5.436953807740325,6.429463171036204,3.6454431960049942,2.696629213483146,3.6766541822721597,3.464419475655431,2.1410736579275906,6.111111111111111,3.920099875156055,2.7715355805243447,6.179775280898876,2.184769038701623,3.7702871410736583,4.138576779026217,4.444444444444445,6.054931335830212,4.00749063670412,6.061173533083646,6.429463171036204,4.450686641697877,2.8152309612983775,1.3233458177278403,1.797752808988764,6.30461922596754,3.826466916354557,3.0399500624219726,1.3046192259675407,6.429463171036204,4.488139825218477,5.50561797752809,1.916354556803995,3.951310861423221,3.4456928838951315,5.880149812734083,0.8239700374531835,2.3782771535580522,2.2347066167290888,2.696629213483146,5.617977528089888,1.2047440699126093,5.312109862671661,4.812734082397004,4.506866416978776, +4.138576779026217,5.611735330836455,2.6529338327091136,5.7553058676654185,3.9887640449438204,4.0886392009987516,1.0237203495630463,3.7265917602996255,1.3795255930087391,3.2771535580524347,4.00749063670412,1.6978776529338326,0.717852684144819,0.7303370786516854,2.0411985018726595,6.30461922596754,4.9812734082397006,3.2521847690387014,2.35330836454432,2.00374531835206,4.357053682896379,5.736579275905119,3.3583021223470664,5.967540574282147,5.268414481897628,1.410736579275905,1.0986267166042447,1.0611735330836456,2.2659176029962547,4.456928838951311,0.6429463171036205,1.4294631710362047,5.449438202247191,4.357053682896379,1.6791510611735332,2.958801498127341,1.2671660424469413,6.679151061173534,4.700374531835206,1.042446941323346,1.079900124843945,5.305867665418227,4.238451935081149,1.7602996254681649,1.2047440699126093,1.5106117353308364,6.223470661672909,3.2397003745318353,1.6292134831460674,4.918851435705368,3.439450686641698,3.7203495630461925,4.55056179775281,6.367041198501872,2.1785268414481895,3.9637952559300875,4.3632958801498125,5.474406991260924,6.429463171036204,3.6766541822721597,2.715355805243446,3.6953807740324596,3.495630461922597,2.1660424469413235,6.1360799001248445,3.9450686641697876,2.7965043695380776,6.20474406991261,2.209737827715356,3.7952559300873907,4.169787765293384,4.4818976279650435,6.079900124843945,4.032459425717852,6.092384519350812,6.429463171036204,4.475655430711611,2.8464419475655434,1.348314606741573,1.8352059925093633,6.367041198501872,3.857677902621723,3.0711610486891385,1.3233458177278403,6.429463171036204,4.51310861423221,5.5305867665418225,1.9475655430711611,3.9762796504369535,3.4769038701622974,5.905118601747815,0.8489388264669163,2.4094881398252186,2.259675405742821,2.727840199750312,5.655430711610487,1.2359550561797754,5.337078651685393,4.837702871410737,4.531835205992509, +4.169787765293384,5.64294631710362,2.68414481897628,5.7802746566791505,4.013732833957553,4.1136079900124844,1.048689138576779,3.7515605493133584,1.410736579275905,3.3021223470661676,4.02621722846442,1.7228464419475658,0.7428214731585518,0.7553058676654182,2.066167290886392,6.367041198501872,5.012484394506866,3.2833957553058677,2.3782771535580522,2.0224719101123596,4.388264669163545,5.767790262172285,3.383270911360799,5.998751560549313,5.299625468164794,1.4419475655430714,1.1298377028714106,1.0861423220973783,2.2971285892634206,4.4818976279650435,0.6679151061173533,1.466916354556804,5.468164794007491,4.382022471910113,1.704119850187266,2.9837702871410734,1.3046192259675407,6.679151061173534,4.725343320848939,1.0611735330836456,1.104868913857678,5.33083645443196,4.263420724094882,1.7915106117353308,1.2359550561797754,1.5355805243445693,6.242197253433209,3.2709113607990012,1.6666666666666667,4.950062421972534,3.464419475655431,3.7578027465667914,4.581772784019975,6.429463171036204,2.1972534332084894,3.9887640449438204,4.388264669163545,5.511860174781523,6.491885143570538,3.701622971285893,2.7340823970037453,3.714107365792759,3.5268414481897628,2.184769038701623,6.167290886392011,3.9637952559300875,2.8152309612983775,6.223470661672909,2.2347066167290888,3.8202247191011236,4.200998751560549,4.51310861423221,6.104868913857677,4.057428214731585,6.123595505617978,6.429463171036204,4.49438202247191,2.8838951310861427,1.373283395755306,1.8726591760299625,6.367041198501872,3.888888888888889,3.102372034956305,1.348314606741573,6.491885143570538,4.538077403245943,5.555555555555556,1.978776529338327,4.001248439450687,3.508114856429463,5.936329588014981,0.8739076154806492,2.4406991260923845,2.2846441947565546,2.7590511860174782,5.69912609238452,1.2734082397003745,5.36828963795256,4.8626716604244695,4.556803995006242, +4.200998751560549,5.674157303370786,2.7215980024968793,5.811485642946318,4.038701622971286,4.132334581772784,1.0674157303370786,3.776529338327091,1.4419475655430714,3.320848938826467,4.044943820224719,1.7540574282147314,0.7615480649188515,0.7865168539325842,2.091136079900125,6.367041198501872,5.043695380774032,3.3146067415730336,2.4032459425717856,2.0474406991260925,4.419475655430712,5.799001248439451,3.408239700374532,6.029962546816479,5.324594257178527,1.4731585518102372,1.161048689138577,1.1111111111111112,2.328339575530587,4.506866416978776,0.6928838951310862,1.4981273408239701,5.493133583021224,4.400749063670412,1.7228464419475658,3.0087390761548067,1.3358302122347065,6.741573033707866,4.750312109862672,1.079900124843945,1.1298377028714106,5.34956304619226,4.288389513108614,1.8289637952559301,1.2671660424469413,1.5605493133583022,6.30461922596754,3.3083645443196006,1.6978776529338326,4.9812734082397006,3.495630461922597,3.7890137328339577,4.606741573033708,6.429463171036204,2.2222222222222223,4.00749063670412,4.419475655430712,5.549313358302123,6.491885143570538,3.7265917602996255,2.752808988764045,3.7390761548064915,3.5580524344569286,2.209737827715356,6.198501872659176,3.9887640449438204,2.84019975031211,6.242197253433209,2.259675405742821,3.8451935081148565,4.2322097378277155,4.544319600499376,6.123595505617978,4.0886392009987516,6.1485642946317105,6.491885143570538,4.519350811485642,2.9151061173533086,1.3982521847690388,1.9038701622971288,6.429463171036204,3.920099875156055,3.139825218476904,1.3670411985018727,6.491885143570538,4.563046192259676,5.580524344569288,2.009987515605493,4.02621722846442,3.5393258426966296,5.967540574282147,0.898876404494382,2.4656679151061174,2.3158551810237205,2.7965043695380776,5.736579275905119,1.3046192259675407,5.399500624219725,4.887640449438202,4.575530586766542, +4.2322097378277155,5.711610486891385,2.752808988764045,5.836454431960051,4.063670411985019,4.157303370786517,1.0923845193508115,3.801498127340824,1.4731585518102372,3.3458177278401995,4.069912609238452,1.7852684144818978,0.7865168539325842,0.8177278401997503,2.1161048689138577,6.429463171036204,5.074906367041199,3.3458177278401995,2.428214731585518,2.066167290886392,4.444444444444445,5.830212234706617,3.4332084893882646,6.061173533083646,5.355805243445693,1.4981273408239701,1.1922596754057428,1.136079900124844,2.3657927590511862,4.525593008739076,0.717852684144819,1.5355805243445693,5.511860174781523,4.425717852684145,1.7478152309612984,3.027465667915106,1.373283395755306,6.741573033707866,4.769038701622971,1.104868913857678,1.1548064918851435,5.3745318352059925,4.31960049937578,1.8601747815230962,1.2921348314606742,1.591760299625468,6.30461922596754,3.339575530586767,1.7290886392009988,5.012484394506866,3.5268414481897628,3.826466916354557,4.631710362047441,6.491885143570538,2.247191011235955,4.02621722846442,4.444444444444445,5.586766541822722,6.491885143570538,3.7578027465667914,2.7715355805243447,3.7578027465667914,3.589263420724095,2.2347066167290888,6.229712858926342,4.013732833957553,2.8589263420724094,6.242197253433209,2.2846441947565546,3.870162297128589,4.263420724094882,4.575530586766542,6.1485642946317105,4.1136079900124844,6.179775280898876,6.491885143570538,4.538077403245943,2.9525593008739075,1.4232209737827717,1.941323345817728,6.491885143570538,3.9450686641697876,3.17103620474407,1.3920099875156053,6.554307116104869,4.581772784019975,5.605493133583021,2.0411985018726595,4.057428214731585,3.5705368289637955,5.992509363295881,0.9238451935081149,2.4968789013732833,2.340823970037453,2.8277153558052435,5.774032459425719,1.34207240948814,5.430711610486892,4.912609238451935,4.600499375780275, +4.263420724094882,5.742821473158552,2.7840199750312107,5.867665418227216,4.0886392009987516,4.18227215980025,1.1173533083645444,3.826466916354557,1.4981273408239701,3.370786516853933,4.0886392009987516,1.8164794007490637,0.8114856429463172,0.8489388264669163,2.1410736579275906,6.429463171036204,5.106117353308365,3.3770287141073654,2.453183520599251,2.091136079900125,4.475655430711611,5.861423220973783,3.4581772784019975,6.092384519350812,5.3870162297128585,1.529338327091136,1.2172284644194757,1.161048689138577,2.397003745318352,4.55056179775281,0.7428214731585518,1.5667915106117354,5.5305867665418225,4.444444444444445,1.766541822721598,3.0524344569288386,1.404494382022472,6.803995006242197,4.794007490636704,1.1235955056179776,1.1735330836454432,5.393258426966292,4.344569288389513,1.8913857677902621,1.3233458177278403,1.616729088639201,6.367041198501872,3.370786516853933,1.766541822721598,5.0374531835206,3.5518102372034956,3.857677902621723,4.656679151061174,6.554307116104869,2.272159800249688,4.051186017478152,4.475655430711611,5.6242197253433215,6.554307116104869,3.7827715355805243,2.7965043695380776,3.776529338327091,3.620474406991261,2.253433208489388,6.242197253433209,4.032459425717852,2.8838951310861427,6.30461922596754,2.303370786516854,3.8951310861423223,4.294631710362047,4.612983770287141,6.173533083645444,4.138576779026217,6.210986267166042,6.491885143570538,4.556803995006242,2.9837702871410734,1.4481897627965044,1.9725343320848938,6.491885143570538,3.9762796504369535,3.202247191011236,1.410736579275905,6.554307116104869,4.606741573033708,5.630461922596755,2.0724094881398254,4.082397003745319,3.6017478152309614,6.023720349563047,0.9488139825218477,2.5280898876404496,2.3657927590511862,2.8589263420724094,5.811485642946318,1.373283395755306,5.461922596754057,4.943820224719102,4.6254681647940075, +4.288389513108614,5.774032459425719,2.82147315855181,5.892634207240949,4.1136079900124844,4.200998751560549,1.136079900124844,3.857677902621723,1.529338327091136,3.3895131086142323,4.1136079900124844,1.8414481897627966,0.8302122347066168,0.8801498127340824,2.1660424469413235,6.491885143570538,5.1373283395755305,3.408239700374532,2.471910112359551,2.1098626716604243,4.500624219725343,5.892634207240949,3.4769038701622974,6.123595505617978,5.418227215980025,1.5605493133583022,1.2484394506866416,1.1860174781523096,2.428214731585518,4.575530586766542,0.7677902621722846,1.5980024968789013,5.555555555555556,4.4694132334581775,1.7915106117353308,3.077403245942572,1.4419475655430714,6.803995006242197,4.818976279650437,1.1423220973782773,1.198501872659176,5.418227215980025,4.369538077403246,1.9225967540574282,1.3545568039950062,1.6416978776529338,6.367041198501872,3.408239700374532,1.797752808988764,5.068664169787765,3.5830212234706615,3.888888888888889,4.681647940074906,6.554307116104869,2.2971285892634206,4.069912609238452,4.500624219725343,5.66167290886392,6.554307116104869,3.8077403245942576,2.8152309612983775,3.801498127340824,3.651685393258427,2.278401997503121,6.30461922596754,4.057428214731585,2.902621722846442,6.30461922596754,2.328339575530587,3.920099875156055,4.325842696629214,4.644194756554308,6.198501872659176,4.169787765293384,6.242197253433209,6.554307116104869,4.581772784019975,3.0212234706616727,1.4731585518102372,2.009987515605493,6.554307116104869,4.00749063670412,3.2397003745318353,1.435705368289638,6.616729088639201,4.631710362047441,5.655430711610487,2.1036204744069913,4.107365792759051,3.639200998751561,6.054931335830212,0.9737827715355806,2.5593008739076155,2.3907615480649187,2.8963795255930087,5.855181023720349,1.410736579275905,5.493133583021224,4.9687890137328345,4.644194756554308, +4.31960049937578,5.805243445692884,2.852684144818976,5.9238451935081144,4.144818976279651,4.225967540574282,1.161048689138577,3.882646691635456,1.5605493133583022,3.4144818976279647,4.132334581772784,1.8726591760299625,0.8551810237203495,0.9051186017478152,2.1910112359550564,6.491885143570538,5.162297128589263,3.439450686641698,2.4968789013732833,2.128589263420724,4.531835205992509,5.9238451935081144,3.5018726591760303,6.154806491885144,5.443196004993759,1.585518102372035,1.2796504369538078,1.2109862671660423,2.459425717852684,4.600499375780275,0.7927590511860175,1.6354556803995006,5.574282147315855,4.488139825218477,1.8164794007490637,3.0961298377028714,1.4731585518102372,6.866416978776529,4.843945068664169,1.161048689138577,1.223470661672909,5.443196004993759,4.400749063670412,1.9600499375780276,1.3857677902621723,1.6729088639200997,6.429463171036204,3.439450686641698,1.8352059925093633,5.099875156054932,3.607990012484395,3.926342072409488,4.712858926342073,6.616729088639201,2.322097378277154,4.0886392009987516,4.531835205992509,5.69912609238452,6.616729088639201,3.8389513108614235,2.8339575530586765,3.8202247191011236,3.682896379525593,2.2971285892634206,6.30461922596754,4.0761548064918856,2.9275905118601746,6.30461922596754,2.35330836454432,3.9450686641697876,4.357053682896379,4.675405742821473,6.217228464419476,4.194756554307116,6.30461922596754,6.554307116104869,4.600499375780275,3.0524344569288386,1.4981273408239701,2.0411985018726595,6.554307116104869,4.038701622971286,3.2709113607990012,1.4544319600499376,6.616729088639201,4.656679151061174,5.68039950062422,2.134831460674157,4.132334581772784,3.6704119850187267,6.079900124843945,0.9925093632958802,2.5905118601747814,2.4219725343320846,2.9275905118601746,5.892634207240949,1.4419475655430714,5.5181023720349565,4.9937578027465666,4.66916354556804, +4.3508114856429465,5.842696629213483,2.8901373283395753,5.948813982521848,4.169787765293384,4.244694132334582,1.1860174781523096,3.9076154806491883,1.585518102372035,3.439450686641698,4.151061173533084,1.9038701622971288,0.8801498127340824,0.9363295880149812,2.209737827715356,6.554307116104869,5.19350811485643,3.470661672908864,2.521847690387016,2.153558052434457,4.563046192259676,5.955056179775282,3.5268414481897628,6.186017478152309,5.474406991260924,1.616729088639201,1.3108614232209737,1.2359550561797754,2.4906367041198503,4.6254681647940075,0.8177278401997503,1.6666666666666667,5.599250936329588,4.51310861423221,1.8352059925093633,3.1210986267166043,1.5106117353308364,6.866416978776529,4.868913857677903,1.1860174781523096,1.2484394506866416,5.461922596754057,4.425717852684145,1.9912609238451935,1.410736579275905,1.6978776529338326,6.429463171036204,3.470661672908864,1.8664169787765295,5.131086142322098,3.639200998751561,3.957553058676654,4.737827715355805,6.616729088639201,2.340823970037453,4.1136079900124844,4.556803995006242,5.736579275905119,6.616729088639201,3.8639200998751564,2.852684144818976,3.8389513108614235,3.714107365792759,2.322097378277154,6.367041198501872,4.1011235955056184,2.9463171036204745,6.367041198501872,2.3782771535580522,3.970037453183521,4.382022471910113,4.70661672908864,6.242197253433209,4.225967540574282,6.30461922596754,6.554307116104869,4.619225967540574,3.089887640449438,1.523096129837703,2.0786516853932584,6.616729088639201,4.069912609238452,3.3021223470661676,1.4794007490636705,6.679151061173534,4.681647940074906,5.705368289637952,2.1660424469413235,4.157303370786517,3.701622971285893,6.111111111111111,1.017478152309613,2.6217228464419473,2.446941323345818,2.958801498127341,5.930087390761548,1.4794007490636705,5.549313358302123,5.0187265917602994,4.694132334581773, +4.382022471910113,5.8739076154806495,2.9213483146067416,5.980024968789014,4.194756554307116,4.269662921348314,1.2047440699126093,3.9325842696629216,1.616729088639201,3.4581772784019975,4.176029962546816,1.9350811485642945,0.898876404494382,0.9675405742821472,2.2347066167290888,6.554307116104869,5.224719101123595,3.5018726591760303,2.546816479400749,2.1722846441947565,4.588014981273409,5.992509363295881,3.5518102372034956,6.217228464419476,5.50561797752809,1.647940074906367,1.34207240948814,1.260923845193508,2.521847690387016,4.65043695380774,0.8426966292134832,1.6978776529338326,5.617977528089888,4.538077403245943,1.8601747815230962,3.1460674157303368,1.5418227215980027,6.928838951310862,4.893882646691636,1.2047440699126093,1.2734082397003745,5.48689138576779,4.450686641697877,2.0224719101123596,1.4419475655430714,1.7228464419475658,6.491885143570538,3.508114856429463,1.8976279650436954,5.15605493133583,3.6641697877652937,3.9950062421972534,4.762796504369538,6.679151061173534,2.3657927590511862,4.132334581772784,4.588014981273409,5.774032459425719,6.616729088639201,3.888888888888889,2.871410736579276,3.8639200998751564,3.745318352059925,2.3470661672908864,6.367041198501872,4.1260923845193505,2.9712858926342074,6.367041198501872,2.4032459425717856,3.9950062421972534,4.413233458177278,4.7440699126092385,6.242197253433209,4.250936329588015,6.367041198501872,6.616729088639201,4.644194756554308,3.1210986267166043,1.5480649188514357,2.1161048689138577,6.679151061173534,4.1011235955056184,3.339575530586767,1.4981273408239701,6.679151061173534,4.70661672908864,5.730337078651686,2.1972534332084894,4.18227215980025,3.732833957553059,6.142322097378277,1.042446941323346,2.6529338327091136,2.471910112359551,2.9962546816479403,5.97378277153558,1.5106117353308364,5.580524344569288,5.043695380774032,4.719101123595506, +4.413233458177278,5.905118601747815,2.9525593008739075,6.004993757802747,4.219725343320849,4.294631710362047,1.229712858926342,3.957553058676654,1.647940074906367,3.4831460674157304,4.194756554307116,1.9600499375780276,0.9238451935081149,0.9987515605493134,2.259675405742821,6.616729088639201,5.2559300873907615,3.5268414481897628,2.571785268414482,2.1972534332084894,4.619225967540574,6.023720349563047,3.576779026217228,6.242197253433209,5.5305867665418225,1.6729088639200997,1.373283395755306,1.285892634207241,2.5530586766541825,4.675405742821473,0.867665418227216,1.735330836454432,5.64294631710362,4.556803995006242,1.8789013732833957,3.17103620474407,1.5792759051186018,6.928838951310862,4.918851435705368,1.223470661672909,1.2983770287141074,5.50561797752809,4.475655430711611,2.0536828963795255,1.4731585518102372,1.7540574282147314,6.491885143570538,3.5393258426966296,1.9350811485642945,5.187265917602996,3.6953807740324596,4.02621722846442,4.787765293383271,6.679151061173534,2.3907615480649187,4.151061173533084,4.612983770287141,5.811485642946318,6.679151061173534,3.920099875156055,2.8901373283395753,3.882646691635456,3.7827715355805243,2.3657927590511862,6.429463171036204,4.144818976279651,2.990012484394507,6.429463171036204,2.428214731585518,4.019975031210986,4.444444444444445,4.775280898876405,6.30461922596754,4.275905118601748,6.367041198501872,6.616729088639201,4.662921348314606,3.1585518102372037,1.5730337078651684,2.1473158551810236,6.679151061173534,4.132334581772784,3.370786516853933,1.523096129837703,6.741573033707866,4.7315855181023725,5.7553058676654185,2.2284644194756553,4.207240948813983,3.764044943820225,6.167290886392011,1.0674157303370786,2.68414481897628,2.4968789013732833,3.027465667915106,6.01123595505618,1.5418227215980027,5.611735330836455,5.068664169787765,4.737827715355805, +4.444444444444445,5.942571785268415,2.990012484394507,6.036204744069912,4.244694132334582,4.313358302122348,1.2546816479400749,3.9887640449438204,1.6791510611735332,3.508114856429463,4.219725343320849,1.9912609238451935,0.9488139825218477,1.0299625468164793,2.2846441947565546,6.616729088639201,5.287141073657928,3.5580524344569286,2.596754057428215,2.215980024968789,4.65043695380774,6.054931335830212,3.6017478152309614,6.30461922596754,5.561797752808988,1.704119850187266,1.3982521847690388,1.3108614232209737,2.5842696629213484,4.700374531835206,0.8926342072409489,1.766541822721598,5.66167290886392,4.581772784019975,1.9038701622971288,3.1897627965043696,1.6104868913857677,6.991260923845194,4.937578027465668,1.2484394506866416,1.3233458177278403,5.5305867665418225,4.506866416978776,2.091136079900125,1.4981273408239701,1.7790262172284643,6.554307116104869,3.5705368289637955,1.9662921348314608,5.218476903870163,3.7265917602996255,4.057428214731585,4.812734082397004,6.741573033707866,2.4157303370786516,4.176029962546816,4.644194756554308,5.848938826466916,6.679151061173534,3.9450686641697876,2.908863920099875,3.9013732833957557,3.81398252184769,2.3907615480649187,6.429463171036204,4.169787765293384,3.0149812734082393,6.429463171036204,2.453183520599251,4.044943820224719,4.475655430711611,4.806491885143571,6.30461922596754,4.307116104868914,6.429463171036204,6.616729088639201,4.681647940074906,3.1897627965043696,1.5980024968789013,2.184769038701623,6.741573033707866,4.16354556803995,3.4019975031210987,1.5418227215980027,6.741573033707866,4.750312109862672,5.7802746566791505,2.259675405742821,4.2322097378277155,3.801498127340824,6.198501872659176,1.0923845193508115,2.715355805243446,2.5280898876404496,3.058676654182272,6.048689138576779,1.5792759051186018,5.64294631710362,5.093632958801498,4.762796504369538, +4.475655430711611,5.97378277153558,3.0212234706616727,6.061173533083646,4.269662921348314,4.33832709113608,1.2734082397003745,4.013732833957553,1.704119850187266,3.5268414481897628,4.238451935081149,2.0224719101123596,0.9675405742821472,1.0549313358302121,2.309612983770287,6.616729088639201,5.318352059925093,3.589263420724095,2.6217228464419473,2.2409488139825218,4.675405742821473,6.086142322097379,3.6267166042446943,6.30461922596754,5.593008739076155,1.735330836454432,1.4294631710362047,1.3358302122347065,2.6154806491885143,4.725343320848939,0.9176029962546817,1.8039950062421974,5.686641697877653,4.600499375780275,1.9288389513108615,3.214731585518102,1.647940074906367,6.991260923845194,4.962546816479401,1.2671660424469413,1.34207240948814,5.549313358302123,4.531835205992509,2.122347066167291,1.529338327091136,1.8039950062421974,6.554307116104869,3.607990012484395,1.9975031210986267,5.249687890137328,3.7515605493133584,4.094881398252185,4.843945068664169,6.803995006242197,2.4406991260923845,4.194756554307116,4.675405742821473,5.8863920099875156,6.741573033707866,3.970037453183521,2.9275905118601746,3.926342072409488,3.8451935081148565,2.4094881398252186,6.491885143570538,4.188514357053683,3.033707865168539,6.429463171036204,2.478152309612984,4.069912609238452,4.506866416978776,4.837702871410737,6.367041198501872,4.332084893882647,6.429463171036204,6.679151061173534,4.70661672908864,3.227215980024969,1.6229712858926344,2.215980024968789,6.803995006242197,4.194756554307116,3.439450686641698,1.5667915106117354,6.803995006242197,4.775280898876405,5.805243445692884,2.2908863920099876,4.257178526841448,3.83270911360799,6.229712858926342,1.1173533083645444,2.746566791510612,2.5530586766541825,3.089887640449438,6.086142322097379,1.6104868913857677,5.674157303370786,5.118601747815231,4.787765293383271, +4.506866416978776,6.004993757802747,3.0524344569288386,6.092384519350812,4.294631710362047,4.3632958801498125,1.2983770287141074,4.038701622971286,1.735330836454432,3.5518102372034956,4.263420724094882,2.0474406991260925,0.9925093632958802,1.0861423220973783,2.33458177278402,6.679151061173534,5.34956304619226,3.620474406991261,2.6466916354556806,2.259675405742821,4.70661672908864,6.117353308364544,3.651685393258427,6.367041198501872,5.617977528089888,1.7602996254681649,1.4606741573033708,1.3607990012484397,2.6466916354556806,4.750312109862672,0.9425717852684146,1.8352059925093633,5.705368289637952,4.6254681647940075,1.9475655430711611,3.2397003745318353,1.6791510611735332,7.0536828963795255,4.987515605493134,1.285892634207241,1.3670411985018727,5.574282147315855,4.556803995006242,2.153558052434457,1.5605493133583022,1.8352059925093633,6.616729088639201,3.639200998751561,2.034956304619226,5.274656679151062,3.7827715355805243,4.1260923845193505,4.868913857677903,6.803995006242197,2.4656679151061174,4.213483146067416,4.700374531835206,5.9238451935081144,6.741573033707866,3.9950062421972534,2.9463171036204745,3.9450686641697876,3.8764044943820224,2.4344569288389515,6.491885143570538,4.213483146067416,3.058676654182272,6.491885143570538,2.5031210986267167,4.094881398252185,4.538077403245943,4.868913857677903,6.367041198501872,4.357053682896379,6.491885143570538,6.679151061173534,4.725343320848939,3.258426966292135,1.647940074906367,2.253433208489388,6.803995006242197,4.225967540574282,3.470661672908864,1.585518102372035,6.803995006242197,4.800249687890138,5.830212234706617,2.322097378277154,4.282147315855181,3.8639200998751564,6.242197253433209,1.136079900124844,2.777777777777778,2.578027465667915,3.1273408239700373,6.129837702871411,1.647940074906367,5.69912609238452,5.149812734082397,4.812734082397004, +4.538077403245943,6.0424469413233455,3.089887640449438,6.117353308364544,4.31960049937578,4.382022471910113,1.3233458177278403,4.063670411985019,1.766541822721598,3.576779026217228,4.282147315855181,2.0786516853932584,1.017478152309613,1.1173533083645444,2.359550561797753,6.679151061173534,5.380774032459426,3.651685393258427,2.671660424469413,2.2846441947565546,4.737827715355805,6.1485642946317105,3.6766541822721597,6.367041198501872,5.6491885143570535,1.7915106117353308,1.4918851435705367,1.3857677902621723,2.68414481897628,4.775280898876405,0.9675405742821472,1.8664169787765295,5.724094881398252,4.65043695380774,1.9725343320848938,3.2646691635455682,1.7166042446941323,7.0536828963795255,5.012484394506866,1.3046192259675407,1.3920099875156053,5.593008739076155,4.588014981273409,2.184769038701623,1.591760299625468,1.8601747815230962,6.616729088639201,3.6766541822721597,2.066167290886392,5.305867665418227,3.8077403245942576,4.16354556803995,4.893882646691636,6.866416978776529,2.4843945068664173,4.238451935081149,4.7315855181023725,5.961298377028713,6.741573033707866,4.02621722846442,2.9712858926342074,3.9637952559300875,3.9076154806491883,2.453183520599251,6.554307116104869,4.238451935081149,3.077403245942572,6.491885143570538,2.5280898876404496,4.1136079900124844,4.569288389513109,4.906367041198502,6.367041198501872,4.388264669163545,6.491885143570538,6.679151061173534,4.7440699126092385,3.2896379525593007,1.6729088639200997,2.2846441947565546,6.866416978776529,4.257178526841448,3.5018726591760303,1.6042446941323347,6.866416978776529,4.825218476903871,5.855181023720349,2.35330836454432,4.307116104868914,3.8951310861423223,6.30461922596754,1.161048689138577,2.808988764044944,2.6092384519350813,3.1585518102372037,6.167290886392011,1.6791510611735332,5.730337078651686,5.174781523096129,4.831460674157303, +4.563046192259676,6.073657927590512,3.1210986267166043,6.1485642946317105,4.344569288389513,4.406991260923846,1.348314606741573,4.0886392009987516,1.797752808988764,3.595505617977528,4.300873907615481,2.1098626716604243,1.0362047440699127,1.1485642946317103,2.3845193508114857,6.741573033707866,5.411985018726591,3.682896379525593,2.696629213483146,2.303370786516854,4.762796504369538,6.179775280898876,3.6953807740324596,6.429463171036204,5.68039950062422,1.8227215980024971,1.523096129837703,1.410736579275905,2.715355805243446,4.800249687890138,0.9925093632958802,1.9038701622971288,5.749063670411985,4.66916354556804,1.9975031210986267,3.2833957553058677,1.7478152309612984,7.116104868913857,5.0374531835206,1.3295880149812733,1.4169787765293382,5.617977528089888,4.612983770287141,2.2222222222222223,1.616729088639201,1.8851435705368291,6.679151061173534,3.7078651685393256,2.1036204744069913,5.337078651685393,3.8389513108614235,4.194756554307116,4.918851435705368,6.866416978776529,2.5093632958801497,4.257178526841448,4.7565543071161045,5.998751560549313,6.803995006242197,4.051186017478152,2.990012484394507,3.9887640449438204,3.938826466916354,2.478152309612984,6.554307116104869,4.257178526841448,3.102372034956305,6.491885143570538,2.546816479400749,4.138576779026217,4.600499375780275,4.937578027465668,6.429463171036204,4.413233458177278,6.554307116104869,6.741573033707866,4.769038701622971,3.3270911360799,1.6978776529338326,2.322097378277154,6.866416978776529,4.288389513108614,3.5393258426966296,1.6292134831460674,6.866416978776529,4.850187265917603,5.880149812734083,2.3845193508114857,4.332084893882647,3.926342072409488,6.30461922596754,1.1860174781523096,2.84019975031211,2.634207240948814,3.1897627965043696,6.20474406991261,1.7166042446941323,5.761548064918852,5.199750312109863,4.856429463171036, +4.594257178526841,6.104868913857677,3.15230961298377,6.173533083645444,4.369538077403246,4.431960049937578,1.3670411985018727,4.119850187265917,1.8227215980024971,3.620474406991261,4.325842696629214,2.1410736579275906,1.0611735330836456,1.1797752808988764,2.4094881398252186,6.741573033707866,5.443196004993759,3.714107365792759,2.7215980024968793,2.328339575530587,4.794007490636704,6.210986267166042,3.7203495630461925,6.429463171036204,5.705368289637952,1.8476903870162298,1.554307116104869,1.435705368289638,2.746566791510612,4.825218476903871,1.0112359550561798,1.9350811485642945,5.767790262172285,4.694132334581773,2.016229712858926,3.3083645443196006,1.7852684144818978,7.116104868913857,5.062421972534332,1.348314606741573,1.4419475655430714,5.636704119850187,4.637952559300874,2.253433208489388,1.647940074906367,1.916354556803995,6.679151061173534,3.7390761548064915,2.134831460674157,5.36828963795256,3.8639200998751564,4.2322097378277155,4.943820224719102,6.928838951310862,2.5343320848938826,4.282147315855181,4.787765293383271,6.036204744069912,6.803995006242197,4.0761548064918856,3.0087390761548067,4.00749063670412,3.970037453183521,2.5031210986267167,6.616729088639201,4.282147315855181,3.1210986267166043,6.554307116104869,2.571785268414482,4.16354556803995,4.631710362047441,4.9687890137328345,6.429463171036204,4.438202247191011,6.554307116104869,6.741573033707866,4.787765293383271,3.3583021223470664,1.7228464419475658,2.359550561797753,6.928838951310862,4.31960049937578,3.5705368289637955,1.647940074906367,6.928838951310862,4.875156054931336,5.905118601747815,2.4157303370786516,4.357053682896379,3.9637952559300875,6.367041198501872,1.2109862671660423,2.871410736579276,2.6591760299625467,3.227215980024969,6.242197253433209,1.7478152309612984,5.792759051186017,5.224719101123595,4.881398252184769, +4.6254681647940075,6.142322097378277,3.1897627965043696,6.20474406991261,4.394506866416979,4.450686641697877,1.3920099875156053,4.144818976279651,1.8539325842696628,3.6454431960049942,4.344569288389513,2.1660424469413235,1.079900124843945,1.2047440699126093,2.4344569288389515,6.803995006242197,5.474406991260924,3.745318352059925,2.746566791510612,2.3470661672908864,4.825218476903871,6.242197253433209,3.745318352059925,6.491885143570538,5.736579275905119,1.8789013732833957,1.5792759051186018,1.4606741573033708,2.777777777777778,4.850187265917603,1.0362047440699127,1.9662921348314608,5.792759051186017,4.712858926342073,2.0411985018726595,3.3333333333333335,1.8164794007490637,7.17852684144819,5.081148564294631,1.3670411985018727,1.466916354556804,5.66167290886392,4.662921348314606,2.2846441947565546,1.6791510611735332,1.941323345817728,6.741573033707866,3.776529338327091,2.1660424469413235,5.393258426966292,3.8951310861423223,4.263420724094882,4.9687890137328345,6.928838951310862,2.5593008739076155,4.300873907615481,4.812734082397004,6.073657927590512,6.866416978776529,4.107365792759051,3.027465667915106,4.02621722846442,4.001248439450687,2.521847690387016,6.616729088639201,4.300873907615481,3.1460674157303368,6.554307116104869,2.596754057428215,4.188514357053683,4.662921348314606,5.0,6.429463171036204,4.4694132334581775,6.616729088639201,6.741573033707866,4.812734082397004,3.3957553058676653,1.7478152309612984,2.3907615480649187,6.991260923845194,4.3508114856429465,3.6017478152309614,1.6729088639200997,6.928838951310862,4.893882646691636,5.930087390761548,2.446941323345818,4.382022471910113,3.9950062421972534,6.367041198501872,1.2359550561797754,2.902621722846442,2.68414481897628,3.258426966292135,6.30461922596754,1.7852684144818978,5.823970037453184,5.249687890137328,4.906367041198502, +4.656679151061174,6.173533083645444,3.2209737827715355,6.229712858926342,4.419475655430712,4.475655430711611,1.4169787765293382,4.169787765293384,1.8851435705368291,3.6641697877652937,4.369538077403246,2.1972534332084894,1.104868913857678,1.2359550561797754,2.459425717852684,6.803995006242197,5.50561797752809,3.776529338327091,2.7715355805243447,2.3720349563046192,4.850187265917603,6.30461922596754,3.7702871410736583,6.491885143570538,5.767790262172285,1.9101123595505618,1.6104868913857677,1.4856429463171037,2.808988764044944,4.875156054931336,1.0611735330836456,2.00374531835206,5.811485642946318,4.737827715355805,2.0599250936329585,3.3583021223470664,1.8539325842696628,7.17852684144819,5.106117353308365,1.3920099875156053,1.4856429463171037,5.686641697877653,4.694132334581773,2.3158551810237205,1.704119850187266,1.9662921348314608,6.741573033707866,3.8077403245942576,2.203495630461923,5.424469413233458,3.926342072409488,4.294631710362047,5.0,6.991260923845194,2.5842696629213484,4.31960049937578,4.843945068664169,6.111111111111111,6.866416978776529,4.132334581772784,3.046192259675406,4.051186017478152,4.032459425717852,2.546816479400749,6.679151061173534,4.325842696629214,3.1647940074906367,6.554307116104869,2.6217228464419473,4.213483146067416,4.694132334581773,5.0374531835206,6.491885143570538,4.49438202247191,6.616729088639201,6.803995006242197,4.831460674157303,3.4269662921348316,1.772784019975031,2.428214731585518,6.991260923845194,4.382022471910113,3.639200998751561,1.6916354556803994,6.991260923845194,4.918851435705368,5.955056179775282,2.478152309612984,4.406991260923846,4.02621722846442,6.429463171036204,1.260923845193508,2.933832709113608,2.715355805243446,3.2896379525593007,6.30461922596754,1.8164794007490637,5.855181023720349,5.274656679151062,4.925093632958801, +4.687890137328339,6.20474406991261,3.258426966292135,6.242197253433209,4.444444444444445,4.500624219725343,1.435705368289638,4.194756554307116,1.916354556803995,3.689138576779026,4.388264669163545,2.2284644194756553,1.1298377028714106,1.2671660424469413,2.4843945068664173,6.866416978776529,5.536828963795256,3.8077403245942576,2.7965043695380776,2.3907615480649187,4.881398252184769,6.30461922596754,3.7952559300873907,6.554307116104869,5.799001248439451,1.9350811485642945,1.6416978776529338,1.5106117353308364,2.84019975031211,4.900124843945068,1.0861423220973783,2.034956304619226,5.836454431960051,4.7565543071161045,2.084893882646692,3.3770287141073654,1.8851435705368291,7.240948813982522,5.131086142322098,1.410736579275905,1.5106117353308364,5.705368289637952,4.719101123595506,2.35330836454432,1.735330836454432,1.9975031210986267,6.803995006242197,3.8389513108614235,2.2347066167290888,5.455680399500624,3.951310861423221,4.332084893882647,5.024968789013733,7.0536828963795255,2.602996254681648,4.344569288389513,4.868913857677903,6.1485642946317105,6.866416978776529,4.157303370786517,3.0649188514357055,4.069912609238452,4.063670411985019,2.565543071161049,6.679151061173534,4.3508114856429465,3.1897627965043696,6.616729088639201,2.6466916354556806,4.238451935081149,4.725343320848939,5.068664169787765,6.491885143570538,4.519350811485642,6.679151061173534,6.803995006242197,4.850187265917603,3.464419475655431,1.797752808988764,2.459425717852684,7.0536828963795255,4.413233458177278,3.6704119850187267,1.7166042446941323,6.991260923845194,4.943820224719102,5.980024968789014,2.5093632958801497,4.431960049937578,4.057428214731585,6.429463171036204,1.285892634207241,2.965043695380774,2.740324594257179,3.3270911360799,6.367041198501872,1.8476903870162298,5.880149812734083,5.299625468164794,4.950062421972534, +4.719101123595506,6.242197253433209,3.2896379525593007,6.30461922596754,4.4694132334581775,4.519350811485642,1.4606741573033708,4.219725343320849,1.941323345817728,3.714107365792759,4.413233458177278,2.259675405742821,1.1485642946317103,1.2983770287141074,2.5093632958801497,6.866416978776529,5.568039950062421,3.8389513108614235,2.82147315855181,2.4157303370786516,4.912609238451935,6.367041198501872,3.8202247191011236,6.554307116104869,5.823970037453184,1.9662921348314608,1.6729088639200997,1.5355805243445693,2.871410736579276,4.925093632958801,1.1111111111111112,2.0724094881398254,5.855181023720349,4.781523096129837,2.1098626716604243,3.4019975031210987,1.9225967540574282,7.240948813982522,5.15605493133583,1.4294631710362047,1.5355805243445693,5.730337078651686,4.7440699126092385,2.3845193508114857,1.766541822721598,2.0224719101123596,6.803995006242197,3.8764044943820224,2.272159800249688,5.48689138576779,3.982521847690387,4.3632958801498125,5.049937578027466,7.0536828963795255,2.6279650436953808,4.3632958801498125,4.900124843945068,6.186017478152309,6.928838951310862,4.188514357053683,3.0836454431960054,4.0886392009987516,4.094881398252185,2.5905118601747814,6.741573033707866,4.369538077403246,3.2084893882646695,6.616729088639201,2.671660424469413,4.263420724094882,4.750312109862672,5.099875156054932,6.491885143570538,4.55056179775281,6.679151061173534,6.803995006242197,4.875156054931336,3.495630461922597,1.8227215980024971,2.4968789013732833,7.116104868913857,4.444444444444445,3.7078651685393256,1.735330836454432,7.0536828963795255,4.9687890137328345,6.01123595505618,2.5405742821473156,4.456928838951311,4.0886392009987516,6.491885143570538,1.3046192259675407,2.9962546816479403,2.7652933832709112,3.3583021223470664,6.429463171036204,1.8851435705368291,5.9113607990012484,5.324594257178527,4.975031210986267, +4.750312109862672,6.30461922596754,3.320848938826467,6.30461922596754,4.49438202247191,4.544319600499376,1.4856429463171037,4.250936329588015,1.9725343320848938,3.732833957553059,4.431960049937578,2.2846441947565546,1.1735330836454432,1.3295880149812733,2.5343320848938826,6.928838951310862,5.599250936329588,3.870162297128589,2.84019975031211,2.4344569288389515,4.937578027465668,6.367041198501872,3.8451935081148565,6.616729088639201,5.855181023720349,1.9975031210986267,1.704119850187266,1.5605493133583022,2.902621722846442,4.950062421972534,1.136079900124844,2.1036204744069913,5.880149812734083,4.806491885143571,2.128589263420724,3.4269662921348316,1.9600499375780276,7.303370786516854,5.181023720349563,1.4544319600499376,1.5605493133583022,5.749063670411985,4.775280898876405,2.4157303370786516,1.797752808988764,2.0474406991260925,6.866416978776529,3.9076154806491883,2.303370786516854,5.511860174781523,4.00749063670412,4.400749063670412,5.074906367041199,7.116104868913857,2.6529338327091136,4.382022471910113,4.931335830212235,6.223470661672909,6.928838951310862,4.213483146067416,3.102372034956305,4.1136079900124844,4.132334581772784,2.6092384519350813,6.741573033707866,4.394506866416979,3.227215980024969,6.616729088639201,2.696629213483146,4.288389513108614,4.781523096129837,5.131086142322098,6.554307116104869,4.575530586766542,6.741573033707866,6.866416978776529,4.893882646691636,3.533083645443196,1.8476903870162298,2.5343320848938826,7.116104868913857,4.475655430711611,3.7390761548064915,1.7602996254681649,7.0536828963795255,4.9937578027465666,6.036204744069912,2.571785268414482,4.4818976279650435,4.119850187265917,6.491885143570538,1.3295880149812733,3.027465667915106,2.790262172284644,3.3895131086142323,6.429463171036204,1.916354556803995,5.942571785268415,5.355805243445693,4.9937578027465666, +4.781523096129837,6.30461922596754,3.3583021223470664,6.367041198501872,4.519350811485642,4.563046192259676,1.5043695380774034,4.275905118601748,2.00374531835206,3.7578027465667914,4.450686641697877,2.3158551810237205,1.198501872659176,1.3545568039950062,2.5593008739076155,6.928838951310862,5.630461922596755,3.9013732833957557,2.865168539325843,2.453183520599251,4.9687890137328345,6.429463171036204,3.870162297128589,6.616729088639201,5.8863920099875156,2.0287141073657926,1.7290886392009988,1.585518102372035,2.933832709113608,4.975031210986267,1.161048689138577,2.134831460674157,5.8988764044943816,4.825218476903871,2.153558052434457,3.4456928838951315,1.9912609238451935,7.303370786516854,5.205992509363296,1.4731585518102372,1.585518102372035,5.774032459425719,4.800249687890138,2.446941323345818,1.8227215980024971,2.0786516853932584,6.866416978776529,3.938826466916354,2.33458177278402,5.543071161048689,4.038701622971286,4.431960049937578,5.099875156054932,7.116104868913857,2.6779026217228465,4.406991260923846,4.956304619225968,6.242197253433209,6.991260923845194,4.238451935081149,3.1273408239700373,4.132334581772784,4.16354556803995,2.634207240948814,6.803995006242197,4.413233458177278,3.2521847690387014,6.679151061173534,2.7215980024968793,4.313358302122348,4.812734082397004,5.168539325842697,6.554307116104869,4.606741573033708,6.741573033707866,6.866416978776529,4.912609238451935,3.564294631710362,1.8726591760299625,2.565543071161049,7.17852684144819,4.500624219725343,3.7702871410736583,1.7790262172284643,7.116104868913857,5.0187265917602994,6.061173533083646,2.602996254681648,4.506866416978776,4.157303370786517,6.491885143570538,1.3545568039950062,3.058676654182272,2.82147315855181,3.420724094881398,6.491885143570538,1.9538077403245941,5.97378277153558,5.380774032459426,5.0187265917602994, +4.806491885143571,6.367041198501872,3.3895131086142323,6.367041198501872,4.544319600499376,4.588014981273409,1.529338327091136,4.300873907615481,2.034956304619226,3.7827715355805243,4.475655430711611,2.3470661672908864,1.2172284644194757,1.3857677902621723,2.5842696629213484,6.991260923845194,5.66167290886392,3.9325842696629216,2.8901373283395753,2.478152309612984,5.0,6.429463171036204,3.8951310861423223,6.679151061173534,5.9113607990012484,2.0536828963795255,1.7602996254681649,1.6104868913857677,2.965043695380774,5.0,1.1860174781523096,2.1722846441947565,5.917602996254682,4.850187265917603,2.1722846441947565,3.470661672908864,2.0287141073657926,7.365792759051186,5.230961298377029,1.4918851435705367,1.6104868913857677,5.792759051186017,4.825218476903871,2.4843945068664173,1.8539325842696628,2.1036204744069913,6.928838951310862,3.9762796504369535,2.3720349563046192,5.574282147315855,4.063670411985019,4.4694132334581775,5.131086142322098,7.17852684144819,2.702871410736579,4.425717852684145,4.987515605493134,6.30461922596754,6.991260923845194,4.269662921348314,3.1460674157303368,4.151061173533084,4.194756554307116,2.6591760299625467,6.803995006242197,4.438202247191011,3.2709113607990012,6.679151061173534,2.746566791510612,4.33832709113608,4.843945068664169,5.199750312109863,6.616729088639201,4.631710362047441,6.803995006242197,6.866416978776529,4.937578027465668,3.6017478152309614,1.8976279650436954,2.602996254681648,7.17852684144819,4.531835205992509,3.8077403245942576,1.8039950062421974,7.116104868913857,5.043695380774032,6.086142322097379,2.634207240948814,4.531835205992509,4.188514357053683,6.554307116104869,1.3795255930087391,3.0836454431960054,2.8464419475655434,3.4581772784019975,6.491885143570538,1.9850187265917605,6.004993757802747,5.405742821473158,5.043695380774032, +4.837702871410737,6.367041198501872,3.420724094881398,6.367041198501872,4.569288389513109,4.612983770287141,1.554307116104869,4.325842696629214,2.0599250936329585,3.801498127340824,4.49438202247191,2.3720349563046192,1.2421972534332086,1.4169787765293382,2.6092384519350813,6.991260923845194,5.692883895131087,3.9637952559300875,2.9151061173533086,2.4968789013732833,5.024968789013733,6.491885143570538,3.9138576779026217,6.679151061173534,5.942571785268415,2.084893882646692,1.7915106117353308,1.6354556803995006,2.9962546816479403,5.024968789013733,1.2109862671660423,2.203495630461923,5.942571785268415,4.868913857677903,2.1972534332084894,3.495630461922597,2.0599250936329585,7.365792759051186,5.249687890137328,1.5106117353308364,1.6354556803995006,5.81772784019975,4.850187265917603,2.515605493133583,1.8851435705368291,2.128589263420724,6.928838951310862,4.00749063670412,2.4032459425717856,5.605493133583021,4.094881398252185,4.500624219725343,5.15605493133583,7.17852684144819,2.727840199750312,4.444444444444445,5.012484394506866,6.30461922596754,6.991260923845194,4.294631710362047,3.1647940074906367,4.176029962546816,4.225967540574282,2.6779026217228465,6.866416978776529,4.463171036204744,3.295880149812734,6.679151061173534,2.7715355805243447,4.3632958801498125,4.875156054931336,5.230961298377029,6.616729088639201,4.656679151061174,6.803995006242197,6.928838951310862,4.956304619225968,3.6329588014981273,1.9225967540574282,2.634207240948814,7.240948813982522,4.563046192259676,3.8389513108614235,1.8227215980024971,7.17852684144819,5.062421972534332,6.111111111111111,2.66541822721598,4.556803995006242,4.219725343320849,6.554307116104869,1.404494382022472,3.114856429463171,2.871410736579276,3.4893882646691634,6.554307116104869,2.0224719101123596,6.036204744069912,5.430711610486892,5.068664169787765, +4.868913857677903,6.429463171036204,3.4581772784019975,6.429463171036204,4.594257178526841,4.631710362047441,1.5730337078651684,4.357053682896379,2.091136079900125,3.826466916354557,4.519350811485642,2.4032459425717856,1.2671660424469413,1.4481897627965044,2.634207240948814,7.0536828963795255,5.724094881398252,3.9950062421972534,2.9400749063670415,2.521847690387016,5.056179775280899,6.491885143570538,3.938826466916354,6.741573033707866,5.97378277153558,2.1161048689138577,1.8227215980024971,1.6604244694132335,3.033707865168539,5.049937578027466,1.2359550561797754,2.2347066167290888,5.961298377028713,4.893882646691636,2.2222222222222223,3.5205992509363297,2.097378277153558,7.428214731585518,5.274656679151062,1.5355805243445693,1.6541822721598003,5.836454431960051,4.881398252184769,2.546816479400749,1.9101123595505618,2.15980024968789,6.991260923845194,4.044943820224719,2.4344569288389515,5.630461922596755,4.1260923845193505,4.531835205992509,5.181023720349563,7.240948813982522,2.746566791510612,4.4694132334581775,5.043695380774032,6.367041198501872,7.0536828963795255,4.31960049937578,3.183520599250936,4.194756554307116,4.257178526841448,2.702871410736579,6.866416978776529,4.4818976279650435,3.3146067415730336,6.741573033707866,2.790262172284644,4.388264669163545,4.906367041198502,5.262172284644195,6.616729088639201,4.687890137328339,6.803995006242197,6.928838951310862,4.975031210986267,3.6704119850187267,1.941323345817728,2.671660424469413,7.303370786516854,4.594257178526841,3.870162297128589,1.8476903870162298,7.17852684144819,5.087390761548065,6.1360799001248445,2.696629213483146,4.588014981273409,4.250936329588015,6.616729088639201,1.4294631710362047,3.1460674157303368,2.8963795255930087,3.5205992509363297,6.616729088639201,2.0536828963795255,6.061173533083646,5.455680399500624,5.087390761548065, +4.900124843945068,6.429463171036204,3.4893882646691634,6.429463171036204,4.619225967540574,4.656679151061174,1.5980024968789013,4.382022471910113,2.122347066167291,3.8451935081148565,4.538077403245943,2.4344569288389515,1.285892634207241,1.4731585518102372,2.6529338327091136,7.0536828963795255,5.7553058676654185,4.02621722846442,2.965043695380774,2.5405742821473156,5.087390761548065,6.554307116104869,3.9637952559300875,6.741573033707866,5.998751560549313,2.1410736579275906,1.8539325842696628,1.6853932584269664,3.0649188514357055,5.074906367041199,1.260923845193508,2.272159800249688,5.986267166042447,4.912609238451935,2.2409488139825218,3.5393258426966296,2.128589263420724,7.428214731585518,5.299625468164794,1.554307116104869,1.6791510611735332,5.861423220973783,4.906367041198502,2.578027465667915,1.941323345817728,2.184769038701623,6.991260923845194,4.0761548064918856,2.471910112359551,5.66167290886392,4.151061173533084,4.569288389513109,5.205992509363296,7.303370786516854,2.7715355805243447,4.488139825218477,5.068664169787765,6.429463171036204,7.0536828963795255,4.3508114856429465,3.202247191011236,4.213483146067416,4.288389513108614,2.7215980024968793,6.928838951310862,4.506866416978776,3.339575530586767,6.741573033707866,2.8152309612983775,4.413233458177278,4.937578027465668,5.299625468164794,6.679151061173534,4.712858926342073,6.866416978776529,6.928838951310862,5.0,3.701622971285893,1.9662921348314608,2.702871410736579,7.303370786516854,4.6254681647940075,3.9076154806491883,1.8664169787765295,7.240948813982522,5.1123595505617985,6.161048689138577,2.727840199750312,4.612983770287141,4.282147315855181,6.616729088639201,1.4481897627965044,3.1772784019975036,2.9275905118601746,3.5580524344569286,6.616729088639201,2.091136079900125,6.092384519350812,5.480649188514358,5.1123595505617985, +4.931335830212235,6.491885143570538,3.5205992509363297,6.491885143570538,4.644194756554308,4.681647940074906,1.6229712858926344,4.406991260923846,2.153558052434457,3.870162297128589,4.563046192259676,2.4656679151061174,1.3108614232209737,1.5043695380774034,2.6779026217228465,7.116104868913857,5.786516853932584,4.057428214731585,2.990012484394507,2.565543071161049,5.1123595505617985,6.554307116104869,3.9887640449438204,6.803995006242197,6.029962546816479,2.1722846441947565,1.8851435705368291,1.710362047440699,3.0961298377028714,5.099875156054932,1.285892634207241,2.303370786516854,6.004993757802747,4.937578027465668,2.2659176029962547,3.564294631710362,2.1660424469413235,7.49063670411985,5.324594257178527,1.5730337078651684,1.704119850187266,5.8863920099875156,4.931335830212235,2.6154806491885143,1.9725343320848938,2.209737827715356,7.0536828963795255,4.107365792759051,2.5031210986267167,5.692883895131087,4.18227215980025,4.600499375780275,5.230961298377029,7.303370786516854,2.7965043695380776,4.506866416978776,5.099875156054932,6.429463171036204,7.116104868913857,4.375780274656679,3.2209737827715355,4.238451935081149,4.31960049937578,2.746566791510612,6.928838951310862,4.525593008739076,3.3583021223470664,6.741573033707866,2.84019975031211,4.438202247191011,4.9687890137328345,5.33083645443196,6.679151061173534,4.737827715355805,6.866416978776529,6.991260923845194,5.0187265917602994,3.732833957553059,1.9912609238451935,2.740324594257179,7.365792759051186,4.656679151061174,3.938826466916354,1.8913857677902621,7.240948813982522,5.1373283395755305,6.186017478152309,2.7590511860174782,4.637952559300874,4.31960049937578,6.679151061173534,1.4731585518102372,3.2084893882646695,2.9525593008739075,3.589263420724095,6.679151061173534,2.122347066167291,6.123595505617978,5.50561797752809,5.1373283395755305, +4.962546816479401,6.491885143570538,3.5580524344569286,6.491885143570538,4.66916354556804,4.700374531835206,1.6416978776529338,4.431960049937578,2.1785268414481895,3.8951310861423223,4.581772784019975,2.4906367041198503,1.3358302122347065,1.5355805243445693,2.702871410736579,7.116104868913857,5.81772784019975,4.0886392009987516,3.0149812734082393,2.5842696629213484,5.143570536828964,6.616729088639201,4.013732833957553,6.803995006242197,6.061173533083646,2.203495630461923,1.9101123595505618,1.735330836454432,3.1273408239700373,5.118601747815231,1.3108614232209737,2.340823970037453,6.029962546816479,4.962546816479401,2.2846441947565546,3.589263420724095,2.1972534332084894,7.49063670411985,5.34956304619226,1.5980024968789013,1.7290886392009988,5.905118601747815,4.962546816479401,2.6466916354556806,2.00374531835206,2.2409488139825218,7.0536828963795255,4.144818976279651,2.5405742821473156,5.724094881398252,4.207240948813983,4.637952559300874,5.262172284644195,7.365792759051186,2.82147315855181,4.531835205992509,5.1248439450686645,6.491885143570538,7.116104868913857,4.400749063670412,3.2397003745318353,4.257178526841448,4.3508114856429465,2.7715355805243447,6.991260923845194,4.55056179775281,3.383270911360799,6.803995006242197,2.865168539325843,4.463171036204744,5.0,5.3620474406991265,6.679151061173534,4.769038701622971,6.928838951310862,6.991260923845194,5.0374531835206,3.7702871410736583,2.016229712858926,2.777777777777778,7.428214731585518,4.687890137328339,3.970037453183521,1.9101123595505618,7.303370786516854,5.162297128589263,6.210986267166042,2.790262172284644,4.662921348314606,4.3508114856429465,6.679151061173534,1.4981273408239701,3.2397003745318353,2.977528089887641,3.620474406991261,6.741573033707866,2.153558052434457,6.154806491885144,5.5305867665418225,5.162297128589263, +4.9937578027465666,6.554307116104869,3.589263420724095,6.554307116104869,4.694132334581773,4.725343320848939,1.6666666666666667,4.456928838951311,2.209737827715356,3.9138576779026217,4.600499375780275,2.521847690387016,1.3545568039950062,1.5667915106117354,2.727840199750312,7.17852684144819,5.848938826466916,4.119850187265917,3.0399500624219726,2.6092384519350813,5.174781523096129,6.616729088639201,4.038701622971286,6.866416978776529,6.086142322097379,2.2284644194756553,1.941323345817728,1.7602996254681649,3.1585518102372037,5.143570536828964,1.3358302122347065,2.3720349563046192,6.048689138576779,4.9812734082397006,2.309612983770287,3.6142322097378274,2.2347066167290888,7.553058676654182,5.3745318352059925,1.616729088639201,1.7540574282147314,5.930087390761548,4.987515605493134,2.6779026217228465,2.0287141073657926,2.2659176029962547,7.116104868913857,4.176029962546816,2.571785268414482,5.749063670411985,4.238451935081149,4.66916354556804,5.287141073657928,7.365792759051186,2.8464419475655434,4.55056179775281,5.15605493133583,6.491885143570538,7.116104868913857,4.431960049937578,3.258426966292135,4.275905118601748,4.382022471910113,2.790262172284644,6.991260923845194,4.575530586766542,3.4019975031210987,6.803995006242197,2.8901373283395753,4.488139825218477,5.031210986267166,5.393258426966292,6.741573033707866,4.794007490636704,6.928838951310862,6.991260923845194,5.062421972534332,3.801498127340824,2.0411985018726595,2.808988764044944,7.428214731585518,4.719101123595506,4.00749063670412,1.9350811485642945,7.303370786516854,5.187265917602996,6.235955056179775,2.82147315855181,4.687890137328339,4.382022471910113,6.741573033707866,1.523096129837703,3.2709113607990012,3.0087390761548067,3.6579275905118602,6.741573033707866,2.1910112359550564,6.186017478152309,5.561797752808988,5.181023720349563, +5.024968789013733,6.554307116104869,3.6267166042446943,6.554307116104869,4.719101123595506,4.750312109862672,1.6916354556803994,4.488139825218477,2.2409488139825218,3.938826466916354,4.6254681647940075,2.5530586766541825,1.3795255930087391,1.5980024968789013,2.752808988764045,7.17852684144819,5.880149812734083,4.151061173533084,3.0649188514357055,2.6279650436953808,5.199750312109863,6.679151061173534,4.063670411985019,6.866416978776529,6.117353308364544,2.259675405742821,1.9725343320848938,1.7852684144818978,3.1897627965043696,5.168539325842697,1.3607990012484397,2.4032459425717856,6.073657927590512,5.0062421972534334,2.33458177278402,3.6329588014981273,2.2659176029962547,7.553058676654182,5.393258426966292,1.6354556803995006,1.7790262172284643,5.948813982521848,5.012484394506866,2.715355805243446,2.0599250936329585,2.2908863920099876,7.116104868913857,4.207240948813983,2.602996254681648,5.7802746566791505,4.269662921348314,4.700374531835206,5.312109862671661,7.428214731585518,2.865168539325843,4.575530586766542,5.181023720349563,6.554307116104869,7.17852684144819,4.456928838951311,3.2771535580524347,4.300873907615481,4.413233458177278,2.8152309612983775,7.0536828963795255,4.594257178526841,3.4269662921348316,6.803995006242197,2.9151061173533086,4.51310861423221,5.062421972534332,5.424469413233458,6.741573033707866,4.818976279650437,6.991260923845194,7.0536828963795255,5.081148564294631,3.8389513108614235,2.066167290886392,2.8464419475655434,7.49063670411985,4.750312109862672,4.038701622971286,1.9538077403245941,7.365792759051186,5.212234706616729,6.242197253433209,2.852684144818976,4.712858926342073,4.413233458177278,6.741573033707866,1.5480649188514357,3.3021223470661676,3.033707865168539,3.689138576779026,6.803995006242197,2.2222222222222223,6.217228464419476,5.586766541822722,5.205992509363296, +5.056179775280899,6.616729088639201,3.6579275905118602,6.616729088639201,4.7440699126092385,4.769038701622971,1.710362047440699,4.51310861423221,2.272159800249688,3.9637952559300875,4.644194756554308,2.5842696629213484,1.404494382022472,1.6229712858926344,2.777777777777778,7.17852684144819,5.9113607990012484,4.18227215980025,3.089887640449438,2.6529338327091136,5.230961298377029,6.679151061173534,4.0886392009987516,6.928838951310862,6.1485642946317105,2.2908863920099876,2.00374531835206,1.8102372034956304,3.2209737827715355,5.19350811485643,1.3857677902621723,2.4406991260923845,6.092384519350812,5.024968789013733,2.35330836454432,3.6579275905118602,2.303370786516854,7.615480649188515,5.418227215980025,1.6541822721598003,1.8039950062421974,5.97378277153558,5.0374531835206,2.746566791510612,2.091136079900125,2.322097378277154,7.17852684144819,4.244694132334582,2.640449438202247,5.811485642946318,4.294631710362047,4.737827715355805,5.337078651685393,7.428214731585518,2.8901373283395753,4.594257178526841,5.212234706616729,6.616729088639201,7.17852684144819,4.4818976279650435,3.3021223470661676,4.31960049937578,4.444444444444445,2.8339575530586765,7.0536828963795255,4.619225967540574,3.4456928838951315,6.866416978776529,2.9400749063670415,4.538077403245943,5.093632958801498,5.461922596754057,6.803995006242197,4.850187265917603,6.991260923845194,7.0536828963795255,5.099875156054932,3.870162297128589,2.091136079900125,2.8776529338327093,7.49063670411985,4.781523096129837,4.069912609238452,1.9725343320848938,7.365792759051186,5.230961298377029,6.30461922596754,2.8838951310861427,4.737827715355805,4.444444444444445,6.803995006242197,1.5730337078651684,3.3333333333333335,3.058676654182272,3.7203495630461925,6.803995006242197,2.259675405742821,6.242197253433209,5.611735330836455,5.230961298377029, +5.081148564294631,6.616729088639201,3.689138576779026,6.616729088639201,4.775280898876405,4.794007490636704,1.735330836454432,4.538077403245943,2.2971285892634206,3.982521847690387,4.66916354556804,2.6092384519350813,1.4232209737827717,1.6541822721598003,2.8027465667915106,7.240948813982522,5.942571785268415,4.213483146067416,3.114856429463171,2.671660424469413,5.262172284644195,6.741573033707866,4.1136079900124844,6.928838951310862,6.179775280898876,2.3158551810237205,2.034956304619226,1.8352059925093633,3.2521847690387014,5.218476903870163,1.410736579275905,2.471910112359551,6.111111111111111,5.049937578027466,2.3782771535580522,3.682896379525593,2.33458177278402,7.615480649188515,5.443196004993759,1.6791510611735332,1.8227215980024971,5.992509363295881,5.068664169787765,2.777777777777778,2.1161048689138577,2.3470661672908864,7.17852684144819,4.275905118601748,2.671660424469413,5.842696629213483,4.325842696629214,4.769038701622971,5.3620474406991265,7.49063670411985,2.9151061173533086,4.612983770287141,5.243445692883895,6.616729088639201,7.240948813982522,4.51310861423221,3.320848938826467,4.33832709113608,4.4818976279650435,2.8589263420724094,7.116104868913857,4.637952559300874,3.470661672908864,6.866416978776529,2.965043695380774,4.563046192259676,5.118601747815231,5.493133583021224,6.803995006242197,4.875156054931336,7.0536828963795255,7.0536828963795255,5.1248439450686645,3.9076154806491883,2.1161048689138577,2.9151061173533086,7.553058676654182,4.812734082397004,4.107365792759051,1.9975031210986267,7.428214731585518,5.2559300873907615,6.30461922596754,2.9151061173533086,4.762796504369538,4.475655430711611,6.803995006242197,1.5980024968789013,3.3645443196004994,3.0836454431960054,3.7515605493133584,6.866416978776529,2.2908863920099876,6.30461922596754,5.636704119850187,5.2559300873907615, +5.1123595505617985,6.679151061173534,3.7265917602996255,6.679151061173534,4.800249687890138,4.818976279650437,1.7602996254681649,4.563046192259676,2.328339575530587,4.00749063670412,4.687890137328339,2.640449438202247,1.4481897627965044,1.6853932584269664,2.8277153558052435,7.240948813982522,5.97378277153558,4.238451935081149,3.139825218476904,2.696629213483146,5.287141073657928,6.741573033707866,4.132334581772784,6.991260923845194,6.20474406991261,2.3470661672908864,2.066167290886392,1.8601747815230962,3.2833957553058677,5.243445692883895,1.435705368289638,2.5031210986267167,6.1360799001248445,5.068664169787765,2.397003745318352,3.7078651685393256,2.3720349563046192,7.677902621722847,5.468164794007491,1.6978776529338326,1.8476903870162298,6.0174781523096135,5.093632958801498,2.808988764044944,2.1473158551810236,2.3720349563046192,7.240948813982522,4.307116104868914,2.7091136079900124,5.867665418227216,4.3508114856429465,4.806491885143571,5.393258426966292,7.553058676654182,2.9400749063670415,4.637952559300874,5.268414481897628,6.679151061173534,7.240948813982522,4.538077403245943,3.339575530586767,4.3632958801498125,4.51310861423221,2.8776529338327093,7.116104868913857,4.662921348314606,3.4893882646691634,6.866416978776529,2.990012484394507,4.588014981273409,5.149812734082397,5.524344569288389,6.803995006242197,4.900124843945068,7.0536828963795255,7.116104868913857,5.143570536828964,3.938826466916354,2.1410736579275906,2.9463171036204745,7.615480649188515,4.843945068664169,4.138576779026217,2.016229712858926,7.428214731585518,5.280898876404494,6.367041198501872,2.9463171036204745,4.787765293383271,4.51310861423221,6.866416978776529,1.616729088639201,3.3957553058676653,3.114856429463171,3.7890137328339577,6.928838951310862,2.328339575530587,6.30461922596754,5.66167290886392,5.274656679151062, +5.143570536828964,6.679151061173534,3.7578027465667914,6.679151061173534,4.825218476903871,4.837702871410737,1.7790262172284643,4.588014981273409,2.359550561797753,4.032459425717852,4.712858926342073,2.671660424469413,1.4731585518102372,1.7166042446941323,2.852684144818976,7.303370786516854,6.004993757802747,4.269662921348314,3.1647940074906367,2.715355805243446,5.318352059925093,6.803995006242197,4.157303370786517,6.991260923845194,6.235955056179775,2.3782771535580522,2.091136079900125,1.8851435705368291,3.3146067415730336,5.268414481897628,1.4606741573033708,2.5405742821473156,6.154806491885144,5.093632958801498,2.4219725343320846,3.7265917602996255,2.4032459425717856,7.677902621722847,5.493133583021224,1.7166042446941323,1.8726591760299625,6.036204744069912,5.118601747815231,2.8464419475655434,2.1785268414481895,2.4032459425717856,7.240948813982522,4.344569288389513,2.740324594257179,5.8988764044943816,4.382022471910113,4.837702871410737,5.418227215980025,7.553058676654182,2.965043695380774,4.656679151061174,5.299625468164794,6.679151061173534,7.303370786516854,4.563046192259676,3.3583021223470664,4.382022471910113,4.544319600499376,2.902621722846442,7.17852684144819,4.687890137328339,3.5143570536828963,6.928838951310862,3.0149812734082393,4.612983770287141,5.181023720349563,5.555555555555556,6.866416978776529,4.931335830212235,7.116104868913857,7.116104868913857,5.168539325842697,3.9762796504369535,2.1660424469413235,2.9837702871410734,7.615480649188515,4.875156054931336,4.169787765293384,2.0411985018726595,7.49063670411985,5.305867665418227,6.367041198501872,2.977528089887641,4.812734082397004,4.544319600499376,6.866416978776529,1.6416978776529338,3.4269662921348316,3.139825218476904,3.8202247191011236,6.928838951310862,2.359550561797753,6.367041198501872,5.686641697877653,5.299625468164794, +5.174781523096129,6.741573033707866,3.7890137328339577,6.679151061173534,4.850187265917603,4.8626716604244695,1.8039950062421974,4.619225967540574,2.3845193508114857,4.051186017478152,4.7315855181023725,2.702871410736579,1.4918851435705367,1.7478152309612984,2.8776529338327093,7.303370786516854,6.036204744069912,4.300873907615481,3.183520599250936,2.740324594257179,5.34956304619226,6.803995006242197,4.18227215980025,7.0536828963795255,6.242197253433209,2.4032459425717856,2.122347066167291,1.9101123595505618,3.3458177278401995,5.293383270911361,1.4856429463171037,2.571785268414482,6.179775280898876,5.118601747815231,2.446941323345818,3.7515605493133584,2.4406991260923845,7.740324594257178,5.5181023720349565,1.7415730337078652,1.8976279650436954,6.061173533083646,5.149812734082397,2.8776529338327093,2.209737827715356,2.428214731585518,7.303370786516854,4.375780274656679,2.7715355805243447,5.930087390761548,4.406991260923846,4.875156054931336,5.443196004993759,7.615480649188515,2.990012484394507,4.675405742821473,5.324594257178527,6.741573033707866,7.303370786516854,4.594257178526841,3.3770287141073654,4.400749063670412,4.575530586766542,2.9275905118601746,7.17852684144819,4.70661672908864,3.533083645443196,6.928838951310862,3.033707865168539,4.637952559300874,5.212234706616729,5.593008739076155,6.866416978776529,4.956304619225968,7.116104868913857,7.116104868913857,5.187265917602996,4.00749063670412,2.1910112359550564,3.0212234706616727,7.677902621722847,4.906367041198502,4.207240948813983,2.0599250936329585,7.49063670411985,5.33083645443196,6.367041198501872,3.0024968789013733,4.837702871410737,4.575530586766542,6.928838951310862,1.6666666666666667,3.4581772784019975,3.1647940074906367,3.8514357053682895,6.991260923845194,2.397003745318352,6.367041198501872,5.711610486891385,5.324594257178527, +5.205992509363296,6.803995006242197,3.826466916354557,6.741573033707866,4.875156054931336,4.887640449438202,1.8289637952559301,4.644194756554308,2.4157303370786516,4.0761548064918856,4.750312109862672,2.727840199750312,1.5168539325842696,1.772784019975031,2.902621722846442,7.365792759051186,6.067415730337078,4.332084893882647,3.2084893882646695,2.7590511860174782,5.3745318352059925,6.866416978776529,4.207240948813983,7.0536828963795255,6.30461922596754,2.4344569288389515,2.153558052434457,1.9350811485642945,3.383270911360799,5.318352059925093,1.5106117353308364,2.6092384519350813,6.198501872659176,5.1373283395755305,2.4656679151061174,3.776529338327091,2.471910112359551,7.740324594257178,5.543071161048689,1.7602996254681649,1.9225967540574282,6.079900124843945,5.174781523096129,2.908863920099875,2.2347066167290888,2.453183520599251,7.303370786516854,4.413233458177278,2.808988764044944,5.961298377028713,4.438202247191011,4.906367041198502,5.468164794007491,7.615480649188515,3.0087390761548067,4.700374531835206,5.355805243445693,6.803995006242197,7.303370786516854,4.619225967540574,3.3957553058676653,4.425717852684145,4.606741573033708,2.9463171036204745,7.240948813982522,4.7315855181023725,3.5580524344569286,6.991260923845194,3.058676654182272,4.662921348314606,5.243445692883895,5.6242197253433215,6.866416978776529,4.987515605493134,7.17852684144819,7.17852684144819,5.205992509363296,4.044943820224719,2.215980024968789,3.0524344569288386,7.740324594257178,4.937578027465668,4.238451935081149,2.084893882646692,7.553058676654182,5.355805243445693,6.429463171036204,3.033707865168539,4.8626716604244695,4.606741573033708,6.928838951310862,1.6916354556803994,3.4893882646691634,3.1897627965043696,3.888888888888889,7.0536828963795255,2.428214731585518,6.367041198501872,5.736579275905119,5.34956304619226, +5.237203495630462,6.803995006242197,3.857677902621723,6.741573033707866,4.900124843945068,4.906367041198502,1.8476903870162298,4.66916354556804,2.446941323345818,4.1011235955056184,4.775280898876405,2.7590511860174782,1.5418227215980027,1.8039950062421974,2.9275905118601746,7.365792759051186,6.092384519350812,4.3632958801498125,3.233458177278402,2.777777777777778,5.405742821473158,6.866416978776529,4.2322097378277155,7.116104868913857,6.30461922596754,2.4656679151061174,2.184769038701623,1.9600499375780276,3.4144818976279647,5.343320848938826,1.5355805243445693,2.640449438202247,6.223470661672909,5.162297128589263,2.4906367041198503,3.7952559300873907,2.5093632958801497,7.740324594257178,5.561797752808988,1.7790262172284643,1.9475655430711611,6.104868913857677,5.199750312109863,2.9400749063670415,2.2659176029962547,2.478152309612984,7.365792759051186,4.444444444444445,2.84019975031211,5.986267166042447,4.4694132334581775,4.937578027465668,5.493133583021224,7.677902621722847,3.033707865168539,4.719101123595506,5.380774032459426,6.803995006242197,7.365792759051186,4.644194756554308,3.4144818976279647,4.444444444444445,4.637952559300874,2.9712858926342074,7.240948813982522,4.750312109862672,3.576779026217228,6.991260923845194,3.0836454431960054,4.687890137328339,5.274656679151062,5.655430711610487,6.928838951310862,5.012484394506866,7.17852684144819,7.17852684144819,5.230961298377029,4.0761548064918856,2.2409488139825218,3.089887640449438,7.740324594257178,4.9687890137328345,4.269662921348314,2.1036204744069913,7.553058676654182,5.3745318352059925,6.429463171036204,3.0649188514357055,4.887640449438202,4.637952559300874,6.928838951310862,1.7166042446941323,3.5205992509363297,3.2209737827715355,3.920099875156055,7.0536828963795255,2.459425717852684,6.429463171036204,5.761548064918852,5.36828963795256, +5.268414481897628,6.866416978776529,3.888888888888889,6.803995006242197,4.925093632958801,4.931335830212235,1.8726591760299625,4.694132334581773,2.478152309612984,4.119850187265917,4.794007490636704,2.790262172284644,1.5605493133583022,1.8352059925093633,2.9525593008739075,7.428214731585518,6.123595505617978,4.394506866416979,3.258426966292135,2.8027465667915106,5.436953807740325,6.928838951310862,4.257178526841448,7.116104868913857,6.367041198501872,2.4906367041198503,2.215980024968789,1.9850187265917605,3.4456928838951315,5.36828963795256,1.5605493133583022,2.671660424469413,6.242197253433209,5.181023720349563,2.5093632958801497,3.8202247191011236,2.5405742821473156,7.8027465667915115,5.586766541822722,1.797752808988764,1.9662921348314608,6.129837702871411,5.224719101123595,2.977528089887641,2.2971285892634206,2.5093632958801497,7.365792759051186,4.475655430711611,2.871410736579276,6.0174781523096135,4.49438202247191,4.975031210986267,5.524344569288389,7.677902621722847,3.058676654182272,4.737827715355805,5.411985018726591,6.866416978776529,7.365792759051186,4.675405742821473,3.4332084893882646,4.463171036204744,4.66916354556804,2.990012484394507,7.303370786516854,4.775280898876405,3.6017478152309614,6.991260923845194,3.108614232209738,4.712858926342073,5.305867665418227,5.686641697877653,6.928838951310862,5.0374531835206,7.240948813982522,7.17852684144819,5.249687890137328,4.107365792759051,2.2659176029962547,3.1210986267166043,7.8027465667915115,5.0,4.307116104868914,2.128589263420724,7.615480649188515,5.399500624219725,6.491885143570538,3.0961298377028714,4.912609238451935,4.675405742821473,6.991260923845194,1.7415730337078652,3.5518102372034956,3.245942571785269,3.951310861423221,7.116104868913857,2.4968789013732833,6.429463171036204,5.792759051186017,5.393258426966292, +5.299625468164794,6.866416978776529,3.926342072409488,6.803995006242197,4.950062421972534,4.950062421972534,1.8976279650436954,4.719101123595506,2.5031210986267167,4.144818976279651,4.818976279650437,2.8152309612983775,1.585518102372035,1.8664169787765295,2.977528089887641,7.428214731585518,6.154806491885144,4.425717852684145,3.2833957553058677,2.82147315855181,5.461922596754057,6.928838951310862,4.282147315855181,7.17852684144819,6.367041198501872,2.521847690387016,2.2409488139825218,2.009987515605493,3.4769038701622974,5.393258426966292,1.585518102372035,2.7091136079900124,6.242197253433209,5.205992509363296,2.5343320848938826,3.8451935081148565,2.578027465667915,7.8027465667915115,5.611735330836455,1.8227215980024971,1.9912609238451935,6.1485642946317105,5.2559300873907615,3.0087390761548067,2.322097378277154,2.5343320848938826,7.428214731585518,4.51310861423221,2.908863920099875,6.048689138576779,4.525593008739076,5.0062421972534334,5.549313358302123,7.740324594257178,3.0836454431960054,4.762796504369538,5.436953807740325,6.866416978776529,7.428214731585518,4.700374531835206,3.451935081148564,4.488139825218477,4.700374531835206,3.0149812734082393,7.303370786516854,4.794007490636704,3.620474406991261,7.0536828963795255,3.1335830212234708,4.737827715355805,5.337078651685393,5.724094881398252,6.991260923845194,5.068664169787765,7.240948813982522,7.240948813982522,5.268414481897628,4.144818976279651,2.2908863920099876,3.1585518102372037,7.8027465667915115,5.031210986267166,4.33832709113608,2.1473158551810236,7.615480649188515,5.424469413233458,6.491885143570538,3.1273408239700373,4.937578027465668,4.70661672908864,6.991260923845194,1.7602996254681649,3.5830212234706615,3.2709113607990012,3.9887640449438204,7.17852684144819,2.5280898876404496,6.491885143570538,5.81772784019975,5.418227215980025, +5.324594257178527,6.928838951310862,3.957553058676654,6.866416978776529,4.975031210986267,4.975031210986267,1.916354556803995,4.750312109862672,2.5343320848938826,4.169787765293384,4.837702871410737,2.8464419475655434,1.6104868913857677,1.8976279650436954,3.0024968789013733,7.49063670411985,6.186017478152309,4.456928838951311,3.3083645443196006,2.8464419475655434,5.493133583021224,6.991260923845194,4.307116104868914,7.17852684144819,6.429463171036204,2.5530586766541825,2.272159800249688,2.034956304619226,3.508114856429463,5.418227215980025,1.6104868913857677,2.740324594257179,6.30461922596754,5.224719101123595,2.5593008739076155,3.870162297128589,2.6092384519350813,7.865168539325843,5.636704119850187,1.8414481897627966,2.016229712858926,6.173533083645444,5.280898876404494,3.0399500624219726,2.35330836454432,2.5593008739076155,7.428214731585518,4.544319600499376,2.9400749063670415,6.079900124843945,4.55056179775281,5.043695380774032,5.574282147315855,7.8027465667915115,3.108614232209738,4.781523096129837,5.468164794007491,6.928838951310862,7.428214731585518,4.725343320848939,3.4769038701622974,4.506866416978776,4.7315855181023725,3.033707865168539,7.365792759051186,4.818976279650437,3.6454431960049942,7.0536828963795255,3.1585518102372037,4.762796504369538,5.36828963795256,5.7553058676654185,6.991260923845194,5.093632958801498,7.303370786516854,7.240948813982522,5.293383270911361,4.176029962546816,2.3158551810237205,3.1960049937578026,7.865168539325843,5.062421972534332,4.375780274656679,2.1722846441947565,7.677902621722847,5.449438202247191,6.491885143570538,3.1585518102372037,4.962546816479401,4.737827715355805,7.0536828963795255,1.7852684144818978,3.6142322097378274,3.3021223470661676,4.019975031210986,7.17852684144819,2.565543071161049,6.491885143570538,5.842696629213483,5.436953807740325, +5.355805243445693,6.928838951310862,3.9887640449438204,6.866416978776529,5.0,5.0,1.941323345817728,4.775280898876405,2.565543071161049,4.188514357053683,4.856429463171036,2.8776529338327093,1.6292134831460674,1.9225967540574282,3.027465667915106,7.49063670411985,6.217228464419476,4.488139825218477,3.3333333333333335,2.865168539325843,5.524344569288389,6.991260923845194,4.332084893882647,7.240948813982522,6.429463171036204,2.578027465667915,2.303370786516854,2.0599250936329585,3.5393258426966296,5.443196004993759,1.6354556803995006,2.7715355805243447,6.30461922596754,5.249687890137328,2.578027465667915,3.888888888888889,2.6466916354556806,7.865168539325843,5.66167290886392,1.8601747815230962,2.0411985018726595,6.192259675405743,5.305867665418227,3.0711610486891385,2.3845193508114857,2.5905118601747814,7.49063670411985,4.575530586766542,2.977528089887641,6.104868913857677,4.581772784019975,5.074906367041199,5.599250936329588,7.8027465667915115,3.1335830212234708,4.800249687890138,5.493133583021224,6.991260923845194,7.428214731585518,4.750312109862672,3.495630461922597,4.525593008739076,4.762796504369538,3.058676654182272,7.365792759051186,4.843945068664169,3.6641697877652937,7.0536828963795255,3.183520599250936,4.787765293383271,5.399500624219725,5.786516853932584,6.991260923845194,5.118601747815231,7.303370786516854,7.240948813982522,5.312109862671661,4.213483146067416,2.340823970037453,3.227215980024969,7.927590511860175,5.087390761548065,4.406991260923846,2.1910112359550564,7.677902621722847,5.474406991260924,6.554307116104869,3.1897627965043696,4.987515605493134,4.769038701622971,7.0536828963795255,1.8102372034956304,3.6454431960049942,3.3270911360799,4.051186017478152,7.240948813982522,2.596754057428215,6.554307116104869,5.867665418227216,5.461922596754057, +5.3870162297128585,6.991260923845194,4.02621722846442,6.928838951310862,5.024968789013733,5.0187265917602994,1.9662921348314608,4.800249687890138,2.596754057428215,4.213483146067416,4.881398252184769,2.908863920099875,1.6541822721598003,1.9538077403245941,3.0524344569288386,7.553058676654182,6.242197253433209,4.519350811485642,3.3583021223470664,2.8901373283395753,5.549313358302123,7.0536828963795255,4.3508114856429465,7.240948813982522,6.491885143570538,2.6092384519350813,2.33458177278402,2.084893882646692,3.5705368289637955,5.468164794007491,1.6541822721598003,2.808988764044944,6.30461922596754,5.274656679151062,2.602996254681648,3.9138576779026217,2.6779026217228465,7.927590511860175,5.686641697877653,1.8851435705368291,2.066167290886392,6.217228464419476,5.337078651685393,3.108614232209738,2.4157303370786516,2.6154806491885143,7.49063670411985,4.612983770287141,3.0087390761548067,6.1360799001248445,4.606741573033708,5.1123595505617985,5.6242197253433215,7.865168539325843,3.15230961298377,4.825218476903871,5.524344569288389,6.991260923845194,7.49063670411985,4.781523096129837,3.5143570536828963,4.55056179775281,4.794007490636704,3.0836454431960054,7.428214731585518,4.8626716604244695,3.689138576779026,7.116104868913857,3.2084893882646695,4.812734082397004,5.430711610486892,5.81772784019975,7.0536828963795255,5.149812734082397,7.365792759051186,7.303370786516854,5.33083645443196,4.244694132334582,2.3657927590511862,3.2646691635455682,7.927590511860175,5.118601747815231,4.438202247191011,2.215980024968789,7.740324594257178,5.499375780274657,6.554307116104869,3.2209737827715355,5.012484394506866,4.800249687890138,7.116104868913857,1.8352059925093633,3.6766541822721597,3.352059925093633,4.082397003745319,7.240948813982522,2.634207240948814,6.554307116104869,5.892634207240949,5.48689138576779, +5.418227215980025,6.991260923845194,4.057428214731585,6.928838951310862,5.049937578027466,5.043695380774032,1.9850187265917605,4.825218476903871,2.6217228464419473,4.238451935081149,4.900124843945068,2.933832709113608,1.6791510611735332,1.9850187265917605,3.077403245942572,7.553058676654182,6.30461922596754,4.55056179775281,3.383270911360799,2.908863920099875,5.580524344569288,7.0536828963795255,4.375780274656679,7.303370786516854,6.491885143570538,2.640449438202247,2.3657927590511862,2.1098626716604243,3.6017478152309614,5.493133583021224,1.6791510611735332,2.84019975031211,6.367041198501872,5.293383270911361,2.6217228464419473,3.938826466916354,2.715355805243446,7.927590511860175,5.711610486891385,1.9038701622971288,2.091136079900125,6.235955056179775,5.3620474406991265,3.139825218476904,2.4406991260923845,2.640449438202247,7.553058676654182,4.644194756554308,3.0399500624219726,6.167290886392011,4.637952559300874,5.143570536828964,5.655430711610487,7.865168539325843,3.1772784019975036,4.843945068664169,5.555555555555556,7.0536828963795255,7.49063670411985,4.806491885143571,3.533083645443196,4.569288389513109,4.831460674157303,3.102372034956305,7.428214731585518,4.887640449438202,3.7078651685393256,7.116104868913857,3.233458177278402,4.837702871410737,5.461922596754057,5.855181023720349,7.0536828963795255,5.174781523096129,7.365792759051186,7.303370786516854,5.355805243445693,4.282147315855181,2.3907615480649187,3.295880149812734,7.990012484394507,5.149812734082397,4.475655430711611,2.2347066167290888,7.740324594257178,5.524344569288389,6.616729088639201,3.2521847690387014,5.0374531835206,4.831460674157303,7.116104868913857,1.8601747815230962,3.701622971285893,3.3770287141073654,4.119850187265917,7.303370786516854,2.66541822721598,6.616729088639201,5.917602996254682,5.511860174781523, +5.449438202247191,7.0536828963795255,4.094881398252185,6.928838951310862,5.074906367041199,5.068664169787765,2.009987515605493,4.850187265917603,2.6529338327091136,4.257178526841448,4.925093632958801,2.965043695380774,1.6978776529338326,2.016229712858926,3.102372034956305,7.615480649188515,6.30461922596754,4.581772784019975,3.408239700374532,2.933832709113608,5.611735330836455,7.116104868913857,4.400749063670412,7.303370786516854,6.554307116104869,2.66541822721598,2.397003745318352,2.134831460674157,3.6329588014981273,5.5181023720349565,1.704119850187266,2.8776529338327093,6.367041198501872,5.318352059925093,2.6466916354556806,3.9637952559300875,2.752808988764045,7.990012484394507,5.730337078651686,1.9225967540574282,2.1161048689138577,6.242197253433209,5.3870162297128585,3.17103620474407,2.471910112359551,2.671660424469413,7.553058676654182,4.675405742821473,3.077403245942572,6.198501872659176,4.66916354556804,5.174781523096129,5.68039950062422,7.927590511860175,3.202247191011236,4.868913857677903,5.580524344569288,7.0536828963795255,7.553058676654182,4.831460674157303,3.5518102372034956,4.588014981273409,4.8626716604244695,3.1273408239700373,7.428214731585518,4.906367041198502,3.732833957553059,7.116104868913857,3.258426966292135,4.8626716604244695,5.493133583021224,5.8863920099875156,7.0536828963795255,5.199750312109863,7.428214731585518,7.303370786516854,5.3745318352059925,4.313358302122348,2.4157303370786516,3.3333333333333335,7.990012484394507,5.181023720349563,4.506866416978776,2.259675405742821,7.8027465667915115,5.543071161048689,6.616729088639201,3.2833957553058677,5.062421972534332,4.868913857677903,7.17852684144819,1.8851435705368291,3.732833957553059,3.408239700374532,4.151061173533084,7.365792759051186,2.696629213483146,6.616729088639201,5.942571785268415,5.5305867665418225, +5.480649188514358,7.0536828963795255,4.1260923845193505,6.991260923845194,5.099875156054932,5.087390761548065,2.034956304619226,4.881398252184769,2.68414481897628,4.282147315855181,4.943820224719102,2.9962546816479403,1.7228464419475658,2.0474406991260925,3.1210986267166043,7.615480649188515,6.367041198501872,4.612983770287141,3.4332084893882646,2.9525593008739075,5.636704119850187,7.116104868913857,4.425717852684145,7.365792759051186,6.554307116104869,2.696629213483146,2.4219725343320846,2.15980024968789,3.6641697877652937,5.543071161048689,1.7290886392009988,2.908863920099875,6.367041198501872,5.337078651685393,2.671660424469413,3.982521847690387,2.7840199750312107,7.990012484394507,5.7553058676654185,1.9475655430711611,2.134831460674157,6.30461922596754,5.411985018726591,3.202247191011236,2.5031210986267167,2.696629213483146,7.615480649188515,4.712858926342073,3.108614232209738,6.223470661672909,4.694132334581773,5.212234706616729,5.705368289637952,7.927590511860175,3.227215980024969,4.887640449438202,5.611735330836455,7.116104868913857,7.553058676654182,4.8626716604244695,3.5705368289637955,4.612983770287141,4.893882646691636,3.1460674157303368,7.49063670411985,4.931335830212235,3.7515605493133584,7.17852684144819,3.2771535580524347,4.887640449438202,5.5181023720349565,5.917602996254682,7.116104868913857,5.230961298377029,7.428214731585518,7.365792759051186,5.393258426966292,4.3508114856429465,2.4406991260923845,3.3645443196004994,8.05243445692884,5.212234706616729,4.538077403245943,2.278401997503121,7.8027465667915115,5.568039950062421,6.616729088639201,3.3146067415730336,5.087390761548065,4.900124843945068,7.17852684144819,1.9101123595505618,3.764044943820225,3.4332084893882646,4.18227215980025,7.365792759051186,2.7340823970037453,6.679151061173534,5.967540574282147,5.555555555555556, +5.511860174781523,7.116104868913857,4.157303370786517,6.991260923845194,5.1248439450686645,5.1123595505617985,2.0536828963795255,4.906367041198502,2.715355805243446,4.307116104868914,4.9687890137328345,3.027465667915106,1.7478152309612984,2.0724094881398254,3.1460674157303368,7.677902621722847,6.367041198501872,4.644194756554308,3.4581772784019975,2.977528089887641,5.667915106117353,7.17852684144819,4.450686641697877,7.365792759051186,6.616729088639201,2.727840199750312,2.453183520599251,2.184769038701623,3.6953807740324596,5.568039950062421,1.7540574282147314,2.9400749063670415,6.429463171036204,5.3620474406991265,2.690387016229713,4.00749063670412,2.82147315855181,8.05243445692884,5.7802746566791505,1.9662921348314608,2.15980024968789,6.30461922596754,5.443196004993759,3.2397003745318353,2.5280898876404496,2.7215980024968793,7.615480649188515,4.7440699126092385,3.1460674157303368,6.242197253433209,4.725343320848939,5.243445692883895,5.730337078651686,7.990012484394507,3.2521847690387014,4.906367041198502,5.636704119850187,7.17852684144819,7.553058676654182,4.887640449438202,3.589263420724095,4.631710362047441,4.925093632958801,3.17103620474407,7.49063670411985,4.956304619225968,3.776529338327091,7.17852684144819,3.3021223470661676,4.912609238451935,5.549313358302123,5.948813982521848,7.116104868913857,5.2559300873907615,7.49063670411985,7.365792759051186,5.418227215980025,4.382022471910113,2.4656679151061174,3.4019975031210987,8.11485642946317,5.243445692883895,4.575530586766542,2.303370786516854,7.865168539325843,5.593008739076155,6.679151061173534,3.3458177278401995,5.118601747815231,4.931335830212235,7.240948813982522,1.9288389513108615,3.7952559300873907,3.4581772784019975,4.219725343320849,7.428214731585518,2.7652933832709112,6.679151061173534,5.998751560549313,5.580524344569288, +5.543071161048689,7.116104868913857,4.194756554307116,7.0536828963795255,5.149812734082397,5.1373283395755305,2.0786516853932584,4.931335830212235,2.740324594257179,4.325842696629214,4.987515605493134,3.0524344569288386,1.766541822721598,2.1036204744069913,3.17103620474407,7.677902621722847,6.429463171036204,4.675405742821473,3.4831460674157304,2.9962546816479403,5.69912609238452,7.17852684144819,4.475655430711611,7.428214731585518,6.616729088639201,2.752808988764045,2.4843945068664173,2.209737827715356,3.732833957553059,5.593008739076155,1.7790262172284643,2.977528089887641,6.429463171036204,5.380774032459426,2.715355805243446,4.032459425717852,2.852684144818976,8.05243445692884,5.805243445692884,1.9850187265917605,2.184769038701623,6.30461922596754,5.468164794007491,3.2709113607990012,2.5593008739076155,2.752808988764045,7.677902621722847,4.781523096129837,3.1772784019975036,6.30461922596754,4.750312109862672,5.280898876404494,5.7553058676654185,8.05243445692884,3.2709113607990012,4.931335830212235,5.667915106117353,7.17852684144819,7.615480649188515,4.912609238451935,3.607990012484395,4.65043695380774,4.956304619225968,3.1960049937578026,7.553058676654182,4.975031210986267,3.7952559300873907,7.17852684144819,3.3270911360799,4.937578027465668,5.580524344569288,5.980024968789014,7.17852684144819,5.280898876404494,7.49063670411985,7.365792759051186,5.436953807740325,4.419475655430712,2.4906367041198503,3.439450686641698,8.11485642946317,5.274656679151062,4.606741573033708,2.322097378277154,7.865168539325843,5.617977528089888,6.679151061173534,3.3770287141073654,5.143570536828964,4.962546816479401,7.240948813982522,1.9538077403245941,3.826466916354557,3.4831460674157304,4.250936329588015,7.49063670411985,2.8027465667915106,6.741573033707866,6.023720349563047,5.605493133583021, +5.574282147315855,7.17852684144819,4.225967540574282,7.0536828963795255,5.174781523096129,5.15605493133583,2.1036204744069913,4.956304619225968,2.7715355805243447,4.3508114856429465,5.0062421972534334,3.0836454431960054,1.7915106117353308,2.134831460674157,3.1960049937578026,7.677902621722847,6.429463171036204,4.70661672908864,3.508114856429463,3.0212234706616727,5.724094881398252,7.240948813982522,4.500624219725343,7.428214731585518,6.616729088639201,2.7840199750312107,2.515605493133583,2.2347066167290888,3.764044943820225,5.617977528089888,1.8039950062421974,3.0087390761548067,6.429463171036204,5.405742821473158,2.7340823970037453,4.051186017478152,2.8901373283395753,8.11485642946317,5.830212234706617,2.00374531835206,2.209737827715356,6.367041198501872,5.493133583021224,3.3021223470661676,2.5905118601747814,2.777777777777778,7.677902621722847,4.812734082397004,3.2084893882646695,6.30461922596754,4.781523096129837,5.312109862671661,5.786516853932584,8.05243445692884,3.295880149812734,4.950062421972534,5.692883895131087,7.240948813982522,7.615480649188515,4.943820224719102,3.6267166042446943,4.675405742821473,4.987515605493134,3.214731585518102,7.553058676654182,5.0,3.8202247191011236,7.240948813982522,3.352059925093633,4.962546816479401,5.611735330836455,6.0174781523096135,7.17852684144819,5.312109862671661,7.553058676654182,7.428214731585518,5.455680399500624,4.450686641697877,2.515605493133583,3.470661672908864,8.177278401997503,5.305867665418227,4.637952559300874,2.340823970037453,7.927590511860175,5.64294631710362,6.741573033707866,3.408239700374532,5.168539325842697,4.9937578027465666,7.303370786516854,1.978776529338327,3.857677902621723,3.5143570536828963,4.282147315855181,7.49063670411985,2.8339575530586765,6.741573033707866,6.048689138576779,5.6242197253433215, +5.599250936329588,7.17852684144819,4.257178526841448,7.116104868913857,5.199750312109863,5.181023720349563,2.122347066167291,4.987515605493134,2.8027465667915106,4.375780274656679,5.031210986267166,3.114856429463171,1.8102372034956304,2.1660424469413235,3.2209737827715355,7.740324594257178,6.491885143570538,4.737827715355805,3.5268414481897628,3.0399500624219726,5.7553058676654185,7.240948813982522,4.525593008739076,7.49063670411985,6.679151061173534,2.8152309612983775,2.546816479400749,2.259675405742821,3.7952559300873907,5.64294631710362,1.8289637952559301,3.0399500624219726,6.491885143570538,5.430711610486892,2.7590511860174782,4.0761548064918856,2.9213483146067416,8.11485642946317,5.855181023720349,2.0287141073657926,2.2347066167290888,6.367041198501872,5.524344569288389,3.3333333333333335,2.6217228464419473,2.8027465667915106,7.740324594257178,4.843945068664169,3.245942571785269,6.367041198501872,4.806491885143571,5.343320848938826,5.811485642946318,8.11485642946317,3.320848938826467,4.9687890137328345,5.724094881398252,7.240948813982522,7.677902621722847,4.9687890137328345,3.651685393258427,4.694132334581773,5.0187265917602994,3.2397003745318353,7.615480649188515,5.0187265917602994,3.8389513108614235,7.240948813982522,3.3770287141073654,4.987515605493134,5.64294631710362,6.048689138576779,7.17852684144819,5.337078651685393,7.553058676654182,7.428214731585518,5.480649188514358,4.488139825218477,2.5405742821473156,3.508114856429463,8.239700374531834,5.337078651685393,4.675405742821473,2.3657927590511862,7.927590511860175,5.667915106117353,6.741573033707866,3.439450686641698,5.19350811485643,5.031210986267166,7.303370786516854,2.00374531835206,3.888888888888889,3.5393258426966296,4.31960049937578,7.553058676654182,2.871410736579276,6.803995006242197,6.073657927590512,5.6491885143570535, +5.630461922596755,7.240948813982522,4.294631710362047,7.116104868913857,5.224719101123595,5.205992509363296,2.1473158551810236,5.012484394506866,2.8339575530586765,4.394506866416979,5.049937578027466,3.139825218476904,1.8352059925093633,2.1910112359550564,3.245942571785269,7.740324594257178,6.491885143570538,4.769038701622971,3.5518102372034956,3.0649188514357055,5.786516853932584,7.303370786516854,4.55056179775281,7.49063670411985,6.679151061173534,2.84019975031211,2.578027465667915,2.2846441947565546,3.826466916354557,5.667915106117353,1.8539325842696628,3.077403245942572,6.491885143570538,5.449438202247191,2.7840199750312107,4.1011235955056184,2.958801498127341,8.177278401997503,5.8739076154806495,2.0474406991260925,2.259675405742821,6.367041198501872,5.549313358302123,3.370786516853933,2.6466916354556806,2.8339575530586765,7.740324594257178,4.881398252184769,3.2771535580524347,6.367041198501872,4.837702871410737,5.380774032459426,5.836454431960051,8.11485642946317,3.3458177278401995,4.9937578027465666,5.749063670411985,7.303370786516854,7.677902621722847,4.9937578027465666,3.6704119850187267,4.712858926342073,5.049937578027466,3.258426966292135,7.615480649188515,5.043695380774032,3.8639200998751564,7.240948813982522,3.4019975031210987,5.012484394506866,5.674157303370786,6.079900124843945,7.240948813982522,5.3620474406991265,7.615480649188515,7.428214731585518,5.499375780274657,4.519350811485642,2.565543071161049,3.5393258426966296,8.239700374531834,5.36828963795256,4.70661672908864,2.3845193508114857,7.990012484394507,5.692883895131087,6.741573033707866,3.470661672908864,5.218476903870163,5.062421972534332,7.365792759051186,2.0287141073657926,3.920099875156055,3.564294631710362,4.3508114856429465,7.553058676654182,2.902621722846442,6.803995006242197,6.098626716604246,5.674157303370786, +5.66167290886392,7.303370786516854,4.325842696629214,7.17852684144819,5.249687890137328,5.224719101123595,2.1722846441947565,5.0374531835206,2.8589263420724094,4.419475655430712,5.074906367041199,3.17103620474407,1.8601747815230962,2.2222222222222223,3.2709113607990012,7.8027465667915115,6.554307116104869,4.800249687890138,3.576779026217228,3.0836454431960054,5.811485642946318,7.303370786516854,4.569288389513109,7.553058676654182,6.741573033707866,2.871410736579276,2.602996254681648,2.309612983770287,3.857677902621723,5.692883895131087,1.8789013732833957,3.108614232209738,6.491885143570538,5.474406991260924,2.8027465667915106,4.1260923845193505,2.990012484394507,8.177278401997503,5.8988764044943816,2.066167290886392,2.278401997503121,6.429463171036204,5.574282147315855,3.4019975031210987,2.6779026217228465,2.8589263420724094,7.8027465667915115,4.912609238451935,3.3146067415730336,6.429463171036204,4.868913857677903,5.411985018726591,5.861423220973783,8.177278401997503,3.370786516853933,5.012484394506866,5.7802746566791505,7.365792759051186,7.677902621722847,5.024968789013733,3.689138576779026,4.737827715355805,5.081148564294631,3.2833957553058677,7.677902621722847,5.068664169787765,3.882646691635456,7.303370786516854,3.4269662921348316,5.0374531835206,5.705368289637952,6.111111111111111,7.240948813982522,5.393258426966292,7.615480649188515,7.49063670411985,5.524344569288389,4.55056179775281,2.5905118601747814,3.576779026217228,8.302122347066168,5.399500624219725,4.737827715355805,2.4094881398252186,7.990012484394507,5.711610486891385,6.803995006242197,3.5018726591760303,5.243445692883895,5.093632958801498,7.365792759051186,2.0536828963795255,3.951310861423221,3.595505617977528,4.382022471910113,7.615480649188515,2.9400749063670415,6.866416978776529,6.123595505617978,5.69912609238452, +5.692883895131087,7.303370786516854,4.357053682896379,7.17852684144819,5.274656679151062,5.249687890137328,2.1910112359550564,5.062421972534332,2.8901373283395753,4.444444444444445,5.093632958801498,3.202247191011236,1.8789013732833957,2.253433208489388,3.295880149812734,7.8027465667915115,6.554307116104869,4.831460674157303,3.6017478152309614,3.102372034956305,5.842696629213483,7.365792759051186,4.594257178526841,7.553058676654182,6.741573033707866,2.902621722846442,2.634207240948814,2.33458177278402,3.888888888888889,5.711610486891385,1.9038701622971288,3.1460674157303368,6.554307116104869,5.493133583021224,2.8277153558052435,4.144818976279651,3.027465667915106,8.239700374531834,5.9238451935081144,2.091136079900125,2.303370786516854,6.429463171036204,5.599250936329588,3.4332084893882646,2.7091136079900124,2.8838951310861427,7.8027465667915115,4.943820224719102,3.3458177278401995,6.429463171036204,4.893882646691636,5.449438202247191,5.8863920099875156,8.177278401997503,3.3957553058676653,5.031210986267166,5.805243445692884,7.365792759051186,7.740324594257178,5.049937578027466,3.7078651685393256,4.7565543071161045,5.1123595505617985,3.3021223470661676,7.677902621722847,5.087390761548065,3.9076154806491883,7.303370786516854,3.451935081148564,5.062421972534332,5.736579275905119,6.1485642946317105,7.240948813982522,5.418227215980025,7.677902621722847,7.49063670411985,5.543071161048689,4.588014981273409,2.6154806491885143,3.6142322097378274,8.302122347066168,5.430711610486892,4.775280898876405,2.428214731585518,8.05243445692884,5.736579275905119,6.803995006242197,3.533083645443196,5.268414481897628,5.1248439450686645,7.365792759051186,2.0724094881398254,3.982521847690387,3.620474406991261,4.413233458177278,7.677902621722847,2.9712858926342074,6.866416978776529,6.1485642946317105,5.717852684144819, +5.724094881398252,7.365792759051186,4.394506866416979,7.240948813982522,5.299625468164794,5.274656679151062,2.215980024968789,5.087390761548065,2.9213483146067416,4.463171036204744,5.118601747815231,3.233458177278402,1.9038701622971288,2.2846441947565546,3.320848938826467,7.865168539325843,6.616729088639201,4.8626716604244695,3.6267166042446943,3.1273408239700373,5.8739076154806495,7.365792759051186,4.619225967540574,7.615480649188515,6.803995006242197,2.9275905118601746,2.66541822721598,2.359550561797753,3.920099875156055,5.736579275905119,1.9288389513108615,3.1772784019975036,6.554307116104869,5.5181023720349565,2.8464419475655434,4.169787765293384,3.058676654182272,8.239700374531834,5.948813982521848,2.1098626716604243,2.328339575530587,6.429463171036204,5.630461922596755,3.464419475655431,2.7340823970037453,2.9151061173533086,7.865168539325843,4.9812734082397006,3.3770287141073654,6.491885143570538,4.925093632958801,5.480649188514358,5.917602996254682,8.239700374531834,3.4144818976279647,5.056179775280899,5.836454431960051,7.428214731585518,7.740324594257178,5.074906367041199,3.7265917602996255,4.775280898876405,5.143570536828964,3.3270911360799,7.740324594257178,5.1123595505617985,3.926342072409488,7.303370786516854,3.4769038701622974,5.081148564294631,5.767790262172285,6.179775280898876,7.303370786516854,5.449438202247191,7.677902621722847,7.49063670411985,5.561797752808988,4.619225967540574,2.640449438202247,3.6454431960049942,8.3645443196005,5.461922596754057,4.806491885143571,2.453183520599251,8.05243445692884,5.761548064918852,6.866416978776529,3.564294631710362,5.293383270911361,5.15605493133583,7.428214731585518,2.097378277153558,4.013732833957553,3.6454431960049942,4.450686641697877,7.677902621722847,3.0024968789013733,6.928838951310862,6.173533083645444,5.742821473158552, +5.7553058676654185,7.365792759051186,4.425717852684145,7.240948813982522,5.324594257178527,5.293383270911361,2.2409488139825218,5.118601747815231,2.9525593008739075,4.488139825218477,5.1373283395755305,3.258426966292135,1.9288389513108615,2.3158551810237205,3.3458177278401995,7.865168539325843,6.616729088639201,4.893882646691636,3.651685393258427,3.1460674157303368,5.8988764044943816,7.428214731585518,4.644194756554308,7.615480649188515,6.803995006242197,2.958801498127341,2.696629213483146,2.3845193508114857,3.951310861423221,5.761548064918852,1.9538077403245941,3.2084893882646695,6.616729088639201,5.536828963795256,2.871410736579276,4.194756554307116,3.0961298377028714,8.302122347066168,5.97378277153558,2.128589263420724,2.35330836454432,6.491885143570538,5.655430711610487,3.5018726591760303,2.7652933832709112,2.9400749063670415,7.865168539325843,5.012484394506866,3.4144818976279647,6.491885143570538,4.950062421972534,5.5181023720349565,5.942571785268415,8.302122347066168,3.439450686641698,5.074906367041199,5.867665418227216,7.428214731585518,7.8027465667915115,5.106117353308365,3.745318352059925,4.800249687890138,5.181023720349563,3.352059925093633,7.740324594257178,5.131086142322098,3.951310861423221,7.365792759051186,3.5018726591760303,5.106117353308365,5.799001248439451,6.210986267166042,7.303370786516854,5.474406991260924,7.740324594257178,7.553058676654182,5.586766541822722,4.656679151061174,2.6591760299625467,3.682896379525593,8.426966292134832,5.493133583021224,4.837702871410737,2.471910112359551,8.11485642946317,5.786516853932584,6.866416978776529,3.595505617977528,5.318352059925093,5.19350811485643,7.428214731585518,2.122347066167291,4.044943820224719,3.6704119850187267,4.4818976279650435,7.740324594257178,3.0399500624219726,6.928838951310862,6.20474406991261,5.767790262172285, +5.786516853932584,7.428214731585518,4.463171036204744,7.240948813982522,5.34956304619226,5.318352059925093,2.259675405742821,5.143570536828964,2.977528089887641,4.51310861423221,5.15605493133583,3.2896379525593007,1.9475655430711611,2.340823970037453,3.370786516853933,7.927590511860175,6.679151061173534,4.925093632958801,3.6766541822721597,3.17103620474407,5.930087390761548,7.428214731585518,4.66916354556804,7.677902621722847,6.866416978776529,2.990012484394507,2.727840199750312,2.4094881398252186,3.982521847690387,5.786516853932584,1.978776529338327,3.245942571785269,6.616729088639201,5.561797752808988,2.8963795255930087,4.219725343320849,3.1273408239700373,8.302122347066168,5.998751560549313,2.1473158551810236,2.3782771535580522,6.491885143570538,5.68039950062422,3.533083645443196,2.7965043695380776,2.965043695380774,7.927590511860175,5.049937578027466,3.4456928838951315,6.491885143570538,4.9812734082397006,5.549313358302123,5.967540574282147,8.302122347066168,3.464419475655431,5.093632958801498,5.892634207240949,7.49063670411985,7.8027465667915115,5.131086142322098,3.764044943820225,4.818976279650437,5.212234706616729,3.370786516853933,7.8027465667915115,5.15605493133583,3.970037453183521,7.365792759051186,3.5205992509363297,5.131086142322098,5.830212234706617,6.242197253433209,7.365792759051186,5.499375780274657,7.740324594257178,7.553058676654182,5.605493133583021,4.687890137328339,2.68414481897628,3.714107365792759,8.426966292134832,5.524344569288389,4.875156054931336,2.4968789013732833,8.11485642946317,5.811485642946318,6.866416978776529,3.6267166042446943,5.343320848938826,5.224719101123595,7.49063670411985,2.1473158551810236,4.0761548064918856,3.701622971285893,4.51310861423221,7.8027465667915115,3.0711610486891385,6.991260923845194,6.229712858926342,5.786516853932584, +5.81772784019975,7.428214731585518,4.49438202247191,7.303370786516854,5.3745318352059925,5.337078651685393,2.2846441947565546,5.168539325842697,3.0087390761548067,4.531835205992509,5.181023720349563,3.320848938826467,1.9725343320848938,2.3720349563046192,3.3957553058676653,7.927590511860175,6.679151061173534,4.950062421972534,3.701622971285893,3.1897627965043696,5.961298377028713,7.49063670411985,4.694132334581773,7.677902621722847,6.866416978776529,3.0149812734082393,2.7590511860174782,2.4344569288389515,4.013732833957553,5.811485642946318,2.00374531835206,3.2771535580524347,6.616729088639201,5.586766541822722,2.9151061173533086,4.238451935081149,3.1647940074906367,8.3645443196005,6.023720349563047,2.1722846441947565,2.4032459425717856,6.554307116104869,5.711610486891385,3.564294631710362,2.8277153558052435,2.9962546816479403,7.927590511860175,5.081148564294631,3.4769038701622974,6.554307116104869,5.0062421972534334,5.580524344569288,5.992509363295881,8.3645443196005,3.4893882646691634,5.118601747815231,5.9238451935081144,7.553058676654182,7.8027465667915115,5.15605493133583,3.7827715355805243,4.837702871410737,5.243445692883895,3.3957553058676653,7.8027465667915115,5.181023720349563,3.9950062421972534,7.365792759051186,3.545568039950062,5.15605493133583,5.861423220973783,6.30461922596754,7.365792759051186,5.5305867665418225,7.8027465667915115,7.553058676654182,5.6242197253433215,4.725343320848939,2.7091136079900124,3.7515605493133584,8.489388264669165,5.555555555555556,4.906367041198502,2.515605493133583,8.177278401997503,5.836454431960051,6.928838951310862,3.6579275905118602,5.36828963795256,5.2559300873907615,7.49063670411985,2.1722846441947565,4.107365792759051,3.7265917602996255,4.55056179775281,7.8027465667915115,3.108614232209738,6.991260923845194,6.242197253433209,5.811485642946318, +5.842696629213483,7.49063670411985,4.525593008739076,7.303370786516854,5.405742821473158,5.3620474406991265,2.309612983770287,5.19350811485643,3.0399500624219726,4.556803995006242,5.199750312109863,3.352059925093633,1.9975031210986267,2.4032459425717856,3.420724094881398,7.990012484394507,6.741573033707866,4.9812734082397006,3.7265917602996255,3.214731585518102,5.986267166042447,7.49063670411985,4.719101123595506,7.740324594257178,6.928838951310862,3.046192259675406,2.7840199750312107,2.459425717852684,4.044943820224719,5.836454431960051,2.0287141073657926,3.3083645443196006,6.679151061173534,5.605493133583021,2.9400749063670415,4.263420724094882,3.1960049937578026,8.3645443196005,6.0424469413233455,2.1910112359550564,2.428214731585518,6.554307116104869,5.736579275905119,3.595505617977528,2.852684144818976,3.0212234706616727,7.990012484394507,5.1123595505617985,3.5143570536828963,6.554307116104869,5.0374531835206,5.617977528089888,6.0174781523096135,8.3645443196005,3.5143570536828963,5.1373283395755305,5.948813982521848,7.553058676654182,7.865168539325843,5.187265917602996,3.801498127340824,4.8626716604244695,5.274656679151062,3.4144818976279647,7.865168539325843,5.199750312109863,4.013732833957553,7.428214731585518,3.5705368289637955,5.181023720349563,5.8863920099875156,6.30461922596754,7.365792759051186,5.555555555555556,7.8027465667915115,7.615480649188515,5.6491885143570535,4.7565543071161045,2.7340823970037453,3.7827715355805243,8.551810237203496,5.586766541822722,4.937578027465668,2.5405742821473156,8.177278401997503,5.855181023720349,6.928838951310862,3.689138576779026,5.393258426966292,5.287141073657928,7.553058676654182,2.1972534332084894,4.138576779026217,3.7515605493133584,4.581772784019975,7.865168539325843,3.139825218476904,7.0536828963795255,6.30461922596754,5.836454431960051, +5.8739076154806495,7.49063670411985,4.563046192259676,7.365792759051186,5.430711610486892,5.3870162297128585,2.328339575530587,5.218476903870163,3.0711610486891385,4.581772784019975,5.224719101123595,3.3770287141073654,2.016229712858926,2.4344569288389515,3.4456928838951315,7.990012484394507,6.741573033707866,5.012484394506866,3.7515605493133584,3.233458177278402,6.0174781523096135,7.553058676654182,4.7440699126092385,7.740324594257178,6.928838951310862,3.077403245942572,2.8152309612983775,2.4843945068664173,4.082397003745319,5.861423220973783,2.0536828963795255,3.3458177278401995,6.679151061173534,5.630461922596755,2.958801498127341,4.288389513108614,3.233458177278402,8.426966292134832,6.067415730337078,2.209737827715356,2.446941323345818,6.554307116104869,5.761548064918852,3.6329588014981273,2.8838951310861427,3.046192259675406,7.990012484394507,5.149812734082397,3.545568039950062,6.616729088639201,5.068664169787765,5.6491885143570535,6.048689138576779,8.426966292134832,3.533083645443196,5.162297128589263,5.980024968789014,7.615480649188515,7.865168539325843,5.212234706616729,3.826466916354557,4.881398252184769,5.305867665418227,3.439450686641698,7.865168539325843,5.224719101123595,4.038701622971286,7.428214731585518,3.595505617977528,5.205992509363296,5.917602996254682,6.367041198501872,7.428214731585518,5.580524344569288,7.865168539325843,7.615480649188515,5.667915106117353,4.794007490636704,2.7590511860174782,3.8202247191011236,8.551810237203496,5.617977528089888,4.975031210986267,2.5593008739076155,8.239700374531834,5.880149812734083,6.991260923845194,3.7203495630461925,5.418227215980025,5.318352059925093,7.553058676654182,2.2222222222222223,4.169787765293384,3.776529338327091,4.612983770287141,7.865168539325843,3.1772784019975036,7.0536828963795255,6.30461922596754,5.861423220973783, +5.905118601747815,7.553058676654182,4.594257178526841,7.365792759051186,5.455680399500624,5.405742821473158,2.35330836454432,5.249687890137328,3.0961298377028714,4.600499375780275,5.243445692883895,3.408239700374532,2.0411985018726595,2.4656679151061174,3.470661672908864,8.05243445692884,6.803995006242197,5.043695380774032,3.776529338327091,3.258426966292135,6.048689138576779,7.553058676654182,4.769038701622971,7.8027465667915115,6.991260923845194,3.102372034956305,2.8464419475655434,2.5093632958801497,4.1136079900124844,5.8863920099875156,2.0786516853932584,3.3770287141073654,6.679151061173534,5.6491885143570535,2.9837702871410734,4.313358302122348,3.2646691635455682,8.426966292134832,6.092384519350812,2.2347066167290888,2.471910112359551,6.616729088639201,5.786516853932584,3.6641697877652937,2.9151061173533086,3.077403245942572,8.05243445692884,5.181023720349563,3.5830212234706615,6.616729088639201,5.093632958801498,5.686641697877653,6.073657927590512,8.426966292134832,3.5580524344569286,5.181023720349563,6.004993757802747,7.615480649188515,7.927590511860175,5.237203495630462,3.8451935081148565,4.900124843945068,5.337078651685393,3.464419475655431,7.927590511860175,5.243445692883895,4.057428214731585,7.428214731585518,3.620474406991261,5.230961298377029,5.948813982521848,6.367041198501872,7.428214731585518,5.611735330836455,7.865168539325843,7.615480649188515,5.686641697877653,4.825218476903871,2.7840199750312107,3.857677902621723,8.614232209737828,5.64294631710362,5.0062421972534334,2.5842696629213484,8.239700374531834,5.905118601747815,6.991260923845194,3.7515605493133584,5.443196004993759,5.34956304619226,7.615480649188515,2.2409488139825218,4.200998751560549,3.8077403245942576,4.65043695380774,7.927590511860175,3.2084893882646695,7.116104868913857,6.30461922596754,5.880149812734083, +5.936329588014981,7.553058676654182,4.6254681647940075,7.428214731585518,5.480649188514358,5.430711610486892,2.3782771535580522,5.274656679151062,3.1273408239700373,4.6254681647940075,5.268414481897628,3.439450686641698,2.066167290886392,2.4906367041198503,3.495630461922597,8.05243445692884,6.803995006242197,5.074906367041199,3.801498127340824,3.2771535580524347,6.073657927590512,7.615480649188515,4.787765293383271,7.8027465667915115,6.991260923845194,3.1335830212234708,2.8776529338327093,2.5343320848938826,4.144818976279651,5.9113607990012484,2.1036204744069913,3.4144818976279647,6.741573033707866,5.674157303370786,3.0087390761548067,4.332084893882647,3.3021223470661676,8.489388264669165,6.117353308364544,2.253433208489388,2.4968789013732833,6.616729088639201,5.81772784019975,3.6953807740324596,2.9400749063670415,3.102372034956305,8.05243445692884,5.212234706616729,3.6142322097378274,6.679151061173534,5.1248439450686645,5.717852684144819,6.098626716604246,8.489388264669165,3.5830212234706615,5.199750312109863,6.036204744069912,7.677902621722847,7.927590511860175,5.268414481897628,3.8639200998751564,4.925093632958801,5.36828963795256,3.4831460674157304,7.927590511860175,5.268414481897628,4.082397003745319,7.49063670411985,3.6454431960049942,5.2559300873907615,5.980024968789014,6.429463171036204,7.428214731585518,5.636704119850187,7.927590511860175,7.677902621722847,5.711610486891385,4.8626716604244695,2.808988764044944,3.888888888888889,8.614232209737828,5.674157303370786,5.043695380774032,2.602996254681648,8.302122347066168,5.930087390761548,6.991260923845194,3.7827715355805243,5.468164794007491,5.3870162297128585,7.615480649188515,2.2659176029962547,4.2322097378277155,3.83270911360799,4.681647940074906,7.990012484394507,3.245942571785269,7.116104868913857,6.367041198501872,5.905118601747815, +5.967540574282147,7.615480649188515,4.662921348314606,7.428214731585518,5.50561797752809,5.455680399500624,2.397003745318352,5.299625468164794,3.1585518102372037,4.65043695380774,5.287141073657928,3.464419475655431,2.084893882646692,2.521847690387016,3.5205992509363297,8.11485642946317,6.866416978776529,5.106117353308365,3.826466916354557,3.3021223470661676,6.104868913857677,7.615480649188515,4.812734082397004,7.8027465667915115,7.0536828963795255,3.1647940074906367,2.908863920099875,2.5593008739076155,4.176029962546816,5.936329588014981,2.128589263420724,3.4456928838951315,6.741573033707866,5.692883895131087,3.027465667915106,4.357053682896379,3.3333333333333335,8.489388264669165,6.142322097378277,2.272159800249688,2.521847690387016,6.616729088639201,5.842696629213483,3.732833957553059,2.9712858926342074,3.1273408239700373,8.11485642946317,5.249687890137328,3.6454431960049942,6.679151061173534,5.149812734082397,5.7553058676654185,6.123595505617978,8.551810237203496,3.607990012484395,5.224719101123595,6.061173533083646,7.740324594257178,7.927590511860175,5.293383270911361,3.882646691635456,4.943820224719102,5.399500624219725,3.508114856429463,7.990012484394507,5.293383270911361,4.1011235955056184,7.49063670411985,3.6704119850187267,5.280898876404494,6.01123595505618,6.429463171036204,7.49063670411985,5.66167290886392,7.927590511860175,7.677902621722847,5.730337078651686,4.893882646691636,2.8339575530586765,3.926342072409488,8.67665418227216,5.705368289637952,5.074906367041199,2.6279650436953808,8.302122347066168,5.955056179775282,7.0536828963795255,3.81398252184769,5.493133583021224,5.418227215980025,7.677902621722847,2.2908863920099876,4.263420724094882,3.857677902621723,4.712858926342073,7.990012484394507,3.2771535580524347,7.17852684144819,6.367041198501872,5.930087390761548, +5.998751560549313,7.615480649188515,4.694132334581773,7.49063670411985,5.5305867665418225,5.474406991260924,2.4219725343320846,5.324594257178527,3.183520599250936,4.66916354556804,5.305867665418227,3.495630461922597,2.1098626716604243,2.5530586766541825,3.545568039950062,8.11485642946317,6.866416978776529,5.1373283395755305,3.8514357053682895,3.320848938826467,6.1360799001248445,7.677902621722847,4.837702871410737,7.865168539325843,7.0536828963795255,3.1897627965043696,2.933832709113608,2.5842696629213484,4.207240948813983,5.961298377028713,2.153558052434457,3.4769038701622974,6.741573033707866,5.717852684144819,3.0524344569288386,4.382022471910113,3.370786516853933,8.551810237203496,6.167290886392011,2.2908863920099876,2.546816479400749,6.679151061173534,5.867665418227216,3.764044943820225,3.0024968789013733,3.1585518102372037,8.11485642946317,5.280898876404494,3.682896379525593,6.741573033707866,5.181023720349563,5.786516853932584,6.1485642946317105,8.551810237203496,3.6329588014981273,5.243445692883895,6.092384519350812,7.740324594257178,7.990012484394507,5.318352059925093,3.9013732833957557,4.962546816479401,5.430711610486892,3.5268414481897628,7.990012484394507,5.312109862671661,4.1260923845193505,7.553058676654182,3.6953807740324596,5.305867665418227,6.0424469413233455,6.491885143570538,7.49063670411985,5.692883895131087,7.990012484394507,7.677902621722847,5.749063670411985,4.931335830212235,2.8589263420724094,3.957553058676654,8.739076154806492,5.736579275905119,5.106117353308365,2.6466916354556806,8.3645443196005,5.980024968789014,7.0536828963795255,3.8451935081148565,5.5181023720349565,5.449438202247191,7.677902621722847,2.3158551810237205,4.294631710362047,3.888888888888889,4.7440699126092385,8.05243445692884,3.3083645443196006,7.17852684144819,6.429463171036204,5.955056179775282, +6.029962546816479,7.677902621722847,4.725343320848939,7.49063670411985,5.555555555555556,5.499375780274657,2.446941323345818,5.34956304619226,3.214731585518102,4.694132334581773,5.33083645443196,3.5268414481897628,2.134831460674157,2.5842696629213484,3.5705368289637955,8.177278401997503,6.928838951310862,5.168539325842697,3.870162297128589,3.3458177278401995,6.161048689138577,7.677902621722847,4.8626716604244695,7.865168539325843,7.0536828963795255,3.2209737827715355,2.965043695380774,2.6092384519350813,4.238451935081149,5.986267166042447,2.1785268414481895,3.5143570536828963,6.803995006242197,5.742821473158552,3.0711610486891385,4.400749063670412,3.4019975031210987,8.551810237203496,6.186017478152309,2.3158551810237205,2.571785268414482,6.679151061173534,5.8988764044943816,3.7952559300873907,3.033707865168539,3.183520599250936,8.177278401997503,5.312109862671661,3.714107365792759,6.741573033707866,5.212234706616729,5.81772784019975,6.179775280898876,8.614232209737828,3.6579275905118602,5.262172284644195,6.117353308364544,7.8027465667915115,7.990012484394507,5.34956304619226,3.920099875156055,4.987515605493134,5.461922596754057,3.5518102372034956,8.05243445692884,5.337078651685393,4.144818976279651,7.553058676654182,3.7203495630461925,5.33083645443196,6.073657927590512,6.491885143570538,7.553058676654182,5.717852684144819,7.990012484394507,7.740324594257178,5.774032459425719,4.962546816479401,2.8838951310861427,3.9950062421972534,8.739076154806492,5.767790262172285,5.143570536828964,2.671660424469413,8.3645443196005,6.004993757802747,7.116104868913857,3.8764044943820224,5.543071161048689,5.480649188514358,7.740324594257178,2.340823970037453,4.31960049937578,3.9138576779026217,4.781523096129837,8.11485642946317,3.3458177278401995,7.240948813982522,6.429463171036204,5.97378277153558, +6.061173533083646,7.677902621722847,4.762796504369538,7.49063670411985,5.580524344569288,5.524344569288389,2.4656679151061174,5.380774032459426,3.245942571785269,4.719101123595506,5.34956304619226,3.5580524344569286,2.153558052434457,2.6154806491885143,3.589263420724095,8.177278401997503,6.928838951310862,5.199750312109863,3.8951310861423223,3.3645443196004994,6.192259675405743,7.740324594257178,4.887640449438202,7.927590511860175,7.116104868913857,3.2521847690387014,2.9962546816479403,2.634207240948814,4.269662921348314,6.01123595505618,2.203495630461923,3.545568039950062,6.803995006242197,5.761548064918852,3.0961298377028714,4.425717852684145,3.439450686641698,8.614232209737828,6.210986267166042,2.33458177278402,2.596754057428215,6.679151061173534,5.9238451935081144,3.826466916354557,3.058676654182272,3.2084893882646695,8.177278401997503,5.34956304619226,3.7515605493133584,6.803995006242197,5.237203495630462,5.855181023720349,6.20474406991261,8.614232209737828,3.6766541822721597,5.287141073657928,6.1485642946317105,7.8027465667915115,8.05243445692884,5.3745318352059925,3.938826466916354,5.0062421972534334,5.493133583021224,3.5705368289637955,8.05243445692884,5.355805243445693,4.169787765293384,7.553058676654182,3.745318352059925,5.355805243445693,6.104868913857677,6.554307116104869,7.553058676654182,5.742821473158552,8.05243445692884,7.740324594257178,5.792759051186017,4.9937578027465666,2.908863920099875,4.02621722846442,8.801498127340825,5.799001248439451,5.174781523096129,2.690387016229713,8.426966292134832,6.023720349563047,7.116104868913857,3.9076154806491883,5.568039950062421,5.511860174781523,7.740324594257178,2.3657927590511862,4.3508114856429465,3.938826466916354,4.812734082397004,8.11485642946317,3.3770287141073654,7.240948813982522,6.429463171036204,5.998751560549313, +6.086142322097379,7.740324594257178,4.794007490636704,7.553058676654182,5.605493133583021,5.543071161048689,2.4906367041198503,5.405742821473158,3.2771535580524347,4.737827715355805,5.3745318352059925,3.5830212234706615,2.1785268414481895,2.640449438202247,3.6142322097378274,8.177278401997503,,,3.920099875156055,3.3895131086142323,6.223470661672909,7.740324594257178,4.912609238451935,7.927590511860175,7.116104868913857,3.2771535580524347,3.027465667915106,2.6591760299625467,4.300873907615481,6.036204744069912,2.2284644194756553,3.576779026217228,6.803995006242197,5.786516853932584,3.1210986267166043,4.450686641697877,3.470661672908864,8.614232209737828,6.235955056179775,2.35330836454432,2.6154806491885143,6.741573033707866,5.948813982521848,3.8639200998751564,3.089887640449438,3.2397003745318353,8.239700374531834,,3.7827715355805243,6.803995006242197,5.268414481897628,5.8863920099875156,,8.67665418227216,3.701622971285893,5.305867665418227,6.179775280898876,,8.05243445692884,5.399500624219725,3.957553058676654,5.024968789013733,5.5305867665418225,3.595505617977528,8.11485642946317,5.380774032459426,4.188514357053683,7.615480649188515,3.764044943820225,5.380774032459426,6.1360799001248445,6.554307116104869,7.553058676654182,5.774032459425719,8.05243445692884,7.740324594257178,5.811485642946318,5.031210986267166,2.933832709113608,4.063670411985019,,5.830212234706617,5.205992509363296,2.7091136079900124,,6.048689138576779,7.116104868913857,3.938826466916354,5.593008739076155,5.549313358302123,,2.3907615480649187,4.382022471910113,3.9637952559300875,4.843945068664169,,3.4144818976279647,7.240948813982522,6.491885143570538,6.023720349563047, +6.117353308364544,7.8027465667915115,4.831460674157303,7.553058676654182,5.630461922596755,5.568039950062421,2.515605493133583,5.430711610486892,3.3021223470661676,4.762796504369538,5.393258426966292,3.6142322097378274,2.203495630461923,2.671660424469413,3.639200998751561,8.239700374531834,,,3.9450686641697876,3.408239700374532,6.242197253433209,7.8027465667915115,4.937578027465668,7.990012484394507,7.17852684144819,3.3083645443196006,3.058676654182272,2.68414481897628,4.332084893882647,6.061173533083646,2.253433208489388,3.6142322097378274,6.866416978776529,5.805243445692884,3.139825218476904,4.475655430711611,3.508114856429463,8.67665418227216,6.242197253433209,2.3782771535580522,2.640449438202247,6.741573033707866,5.97378277153558,3.8951310861423223,3.1210986267166043,3.2646691635455682,8.239700374531834,,3.81398252184769,6.866416978776529,5.293383270911361,5.9238451935081144,,8.67665418227216,,5.324594257178527,6.20474406991261,,8.05243445692884,5.430711610486892,3.9762796504369535,5.049937578027466,5.561797752808988,3.620474406991261,8.11485642946317,5.405742821473158,4.213483146067416,7.615480649188515,3.7890137328339577,5.405742821473158,6.167290886392011,6.616729088639201,7.615480649188515,5.799001248439451,8.11485642946317,7.8027465667915115,5.836454431960051,5.062421972534332,,4.1011235955056184,,5.861423220973783,5.243445692883895,2.7340823970037453,,6.073657927590512,7.17852684144819,3.970037453183521,5.617977528089888,5.580524344569288,,2.4094881398252186,4.413233458177278,3.9950062421972534,4.881398252184769,,3.4456928838951315,7.303370786516854,6.491885143570538,6.048689138576779, +6.1485642946317105,7.8027465667915115,4.8626716604244695,7.615480649188515,5.655430711610487,5.593008739076155,2.5343320848938826,5.455680399500624,3.3333333333333335,4.787765293383271,5.418227215980025,3.6454431960049942,2.2222222222222223,2.702871410736579,3.6641697877652937,8.239700374531834,,,3.970037453183521,3.4269662921348316,6.30461922596754,7.8027465667915115,4.962546816479401,7.990012484394507,7.17852684144819,3.339575530586767,3.089887640449438,2.7091136079900124,4.3632958801498125,6.086142322097379,2.272159800249688,3.6454431960049942,6.866416978776529,5.830212234706617,3.1647940074906367,4.49438202247191,3.545568039950062,8.67665418227216,6.30461922596754,2.397003745318352,2.66541822721598,6.741573033707866,6.004993757802747,3.926342072409488,3.1460674157303368,3.2896379525593007,8.302122347066168,,,6.866416978776529,5.324594257178527,5.955056179775282,,8.739076154806492,,5.34956304619226,6.235955056179775,,8.11485642946317,5.455680399500624,4.001248439450687,5.068664169787765,5.593008739076155,3.639200998751561,8.177278401997503,5.424469413233458,4.2322097378277155,7.615480649188515,3.81398252184769,5.430711610486892,6.198501872659176,6.616729088639201,7.615480649188515,5.830212234706617,8.11485642946317,7.8027465667915115,5.855181023720349,5.099875156054932,,4.132334581772784,,5.892634207240949,5.274656679151062,2.752808988764045,,6.098626716604246,7.17852684144819,4.001248439450687,5.6491885143570535,5.611735330836455,,2.4344569288389515,4.444444444444445,4.019975031210986,4.912609238451935,,3.4831460674157304,7.303370786516854,6.554307116104869,6.067415730337078, +,7.865168539325843,4.893882646691636,,5.68039950062422,5.611735330836455,2.5593008739076155,,3.3645443196004994,4.806491885143571,5.436953807740325,3.6766541822721597,2.247191011235955,2.7340823970037453,3.689138576779026,8.302122347066168,,,3.9950062421972534,3.451935081148564,6.30461922596754,7.865168539325843,4.987515605493134,8.05243445692884,7.240948813982522,3.3645443196004994,3.114856429463171,2.7340823970037453,4.400749063670412,6.111111111111111,2.2971285892634206,3.682896379525593,6.866416978776529,5.848938826466916,3.183520599250936,4.519350811485642,3.576779026217228,8.739076154806492,6.30461922596754,2.4157303370786516,2.690387016229713,6.803995006242197,6.029962546816479,3.957553058676654,3.1772784019975036,3.3146067415730336,8.302122347066168,,,6.928838951310862,5.34956304619226,5.986267166042447,,8.801498127340825,,5.36828963795256,6.242197253433209,,8.11485642946317,5.480649188514358,4.019975031210986,5.087390761548065,5.6242197253433215,3.6641697877652937,8.177278401997503,5.449438202247191,4.257178526841448,7.677902621722847,3.8389513108614235,5.455680399500624,6.229712858926342,6.679151061173534,7.615480649188515,5.855181023720349,8.177278401997503,7.8027465667915115,5.880149812734083,5.131086142322098,,4.169787765293384,,5.9238451935081144,5.305867665418227,2.777777777777778,,6.123595505617978,7.240948813982522,4.032459425717852,5.674157303370786,5.64294631710362,,2.459425717852684,4.475655430711611,4.044943820224719,4.943820224719102,,3.5143570536828963,7.365792759051186,6.554307116104869,6.092384519350812, +,7.865168539325843,4.931335830212235,,5.705368289637952,5.636704119850187,2.5842696629213484,,3.3957553058676653,4.831460674157303,5.455680399500624,3.701622971285893,2.272159800249688,2.7652933832709112,3.714107365792759,,,,4.019975031210986,3.470661672908864,6.367041198501872,7.865168539325843,5.0062421972534334,,7.240948813982522,3.3957553058676653,3.1460674157303368,2.7590511860174782,4.431960049937578,6.1360799001248445,,3.714107365792759,6.928838951310862,5.8739076154806495,3.2084893882646695,4.544319600499376,3.6142322097378274,8.739076154806492,6.30461922596754,2.4406991260923845,2.715355805243446,6.803995006242197,6.054931335830212,3.9950062421972534,3.2084893882646695,3.3458177278401995,8.3645443196005,,,6.928838951310862,5.380774032459426,6.023720349563047,,8.801498127340825,,5.3870162297128585,6.30461922596754,,8.177278401997503,5.50561797752809,4.038701622971286,5.1123595505617985,5.655430711610487,3.682896379525593,8.239700374531834,5.468164794007491,4.275905118601748,7.677902621722847,3.8639200998751564,5.480649188514358,6.242197253433209,6.679151061173534,7.677902621722847,5.880149812734083,8.177278401997503,7.865168539325843,5.8988764044943816,5.168539325842697,,,,5.955056179775282,5.343320848938826,2.7965043695380776,,6.1485642946317105,7.240948813982522,4.063670411985019,5.69912609238452,5.674157303370786,,2.4843945068664173,4.506866416978776,4.069912609238452,4.9812734082397006,,3.5518102372034956,7.365792759051186,6.616729088639201,6.117353308364544, +,7.927590511860175,4.962546816479401,,5.730337078651686,5.655430711610487,2.602996254681648,,3.420724094881398,4.850187265917603,5.480649188514358,3.732833957553059,2.2908863920099876,2.790262172284644,3.7390761548064915,,,,4.044943820224719,3.495630461922597,6.367041198501872,7.927590511860175,5.031210986267166,,7.303370786516854,3.4269662921348316,3.1772784019975036,2.7840199750312107,4.463171036204744,,,3.745318352059925,6.928838951310862,5.8988764044943816,3.233458177278402,4.569288389513109,3.6454431960049942,8.801498127340825,6.367041198501872,2.459425717852684,2.740324594257179,6.866416978776529,6.086142322097379,4.02621722846442,3.2397003745318353,3.370786516853933,8.3645443196005,,,6.991260923845194,5.411985018726591,6.054931335830212,,8.863920099875156,,5.411985018726591,6.30461922596754,,8.177278401997503,5.536828963795256,4.057428214731585,5.131086142322098,5.686641697877653,3.7078651685393256,8.239700374531834,5.493133583021224,4.294631710362047,7.677902621722847,3.888888888888889,5.50561797752809,6.30461922596754,6.741573033707866,7.677902621722847,5.9113607990012484,8.239700374531834,7.865168539325843,5.917602996254682,5.199750312109863,,,,5.986267166042447,5.3745318352059925,2.82147315855181,,6.173533083645444,7.240948813982522,4.094881398252185,5.724094881398252,5.705368289637952,,2.5093632958801497,4.538077403245943,4.1011235955056184,5.012484394506866,,3.5830212234706615,7.428214731585518,,6.1360799001248445, +,7.927590511860175,4.9937578027465666,,5.7553058676654185,5.68039950062422,2.6279650436953808,,3.451935081148564,4.875156054931336,5.499375780274657,3.764044943820225,2.3158551810237205,2.82147315855181,3.764044943820225,,,,4.069912609238452,3.5143570536828963,6.367041198501872,7.990012484394507,5.056179775280899,,7.303370786516854,3.4581772784019975,3.2084893882646695,2.808988764044944,4.49438202247191,,,3.7827715355805243,6.928838951310862,5.917602996254682,3.2521847690387014,,3.682896379525593,8.801498127340825,6.367041198501872,2.478152309612984,2.7590511860174782,6.866416978776529,6.111111111111111,4.057428214731585,3.2646691635455682,3.3957553058676653,8.426966292134832,,,6.991260923845194,5.436953807740325,6.092384519350812,,8.863920099875156,,5.430711610486892,6.367041198501872,,8.239700374531834,5.561797752808988,4.0761548064918856,5.149812734082397,5.717852684144819,3.7265917602996255,8.302122347066168,5.5181023720349565,4.31960049937578,7.740324594257178,3.9138576779026217,5.5305867665418225,6.30461922596754,6.741573033707866,7.740324594257178,5.936329588014981,8.239700374531834,7.865168539325843,5.942571785268415,5.237203495630462,,,,6.0174781523096135,5.405742821473158,2.84019975031211,,6.192259675405743,7.303370786516854,4.1260923845193505,5.749063670411985,5.742821473158552,,2.5343320848938826,4.569288389513109,4.1260923845193505,5.043695380774032,,3.6142322097378274,7.428214731585518,,6.161048689138577, +,7.990012484394507,5.031210986267166,,5.7802746566791505,5.705368289637952,,,3.4831460674157304,4.900124843945068,5.524344569288389,3.7952559300873907,2.340823970037453,2.852684144818976,3.7890137328339577,,,,4.094881398252185,3.5393258426966296,6.429463171036204,7.990012484394507,5.081148564294631,,7.365792759051186,3.4831460674157304,3.2397003745318353,2.8339575530586765,4.525593008739076,,,3.81398252184769,6.991260923845194,,3.2771535580524347,,3.714107365792759,8.863920099875156,6.429463171036204,2.4968789013732833,2.7840199750312107,6.866416978776529,6.1360799001248445,4.0886392009987516,3.295880149812734,,8.426966292134832,,,7.0536828963795255,5.468164794007491,6.123595505617978,,8.926342072409488,,5.455680399500624,6.367041198501872,,8.239700374531834,,4.094881398252185,5.174781523096129,5.749063670411985,3.7515605493133584,8.302122347066168,5.536828963795256,4.33832709113608,7.740324594257178,3.938826466916354,5.555555555555556,,6.803995006242197,7.740324594257178,5.961298377028713,8.302122347066168,7.927590511860175,5.961298377028713,5.268414481897628,,,,6.048689138576779,5.443196004993759,2.865168539325843,,6.217228464419476,7.303370786516854,4.157303370786517,5.774032459425719,5.774032459425719,,2.5530586766541825,4.600499375780275,4.151061173533084,5.081148564294631,,3.651685393258427,,,6.186017478152309, +,,5.062421972534332,,5.805243445692884,,,,3.5143570536828963,4.918851435705368,5.543071161048689,3.8202247191011236,2.359550561797753,2.8838951310861427,3.81398252184769,,,,4.119850187265917,3.5580524344569286,6.429463171036204,8.05243445692884,5.106117353308365,,7.365792759051186,3.5143570536828963,3.2709113607990012,2.8589263420724094,4.556803995006242,,,3.8451935081148565,6.991260923845194,,3.295880149812734,,3.7515605493133584,8.863920099875156,6.429463171036204,2.521847690387016,2.808988764044944,6.928838951310862,6.161048689138577,4.1260923845193505,3.3270911360799,,8.489388264669165,,,7.0536828963795255,5.493133583021224,6.161048689138577,,,,5.474406991260924,6.429463171036204,,8.239700374531834,,4.1136079900124844,5.19350811485643,5.7802746566791505,3.776529338327091,8.3645443196005,5.561797752808988,4.3632958801498125,7.740324594257178,3.9637952559300875,5.580524344569288,,6.803995006242197,,5.992509363295881,8.302122347066168,7.927590511860175,5.980024968789014,5.305867665418227,,,,6.079900124843945,5.474406991260924,2.8838951310861427,,6.242197253433209,7.365792759051186,4.18227215980025,5.799001248439451,5.805243445692884,,2.578027465667915,4.631710362047441,4.18227215980025,5.1123595505617985,,3.682896379525593,,,6.210986267166042, +,,5.093632958801498,,5.830212234706617,,,,3.5393258426966296,4.943820224719102,5.568039950062421,3.8514357053682895,2.3845193508114857,2.908863920099875,3.8389513108614235,,,,4.144818976279651,3.5830212234706615,6.491885143570538,,5.131086142322098,,7.428214731585518,3.545568039950062,3.295880149812734,2.8838951310861427,4.588014981273409,,,3.882646691635456,6.991260923845194,,3.320848938826467,,,8.926342072409488,6.429463171036204,2.5405742821473156,2.8339575530586765,6.928838951310862,,,3.352059925093633,,8.489388264669165,,,7.116104868913857,5.524344569288389,6.192259675405743,,,,5.493133583021224,6.429463171036204,,8.302122347066168,,4.132334581772784,5.212234706616729,5.811485642946318,3.7952559300873907,8.3645443196005,5.580524344569288,4.382022471910113,7.8027465667915115,3.9887640449438204,5.605493133583021,,6.866416978776529,,6.0174781523096135,8.3645443196005,7.927590511860175,6.004993757802747,5.337078651685393,,,,6.111111111111111,5.50561797752809,2.908863920099875,,6.242197253433209,7.365792759051186,4.213483146067416,5.823970037453184,5.836454431960051,,2.602996254681648,4.662921348314606,4.207240948813983,5.143570536828964,,3.7203495630461925,,,6.229712858926342, +,,5.131086142322098,,5.855181023720349,,,,3.5705368289637955,4.9687890137328345,5.586766541822722,3.882646691635456,2.4094881398252186,2.9400749063670415,3.8639200998751564,,,,4.169787765293384,3.6017478152309614,6.491885143570538,,5.15605493133583,,7.428214731585518,3.5705368289637955,3.3270911360799,2.908863920099875,4.619225967540574,,,3.9138576779026217,7.0536828963795255,,3.3458177278401995,,,8.926342072409488,6.491885143570538,2.5593008739076155,2.8589263420724094,6.928838951310862,,,3.383270911360799,,8.551810237203496,,,7.116104868913857,,,,,,5.5181023720349565,6.491885143570538,,8.302122347066168,,4.151061173533084,5.237203495630462,5.842696629213483,3.8202247191011236,8.426966292134832,5.605493133583021,4.406991260923846,7.8027465667915115,4.00749063670412,5.630461922596755,,,,6.0424469413233455,8.3645443196005,7.990012484394507,6.023720349563047,5.3745318352059925,,,,,5.543071161048689,2.9275905118601746,,6.30461922596754,7.428214731585518,4.244694132334582,5.848938826466916,5.867665418227216,,2.6279650436953808,4.694132334581773,4.2322097378277155,5.174781523096129,,3.7515605493133584,,,6.242197253433209, +,,5.162297128589263,,,,,,3.6017478152309614,4.987515605493134,5.605493133583021,3.9076154806491883,2.428214731585518,2.9712858926342074,,,,,4.194756554307116,3.6267166042446943,6.554307116104869,,5.181023720349563,,7.49063670411985,3.6017478152309614,3.3583021223470664,2.933832709113608,4.65043695380774,,,,7.0536828963795255,,3.3645443196004994,,,8.98876404494382,,2.5842696629213484,2.8838951310861427,6.991260923845194,,,3.4144818976279647,,8.551810237203496,,,7.116104868913857,,,,,,5.536828963795256,6.491885143570538,,8.3645443196005,,4.176029962546816,5.2559300873907615,5.880149812734083,3.8389513108614235,8.426966292134832,5.6242197253433215,4.425717852684145,7.8027465667915115,4.032459425717852,,,,,6.073657927590512,8.426966292134832,7.990012484394507,6.0424469413233455,5.405742821473158,,,,,,2.9525593008739075,,,7.428214731585518,,5.8739076154806495,5.905118601747815,,,,4.257178526841448,5.212234706616729,,,,,6.30461922596754, +,,,,,,,,3.6329588014981273,5.012484394506866,5.630461922596755,3.938826466916354,2.453183520599251,3.0024968789013733,,,,,4.213483146067416,3.6454431960049942,6.554307116104869,,5.205992509363296,,7.49063670411985,3.6329588014981273,,2.958801498127341,4.681647940074906,,,,7.0536828963795255,,3.3895131086142323,,,8.98876404494382,,2.602996254681648,2.908863920099875,6.991260923845194,,,,,,,,7.17852684144819,,,,,,5.555555555555556,6.491885143570538,,8.3645443196005,,4.194756554307116,5.274656679151062,5.9113607990012484,3.8639200998751564,8.489388264669165,5.6491885143570535,4.450686641697877,,4.057428214731585,,,,,6.098626716604246,8.426966292134832,7.990012484394507,6.067415730337078,,,,,,,2.9712858926342074,,,7.428214731585518,,5.8988764044943816,5.936329588014981,,,,4.288389513108614,5.243445692883895,,,,,6.30461922596754, +,,,,,,,,3.6579275905118602,5.0374531835206,5.6491885143570535,,2.471910112359551,3.033707865168539,,,,,,3.6704119850187267,6.616729088639201,,5.224719101123595,,7.553058676654182,,,2.9837702871410734,4.712858926342073,,,,7.116104868913857,,3.408239700374532,,,9.051186017478152,,,2.9275905118601746,6.991260923845194,,,,,,,,7.17852684144819,,,,,,5.580524344569288,6.554307116104869,,,,4.213483146067416,5.299625468164794,5.942571785268415,3.888888888888889,8.489388264669165,,4.4694132334581775,,4.082397003745319,,,,,6.123595505617978,8.489388264669165,8.05243445692884,6.086142322097379,,,,,,,2.9962546816479403,,,7.49063670411985,,5.9238451935081144,5.967540574282147,,,,,5.274656679151062,,,,,6.30461922596754, +,,,,,,,,3.689138576779026,5.056179775280899,,,2.4968789013732833,3.058676654182272,,,,,,3.689138576779026,6.616729088639201,,5.249687890137328,,7.553058676654182,,,3.0087390761548067,,,,,7.116104868913857,,3.4332084893882646,,,9.051186017478152,,,2.9525593008739075,7.0536828963795255,,,,,,,,7.240948813982522,,,,,,,,,,,4.2322097378277155,5.318352059925093,5.97378277153558,3.9076154806491883,8.551810237203496,,4.49438202247191,,4.107365792759051,,,,,6.154806491885144,8.489388264669165,8.05243445692884,6.104868913857677,,,,,,,3.0149812734082393,,,7.49063670411985,,5.948813982521848,5.998751560549313,,,,,,,,,,6.367041198501872, +,,,,,,,,3.7203495630461925,,,,,3.089887640449438,,,,,,3.714107365792759,6.679151061173534,,5.274656679151062,,7.553058676654182,,,3.033707865168539,,,,,,,3.4581772784019975,,,9.113607990012484,,,2.977528089887641,,,,,,,,,7.240948813982522,,,,,,,,,,,4.250936329588015,5.337078651685393,6.004993757802747,3.9325842696629216,8.551810237203496,,,,4.132334581772784,,,,,6.179775280898876,8.551810237203496,8.05243445692884,6.129837702871411,,,,,,,3.0399500624219726,,,7.553058676654182,,5.97378277153558,6.029962546816479,,,,,,,,,,6.367041198501872, +,,,,,,,,,,,,,3.1210986267166043,,,,,,3.732833957553059,6.679151061173534,,5.299625468164794,,,,,3.058676654182272,,,,,,,,,,9.113607990012484,,,,,,,,,,,,7.303370786516854,,,,,,,,,,,4.269662921348314,5.3620474406991265,6.036204744069912,3.951310861423221,8.614232209737828,,,,,,,,,6.210986267166042,8.551810237203496,8.11485642946317,6.1485642946317105,,,,,,,3.058676654182272,,,7.553058676654182,,,,,,,,,,,,,6.367041198501872, +,,,,,,,,,,,,,3.15230961298377,,,,,,3.7515605493133584,6.741573033707866,,5.324594257178527,,,,,3.0836454431960054,,,,,,,,,,9.176029962546817,,,,,,,,,,,,7.303370786516854,,,,,,,,,,,4.288389513108614,5.380774032459426,6.067415730337078,3.9762796504369535,8.614232209737828,,,,,,,,,6.235955056179775,,8.11485642946317,6.167290886392011,,,,,,,3.077403245942572,,,7.553058676654182,,,,,,,,,,,,,6.429463171036204, +,,,,,,,,,,,,,,,,,,,,6.741573033707866,,,,,,,,,,,,,,,,,9.176029962546817,,,,,,,,,,,,,,,,,,,,,,,,5.399500624219725,6.098626716604246,,8.67665418227216,,,,,,,,,6.242197253433209,,8.11485642946317,6.192259675405743,,,,,,,3.102372034956305,,,7.615480649188515,,,,,,,,,,,,,6.429463171036204, +,,,,,,,,,,,,,,,,,,,,6.803995006242197,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5.424469413233458,,,,,,,,,,,,6.30461922596754,,,6.210986267166042,,,,,,,3.1210986267166043,,,7.615480649188515,,,,,,,,,,,,,, +3.651685393258427,5.074906367041199,2.1161048689138577,5.305867665418227,3.589263420724095,3.7265917602996255,0.6554307116104868,3.3021223470661676,0.9051186017478152,2.908863920099875,3.6641697877652937,1.223470661672909,0.35268414481897625,0.24968789013732834,1.647940074906367,5.855181023720349,4.4818976279650435,2.7590511860174782,1.9600499375780276,1.6541822721598003,3.8951310861423223,5.224719101123595,2.9712858926342074,5.474406991260924,4.800249687890138,0.9488139825218477,0.6173533083645443,0.6616729088639202,1.7602996254681649,4.057428214731585,0.24781523096129837,0.8926342072409489,5.099875156054932,4.001248439450687,1.317103620474407,2.5842696629213484,0.717852684144819,6.179775280898876,4.313358302122348,0.7116104868913858,0.6928838951310862,4.956304619225968,3.8077403245942576,1.2359550561797754,0.7365792759051186,1.079900124843945,5.724094881398252,2.702871410736579,1.0923845193508115,4.444444444444445,2.9837702871410734,3.183520599250936,4.132334581772784,5.81772784019975,1.797752808988764,3.6267166042446943,3.9076154806491883,4.875156054931336,6.029962546816479,3.2397003745318353,2.4032459425717856,3.3645443196004994,2.9837702871410734,1.8102372034956304,5.6491885143570535,3.5830212234706615,2.446941323345818,5.855181023720349,1.8164794007490637,3.3957553058676653,3.6766541822721597,3.957553058676654,5.705368289637952,3.595505617977528,5.593008739076155,6.104868913857677,4.138576779026217,2.303370786516854,0.9550561797752809,1.2796504369538078,5.730337078651686,3.3645443196004994,2.5343320848938826,0.9800249687890138,5.930087390761548,4.1260923845193505,5.1248439450686645,1.4544319600499376,3.576779026217228,2.958801498127341,5.436953807740325,0.466916354556804,1.9101123595505618,1.8352059925093633,2.1972534332084894,5.031210986267166,0.6928838951310862,4.856429463171036,4.425717852684145,4.157303370786517, +3.682896379525593,5.1123595505617985,2.153558052434457,5.33083645443196,3.6142322097378274,3.745318352059925,0.6803995006242198,3.3270911360799,0.9363295880149812,2.933832709113608,3.682896379525593,1.2546816479400749,0.3757802746566792,0.27965043695380776,1.6729088639200997,5.880149812734083,4.51310861423221,2.790262172284644,1.9850187265917605,1.6791510611735332,3.920099875156055,5.262172284644195,2.9962546816479403,5.50561797752809,4.831460674157303,0.9737827715355806,0.6491885143570537,0.686641697877653,1.7915106117353308,4.082397003745319,0.2727840199750312,0.9300873907615481,5.1248439450686645,4.019975031210986,1.34207240948814,2.6092384519350813,0.7490636704119851,6.210986267166042,4.33832709113608,0.7303370786516854,0.717852684144819,4.975031210986267,3.8389513108614235,1.2671660424469413,0.7677902621722846,1.104868913857678,5.7553058676654185,2.7340823970037453,1.1235955056179776,4.475655430711611,3.0087390761548067,3.214731585518102,4.157303370786517,5.855181023720349,1.8164794007490637,3.651685393258427,3.9325842696629216,4.912609238451935,6.054931335830212,3.2709113607990012,2.4219725343320846,3.383270911360799,3.0149812734082393,1.8289637952559301,5.68039950062422,3.607990012484395,2.4656679151061174,5.880149812734083,1.8414481897627966,3.420724094881398,3.7078651685393256,3.9887640449438204,5.730337078651686,3.6267166042446943,5.6242197253433215,6.129837702871411,4.16354556803995,2.340823970037453,0.9800249687890138,1.3108614232209737,5.767790262172285,3.3895131086142323,2.571785268414482,0.9987515605493134,5.961298377028713,4.151061173533084,5.149812734082397,1.4856429463171037,3.6017478152309614,2.990012484394507,5.468164794007491,0.49063670411985016,1.941323345817728,1.8601747815230962,2.2347066167290888,5.068664169787765,0.7303370786516854,4.887640449438202,4.450686641697877,4.18227215980025, +3.714107365792759,5.143570536828964,2.184769038701623,5.3620474406991265,3.639200998751561,3.7702871410736583,0.7053682896379525,3.3583021223470664,0.9675405742821472,2.958801498127341,3.7078651685393256,1.2796504369538078,0.39825218476903873,0.3096129837702871,1.6978776529338326,5.9113607990012484,4.544319600499376,2.82147315855181,2.009987515605493,1.6978776529338326,3.951310861423221,5.293383270911361,3.0149812734082393,5.536828963795256,4.856429463171036,1.0049937578027466,0.6803995006242198,0.7116104868913858,1.8227215980024971,4.107365792759051,0.29712858926342073,0.9612983770287141,5.143570536828964,4.044943820224719,1.3670411985018727,2.634207240948814,0.7865168539325842,6.242197253433209,4.3632958801498125,0.7553058676654182,0.7428214731585518,5.0,3.8639200998751564,1.2983770287141074,0.7927590511860175,1.1298377028714106,5.786516853932584,2.7715355805243447,1.161048689138577,4.506866416978776,3.0399500624219726,3.245942571785269,4.188514357053683,5.892634207240949,1.8414481897627966,3.6704119850187267,3.9637952559300875,4.950062421972534,6.086142322097379,3.295880149812734,2.446941323345818,3.4019975031210987,3.046192259675406,1.8539325842696628,5.711610486891385,3.6329588014981273,2.4906367041198503,5.8988764044943816,1.8664169787765295,3.4456928838951315,3.7390761548064915,4.019975031210986,5.7553058676654185,3.651685393258427,5.655430711610487,6.1485642946317105,4.18227215980025,2.3720349563046192,1.0049937578027466,1.348314606741573,5.805243445692884,3.420724094881398,2.602996254681648,1.0237203495630463,5.992509363295881,4.176029962546816,5.174781523096129,1.5168539325842696,3.6267166042446943,3.0212234706616727,5.499375780274657,0.5149812734082396,1.9725343320848938,1.8851435705368291,2.2659176029962547,5.106117353308365,0.7615480649188515,4.918851435705368,4.475655430711611,4.207240948813983, +3.745318352059925,5.174781523096129,2.215980024968789,5.3870162297128585,3.6641697877652937,3.7952559300873907,0.7240948813982522,3.383270911360799,0.9987515605493134,2.977528089887641,3.7265917602996255,1.3108614232209737,0.4213483146067416,0.33957553058676654,1.7228464419475658,5.942571785268415,4.575530586766542,2.8464419475655434,2.034956304619226,1.7228464419475658,3.982521847690387,5.324594257178527,3.0399500624219726,5.568039950062421,4.887640449438202,1.0362047440699127,0.7053682896379525,0.7365792759051186,1.8539325842696628,4.132334581772784,0.32209737827715357,0.9987515605493134,5.168539325842697,4.069912609238452,1.3857677902621723,2.6591760299625467,0.8177278401997503,6.30461922596754,4.388264669163545,0.7740324594257179,0.7677902621722846,5.0187265917602994,3.888888888888889,1.3358302122347065,0.8239700374531835,1.161048689138577,5.81772784019975,2.8027465667915106,1.1922596754057428,4.538077403245943,3.0649188514357055,3.2833957553058677,4.213483146067416,5.930087390761548,1.8664169787765295,3.6953807740324596,3.9887640449438204,4.987515605493134,6.111111111111111,3.320848938826467,2.4656679151061174,3.4269662921348316,3.0836454431960054,1.8726591760299625,5.736579275905119,3.651685393258427,2.5093632958801497,5.9238451935081144,1.8913857677902621,3.470661672908864,3.7702871410736583,4.057428214731585,5.774032459425719,3.6766541822721597,5.686641697877653,6.167290886392011,4.200998751560549,2.4032459425717856,1.0299625468164793,1.3795255930087391,5.848938826466916,3.451935081148564,2.634207240948814,1.042446941323346,6.023720349563047,4.200998751560549,5.199750312109863,1.5480649188514357,3.651685393258427,3.0524344569288386,5.524344569288389,0.5387016229712859,2.00374531835206,1.9101123595505618,2.2971285892634206,5.149812734082397,0.7990012484394506,4.950062421972534,4.500624219725343,4.225967540574282, +3.776529338327091,5.212234706616729,2.253433208489388,5.418227215980025,3.689138576779026,3.81398252184769,0.7490636704119851,3.408239700374532,1.0237203495630463,3.0024968789013733,3.745318352059925,1.34207240948814,0.44382022471910115,0.36953807740324596,1.7415730337078652,5.97378277153558,4.606741573033708,2.8776529338327093,2.0599250936329585,1.7415730337078652,4.00749063670412,5.355805243445693,3.0649188514357055,5.599250936329588,4.918851435705368,1.0611735330836456,0.7365792759051186,0.7615480649188515,1.8851435705368291,4.157303370786517,0.3464419475655431,1.0299625468164793,5.187265917602996,4.0886392009987516,1.410736579275905,2.6779026217228465,0.8551810237203495,6.30461922596754,4.413233458177278,0.7927590511860175,0.7927590511860175,5.043695380774032,3.920099875156055,1.3670411985018727,0.8551810237203495,1.1860174781523096,5.848938826466916,2.8339575530586765,1.229712858926342,4.563046192259676,3.0961298377028714,3.3146067415730336,4.238451935081149,5.961298377028713,1.8913857677902621,3.714107365792759,4.019975031210986,5.024968789013733,6.1360799001248445,3.352059925093633,2.4843945068664173,3.4456928838951315,3.114856429463171,1.8976279650436954,5.767790262172285,3.6766541822721597,2.5343320848938826,5.942571785268415,1.916354556803995,3.495630461922597,3.801498127340824,4.0886392009987516,5.799001248439451,3.7078651685393256,5.717852684144819,6.192259675405743,4.225967540574282,2.4406991260923845,1.0549313358302121,1.4169787765293382,5.8863920099875156,3.4831460674157304,2.671660424469413,1.0674157303370786,6.054931335830212,4.225967540574282,5.224719101123595,1.5792759051186018,3.6766541822721597,3.089887640449438,5.555555555555556,0.5630461922596754,2.034956304619226,1.941323345817728,2.328339575530587,5.187265917602996,0.8302122347066168,4.975031210986267,4.531835205992509,4.250936329588015, +3.801498127340824,5.243445692883895,2.2846441947565546,5.443196004993759,3.714107365792759,3.8389513108614235,0.7740324594257179,3.4332084893882646,1.0549313358302121,3.027465667915106,3.7702871410736583,1.373283395755306,0.466916354556804,0.3995006242197253,1.766541822721598,5.998751560549313,4.637952559300874,2.908863920099875,2.084893882646692,1.766541822721598,4.038701622971286,5.3870162297128585,3.089887640449438,5.630461922596755,4.943820224719102,1.0923845193508115,0.7677902621722846,0.7865168539325842,1.916354556803995,4.18227215980025,0.3714107365792759,1.0611735330836456,5.212234706616729,4.1136079900124844,1.4294631710362047,2.702871410736579,0.8863920099875156,6.30461922596754,4.438202247191011,0.8114856429463172,0.8177278401997503,5.062421972534332,3.9450686641697876,1.3982521847690388,0.8801498127340824,1.2109862671660423,5.880149812734083,2.871410736579276,1.260923845193508,4.594257178526841,3.1210986267166043,3.352059925093633,4.263420724094882,5.998751560549313,1.916354556803995,3.732833957553059,4.051186017478152,5.062421972534332,6.161048689138577,3.3770287141073654,2.5031210986267167,3.464419475655431,3.1460674157303368,1.916354556803995,5.799001248439451,3.6953807740324596,2.5530586766541825,5.967540574282147,1.941323345817728,3.5205992509363297,3.83270911360799,4.119850187265917,5.823970037453184,3.732833957553059,5.749063670411985,6.210986267166042,4.244694132334582,2.471910112359551,1.079900124843945,1.4544319600499376,5.9238451935081144,3.5143570536828963,2.702871410736579,1.0861423220973783,6.086142322097379,4.244694132334582,5.249687890137328,1.6104868913857677,3.701622971285893,3.1210986267166043,5.586766541822722,0.5867665418227216,2.066167290886392,1.9662921348314608,2.3657927590511862,5.224719101123595,0.867665418227216,5.0062421972534334,4.556803995006242,4.275905118601748, +3.83270911360799,5.274656679151062,2.3158551810237205,5.474406991260924,3.7390761548064915,3.857677902621723,0.7927590511860175,3.4581772784019975,1.0861423220973783,3.046192259675406,3.7890137328339577,1.3982521847690388,0.4893882646691636,0.42946317103620474,1.7915106117353308,6.029962546816479,4.66916354556804,2.9400749063670415,2.1098626716604243,1.7852684144818978,4.069912609238452,5.418227215980025,3.114856429463171,5.66167290886392,4.975031210986267,1.1235955056179776,0.7990012484394506,0.8114856429463172,1.9475655430711611,4.207240948813983,0.39637952559300876,1.0986267166042447,5.230961298377029,4.132334581772784,1.4544319600499376,2.727840199750312,0.9238451935081149,6.367041198501872,4.456928838951311,0.8364544319600499,0.8426966292134832,5.087390761548065,3.970037453183521,1.4294631710362047,0.9113607990012486,1.2421972534332086,5.9113607990012484,2.902621722846442,1.2921348314606742,4.6254681647940075,3.15230961298377,3.383270911360799,4.288389513108614,6.036204744069912,1.9350811485642945,3.7578027465667914,4.0761548064918856,5.099875156054932,6.186017478152309,3.4019975031210987,2.521847690387016,3.4893882646691634,3.1772784019975036,1.941323345817728,5.830212234706617,3.7203495630461925,2.578027465667915,5.986267166042447,1.9662921348314608,3.545568039950062,3.8639200998751564,4.151061173533084,5.848938826466916,3.7578027465667914,5.7802746566791505,6.229712858926342,4.263420724094882,2.5093632958801497,1.104868913857678,1.4856429463171037,5.961298377028713,3.545568039950062,2.7340823970037453,1.1111111111111112,6.117353308364544,4.269662921348314,5.274656679151062,1.6416978776529338,3.7265917602996255,3.15230961298377,5.611735330836455,0.6104868913857677,2.097378277153558,1.9912609238451935,2.397003745318352,5.262172284644195,0.898876404494382,5.0374531835206,4.581772784019975,4.294631710362047, +3.8639200998751564,5.312109862671661,2.35330836454432,5.499375780274657,3.764044943820225,3.882646691635456,0.8177278401997503,3.4893882646691634,1.1173533083645444,3.0711610486891385,3.81398252184769,1.4294631710362047,0.5124843945068664,0.45942571785268416,1.8164794007490637,6.061173533083646,4.700374531835206,2.9712858926342074,2.128589263420724,1.8102372034956304,4.094881398252185,5.449438202247191,3.139825218476904,5.692883895131087,5.0062421972534334,1.1485642946317103,0.8302122347066168,0.8364544319600499,1.978776529338327,4.2322097378277155,0.4207240948813982,1.1298377028714106,5.2559300873907615,4.157303370786517,1.4794007490636705,2.746566791510612,0.9550561797752809,6.367041198501872,4.4818976279650435,0.8551810237203495,0.8614232209737829,5.106117353308365,3.9950062421972534,1.466916354556804,0.9425717852684146,1.2671660424469413,5.942571785268415,2.9400749063670415,1.3295880149812733,4.656679151061174,3.183520599250936,3.4144818976279647,4.31960049937578,6.067415730337078,1.9600499375780276,3.776529338327091,4.107365792759051,5.1373283395755305,6.210986267166042,3.4332084893882646,2.5405742821473156,3.508114856429463,3.2084893882646695,1.9662921348314608,5.861423220973783,3.745318352059925,2.596754057428215,6.01123595505618,1.9912609238451935,3.5705368289637955,3.8951310861423223,4.188514357053683,5.867665418227216,3.7890137328339577,5.811485642946318,6.242197253433209,4.288389513108614,2.5405742821473156,1.1298377028714106,1.523096129837703,6.004993757802747,3.576779026217228,2.7715355805243447,1.1298377028714106,6.1485642946317105,4.294631710362047,5.299625468164794,1.6729088639200997,3.7515605493133584,3.183520599250936,5.64294631710362,0.6367041198501873,2.128589263420724,2.0224719101123596,2.428214731585518,5.305867665418227,0.9363295880149812,5.068664169787765,4.606741573033708,4.31960049937578, +3.8951310861423223,5.343320848938826,2.3845193508114857,5.5305867665418225,3.7890137328339577,3.9076154806491883,0.8426966292134832,3.5143570536828963,1.1423220973782773,3.0961298377028714,3.83270911360799,1.4606741573033708,0.534956304619226,0.4893882646691636,1.8414481897627966,6.086142322097379,4.7315855181023725,3.0024968789013733,2.153558052434457,1.8289637952559301,4.1260923845193505,5.480649188514358,3.1647940074906367,5.724094881398252,5.0374531835206,1.1797752808988764,0.8614232209737829,0.8614232209737829,2.016229712858926,4.257178526841448,0.44569288389513106,1.161048689138577,5.274656679151062,4.176029962546816,1.4981273408239701,2.7715355805243447,0.9925093632958802,6.429463171036204,4.506866416978776,0.8739076154806492,0.8863920099875156,5.131086142322098,4.02621722846442,1.4981273408239701,0.9737827715355806,1.2921348314606742,5.97378277153558,2.9712858926342074,1.3607990012484397,4.681647940074906,3.2084893882646695,3.451935081148564,4.344569288389513,6.104868913857677,1.9850187265917605,3.7952559300873907,4.132334581772784,5.174781523096129,6.235955056179775,3.4581772784019975,2.5593008739076155,3.5268414481897628,3.2397003745318353,1.9850187265917605,5.892634207240949,3.764044943820225,2.6217228464419473,6.029962546816479,2.016229712858926,3.595505617977528,3.926342072409488,4.219725343320849,5.892634207240949,3.81398252184769,5.842696629213483,6.242197253433209,4.307116104868914,2.578027465667915,1.1548064918851435,1.554307116104869,6.0424469413233455,3.607990012484395,2.8027465667915106,1.1548064918851435,6.179775280898876,4.31960049937578,5.324594257178527,1.704119850187266,3.776529338327091,3.214731585518102,5.674157303370786,0.6616729088639202,2.15980024968789,2.0474406991260925,2.4656679151061174,5.343320848938826,0.9675405742821472,5.099875156054932,4.631710362047441,4.344569288389513, +3.926342072409488,5.3745318352059925,2.4157303370786516,5.555555555555556,3.81398252184769,3.926342072409488,0.8614232209737829,3.5393258426966296,1.1735330836454432,3.114856429463171,3.857677902621723,1.4918851435705367,0.5580524344569288,0.519350811485643,1.8664169787765295,6.117353308364544,4.762796504369538,3.033707865168539,2.1785268414481895,1.8476903870162298,4.157303370786517,5.511860174781523,3.1897627965043696,5.7553058676654185,5.062421972534332,1.2109862671660423,0.8863920099875156,0.8863920099875156,2.0474406991260925,4.282147315855181,0.4700374531835206,1.198501872659176,5.299625468164794,4.200998751560549,1.523096129837703,2.7965043695380776,1.0237203495630463,6.429463171036204,4.531835205992509,0.898876404494382,0.9113607990012486,5.149812734082397,4.051186017478152,1.529338327091136,0.9987515605493134,1.3233458177278403,6.004993757802747,3.0024968789013733,1.3982521847690388,4.712858926342073,3.2397003745318353,3.4831460674157304,4.369538077403246,6.142322097378277,2.009987515605493,3.8202247191011236,4.16354556803995,5.212234706616729,6.242197253433209,3.4831460674157304,2.578027465667915,3.5518102372034956,3.2709113607990012,2.009987515605493,5.9238451935081144,3.7890137328339577,2.640449438202247,6.054931335830212,2.0411985018726595,3.620474406991261,3.957553058676654,4.250936329588015,5.917602996254682,3.8451935081148565,5.8739076154806495,6.30461922596754,4.325842696629214,2.6092384519350813,1.1797752808988764,1.591760299625468,6.079900124843945,3.639200998751561,2.8339575530586765,1.1735330836454432,6.210986267166042,4.344569288389513,5.34956304619226,1.735330836454432,3.801498127340824,3.245942571785269,5.705368289637952,0.6803995006242198,2.1910112359550564,2.0724094881398254,2.4968789013732833,5.380774032459426,0.9987515605493134,5.131086142322098,4.656679151061174,4.369538077403246, +3.957553058676654,5.411985018726591,2.453183520599251,5.586766541822722,3.8389513108614235,3.951310861423221,0.8863920099875156,3.564294631710362,1.2047440699126093,3.139825218476904,3.8764044943820224,1.5168539325842696,0.5811485642946317,0.548689138576779,1.8913857677902621,6.1485642946317105,4.794007490636704,3.0649188514357055,2.203495630461923,1.8726591760299625,4.18227215980025,5.543071161048689,3.214731585518102,5.786516853932584,5.093632958801498,1.2359550561797754,0.9176029962546817,0.9113607990012486,2.0786516853932584,4.307116104868914,0.4950062421972534,1.229712858926342,5.318352059925093,4.225967540574282,1.5418227215980027,2.82147315855181,1.0611735330836456,6.491885143570538,4.556803995006242,0.9176029962546817,0.9363295880149812,5.174781523096129,4.0761548064918856,1.5605493133583022,1.0299625468164793,1.348314606741573,6.036204744069912,3.0399500624219726,1.4294631710362047,4.7440699126092385,3.2646691635455682,3.5205992509363297,4.394506866416979,6.173533083645444,2.034956304619226,3.8389513108614235,4.188514357053683,5.249687890137328,6.30461922596754,3.5143570536828963,2.596754057428215,3.5705368289637955,3.3021223470661676,2.0287141073657926,5.955056179775282,3.8077403245942576,2.66541822721598,6.073657927590512,2.0599250936329585,3.6454431960049942,3.982521847690387,4.282147315855181,5.942571785268415,3.870162297128589,5.905118601747815,6.30461922596754,4.3508114856429465,2.6466916354556806,1.2047440699126093,1.6229712858926344,6.117353308364544,3.6704119850187267,2.871410736579276,1.198501872659176,6.242197253433209,4.369538077403246,5.3745318352059925,1.766541822721598,3.826466916354557,3.2833957553058677,5.730337078651686,0.7053682896379525,2.2222222222222223,2.097378277153558,2.5280898876404496,5.424469413233458,1.0362047440699127,5.15605493133583,4.681647940074906,4.388264669163545, +3.9887640449438204,5.443196004993759,2.4843945068664173,5.611735330836455,3.8639200998751564,3.9762796504369535,0.9113607990012486,3.589263420724095,1.2359550561797754,3.1647940074906367,3.8951310861423223,1.5480649188514357,0.6036204744069913,0.5786516853932584,1.916354556803995,6.179775280898876,4.825218476903871,3.0961298377028714,2.2284644194756553,1.8913857677902621,4.213483146067416,5.574282147315855,3.233458177278402,5.81772784019975,5.1248439450686645,1.2671660424469413,0.9488139825218477,0.9363295880149812,2.1098626716604243,4.332084893882647,0.5199750312109862,1.2671660424469413,5.337078651685393,4.244694132334582,1.5667915106117354,2.84019975031211,1.0923845193508115,6.491885143570538,4.581772784019975,0.9363295880149812,0.9612983770287141,5.199750312109863,4.1011235955056184,1.5980024968789013,1.0611735330836456,1.373283395755306,6.067415730337078,3.0711610486891385,1.4606741573033708,4.775280898876405,3.295880149812734,3.5518102372034956,4.419475655430712,6.210986267166042,2.0599250936329585,3.857677902621723,4.219725343320849,5.287141073657928,6.30461922596754,3.5393258426966296,2.6217228464419473,3.589263420724095,3.3333333333333335,2.0536828963795255,5.986267166042447,3.83270911360799,2.68414481897628,6.098626716604246,2.084893882646692,3.6704119850187267,4.013732833957553,4.31960049937578,5.961298377028713,3.8951310861423223,5.936329588014981,6.30461922596754,4.369538077403246,2.6779026217228465,1.229712858926342,1.6604244694132335,6.154806491885144,3.701622971285893,2.902621722846442,1.2172284644194757,6.30461922596754,4.394506866416979,5.399500624219725,1.797752808988764,3.8514357053682895,3.3146067415730336,5.761548064918852,0.7303370786516854,2.253433208489388,2.128589263420724,2.565543071161049,5.461922596754057,1.0674157303370786,5.187265917602996,4.70661672908864,4.413233458177278, +4.019975031210986,5.474406991260924,2.521847690387016,5.64294631710362,3.888888888888889,3.9950062421972534,0.9300873907615481,3.620474406991261,1.260923845193508,3.183520599250936,3.920099875156055,1.5792759051186018,0.6242197253433208,0.6086142322097379,1.941323345817728,6.20474406991261,4.856429463171036,3.1273408239700373,2.253433208489388,1.916354556803995,4.244694132334582,5.605493133583021,3.258426966292135,5.848938826466916,5.149812734082397,1.2983770287141074,0.9800249687890138,0.9612983770287141,2.1410736579275906,4.357053682896379,0.5443196004993758,1.2983770287141074,5.3620474406991265,4.269662921348314,1.591760299625468,2.865168539325843,1.1298377028714106,6.554307116104869,4.606741573033708,0.9550561797752809,0.9862671660424469,5.218476903870163,4.132334581772784,1.6292134831460674,1.0861423220973783,1.404494382022472,6.098626716604246,3.102372034956305,1.4981273408239701,4.800249687890138,3.3270911360799,3.589263420724095,4.450686641697877,6.242197253433209,2.0786516853932584,3.882646691635456,4.244694132334582,5.324594257178527,6.367041198501872,3.564294631710362,2.640449438202247,3.6142322097378274,3.3645443196004994,2.0786516853932584,6.0174781523096135,3.857677902621723,2.7091136079900124,6.117353308364544,2.1098626716604243,3.6953807740324596,4.044943820224719,4.3508114856429465,5.986267166042447,3.926342072409488,5.967540574282147,6.367041198501872,4.388264669163545,2.715355805243446,1.2484394506866416,1.6978776529338326,6.198501872659176,3.732833957553059,2.933832709113608,1.2359550561797754,6.30461922596754,4.413233458177278,5.424469413233458,1.8227215980024971,3.8764044943820224,3.3458177278401995,5.792759051186017,0.7553058676654182,2.2846441947565546,2.153558052434457,2.596754057428215,5.499375780274657,1.104868913857678,5.218476903870163,4.737827715355805,4.438202247191011, +4.044943820224719,5.511860174781523,2.5530586766541825,5.667915106117353,3.9138576779026217,4.019975031210986,0.9550561797752809,3.6454431960049942,1.2921348314606742,3.2084893882646695,3.938826466916354,1.6042446941323347,0.6491885143570537,0.6367041198501873,1.9662921348314608,6.235955056179775,4.887640449438202,3.1585518102372037,2.278401997503121,1.9350811485642945,4.269662921348314,5.64294631710362,3.2833957553058677,5.880149812734083,5.181023720349563,1.3233458177278403,1.0112359550561798,0.9862671660424469,2.1722846441947565,4.382022471910113,0.5692883895131086,1.3295880149812733,5.380774032459426,4.288389513108614,1.6104868913857677,2.8901373283395753,1.16729088639201,6.554307116104869,4.6254681647940075,0.9800249687890138,1.0112359550561798,5.243445692883895,4.157303370786517,1.6604244694132335,1.1173533083645444,1.4294631710362047,6.129837702871411,3.139825218476904,1.529338327091136,4.831460674157303,3.352059925093633,3.620474406991261,4.475655430711611,6.30461922596754,2.1036204744069913,3.9013732833957557,4.275905118601748,5.3620474406991265,6.367041198501872,3.595505617977528,2.6591760299625467,3.6329588014981273,3.3957553058676653,2.097378277153558,6.048689138576779,3.8764044943820224,2.727840199750312,6.1360799001248445,2.134831460674157,3.7203495630461925,4.0761548064918856,4.382022471910113,6.01123595505618,3.951310861423221,5.998751560549313,6.367041198501872,4.413233458177278,2.746566791510612,1.2734082397003745,1.7290886392009988,6.235955056179775,3.764044943820225,2.9712858926342074,1.260923845193508,6.367041198501872,4.438202247191011,5.449438202247191,1.8539325842696628,3.9013732833957557,3.3770287141073654,5.81772784019975,0.7802746566791511,2.3158551810237205,2.1785268414481895,2.6279650436953808,5.536828963795256,1.136079900124844,5.249687890137328,4.762796504369538,4.463171036204744, +4.0761548064918856,5.543071161048689,2.5842696629213484,5.69912609238452,3.938826466916354,4.044943820224719,0.9800249687890138,3.6704119850187267,1.3233458177278403,3.233458177278402,3.9637952559300875,1.6354556803995006,0.6741573033707865,0.6679151061173533,1.9912609238451935,6.242197253433209,4.918851435705368,3.1897627965043696,2.303370786516854,1.9600499375780276,4.300873907615481,5.674157303370786,3.3083645443196006,5.9113607990012484,5.212234706616729,1.3545568039950062,1.0362047440699127,1.0112359550561798,2.203495630461923,4.406991260923846,0.5942571785268415,1.3670411985018727,5.405742821473158,4.313358302122348,1.6354556803995006,2.9151061173533086,1.198501872659176,6.616729088639201,4.65043695380774,0.9987515605493134,1.0299625468164793,5.262172284644195,4.18227215980025,1.6978776529338326,1.1485642946317103,1.4544319600499376,6.161048689138577,3.17103620474407,1.5605493133583022,4.8626716604244695,3.383270911360799,3.651685393258427,4.500624219725343,6.30461922596754,2.128589263420724,3.920099875156055,4.300873907615481,5.399500624219725,6.367041198501872,3.620474406991261,2.6779026217228465,3.651685393258427,3.4332084893882646,2.122347066167291,6.079900124843945,3.9013732833957557,2.752808988764045,6.161048689138577,2.15980024968789,3.745318352059925,4.107365792759051,4.413233458177278,6.036204744069912,3.9762796504369535,6.029962546816479,6.367041198501872,4.431960049937578,2.7840199750312107,1.2983770287141074,1.766541822721598,6.30461922596754,3.7952559300873907,3.0024968789013733,1.2796504369538078,6.367041198501872,4.463171036204744,5.480649188514358,1.8851435705368291,3.926342072409488,3.408239700374532,5.848938826466916,0.8052434456928839,2.3470661672908864,2.203495630461923,2.66541822721598,5.580524344569288,1.1735330836454432,5.280898876404494,4.787765293383271,4.4818976279650435, +4.107365792759051,5.574282147315855,2.6217228464419473,5.724094881398252,3.9637952559300875,4.063670411985019,0.9987515605493134,3.6953807740324596,1.3545568039950062,3.2521847690387014,3.982521847690387,1.6666666666666667,0.6928838951310862,0.6991260923845194,2.016229712858926,6.30461922596754,4.950062421972534,3.2209737827715355,2.328339575530587,1.978776529338327,4.332084893882647,5.705368289637952,3.3333333333333335,5.942571785268415,5.237203495630462,1.3857677902621723,1.0674157303370786,1.0362047440699127,2.2347066167290888,4.431960049937578,0.618601747815231,1.3982521847690388,5.424469413233458,4.332084893882647,1.6541822721598003,2.933832709113608,1.2359550561797754,6.616729088639201,4.675405742821473,1.017478152309613,1.0549313358302121,5.287141073657928,4.213483146067416,1.7290886392009988,1.1797752808988764,1.4856429463171037,6.192259675405743,3.202247191011236,1.5980024968789013,4.893882646691636,3.408239700374532,3.689138576779026,4.525593008739076,6.367041198501872,2.153558052434457,3.9450686641697876,4.332084893882647,5.436953807740325,6.429463171036204,3.6454431960049942,2.696629213483146,3.6766541822721597,3.464419475655431,2.1410736579275906,6.111111111111111,3.920099875156055,2.7715355805243447,6.179775280898876,2.184769038701623,3.7702871410736583,4.138576779026217,4.444444444444445,6.054931335830212,4.00749063670412,6.061173533083646,6.429463171036204,4.450686641697877,2.8152309612983775,1.3233458177278403,1.797752808988764,6.30461922596754,3.826466916354557,3.0399500624219726,1.3046192259675407,6.429463171036204,4.488139825218477,5.50561797752809,1.916354556803995,3.951310861423221,3.4456928838951315,5.880149812734083,0.8239700374531835,2.3782771535580522,2.2347066167290888,2.696629213483146,5.617977528089888,1.2047440699126093,5.312109862671661,4.812734082397004,4.506866416978776, +4.138576779026217,5.611735330836455,2.6529338327091136,5.7553058676654185,3.9887640449438204,4.0886392009987516,1.0237203495630463,3.7265917602996255,1.3795255930087391,3.2771535580524347,4.00749063670412,1.6978776529338326,0.717852684144819,0.7303370786516854,2.0411985018726595,6.30461922596754,4.9812734082397006,3.2521847690387014,2.35330836454432,2.00374531835206,4.357053682896379,5.736579275905119,3.3583021223470664,5.967540574282147,5.268414481897628,1.410736579275905,1.0986267166042447,1.0611735330836456,2.2659176029962547,4.456928838951311,0.6429463171036205,1.4294631710362047,5.449438202247191,4.357053682896379,1.6791510611735332,2.958801498127341,1.2671660424469413,6.679151061173534,4.700374531835206,1.042446941323346,1.079900124843945,5.305867665418227,4.238451935081149,1.7602996254681649,1.2047440699126093,1.5106117353308364,6.223470661672909,3.2397003745318353,1.6292134831460674,4.918851435705368,3.439450686641698,3.7203495630461925,4.55056179775281,6.367041198501872,2.1785268414481895,3.9637952559300875,4.3632958801498125,5.474406991260924,6.429463171036204,3.6766541822721597,2.715355805243446,3.6953807740324596,3.495630461922597,2.1660424469413235,6.1360799001248445,3.9450686641697876,2.7965043695380776,6.20474406991261,2.209737827715356,3.7952559300873907,4.169787765293384,4.4818976279650435,6.079900124843945,4.032459425717852,6.092384519350812,6.429463171036204,4.475655430711611,2.8464419475655434,1.348314606741573,1.8352059925093633,6.367041198501872,3.857677902621723,3.0711610486891385,1.3233458177278403,6.429463171036204,4.51310861423221,5.5305867665418225,1.9475655430711611,3.9762796504369535,3.4769038701622974,5.905118601747815,0.8489388264669163,2.4094881398252186,2.259675405742821,2.727840199750312,5.655430711610487,1.2359550561797754,5.337078651685393,4.837702871410737,4.531835205992509, +4.169787765293384,5.64294631710362,2.68414481897628,5.7802746566791505,4.013732833957553,4.1136079900124844,1.048689138576779,3.7515605493133584,1.410736579275905,3.3021223470661676,4.02621722846442,1.7228464419475658,0.7428214731585518,0.7553058676654182,2.066167290886392,6.367041198501872,5.012484394506866,3.2833957553058677,2.3782771535580522,2.0224719101123596,4.388264669163545,5.767790262172285,3.383270911360799,5.998751560549313,5.299625468164794,1.4419475655430714,1.1298377028714106,1.0861423220973783,2.2971285892634206,4.4818976279650435,0.6679151061173533,1.466916354556804,5.468164794007491,4.382022471910113,1.704119850187266,2.9837702871410734,1.3046192259675407,6.679151061173534,4.725343320848939,1.0611735330836456,1.104868913857678,5.33083645443196,4.263420724094882,1.7915106117353308,1.2359550561797754,1.5355805243445693,6.242197253433209,3.2709113607990012,1.6666666666666667,4.950062421972534,3.464419475655431,3.7578027465667914,4.581772784019975,6.429463171036204,2.1972534332084894,3.9887640449438204,4.388264669163545,5.511860174781523,6.491885143570538,3.701622971285893,2.7340823970037453,3.714107365792759,3.5268414481897628,2.184769038701623,6.167290886392011,3.9637952559300875,2.8152309612983775,6.223470661672909,2.2347066167290888,3.8202247191011236,4.200998751560549,4.51310861423221,6.104868913857677,4.057428214731585,6.123595505617978,6.429463171036204,4.49438202247191,2.8838951310861427,1.373283395755306,1.8726591760299625,6.367041198501872,3.888888888888889,3.102372034956305,1.348314606741573,6.491885143570538,4.538077403245943,5.555555555555556,1.978776529338327,4.001248439450687,3.508114856429463,5.936329588014981,0.8739076154806492,2.4406991260923845,2.2846441947565546,2.7590511860174782,5.69912609238452,1.2734082397003745,5.36828963795256,4.8626716604244695,4.556803995006242, +4.200998751560549,5.674157303370786,2.7215980024968793,5.811485642946318,4.038701622971286,4.132334581772784,1.0674157303370786,3.776529338327091,1.4419475655430714,3.320848938826467,4.044943820224719,1.7540574282147314,0.7615480649188515,0.7865168539325842,2.091136079900125,6.367041198501872,5.043695380774032,3.3146067415730336,2.4032459425717856,2.0474406991260925,4.419475655430712,5.799001248439451,3.408239700374532,6.029962546816479,5.324594257178527,1.4731585518102372,1.161048689138577,1.1111111111111112,2.328339575530587,4.506866416978776,0.6928838951310862,1.4981273408239701,5.493133583021224,4.400749063670412,1.7228464419475658,3.0087390761548067,1.3358302122347065,6.741573033707866,4.750312109862672,1.079900124843945,1.1298377028714106,5.34956304619226,4.288389513108614,1.8289637952559301,1.2671660424469413,1.5605493133583022,6.30461922596754,3.3083645443196006,1.6978776529338326,4.9812734082397006,3.495630461922597,3.7890137328339577,4.606741573033708,6.429463171036204,2.2222222222222223,4.00749063670412,4.419475655430712,5.549313358302123,6.491885143570538,3.7265917602996255,2.752808988764045,3.7390761548064915,3.5580524344569286,2.209737827715356,6.198501872659176,3.9887640449438204,2.84019975031211,6.242197253433209,2.259675405742821,3.8451935081148565,4.2322097378277155,4.544319600499376,6.123595505617978,4.0886392009987516,6.1485642946317105,6.491885143570538,4.519350811485642,2.9151061173533086,1.3982521847690388,1.9038701622971288,6.429463171036204,3.920099875156055,3.139825218476904,1.3670411985018727,6.491885143570538,4.563046192259676,5.580524344569288,2.009987515605493,4.02621722846442,3.5393258426966296,5.967540574282147,0.898876404494382,2.4656679151061174,2.3158551810237205,2.7965043695380776,5.736579275905119,1.3046192259675407,5.399500624219725,4.887640449438202,4.575530586766542, +4.2322097378277155,5.711610486891385,2.752808988764045,5.836454431960051,4.063670411985019,4.157303370786517,1.0923845193508115,3.801498127340824,1.4731585518102372,3.3458177278401995,4.069912609238452,1.7852684144818978,0.7865168539325842,0.8177278401997503,2.1161048689138577,6.429463171036204,5.074906367041199,3.3458177278401995,2.428214731585518,2.066167290886392,4.444444444444445,5.830212234706617,3.4332084893882646,6.061173533083646,5.355805243445693,1.4981273408239701,1.1922596754057428,1.136079900124844,2.3657927590511862,4.525593008739076,0.717852684144819,1.5355805243445693,5.511860174781523,4.425717852684145,1.7478152309612984,3.027465667915106,1.373283395755306,6.741573033707866,4.769038701622971,1.104868913857678,1.1548064918851435,5.3745318352059925,4.31960049937578,1.8601747815230962,1.2921348314606742,1.591760299625468,6.30461922596754,3.339575530586767,1.7290886392009988,5.012484394506866,3.5268414481897628,3.826466916354557,4.631710362047441,6.491885143570538,2.247191011235955,4.02621722846442,4.444444444444445,5.586766541822722,6.491885143570538,3.7578027465667914,2.7715355805243447,3.7578027465667914,3.589263420724095,2.2347066167290888,6.229712858926342,4.013732833957553,2.8589263420724094,6.242197253433209,2.2846441947565546,3.870162297128589,4.263420724094882,4.575530586766542,6.1485642946317105,4.1136079900124844,6.179775280898876,6.491885143570538,4.538077403245943,2.9525593008739075,1.4232209737827717,1.941323345817728,6.491885143570538,3.9450686641697876,3.17103620474407,1.3920099875156053,6.554307116104869,4.581772784019975,5.605493133583021,2.0411985018726595,4.057428214731585,3.5705368289637955,5.992509363295881,0.9238451935081149,2.4968789013732833,2.340823970037453,2.8277153558052435,5.774032459425719,1.34207240948814,5.430711610486892,4.912609238451935,4.600499375780275, +4.263420724094882,5.742821473158552,2.7840199750312107,5.867665418227216,4.0886392009987516,4.18227215980025,1.1173533083645444,3.826466916354557,1.4981273408239701,3.370786516853933,4.0886392009987516,1.8164794007490637,0.8114856429463172,0.8489388264669163,2.1410736579275906,6.429463171036204,5.106117353308365,3.3770287141073654,2.453183520599251,2.091136079900125,4.475655430711611,5.861423220973783,3.4581772784019975,6.092384519350812,5.3870162297128585,1.529338327091136,1.2172284644194757,1.161048689138577,2.397003745318352,4.55056179775281,0.7428214731585518,1.5667915106117354,5.5305867665418225,4.444444444444445,1.766541822721598,3.0524344569288386,1.404494382022472,6.803995006242197,4.794007490636704,1.1235955056179776,1.1735330836454432,5.393258426966292,4.344569288389513,1.8913857677902621,1.3233458177278403,1.616729088639201,6.367041198501872,3.370786516853933,1.766541822721598,5.0374531835206,3.5518102372034956,3.857677902621723,4.656679151061174,6.554307116104869,2.272159800249688,4.051186017478152,4.475655430711611,5.6242197253433215,6.554307116104869,3.7827715355805243,2.7965043695380776,3.776529338327091,3.620474406991261,2.253433208489388,6.242197253433209,4.032459425717852,2.8838951310861427,6.30461922596754,2.303370786516854,3.8951310861423223,4.294631710362047,4.612983770287141,6.173533083645444,4.138576779026217,6.210986267166042,6.491885143570538,4.556803995006242,2.9837702871410734,1.4481897627965044,1.9725343320848938,6.491885143570538,3.9762796504369535,3.202247191011236,1.410736579275905,6.554307116104869,4.606741573033708,5.630461922596755,2.0724094881398254,4.082397003745319,3.6017478152309614,6.023720349563047,0.9488139825218477,2.5280898876404496,2.3657927590511862,2.8589263420724094,5.811485642946318,1.373283395755306,5.461922596754057,4.943820224719102,4.6254681647940075, +4.288389513108614,5.774032459425719,2.82147315855181,5.892634207240949,4.1136079900124844,4.200998751560549,1.136079900124844,3.857677902621723,1.529338327091136,3.3895131086142323,4.1136079900124844,1.8414481897627966,0.8302122347066168,0.8801498127340824,2.1660424469413235,6.491885143570538,5.1373283395755305,3.408239700374532,2.471910112359551,2.1098626716604243,4.500624219725343,5.892634207240949,3.4769038701622974,6.123595505617978,5.418227215980025,1.5605493133583022,1.2484394506866416,1.1860174781523096,2.428214731585518,4.575530586766542,0.7677902621722846,1.5980024968789013,5.555555555555556,4.4694132334581775,1.7915106117353308,3.077403245942572,1.4419475655430714,6.803995006242197,4.818976279650437,1.1423220973782773,1.198501872659176,5.418227215980025,4.369538077403246,1.9225967540574282,1.3545568039950062,1.6416978776529338,6.367041198501872,3.408239700374532,1.797752808988764,5.068664169787765,3.5830212234706615,3.888888888888889,4.681647940074906,6.554307116104869,2.2971285892634206,4.069912609238452,4.500624219725343,5.66167290886392,6.554307116104869,3.8077403245942576,2.8152309612983775,3.801498127340824,3.651685393258427,2.278401997503121,6.30461922596754,4.057428214731585,2.902621722846442,6.30461922596754,2.328339575530587,3.920099875156055,4.325842696629214,4.644194756554308,6.198501872659176,4.169787765293384,6.242197253433209,6.554307116104869,4.581772784019975,3.0212234706616727,1.4731585518102372,2.009987515605493,6.554307116104869,4.00749063670412,3.2397003745318353,1.435705368289638,6.616729088639201,4.631710362047441,5.655430711610487,2.1036204744069913,4.107365792759051,3.639200998751561,6.054931335830212,0.9737827715355806,2.5593008739076155,2.3907615480649187,2.8963795255930087,5.855181023720349,1.410736579275905,5.493133583021224,4.9687890137328345,4.644194756554308, +4.31960049937578,5.805243445692884,2.852684144818976,5.9238451935081144,4.144818976279651,4.225967540574282,1.161048689138577,3.882646691635456,1.5605493133583022,3.4144818976279647,4.132334581772784,1.8726591760299625,0.8551810237203495,0.9051186017478152,2.1910112359550564,6.491885143570538,5.162297128589263,3.439450686641698,2.4968789013732833,2.128589263420724,4.531835205992509,5.9238451935081144,3.5018726591760303,6.154806491885144,5.443196004993759,1.585518102372035,1.2796504369538078,1.2109862671660423,2.459425717852684,4.600499375780275,0.7927590511860175,1.6354556803995006,5.574282147315855,4.488139825218477,1.8164794007490637,3.0961298377028714,1.4731585518102372,6.866416978776529,4.843945068664169,1.161048689138577,1.223470661672909,5.443196004993759,4.400749063670412,1.9600499375780276,1.3857677902621723,1.6729088639200997,6.429463171036204,3.439450686641698,1.8352059925093633,5.099875156054932,3.607990012484395,3.926342072409488,4.712858926342073,6.616729088639201,2.322097378277154,4.0886392009987516,4.531835205992509,5.69912609238452,6.616729088639201,3.8389513108614235,2.8339575530586765,3.8202247191011236,3.682896379525593,2.2971285892634206,6.30461922596754,4.0761548064918856,2.9275905118601746,6.30461922596754,2.35330836454432,3.9450686641697876,4.357053682896379,4.675405742821473,6.217228464419476,4.194756554307116,6.30461922596754,6.554307116104869,4.600499375780275,3.0524344569288386,1.4981273408239701,2.0411985018726595,6.554307116104869,4.038701622971286,3.2709113607990012,1.4544319600499376,6.616729088639201,4.656679151061174,5.68039950062422,2.134831460674157,4.132334581772784,3.6704119850187267,6.079900124843945,0.9925093632958802,2.5905118601747814,2.4219725343320846,2.9275905118601746,5.892634207240949,1.4419475655430714,5.5181023720349565,4.9937578027465666,4.66916354556804, +4.3508114856429465,5.842696629213483,2.8901373283395753,5.948813982521848,4.169787765293384,4.244694132334582,1.1860174781523096,3.9076154806491883,1.585518102372035,3.439450686641698,4.151061173533084,1.9038701622971288,0.8801498127340824,0.9363295880149812,2.209737827715356,6.554307116104869,5.19350811485643,3.470661672908864,2.521847690387016,2.153558052434457,4.563046192259676,5.955056179775282,3.5268414481897628,6.186017478152309,5.474406991260924,1.616729088639201,1.3108614232209737,1.2359550561797754,2.4906367041198503,4.6254681647940075,0.8177278401997503,1.6666666666666667,5.599250936329588,4.51310861423221,1.8352059925093633,3.1210986267166043,1.5106117353308364,6.866416978776529,4.868913857677903,1.1860174781523096,1.2484394506866416,5.461922596754057,4.425717852684145,1.9912609238451935,1.410736579275905,1.6978776529338326,6.429463171036204,3.470661672908864,1.8664169787765295,5.131086142322098,3.639200998751561,3.957553058676654,4.737827715355805,6.616729088639201,2.340823970037453,4.1136079900124844,4.556803995006242,5.736579275905119,6.616729088639201,3.8639200998751564,2.852684144818976,3.8389513108614235,3.714107365792759,2.322097378277154,6.367041198501872,4.1011235955056184,2.9463171036204745,6.367041198501872,2.3782771535580522,3.970037453183521,4.382022471910113,4.70661672908864,6.242197253433209,4.225967540574282,6.30461922596754,6.554307116104869,4.619225967540574,3.089887640449438,1.523096129837703,2.0786516853932584,6.616729088639201,4.069912609238452,3.3021223470661676,1.4794007490636705,6.679151061173534,4.681647940074906,5.705368289637952,2.1660424469413235,4.157303370786517,3.701622971285893,6.111111111111111,1.017478152309613,2.6217228464419473,2.446941323345818,2.958801498127341,5.930087390761548,1.4794007490636705,5.549313358302123,5.0187265917602994,4.694132334581773, +4.382022471910113,5.8739076154806495,2.9213483146067416,5.980024968789014,4.194756554307116,4.269662921348314,1.2047440699126093,3.9325842696629216,1.616729088639201,3.4581772784019975,4.176029962546816,1.9350811485642945,0.898876404494382,0.9675405742821472,2.2347066167290888,6.554307116104869,5.224719101123595,3.5018726591760303,2.546816479400749,2.1722846441947565,4.588014981273409,5.992509363295881,3.5518102372034956,6.217228464419476,5.50561797752809,1.647940074906367,1.34207240948814,1.260923845193508,2.521847690387016,4.65043695380774,0.8426966292134832,1.6978776529338326,5.617977528089888,4.538077403245943,1.8601747815230962,3.1460674157303368,1.5418227215980027,6.928838951310862,4.893882646691636,1.2047440699126093,1.2734082397003745,5.48689138576779,4.450686641697877,2.0224719101123596,1.4419475655430714,1.7228464419475658,6.491885143570538,3.508114856429463,1.8976279650436954,5.15605493133583,3.6641697877652937,3.9950062421972534,4.762796504369538,6.679151061173534,2.3657927590511862,4.132334581772784,4.588014981273409,5.774032459425719,6.616729088639201,3.888888888888889,2.871410736579276,3.8639200998751564,3.745318352059925,2.3470661672908864,6.367041198501872,4.1260923845193505,2.9712858926342074,6.367041198501872,2.4032459425717856,3.9950062421972534,4.413233458177278,4.7440699126092385,6.242197253433209,4.250936329588015,6.367041198501872,6.616729088639201,4.644194756554308,3.1210986267166043,1.5480649188514357,2.1161048689138577,6.679151061173534,4.1011235955056184,3.339575530586767,1.4981273408239701,6.679151061173534,4.70661672908864,5.730337078651686,2.1972534332084894,4.18227215980025,3.732833957553059,6.142322097378277,1.042446941323346,2.6529338327091136,2.471910112359551,2.9962546816479403,5.97378277153558,1.5106117353308364,5.580524344569288,5.043695380774032,4.719101123595506, +4.413233458177278,5.905118601747815,2.9525593008739075,6.004993757802747,4.219725343320849,4.294631710362047,1.229712858926342,3.957553058676654,1.647940074906367,3.4831460674157304,4.194756554307116,1.9600499375780276,0.9238451935081149,0.9987515605493134,2.259675405742821,6.616729088639201,5.2559300873907615,3.5268414481897628,2.571785268414482,2.1972534332084894,4.619225967540574,6.023720349563047,3.576779026217228,6.242197253433209,5.5305867665418225,1.6729088639200997,1.373283395755306,1.285892634207241,2.5530586766541825,4.675405742821473,0.867665418227216,1.735330836454432,5.64294631710362,4.556803995006242,1.8789013732833957,3.17103620474407,1.5792759051186018,6.928838951310862,4.918851435705368,1.223470661672909,1.2983770287141074,5.50561797752809,4.475655430711611,2.0536828963795255,1.4731585518102372,1.7540574282147314,6.491885143570538,3.5393258426966296,1.9350811485642945,5.187265917602996,3.6953807740324596,4.02621722846442,4.787765293383271,6.679151061173534,2.3907615480649187,4.151061173533084,4.612983770287141,5.811485642946318,6.679151061173534,3.920099875156055,2.8901373283395753,3.882646691635456,3.7827715355805243,2.3657927590511862,6.429463171036204,4.144818976279651,2.990012484394507,6.429463171036204,2.428214731585518,4.019975031210986,4.444444444444445,4.775280898876405,6.30461922596754,4.275905118601748,6.367041198501872,6.616729088639201,4.662921348314606,3.1585518102372037,1.5730337078651684,2.1473158551810236,6.679151061173534,4.132334581772784,3.370786516853933,1.523096129837703,6.741573033707866,4.7315855181023725,5.7553058676654185,2.2284644194756553,4.207240948813983,3.764044943820225,6.167290886392011,1.0674157303370786,2.68414481897628,2.4968789013732833,3.027465667915106,6.01123595505618,1.5418227215980027,5.611735330836455,5.068664169787765,4.737827715355805, +4.444444444444445,5.942571785268415,2.990012484394507,6.036204744069912,4.244694132334582,4.313358302122348,1.2546816479400749,3.9887640449438204,1.6791510611735332,3.508114856429463,4.219725343320849,1.9912609238451935,0.9488139825218477,1.0299625468164793,2.2846441947565546,6.616729088639201,5.287141073657928,3.5580524344569286,2.596754057428215,2.215980024968789,4.65043695380774,6.054931335830212,3.6017478152309614,6.30461922596754,5.561797752808988,1.704119850187266,1.3982521847690388,1.3108614232209737,2.5842696629213484,4.700374531835206,0.8926342072409489,1.766541822721598,5.66167290886392,4.581772784019975,1.9038701622971288,3.1897627965043696,1.6104868913857677,6.991260923845194,4.937578027465668,1.2484394506866416,1.3233458177278403,5.5305867665418225,4.506866416978776,2.091136079900125,1.4981273408239701,1.7790262172284643,6.554307116104869,3.5705368289637955,1.9662921348314608,5.218476903870163,3.7265917602996255,4.057428214731585,4.812734082397004,6.741573033707866,2.4157303370786516,4.176029962546816,4.644194756554308,5.848938826466916,6.679151061173534,3.9450686641697876,2.908863920099875,3.9013732833957557,3.81398252184769,2.3907615480649187,6.429463171036204,4.169787765293384,3.0149812734082393,6.429463171036204,2.453183520599251,4.044943820224719,4.475655430711611,4.806491885143571,6.30461922596754,4.307116104868914,6.429463171036204,6.616729088639201,4.681647940074906,3.1897627965043696,1.5980024968789013,2.184769038701623,6.741573033707866,4.16354556803995,3.4019975031210987,1.5418227215980027,6.741573033707866,4.750312109862672,5.7802746566791505,2.259675405742821,4.2322097378277155,3.801498127340824,6.198501872659176,1.0923845193508115,2.715355805243446,2.5280898876404496,3.058676654182272,6.048689138576779,1.5792759051186018,5.64294631710362,5.093632958801498,4.762796504369538, +4.475655430711611,5.97378277153558,3.0212234706616727,6.061173533083646,4.269662921348314,4.33832709113608,1.2734082397003745,4.013732833957553,1.704119850187266,3.5268414481897628,4.238451935081149,2.0224719101123596,0.9675405742821472,1.0549313358302121,2.309612983770287,6.616729088639201,5.318352059925093,3.589263420724095,2.6217228464419473,2.2409488139825218,4.675405742821473,6.086142322097379,3.6267166042446943,6.30461922596754,5.593008739076155,1.735330836454432,1.4294631710362047,1.3358302122347065,2.6154806491885143,4.725343320848939,0.9176029962546817,1.8039950062421974,5.686641697877653,4.600499375780275,1.9288389513108615,3.214731585518102,1.647940074906367,6.991260923845194,4.962546816479401,1.2671660424469413,1.34207240948814,5.549313358302123,4.531835205992509,2.122347066167291,1.529338327091136,1.8039950062421974,6.554307116104869,3.607990012484395,1.9975031210986267,5.249687890137328,3.7515605493133584,4.094881398252185,4.843945068664169,6.803995006242197,2.4406991260923845,4.194756554307116,4.675405742821473,5.8863920099875156,6.741573033707866,3.970037453183521,2.9275905118601746,3.926342072409488,3.8451935081148565,2.4094881398252186,6.491885143570538,4.188514357053683,3.033707865168539,6.429463171036204,2.478152309612984,4.069912609238452,4.506866416978776,4.837702871410737,6.367041198501872,4.332084893882647,6.429463171036204,6.679151061173534,4.70661672908864,3.227215980024969,1.6229712858926344,2.215980024968789,6.803995006242197,4.194756554307116,3.439450686641698,1.5667915106117354,6.803995006242197,4.775280898876405,5.805243445692884,2.2908863920099876,4.257178526841448,3.83270911360799,6.229712858926342,1.1173533083645444,2.746566791510612,2.5530586766541825,3.089887640449438,6.086142322097379,1.6104868913857677,5.674157303370786,5.118601747815231,4.787765293383271, +4.506866416978776,6.004993757802747,3.0524344569288386,6.092384519350812,4.294631710362047,4.3632958801498125,1.2983770287141074,4.038701622971286,1.735330836454432,3.5518102372034956,4.263420724094882,2.0474406991260925,0.9925093632958802,1.0861423220973783,2.33458177278402,6.679151061173534,5.34956304619226,3.620474406991261,2.6466916354556806,2.259675405742821,4.70661672908864,6.117353308364544,3.651685393258427,6.367041198501872,5.617977528089888,1.7602996254681649,1.4606741573033708,1.3607990012484397,2.6466916354556806,4.750312109862672,0.9425717852684146,1.8352059925093633,5.705368289637952,4.6254681647940075,1.9475655430711611,3.2397003745318353,1.6791510611735332,7.0536828963795255,4.987515605493134,1.285892634207241,1.3670411985018727,5.574282147315855,4.556803995006242,2.153558052434457,1.5605493133583022,1.8352059925093633,6.616729088639201,3.639200998751561,2.034956304619226,5.274656679151062,3.7827715355805243,4.1260923845193505,4.868913857677903,6.803995006242197,2.4656679151061174,4.213483146067416,4.700374531835206,5.9238451935081144,6.741573033707866,3.9950062421972534,2.9463171036204745,3.9450686641697876,3.8764044943820224,2.4344569288389515,6.491885143570538,4.213483146067416,3.058676654182272,6.491885143570538,2.5031210986267167,4.094881398252185,4.538077403245943,4.868913857677903,6.367041198501872,4.357053682896379,6.491885143570538,6.679151061173534,4.725343320848939,3.258426966292135,1.647940074906367,2.253433208489388,6.803995006242197,4.225967540574282,3.470661672908864,1.585518102372035,6.803995006242197,4.800249687890138,5.830212234706617,2.322097378277154,4.282147315855181,3.8639200998751564,6.242197253433209,1.136079900124844,2.777777777777778,2.578027465667915,3.1273408239700373,6.129837702871411,1.647940074906367,5.69912609238452,5.149812734082397,4.812734082397004, +4.538077403245943,6.0424469413233455,3.089887640449438,6.117353308364544,4.31960049937578,4.382022471910113,1.3233458177278403,4.063670411985019,1.766541822721598,3.576779026217228,4.282147315855181,2.0786516853932584,1.017478152309613,1.1173533083645444,2.359550561797753,6.679151061173534,5.380774032459426,3.651685393258427,2.671660424469413,2.2846441947565546,4.737827715355805,6.1485642946317105,3.6766541822721597,6.367041198501872,5.6491885143570535,1.7915106117353308,1.4918851435705367,1.3857677902621723,2.68414481897628,4.775280898876405,0.9675405742821472,1.8664169787765295,5.724094881398252,4.65043695380774,1.9725343320848938,3.2646691635455682,1.7166042446941323,7.0536828963795255,5.012484394506866,1.3046192259675407,1.3920099875156053,5.593008739076155,4.588014981273409,2.184769038701623,1.591760299625468,1.8601747815230962,6.616729088639201,3.6766541822721597,2.066167290886392,5.305867665418227,3.8077403245942576,4.16354556803995,4.893882646691636,6.866416978776529,2.4843945068664173,4.238451935081149,4.7315855181023725,5.961298377028713,6.741573033707866,4.02621722846442,2.9712858926342074,3.9637952559300875,3.9076154806491883,2.453183520599251,6.554307116104869,4.238451935081149,3.077403245942572,6.491885143570538,2.5280898876404496,4.1136079900124844,4.569288389513109,4.906367041198502,6.367041198501872,4.388264669163545,6.491885143570538,6.679151061173534,4.7440699126092385,3.2896379525593007,1.6729088639200997,2.2846441947565546,6.866416978776529,4.257178526841448,3.5018726591760303,1.6042446941323347,6.866416978776529,4.825218476903871,5.855181023720349,2.35330836454432,4.307116104868914,3.8951310861423223,6.30461922596754,1.161048689138577,2.808988764044944,2.6092384519350813,3.1585518102372037,6.167290886392011,1.6791510611735332,5.730337078651686,5.174781523096129,4.831460674157303, +4.563046192259676,6.073657927590512,3.1210986267166043,6.1485642946317105,4.344569288389513,4.406991260923846,1.348314606741573,4.0886392009987516,1.797752808988764,3.595505617977528,4.300873907615481,2.1098626716604243,1.0362047440699127,1.1485642946317103,2.3845193508114857,6.741573033707866,5.411985018726591,3.682896379525593,2.696629213483146,2.303370786516854,4.762796504369538,6.179775280898876,3.6953807740324596,6.429463171036204,5.68039950062422,1.8227215980024971,1.523096129837703,1.410736579275905,2.715355805243446,4.800249687890138,0.9925093632958802,1.9038701622971288,5.749063670411985,4.66916354556804,1.9975031210986267,3.2833957553058677,1.7478152309612984,7.116104868913857,5.0374531835206,1.3295880149812733,1.4169787765293382,5.617977528089888,4.612983770287141,2.2222222222222223,1.616729088639201,1.8851435705368291,6.679151061173534,3.7078651685393256,2.1036204744069913,5.337078651685393,3.8389513108614235,4.194756554307116,4.918851435705368,6.866416978776529,2.5093632958801497,4.257178526841448,4.7565543071161045,5.998751560549313,6.803995006242197,4.051186017478152,2.990012484394507,3.9887640449438204,3.938826466916354,2.478152309612984,6.554307116104869,4.257178526841448,3.102372034956305,6.491885143570538,2.546816479400749,4.138576779026217,4.600499375780275,4.937578027465668,6.429463171036204,4.413233458177278,6.554307116104869,6.741573033707866,4.769038701622971,3.3270911360799,1.6978776529338326,2.322097378277154,6.866416978776529,4.288389513108614,3.5393258426966296,1.6292134831460674,6.866416978776529,4.850187265917603,5.880149812734083,2.3845193508114857,4.332084893882647,3.926342072409488,6.30461922596754,1.1860174781523096,2.84019975031211,2.634207240948814,3.1897627965043696,6.20474406991261,1.7166042446941323,5.761548064918852,5.199750312109863,4.856429463171036, +4.594257178526841,6.104868913857677,3.15230961298377,6.173533083645444,4.369538077403246,4.431960049937578,1.3670411985018727,4.119850187265917,1.8227215980024971,3.620474406991261,4.325842696629214,2.1410736579275906,1.0611735330836456,1.1797752808988764,2.4094881398252186,6.741573033707866,5.443196004993759,3.714107365792759,2.7215980024968793,2.328339575530587,4.794007490636704,6.210986267166042,3.7203495630461925,6.429463171036204,5.705368289637952,1.8476903870162298,1.554307116104869,1.435705368289638,2.746566791510612,4.825218476903871,1.0112359550561798,1.9350811485642945,5.767790262172285,4.694132334581773,2.016229712858926,3.3083645443196006,1.7852684144818978,7.116104868913857,5.062421972534332,1.348314606741573,1.4419475655430714,5.636704119850187,4.637952559300874,2.253433208489388,1.647940074906367,1.916354556803995,6.679151061173534,3.7390761548064915,2.134831460674157,5.36828963795256,3.8639200998751564,4.2322097378277155,4.943820224719102,6.928838951310862,2.5343320848938826,4.282147315855181,4.787765293383271,6.036204744069912,6.803995006242197,4.0761548064918856,3.0087390761548067,4.00749063670412,3.970037453183521,2.5031210986267167,6.616729088639201,4.282147315855181,3.1210986267166043,6.554307116104869,2.571785268414482,4.16354556803995,4.631710362047441,4.9687890137328345,6.429463171036204,4.438202247191011,6.554307116104869,6.741573033707866,4.787765293383271,3.3583021223470664,1.7228464419475658,2.359550561797753,6.928838951310862,4.31960049937578,3.5705368289637955,1.647940074906367,6.928838951310862,4.875156054931336,5.905118601747815,2.4157303370786516,4.357053682896379,3.9637952559300875,6.367041198501872,1.2109862671660423,2.871410736579276,2.6591760299625467,3.227215980024969,6.242197253433209,1.7478152309612984,5.792759051186017,5.224719101123595,4.881398252184769, +4.6254681647940075,6.142322097378277,3.1897627965043696,6.20474406991261,4.394506866416979,4.450686641697877,1.3920099875156053,4.144818976279651,1.8539325842696628,3.6454431960049942,4.344569288389513,2.1660424469413235,1.079900124843945,1.2047440699126093,2.4344569288389515,6.803995006242197,5.474406991260924,3.745318352059925,2.746566791510612,2.3470661672908864,4.825218476903871,6.242197253433209,3.745318352059925,6.491885143570538,5.736579275905119,1.8789013732833957,1.5792759051186018,1.4606741573033708,2.777777777777778,4.850187265917603,1.0362047440699127,1.9662921348314608,5.792759051186017,4.712858926342073,2.0411985018726595,3.3333333333333335,1.8164794007490637,7.17852684144819,5.081148564294631,1.3670411985018727,1.466916354556804,5.66167290886392,4.662921348314606,2.2846441947565546,1.6791510611735332,1.941323345817728,6.741573033707866,3.776529338327091,2.1660424469413235,5.393258426966292,3.8951310861423223,4.263420724094882,4.9687890137328345,6.928838951310862,2.5593008739076155,4.300873907615481,4.812734082397004,6.073657927590512,6.866416978776529,4.107365792759051,3.027465667915106,4.02621722846442,4.001248439450687,2.521847690387016,6.616729088639201,4.300873907615481,3.1460674157303368,6.554307116104869,2.596754057428215,4.188514357053683,4.662921348314606,5.0,6.429463171036204,4.4694132334581775,6.616729088639201,6.741573033707866,4.812734082397004,3.3957553058676653,1.7478152309612984,2.3907615480649187,6.991260923845194,4.3508114856429465,3.6017478152309614,1.6729088639200997,6.928838951310862,4.893882646691636,5.930087390761548,2.446941323345818,4.382022471910113,3.9950062421972534,6.367041198501872,1.2359550561797754,2.902621722846442,2.68414481897628,3.258426966292135,6.30461922596754,1.7852684144818978,5.823970037453184,5.249687890137328,4.906367041198502, +4.656679151061174,6.173533083645444,3.2209737827715355,6.229712858926342,4.419475655430712,4.475655430711611,1.4169787765293382,4.169787765293384,1.8851435705368291,3.6641697877652937,4.369538077403246,2.1972534332084894,1.104868913857678,1.2359550561797754,2.459425717852684,6.803995006242197,5.50561797752809,3.776529338327091,2.7715355805243447,2.3720349563046192,4.850187265917603,6.30461922596754,3.7702871410736583,6.491885143570538,5.767790262172285,1.9101123595505618,1.6104868913857677,1.4856429463171037,2.808988764044944,4.875156054931336,1.0611735330836456,2.00374531835206,5.811485642946318,4.737827715355805,2.0599250936329585,3.3583021223470664,1.8539325842696628,7.17852684144819,5.106117353308365,1.3920099875156053,1.4856429463171037,5.686641697877653,4.694132334581773,2.3158551810237205,1.704119850187266,1.9662921348314608,6.741573033707866,3.8077403245942576,2.203495630461923,5.424469413233458,3.926342072409488,4.294631710362047,5.0,6.991260923845194,2.5842696629213484,4.31960049937578,4.843945068664169,6.111111111111111,6.866416978776529,4.132334581772784,3.046192259675406,4.051186017478152,4.032459425717852,2.546816479400749,6.679151061173534,4.325842696629214,3.1647940074906367,6.554307116104869,2.6217228464419473,4.213483146067416,4.694132334581773,5.0374531835206,6.491885143570538,4.49438202247191,6.616729088639201,6.803995006242197,4.831460674157303,3.4269662921348316,1.772784019975031,2.428214731585518,6.991260923845194,4.382022471910113,3.639200998751561,1.6916354556803994,6.991260923845194,4.918851435705368,5.955056179775282,2.478152309612984,4.406991260923846,4.02621722846442,6.429463171036204,1.260923845193508,2.933832709113608,2.715355805243446,3.2896379525593007,6.30461922596754,1.8164794007490637,5.855181023720349,5.274656679151062,4.925093632958801, +4.687890137328339,6.20474406991261,3.258426966292135,6.242197253433209,4.444444444444445,4.500624219725343,1.435705368289638,4.194756554307116,1.916354556803995,3.689138576779026,4.388264669163545,2.2284644194756553,1.1298377028714106,1.2671660424469413,2.4843945068664173,6.866416978776529,5.536828963795256,3.8077403245942576,2.7965043695380776,2.3907615480649187,4.881398252184769,6.30461922596754,3.7952559300873907,6.554307116104869,5.799001248439451,1.9350811485642945,1.6416978776529338,1.5106117353308364,2.84019975031211,4.900124843945068,1.0861423220973783,2.034956304619226,5.836454431960051,4.7565543071161045,2.084893882646692,3.3770287141073654,1.8851435705368291,7.240948813982522,5.131086142322098,1.410736579275905,1.5106117353308364,5.705368289637952,4.719101123595506,2.35330836454432,1.735330836454432,1.9975031210986267,6.803995006242197,3.8389513108614235,2.2347066167290888,5.455680399500624,3.951310861423221,4.332084893882647,5.024968789013733,7.0536828963795255,2.602996254681648,4.344569288389513,4.868913857677903,6.1485642946317105,6.866416978776529,4.157303370786517,3.0649188514357055,4.069912609238452,4.063670411985019,2.565543071161049,6.679151061173534,4.3508114856429465,3.1897627965043696,6.616729088639201,2.6466916354556806,4.238451935081149,4.725343320848939,5.068664169787765,6.491885143570538,4.519350811485642,6.679151061173534,6.803995006242197,4.850187265917603,3.464419475655431,1.797752808988764,2.459425717852684,7.0536828963795255,4.413233458177278,3.6704119850187267,1.7166042446941323,6.991260923845194,4.943820224719102,5.980024968789014,2.5093632958801497,4.431960049937578,4.057428214731585,6.429463171036204,1.285892634207241,2.965043695380774,2.740324594257179,3.3270911360799,6.367041198501872,1.8476903870162298,5.880149812734083,5.299625468164794,4.950062421972534, +4.719101123595506,6.242197253433209,3.2896379525593007,6.30461922596754,4.4694132334581775,4.519350811485642,1.4606741573033708,4.219725343320849,1.941323345817728,3.714107365792759,4.413233458177278,2.259675405742821,1.1485642946317103,1.2983770287141074,2.5093632958801497,6.866416978776529,5.568039950062421,3.8389513108614235,2.82147315855181,2.4157303370786516,4.912609238451935,6.367041198501872,3.8202247191011236,6.554307116104869,5.823970037453184,1.9662921348314608,1.6729088639200997,1.5355805243445693,2.871410736579276,4.925093632958801,1.1111111111111112,2.0724094881398254,5.855181023720349,4.781523096129837,2.1098626716604243,3.4019975031210987,1.9225967540574282,7.240948813982522,5.15605493133583,1.4294631710362047,1.5355805243445693,5.730337078651686,4.7440699126092385,2.3845193508114857,1.766541822721598,2.0224719101123596,6.803995006242197,3.8764044943820224,2.272159800249688,5.48689138576779,3.982521847690387,4.3632958801498125,5.049937578027466,7.0536828963795255,2.6279650436953808,4.3632958801498125,4.900124843945068,6.186017478152309,6.928838951310862,4.188514357053683,3.0836454431960054,4.0886392009987516,4.094881398252185,2.5905118601747814,6.741573033707866,4.369538077403246,3.2084893882646695,6.616729088639201,2.671660424469413,4.263420724094882,4.750312109862672,5.099875156054932,6.491885143570538,4.55056179775281,6.679151061173534,6.803995006242197,4.875156054931336,3.495630461922597,1.8227215980024971,2.4968789013732833,7.116104868913857,4.444444444444445,3.7078651685393256,1.735330836454432,7.0536828963795255,4.9687890137328345,6.01123595505618,2.5405742821473156,4.456928838951311,4.0886392009987516,6.491885143570538,1.3046192259675407,2.9962546816479403,2.7652933832709112,3.3583021223470664,6.429463171036204,1.8851435705368291,5.9113607990012484,5.324594257178527,4.975031210986267, +4.750312109862672,6.30461922596754,3.320848938826467,6.30461922596754,4.49438202247191,4.544319600499376,1.4856429463171037,4.250936329588015,1.9725343320848938,3.732833957553059,4.431960049937578,2.2846441947565546,1.1735330836454432,1.3295880149812733,2.5343320848938826,6.928838951310862,5.599250936329588,3.870162297128589,2.84019975031211,2.4344569288389515,4.937578027465668,6.367041198501872,3.8451935081148565,6.616729088639201,5.855181023720349,1.9975031210986267,1.704119850187266,1.5605493133583022,2.902621722846442,4.950062421972534,1.136079900124844,2.1036204744069913,5.880149812734083,4.806491885143571,2.128589263420724,3.4269662921348316,1.9600499375780276,7.303370786516854,5.181023720349563,1.4544319600499376,1.5605493133583022,5.749063670411985,4.775280898876405,2.4157303370786516,1.797752808988764,2.0474406991260925,6.866416978776529,3.9076154806491883,2.303370786516854,5.511860174781523,4.00749063670412,4.400749063670412,5.074906367041199,7.116104868913857,2.6529338327091136,4.382022471910113,4.931335830212235,6.223470661672909,6.928838951310862,4.213483146067416,3.102372034956305,4.1136079900124844,4.132334581772784,2.6092384519350813,6.741573033707866,4.394506866416979,3.227215980024969,6.616729088639201,2.696629213483146,4.288389513108614,4.781523096129837,5.131086142322098,6.554307116104869,4.575530586766542,6.741573033707866,6.866416978776529,4.893882646691636,3.533083645443196,1.8476903870162298,2.5343320848938826,7.116104868913857,4.475655430711611,3.7390761548064915,1.7602996254681649,7.0536828963795255,4.9937578027465666,6.036204744069912,2.571785268414482,4.4818976279650435,4.119850187265917,6.491885143570538,1.3295880149812733,3.027465667915106,2.790262172284644,3.3895131086142323,6.429463171036204,1.916354556803995,5.942571785268415,5.355805243445693,4.9937578027465666, +4.781523096129837,6.30461922596754,3.3583021223470664,6.367041198501872,4.519350811485642,4.563046192259676,1.5043695380774034,4.275905118601748,2.00374531835206,3.7578027465667914,4.450686641697877,2.3158551810237205,1.198501872659176,1.3545568039950062,2.5593008739076155,6.928838951310862,5.630461922596755,3.9013732833957557,2.865168539325843,2.453183520599251,4.9687890137328345,6.429463171036204,3.870162297128589,6.616729088639201,5.8863920099875156,2.0287141073657926,1.7290886392009988,1.585518102372035,2.933832709113608,4.975031210986267,1.161048689138577,2.134831460674157,5.8988764044943816,4.825218476903871,2.153558052434457,3.4456928838951315,1.9912609238451935,7.303370786516854,5.205992509363296,1.4731585518102372,1.585518102372035,5.774032459425719,4.800249687890138,2.446941323345818,1.8227215980024971,2.0786516853932584,6.866416978776529,3.938826466916354,2.33458177278402,5.543071161048689,4.038701622971286,4.431960049937578,5.099875156054932,7.116104868913857,2.6779026217228465,4.406991260923846,4.956304619225968,6.242197253433209,6.991260923845194,4.238451935081149,3.1273408239700373,4.132334581772784,4.16354556803995,2.634207240948814,6.803995006242197,4.413233458177278,3.2521847690387014,6.679151061173534,2.7215980024968793,4.313358302122348,4.812734082397004,5.168539325842697,6.554307116104869,4.606741573033708,6.741573033707866,6.866416978776529,4.912609238451935,3.564294631710362,1.8726591760299625,2.565543071161049,7.17852684144819,4.500624219725343,3.7702871410736583,1.7790262172284643,7.116104868913857,5.0187265917602994,6.061173533083646,2.602996254681648,4.506866416978776,4.157303370786517,6.491885143570538,1.3545568039950062,3.058676654182272,2.82147315855181,3.420724094881398,6.491885143570538,1.9538077403245941,5.97378277153558,5.380774032459426,5.0187265917602994, +4.806491885143571,6.367041198501872,3.3895131086142323,6.367041198501872,4.544319600499376,4.588014981273409,1.529338327091136,4.300873907615481,2.034956304619226,3.7827715355805243,4.475655430711611,2.3470661672908864,1.2172284644194757,1.3857677902621723,2.5842696629213484,6.991260923845194,5.66167290886392,3.9325842696629216,2.8901373283395753,2.478152309612984,5.0,6.429463171036204,3.8951310861423223,6.679151061173534,5.9113607990012484,2.0536828963795255,1.7602996254681649,1.6104868913857677,2.965043695380774,5.0,1.1860174781523096,2.1722846441947565,5.917602996254682,4.850187265917603,2.1722846441947565,3.470661672908864,2.0287141073657926,7.365792759051186,5.230961298377029,1.4918851435705367,1.6104868913857677,5.792759051186017,4.825218476903871,2.4843945068664173,1.8539325842696628,2.1036204744069913,6.928838951310862,3.9762796504369535,2.3720349563046192,5.574282147315855,4.063670411985019,4.4694132334581775,5.131086142322098,7.17852684144819,2.702871410736579,4.425717852684145,4.987515605493134,6.30461922596754,6.991260923845194,4.269662921348314,3.1460674157303368,4.151061173533084,4.194756554307116,2.6591760299625467,6.803995006242197,4.438202247191011,3.2709113607990012,6.679151061173534,2.746566791510612,4.33832709113608,4.843945068664169,5.199750312109863,6.616729088639201,4.631710362047441,6.803995006242197,6.866416978776529,4.937578027465668,3.6017478152309614,1.8976279650436954,2.602996254681648,7.17852684144819,4.531835205992509,3.8077403245942576,1.8039950062421974,7.116104868913857,5.043695380774032,6.086142322097379,2.634207240948814,4.531835205992509,4.188514357053683,6.554307116104869,1.3795255930087391,3.0836454431960054,2.8464419475655434,3.4581772784019975,6.491885143570538,1.9850187265917605,6.004993757802747,5.405742821473158,5.043695380774032, +4.837702871410737,6.367041198501872,3.420724094881398,6.367041198501872,4.569288389513109,4.612983770287141,1.554307116104869,4.325842696629214,2.0599250936329585,3.801498127340824,4.49438202247191,2.3720349563046192,1.2421972534332086,1.4169787765293382,2.6092384519350813,6.991260923845194,5.692883895131087,3.9637952559300875,2.9151061173533086,2.4968789013732833,5.024968789013733,6.491885143570538,3.9138576779026217,6.679151061173534,5.942571785268415,2.084893882646692,1.7915106117353308,1.6354556803995006,2.9962546816479403,5.024968789013733,1.2109862671660423,2.203495630461923,5.942571785268415,4.868913857677903,2.1972534332084894,3.495630461922597,2.0599250936329585,7.365792759051186,5.249687890137328,1.5106117353308364,1.6354556803995006,5.81772784019975,4.850187265917603,2.515605493133583,1.8851435705368291,2.128589263420724,6.928838951310862,4.00749063670412,2.4032459425717856,5.605493133583021,4.094881398252185,4.500624219725343,5.15605493133583,7.17852684144819,2.727840199750312,4.444444444444445,5.012484394506866,6.30461922596754,6.991260923845194,4.294631710362047,3.1647940074906367,4.176029962546816,4.225967540574282,2.6779026217228465,6.866416978776529,4.463171036204744,3.295880149812734,6.679151061173534,2.7715355805243447,4.3632958801498125,4.875156054931336,5.230961298377029,6.616729088639201,4.656679151061174,6.803995006242197,6.928838951310862,4.956304619225968,3.6329588014981273,1.9225967540574282,2.634207240948814,7.240948813982522,4.563046192259676,3.8389513108614235,1.8227215980024971,7.17852684144819,5.062421972534332,6.111111111111111,2.66541822721598,4.556803995006242,4.219725343320849,6.554307116104869,1.404494382022472,3.114856429463171,2.871410736579276,3.4893882646691634,6.554307116104869,2.0224719101123596,6.036204744069912,5.430711610486892,5.068664169787765, +4.868913857677903,6.429463171036204,3.4581772784019975,6.429463171036204,4.594257178526841,4.631710362047441,1.5730337078651684,4.357053682896379,2.091136079900125,3.826466916354557,4.519350811485642,2.4032459425717856,1.2671660424469413,1.4481897627965044,2.634207240948814,7.0536828963795255,5.724094881398252,3.9950062421972534,2.9400749063670415,2.521847690387016,5.056179775280899,6.491885143570538,3.938826466916354,6.741573033707866,5.97378277153558,2.1161048689138577,1.8227215980024971,1.6604244694132335,3.033707865168539,5.049937578027466,1.2359550561797754,2.2347066167290888,5.961298377028713,4.893882646691636,2.2222222222222223,3.5205992509363297,2.097378277153558,7.428214731585518,5.274656679151062,1.5355805243445693,1.6541822721598003,5.836454431960051,4.881398252184769,2.546816479400749,1.9101123595505618,2.15980024968789,6.991260923845194,4.044943820224719,2.4344569288389515,5.630461922596755,4.1260923845193505,4.531835205992509,5.181023720349563,7.240948813982522,2.746566791510612,4.4694132334581775,5.043695380774032,6.367041198501872,7.0536828963795255,4.31960049937578,3.183520599250936,4.194756554307116,4.257178526841448,2.702871410736579,6.866416978776529,4.4818976279650435,3.3146067415730336,6.741573033707866,2.790262172284644,4.388264669163545,4.906367041198502,5.262172284644195,6.616729088639201,4.687890137328339,6.803995006242197,6.928838951310862,4.975031210986267,3.6704119850187267,1.941323345817728,2.671660424469413,7.303370786516854,4.594257178526841,3.870162297128589,1.8476903870162298,7.17852684144819,5.087390761548065,6.1360799001248445,2.696629213483146,4.588014981273409,4.250936329588015,6.616729088639201,1.4294631710362047,3.1460674157303368,2.8963795255930087,3.5205992509363297,6.616729088639201,2.0536828963795255,6.061173533083646,5.455680399500624,5.087390761548065, +4.900124843945068,6.429463171036204,3.4893882646691634,6.429463171036204,4.619225967540574,4.656679151061174,1.5980024968789013,4.382022471910113,2.122347066167291,3.8451935081148565,4.538077403245943,2.4344569288389515,1.285892634207241,1.4731585518102372,2.6529338327091136,7.0536828963795255,5.7553058676654185,4.02621722846442,2.965043695380774,2.5405742821473156,5.087390761548065,6.554307116104869,3.9637952559300875,6.741573033707866,5.998751560549313,2.1410736579275906,1.8539325842696628,1.6853932584269664,3.0649188514357055,5.074906367041199,1.260923845193508,2.272159800249688,5.986267166042447,4.912609238451935,2.2409488139825218,3.5393258426966296,2.128589263420724,7.428214731585518,5.299625468164794,1.554307116104869,1.6791510611735332,5.861423220973783,4.906367041198502,2.578027465667915,1.941323345817728,2.184769038701623,6.991260923845194,4.0761548064918856,2.471910112359551,5.66167290886392,4.151061173533084,4.569288389513109,5.205992509363296,7.303370786516854,2.7715355805243447,4.488139825218477,5.068664169787765,6.429463171036204,7.0536828963795255,4.3508114856429465,3.202247191011236,4.213483146067416,4.288389513108614,2.7215980024968793,6.928838951310862,4.506866416978776,3.339575530586767,6.741573033707866,2.8152309612983775,4.413233458177278,4.937578027465668,5.299625468164794,6.679151061173534,4.712858926342073,6.866416978776529,6.928838951310862,5.0,3.701622971285893,1.9662921348314608,2.702871410736579,7.303370786516854,4.6254681647940075,3.9076154806491883,1.8664169787765295,7.240948813982522,5.1123595505617985,6.161048689138577,2.727840199750312,4.612983770287141,4.282147315855181,6.616729088639201,1.4481897627965044,3.1772784019975036,2.9275905118601746,3.5580524344569286,6.616729088639201,2.091136079900125,6.092384519350812,5.480649188514358,5.1123595505617985, +4.931335830212235,6.491885143570538,3.5205992509363297,6.491885143570538,4.644194756554308,4.681647940074906,1.6229712858926344,4.406991260923846,2.153558052434457,3.870162297128589,4.563046192259676,2.4656679151061174,1.3108614232209737,1.5043695380774034,2.6779026217228465,7.116104868913857,5.786516853932584,4.057428214731585,2.990012484394507,2.565543071161049,5.1123595505617985,6.554307116104869,3.9887640449438204,6.803995006242197,6.029962546816479,2.1722846441947565,1.8851435705368291,1.710362047440699,3.0961298377028714,5.099875156054932,1.285892634207241,2.303370786516854,6.004993757802747,4.937578027465668,2.2659176029962547,3.564294631710362,2.1660424469413235,7.49063670411985,5.324594257178527,1.5730337078651684,1.704119850187266,5.8863920099875156,4.931335830212235,2.6154806491885143,1.9725343320848938,2.209737827715356,7.0536828963795255,4.107365792759051,2.5031210986267167,5.692883895131087,4.18227215980025,4.600499375780275,5.230961298377029,7.303370786516854,2.7965043695380776,4.506866416978776,5.099875156054932,6.429463171036204,7.116104868913857,4.375780274656679,3.2209737827715355,4.238451935081149,4.31960049937578,2.746566791510612,6.928838951310862,4.525593008739076,3.3583021223470664,6.741573033707866,2.84019975031211,4.438202247191011,4.9687890137328345,5.33083645443196,6.679151061173534,4.737827715355805,6.866416978776529,6.991260923845194,5.0187265917602994,3.732833957553059,1.9912609238451935,2.740324594257179,7.365792759051186,4.656679151061174,3.938826466916354,1.8913857677902621,7.240948813982522,5.1373283395755305,6.186017478152309,2.7590511860174782,4.637952559300874,4.31960049937578,6.679151061173534,1.4731585518102372,3.2084893882646695,2.9525593008739075,3.589263420724095,6.679151061173534,2.122347066167291,6.123595505617978,5.50561797752809,5.1373283395755305, +4.962546816479401,6.491885143570538,3.5580524344569286,6.491885143570538,4.66916354556804,4.700374531835206,1.6416978776529338,4.431960049937578,2.1785268414481895,3.8951310861423223,4.581772784019975,2.4906367041198503,1.3358302122347065,1.5355805243445693,2.702871410736579,7.116104868913857,5.81772784019975,4.0886392009987516,3.0149812734082393,2.5842696629213484,5.143570536828964,6.616729088639201,4.013732833957553,6.803995006242197,6.061173533083646,2.203495630461923,1.9101123595505618,1.735330836454432,3.1273408239700373,5.118601747815231,1.3108614232209737,2.340823970037453,6.029962546816479,4.962546816479401,2.2846441947565546,3.589263420724095,2.1972534332084894,7.49063670411985,5.34956304619226,1.5980024968789013,1.7290886392009988,5.905118601747815,4.962546816479401,2.6466916354556806,2.00374531835206,2.2409488139825218,7.0536828963795255,4.144818976279651,2.5405742821473156,5.724094881398252,4.207240948813983,4.637952559300874,5.262172284644195,7.365792759051186,2.82147315855181,4.531835205992509,5.1248439450686645,6.491885143570538,7.116104868913857,4.400749063670412,3.2397003745318353,4.257178526841448,4.3508114856429465,2.7715355805243447,6.991260923845194,4.55056179775281,3.383270911360799,6.803995006242197,2.865168539325843,4.463171036204744,5.0,5.3620474406991265,6.679151061173534,4.769038701622971,6.928838951310862,6.991260923845194,5.0374531835206,3.7702871410736583,2.016229712858926,2.777777777777778,7.428214731585518,4.687890137328339,3.970037453183521,1.9101123595505618,7.303370786516854,5.162297128589263,6.210986267166042,2.790262172284644,4.662921348314606,4.3508114856429465,6.679151061173534,1.4981273408239701,3.2397003745318353,2.977528089887641,3.620474406991261,6.741573033707866,2.153558052434457,6.154806491885144,5.5305867665418225,5.162297128589263, +4.9937578027465666,6.554307116104869,3.589263420724095,6.554307116104869,4.694132334581773,4.725343320848939,1.6666666666666667,4.456928838951311,2.209737827715356,3.9138576779026217,4.600499375780275,2.521847690387016,1.3545568039950062,1.5667915106117354,2.727840199750312,7.17852684144819,5.848938826466916,4.119850187265917,3.0399500624219726,2.6092384519350813,5.174781523096129,6.616729088639201,4.038701622971286,6.866416978776529,6.086142322097379,2.2284644194756553,1.941323345817728,1.7602996254681649,3.1585518102372037,5.143570536828964,1.3358302122347065,2.3720349563046192,6.048689138576779,4.9812734082397006,2.309612983770287,3.6142322097378274,2.2347066167290888,7.553058676654182,5.3745318352059925,1.616729088639201,1.7540574282147314,5.930087390761548,4.987515605493134,2.6779026217228465,2.0287141073657926,2.2659176029962547,7.116104868913857,4.176029962546816,2.571785268414482,5.749063670411985,4.238451935081149,4.66916354556804,5.287141073657928,7.365792759051186,2.8464419475655434,4.55056179775281,5.15605493133583,6.491885143570538,7.116104868913857,4.431960049937578,3.258426966292135,4.275905118601748,4.382022471910113,2.790262172284644,6.991260923845194,4.575530586766542,3.4019975031210987,6.803995006242197,2.8901373283395753,4.488139825218477,5.031210986267166,5.393258426966292,6.741573033707866,4.794007490636704,6.928838951310862,6.991260923845194,5.062421972534332,3.801498127340824,2.0411985018726595,2.808988764044944,7.428214731585518,4.719101123595506,4.00749063670412,1.9350811485642945,7.303370786516854,5.187265917602996,6.235955056179775,2.82147315855181,4.687890137328339,4.382022471910113,6.741573033707866,1.523096129837703,3.2709113607990012,3.0087390761548067,3.6579275905118602,6.741573033707866,2.1910112359550564,6.186017478152309,5.561797752808988,5.181023720349563, +5.024968789013733,6.554307116104869,3.6267166042446943,6.554307116104869,4.719101123595506,4.750312109862672,1.6916354556803994,4.488139825218477,2.2409488139825218,3.938826466916354,4.6254681647940075,2.5530586766541825,1.3795255930087391,1.5980024968789013,2.752808988764045,7.17852684144819,5.880149812734083,4.151061173533084,3.0649188514357055,2.6279650436953808,5.199750312109863,6.679151061173534,4.063670411985019,6.866416978776529,6.117353308364544,2.259675405742821,1.9725343320848938,1.7852684144818978,3.1897627965043696,5.168539325842697,1.3607990012484397,2.4032459425717856,6.073657927590512,5.0062421972534334,2.33458177278402,3.6329588014981273,2.2659176029962547,7.553058676654182,5.393258426966292,1.6354556803995006,1.7790262172284643,5.948813982521848,5.012484394506866,2.715355805243446,2.0599250936329585,2.2908863920099876,7.116104868913857,4.207240948813983,2.602996254681648,5.7802746566791505,4.269662921348314,4.700374531835206,5.312109862671661,7.428214731585518,2.865168539325843,4.575530586766542,5.181023720349563,6.554307116104869,7.17852684144819,4.456928838951311,3.2771535580524347,4.300873907615481,4.413233458177278,2.8152309612983775,7.0536828963795255,4.594257178526841,3.4269662921348316,6.803995006242197,2.9151061173533086,4.51310861423221,5.062421972534332,5.424469413233458,6.741573033707866,4.818976279650437,6.991260923845194,7.0536828963795255,5.081148564294631,3.8389513108614235,2.066167290886392,2.8464419475655434,7.49063670411985,4.750312109862672,4.038701622971286,1.9538077403245941,7.365792759051186,5.212234706616729,6.242197253433209,2.852684144818976,4.712858926342073,4.413233458177278,6.741573033707866,1.5480649188514357,3.3021223470661676,3.033707865168539,3.689138576779026,6.803995006242197,2.2222222222222223,6.217228464419476,5.586766541822722,5.205992509363296, +5.056179775280899,6.616729088639201,3.6579275905118602,6.616729088639201,4.7440699126092385,4.769038701622971,1.710362047440699,4.51310861423221,2.272159800249688,3.9637952559300875,4.644194756554308,2.5842696629213484,1.404494382022472,1.6229712858926344,2.777777777777778,7.17852684144819,5.9113607990012484,4.18227215980025,3.089887640449438,2.6529338327091136,5.230961298377029,6.679151061173534,4.0886392009987516,6.928838951310862,6.1485642946317105,2.2908863920099876,2.00374531835206,1.8102372034956304,3.2209737827715355,5.19350811485643,1.3857677902621723,2.4406991260923845,6.092384519350812,5.024968789013733,2.35330836454432,3.6579275905118602,2.303370786516854,7.615480649188515,5.418227215980025,1.6541822721598003,1.8039950062421974,5.97378277153558,5.0374531835206,2.746566791510612,2.091136079900125,2.322097378277154,7.17852684144819,4.244694132334582,2.640449438202247,5.811485642946318,4.294631710362047,4.737827715355805,5.337078651685393,7.428214731585518,2.8901373283395753,4.594257178526841,5.212234706616729,6.616729088639201,7.17852684144819,4.4818976279650435,3.3021223470661676,4.31960049937578,4.444444444444445,2.8339575530586765,7.0536828963795255,4.619225967540574,3.4456928838951315,6.866416978776529,2.9400749063670415,4.538077403245943,5.093632958801498,5.461922596754057,6.803995006242197,4.850187265917603,6.991260923845194,7.0536828963795255,5.099875156054932,3.870162297128589,2.091136079900125,2.8776529338327093,7.49063670411985,4.781523096129837,4.069912609238452,1.9725343320848938,7.365792759051186,5.230961298377029,6.30461922596754,2.8838951310861427,4.737827715355805,4.444444444444445,6.803995006242197,1.5730337078651684,3.3333333333333335,3.058676654182272,3.7203495630461925,6.803995006242197,2.259675405742821,6.242197253433209,5.611735330836455,5.230961298377029, +5.081148564294631,6.616729088639201,3.689138576779026,6.616729088639201,4.775280898876405,4.794007490636704,1.735330836454432,4.538077403245943,2.2971285892634206,3.982521847690387,4.66916354556804,2.6092384519350813,1.4232209737827717,1.6541822721598003,2.8027465667915106,7.240948813982522,5.942571785268415,4.213483146067416,3.114856429463171,2.671660424469413,5.262172284644195,6.741573033707866,4.1136079900124844,6.928838951310862,6.179775280898876,2.3158551810237205,2.034956304619226,1.8352059925093633,3.2521847690387014,5.218476903870163,1.410736579275905,2.471910112359551,6.111111111111111,5.049937578027466,2.3782771535580522,3.682896379525593,2.33458177278402,7.615480649188515,5.443196004993759,1.6791510611735332,1.8227215980024971,5.992509363295881,5.068664169787765,2.777777777777778,2.1161048689138577,2.3470661672908864,7.17852684144819,4.275905118601748,2.671660424469413,5.842696629213483,4.325842696629214,4.769038701622971,5.3620474406991265,7.49063670411985,2.9151061173533086,4.612983770287141,5.243445692883895,6.616729088639201,7.240948813982522,4.51310861423221,3.320848938826467,4.33832709113608,4.4818976279650435,2.8589263420724094,7.116104868913857,4.637952559300874,3.470661672908864,6.866416978776529,2.965043695380774,4.563046192259676,5.118601747815231,5.493133583021224,6.803995006242197,4.875156054931336,7.0536828963795255,7.0536828963795255,5.1248439450686645,3.9076154806491883,2.1161048689138577,2.9151061173533086,7.553058676654182,4.812734082397004,4.107365792759051,1.9975031210986267,7.428214731585518,5.2559300873907615,6.30461922596754,2.9151061173533086,4.762796504369538,4.475655430711611,6.803995006242197,1.5980024968789013,3.3645443196004994,3.0836454431960054,3.7515605493133584,6.866416978776529,2.2908863920099876,6.30461922596754,5.636704119850187,5.2559300873907615, +5.1123595505617985,6.679151061173534,3.7265917602996255,6.679151061173534,4.800249687890138,4.818976279650437,1.7602996254681649,4.563046192259676,2.328339575530587,4.00749063670412,4.687890137328339,2.640449438202247,1.4481897627965044,1.6853932584269664,2.8277153558052435,7.240948813982522,5.97378277153558,4.238451935081149,3.139825218476904,2.696629213483146,5.287141073657928,6.741573033707866,4.132334581772784,6.991260923845194,6.20474406991261,2.3470661672908864,2.066167290886392,1.8601747815230962,3.2833957553058677,5.243445692883895,1.435705368289638,2.5031210986267167,6.1360799001248445,5.068664169787765,2.397003745318352,3.7078651685393256,2.3720349563046192,7.677902621722847,5.468164794007491,1.6978776529338326,1.8476903870162298,6.0174781523096135,5.093632958801498,2.808988764044944,2.1473158551810236,2.3720349563046192,7.240948813982522,4.307116104868914,2.7091136079900124,5.867665418227216,4.3508114856429465,4.806491885143571,5.393258426966292,7.553058676654182,2.9400749063670415,4.637952559300874,5.268414481897628,6.679151061173534,7.240948813982522,4.538077403245943,3.339575530586767,4.3632958801498125,4.51310861423221,2.8776529338327093,7.116104868913857,4.662921348314606,3.4893882646691634,6.866416978776529,2.990012484394507,4.588014981273409,5.149812734082397,5.524344569288389,6.803995006242197,4.900124843945068,7.0536828963795255,7.116104868913857,5.143570536828964,3.938826466916354,2.1410736579275906,2.9463171036204745,7.615480649188515,4.843945068664169,4.138576779026217,2.016229712858926,7.428214731585518,5.280898876404494,6.367041198501872,2.9463171036204745,4.787765293383271,4.51310861423221,6.866416978776529,1.616729088639201,3.3957553058676653,3.114856429463171,3.7890137328339577,6.928838951310862,2.328339575530587,6.30461922596754,5.66167290886392,5.274656679151062, +5.143570536828964,6.679151061173534,3.7578027465667914,6.679151061173534,4.825218476903871,4.837702871410737,1.7790262172284643,4.588014981273409,2.359550561797753,4.032459425717852,4.712858926342073,2.671660424469413,1.4731585518102372,1.7166042446941323,2.852684144818976,7.303370786516854,6.004993757802747,4.269662921348314,3.1647940074906367,2.715355805243446,5.318352059925093,6.803995006242197,4.157303370786517,6.991260923845194,6.235955056179775,2.3782771535580522,2.091136079900125,1.8851435705368291,3.3146067415730336,5.268414481897628,1.4606741573033708,2.5405742821473156,6.154806491885144,5.093632958801498,2.4219725343320846,3.7265917602996255,2.4032459425717856,7.677902621722847,5.493133583021224,1.7166042446941323,1.8726591760299625,6.036204744069912,5.118601747815231,2.8464419475655434,2.1785268414481895,2.4032459425717856,7.240948813982522,4.344569288389513,2.740324594257179,5.8988764044943816,4.382022471910113,4.837702871410737,5.418227215980025,7.553058676654182,2.965043695380774,4.656679151061174,5.299625468164794,6.679151061173534,7.303370786516854,4.563046192259676,3.3583021223470664,4.382022471910113,4.544319600499376,2.902621722846442,7.17852684144819,4.687890137328339,3.5143570536828963,6.928838951310862,3.0149812734082393,4.612983770287141,5.181023720349563,5.555555555555556,6.866416978776529,4.931335830212235,7.116104868913857,7.116104868913857,5.168539325842697,3.9762796504369535,2.1660424469413235,2.9837702871410734,7.615480649188515,4.875156054931336,4.169787765293384,2.0411985018726595,7.49063670411985,5.305867665418227,6.367041198501872,2.977528089887641,4.812734082397004,4.544319600499376,6.866416978776529,1.6416978776529338,3.4269662921348316,3.139825218476904,3.8202247191011236,6.928838951310862,2.359550561797753,6.367041198501872,5.686641697877653,5.299625468164794, +5.174781523096129,6.741573033707866,3.7890137328339577,6.679151061173534,4.850187265917603,4.8626716604244695,1.8039950062421974,4.619225967540574,2.3845193508114857,4.051186017478152,4.7315855181023725,2.702871410736579,1.4918851435705367,1.7478152309612984,2.8776529338327093,7.303370786516854,6.036204744069912,4.300873907615481,3.183520599250936,2.740324594257179,5.34956304619226,6.803995006242197,4.18227215980025,7.0536828963795255,6.242197253433209,2.4032459425717856,2.122347066167291,1.9101123595505618,3.3458177278401995,5.293383270911361,1.4856429463171037,2.571785268414482,6.179775280898876,5.118601747815231,2.446941323345818,3.7515605493133584,2.4406991260923845,7.740324594257178,5.5181023720349565,1.7415730337078652,1.8976279650436954,6.061173533083646,5.149812734082397,2.8776529338327093,2.209737827715356,2.428214731585518,7.303370786516854,4.375780274656679,2.7715355805243447,5.930087390761548,4.406991260923846,4.875156054931336,5.443196004993759,7.615480649188515,2.990012484394507,4.675405742821473,5.324594257178527,6.741573033707866,7.303370786516854,4.594257178526841,3.3770287141073654,4.400749063670412,4.575530586766542,2.9275905118601746,7.17852684144819,4.70661672908864,3.533083645443196,6.928838951310862,3.033707865168539,4.637952559300874,5.212234706616729,5.593008739076155,6.866416978776529,4.956304619225968,7.116104868913857,7.116104868913857,5.187265917602996,4.00749063670412,2.1910112359550564,3.0212234706616727,7.677902621722847,4.906367041198502,4.207240948813983,2.0599250936329585,7.49063670411985,5.33083645443196,6.367041198501872,3.0024968789013733,4.837702871410737,4.575530586766542,6.928838951310862,1.6666666666666667,3.4581772784019975,3.1647940074906367,3.8514357053682895,6.991260923845194,2.397003745318352,6.367041198501872,5.711610486891385,5.324594257178527, +5.205992509363296,6.803995006242197,3.826466916354557,6.741573033707866,4.875156054931336,4.887640449438202,1.8289637952559301,4.644194756554308,2.4157303370786516,4.0761548064918856,4.750312109862672,2.727840199750312,1.5168539325842696,1.772784019975031,2.902621722846442,7.365792759051186,6.067415730337078,4.332084893882647,3.2084893882646695,2.7590511860174782,5.3745318352059925,6.866416978776529,4.207240948813983,7.0536828963795255,6.30461922596754,2.4344569288389515,2.153558052434457,1.9350811485642945,3.383270911360799,5.318352059925093,1.5106117353308364,2.6092384519350813,6.198501872659176,5.1373283395755305,2.4656679151061174,3.776529338327091,2.471910112359551,7.740324594257178,5.543071161048689,1.7602996254681649,1.9225967540574282,6.079900124843945,5.174781523096129,2.908863920099875,2.2347066167290888,2.453183520599251,7.303370786516854,4.413233458177278,2.808988764044944,5.961298377028713,4.438202247191011,4.906367041198502,5.468164794007491,7.615480649188515,3.0087390761548067,4.700374531835206,5.355805243445693,6.803995006242197,7.303370786516854,4.619225967540574,3.3957553058676653,4.425717852684145,4.606741573033708,2.9463171036204745,7.240948813982522,4.7315855181023725,3.5580524344569286,6.991260923845194,3.058676654182272,4.662921348314606,5.243445692883895,5.6242197253433215,6.866416978776529,4.987515605493134,7.17852684144819,7.17852684144819,5.205992509363296,4.044943820224719,2.215980024968789,3.0524344569288386,7.740324594257178,4.937578027465668,4.238451935081149,2.084893882646692,7.553058676654182,5.355805243445693,6.429463171036204,3.033707865168539,4.8626716604244695,4.606741573033708,6.928838951310862,1.6916354556803994,3.4893882646691634,3.1897627965043696,3.888888888888889,7.0536828963795255,2.428214731585518,6.367041198501872,5.736579275905119,5.34956304619226, +5.237203495630462,6.803995006242197,3.857677902621723,6.741573033707866,4.900124843945068,4.906367041198502,1.8476903870162298,4.66916354556804,2.446941323345818,4.1011235955056184,4.775280898876405,2.7590511860174782,1.5418227215980027,1.8039950062421974,2.9275905118601746,7.365792759051186,6.092384519350812,4.3632958801498125,3.233458177278402,2.777777777777778,5.405742821473158,6.866416978776529,4.2322097378277155,7.116104868913857,6.30461922596754,2.4656679151061174,2.184769038701623,1.9600499375780276,3.4144818976279647,5.343320848938826,1.5355805243445693,2.640449438202247,6.223470661672909,5.162297128589263,2.4906367041198503,3.7952559300873907,2.5093632958801497,7.740324594257178,5.561797752808988,1.7790262172284643,1.9475655430711611,6.104868913857677,5.199750312109863,2.9400749063670415,2.2659176029962547,2.478152309612984,7.365792759051186,4.444444444444445,2.84019975031211,5.986267166042447,4.4694132334581775,4.937578027465668,5.493133583021224,7.677902621722847,3.033707865168539,4.719101123595506,5.380774032459426,6.803995006242197,7.365792759051186,4.644194756554308,3.4144818976279647,4.444444444444445,4.637952559300874,2.9712858926342074,7.240948813982522,4.750312109862672,3.576779026217228,6.991260923845194,3.0836454431960054,4.687890137328339,5.274656679151062,5.655430711610487,6.928838951310862,5.012484394506866,7.17852684144819,7.17852684144819,5.230961298377029,4.0761548064918856,2.2409488139825218,3.089887640449438,7.740324594257178,4.9687890137328345,4.269662921348314,2.1036204744069913,7.553058676654182,5.3745318352059925,6.429463171036204,3.0649188514357055,4.887640449438202,4.637952559300874,6.928838951310862,1.7166042446941323,3.5205992509363297,3.2209737827715355,3.920099875156055,7.0536828963795255,2.459425717852684,6.429463171036204,5.761548064918852,5.36828963795256, +5.268414481897628,6.866416978776529,3.888888888888889,6.803995006242197,4.925093632958801,4.931335830212235,1.8726591760299625,4.694132334581773,2.478152309612984,4.119850187265917,4.794007490636704,2.790262172284644,1.5605493133583022,1.8352059925093633,2.9525593008739075,7.428214731585518,6.123595505617978,4.394506866416979,3.258426966292135,2.8027465667915106,5.436953807740325,6.928838951310862,4.257178526841448,7.116104868913857,6.367041198501872,2.4906367041198503,2.215980024968789,1.9850187265917605,3.4456928838951315,5.36828963795256,1.5605493133583022,2.671660424469413,6.242197253433209,5.181023720349563,2.5093632958801497,3.8202247191011236,2.5405742821473156,7.8027465667915115,5.586766541822722,1.797752808988764,1.9662921348314608,6.129837702871411,5.224719101123595,2.977528089887641,2.2971285892634206,2.5093632958801497,7.365792759051186,4.475655430711611,2.871410736579276,6.0174781523096135,4.49438202247191,4.975031210986267,5.524344569288389,7.677902621722847,3.058676654182272,4.737827715355805,5.411985018726591,6.866416978776529,7.365792759051186,4.675405742821473,3.4332084893882646,4.463171036204744,4.66916354556804,2.990012484394507,7.303370786516854,4.775280898876405,3.6017478152309614,6.991260923845194,3.108614232209738,4.712858926342073,5.305867665418227,5.686641697877653,6.928838951310862,5.0374531835206,7.240948813982522,7.17852684144819,5.249687890137328,4.107365792759051,2.2659176029962547,3.1210986267166043,7.8027465667915115,5.0,4.307116104868914,2.128589263420724,7.615480649188515,5.399500624219725,6.491885143570538,3.0961298377028714,4.912609238451935,4.675405742821473,6.991260923845194,1.7415730337078652,3.5518102372034956,3.245942571785269,3.951310861423221,7.116104868913857,2.4968789013732833,6.429463171036204,5.792759051186017,5.393258426966292, +5.299625468164794,6.866416978776529,3.926342072409488,6.803995006242197,4.950062421972534,4.950062421972534,1.8976279650436954,4.719101123595506,2.5031210986267167,4.144818976279651,4.818976279650437,2.8152309612983775,1.585518102372035,1.8664169787765295,2.977528089887641,7.428214731585518,6.154806491885144,4.425717852684145,3.2833957553058677,2.82147315855181,5.461922596754057,6.928838951310862,4.282147315855181,7.17852684144819,6.367041198501872,2.521847690387016,2.2409488139825218,2.009987515605493,3.4769038701622974,5.393258426966292,1.585518102372035,2.7091136079900124,6.242197253433209,5.205992509363296,2.5343320848938826,3.8451935081148565,2.578027465667915,7.8027465667915115,5.611735330836455,1.8227215980024971,1.9912609238451935,6.1485642946317105,5.2559300873907615,3.0087390761548067,2.322097378277154,2.5343320848938826,7.428214731585518,4.51310861423221,2.908863920099875,6.048689138576779,4.525593008739076,5.0062421972534334,5.549313358302123,7.740324594257178,3.0836454431960054,4.762796504369538,5.436953807740325,6.866416978776529,7.428214731585518,4.700374531835206,3.451935081148564,4.488139825218477,4.700374531835206,3.0149812734082393,7.303370786516854,4.794007490636704,3.620474406991261,7.0536828963795255,3.1335830212234708,4.737827715355805,5.337078651685393,5.724094881398252,6.991260923845194,5.068664169787765,7.240948813982522,7.240948813982522,5.268414481897628,4.144818976279651,2.2908863920099876,3.1585518102372037,7.8027465667915115,5.031210986267166,4.33832709113608,2.1473158551810236,7.615480649188515,5.424469413233458,6.491885143570538,3.1273408239700373,4.937578027465668,4.70661672908864,6.991260923845194,1.7602996254681649,3.5830212234706615,3.2709113607990012,3.9887640449438204,7.17852684144819,2.5280898876404496,6.491885143570538,5.81772784019975,5.418227215980025, +5.324594257178527,6.928838951310862,3.957553058676654,6.866416978776529,4.975031210986267,4.975031210986267,1.916354556803995,4.750312109862672,2.5343320848938826,4.169787765293384,4.837702871410737,2.8464419475655434,1.6104868913857677,1.8976279650436954,3.0024968789013733,7.49063670411985,6.186017478152309,4.456928838951311,3.3083645443196006,2.8464419475655434,5.493133583021224,6.991260923845194,4.307116104868914,7.17852684144819,6.429463171036204,2.5530586766541825,2.272159800249688,2.034956304619226,3.508114856429463,5.418227215980025,1.6104868913857677,2.740324594257179,6.30461922596754,5.224719101123595,2.5593008739076155,3.870162297128589,2.6092384519350813,7.865168539325843,5.636704119850187,1.8414481897627966,2.016229712858926,6.173533083645444,5.280898876404494,3.0399500624219726,2.35330836454432,2.5593008739076155,7.428214731585518,4.544319600499376,2.9400749063670415,6.079900124843945,4.55056179775281,5.043695380774032,5.574282147315855,7.8027465667915115,3.108614232209738,4.781523096129837,5.468164794007491,6.928838951310862,7.428214731585518,4.725343320848939,3.4769038701622974,4.506866416978776,4.7315855181023725,3.033707865168539,7.365792759051186,4.818976279650437,3.6454431960049942,7.0536828963795255,3.1585518102372037,4.762796504369538,5.36828963795256,5.7553058676654185,6.991260923845194,5.093632958801498,7.303370786516854,7.240948813982522,5.293383270911361,4.176029962546816,2.3158551810237205,3.1960049937578026,7.865168539325843,5.062421972534332,4.375780274656679,2.1722846441947565,7.677902621722847,5.449438202247191,6.491885143570538,3.1585518102372037,4.962546816479401,4.737827715355805,7.0536828963795255,1.7852684144818978,3.6142322097378274,3.3021223470661676,4.019975031210986,7.17852684144819,2.565543071161049,6.491885143570538,5.842696629213483,5.436953807740325, +5.355805243445693,6.928838951310862,3.9887640449438204,6.866416978776529,5.0,5.0,1.941323345817728,4.775280898876405,2.565543071161049,4.188514357053683,4.856429463171036,2.8776529338327093,1.6292134831460674,1.9225967540574282,3.027465667915106,7.49063670411985,6.217228464419476,4.488139825218477,3.3333333333333335,2.865168539325843,5.524344569288389,6.991260923845194,4.332084893882647,7.240948813982522,6.429463171036204,2.578027465667915,2.303370786516854,2.0599250936329585,3.5393258426966296,5.443196004993759,1.6354556803995006,2.7715355805243447,6.30461922596754,5.249687890137328,2.578027465667915,3.888888888888889,2.6466916354556806,7.865168539325843,5.66167290886392,1.8601747815230962,2.0411985018726595,6.192259675405743,5.305867665418227,3.0711610486891385,2.3845193508114857,2.5905118601747814,7.49063670411985,4.575530586766542,2.977528089887641,6.104868913857677,4.581772784019975,5.074906367041199,5.599250936329588,7.8027465667915115,3.1335830212234708,4.800249687890138,5.493133583021224,6.991260923845194,7.428214731585518,4.750312109862672,3.495630461922597,4.525593008739076,4.762796504369538,3.058676654182272,7.365792759051186,4.843945068664169,3.6641697877652937,7.0536828963795255,3.183520599250936,4.787765293383271,5.399500624219725,5.786516853932584,6.991260923845194,5.118601747815231,7.303370786516854,7.240948813982522,5.312109862671661,4.213483146067416,2.340823970037453,3.227215980024969,7.927590511860175,5.087390761548065,4.406991260923846,2.1910112359550564,7.677902621722847,5.474406991260924,6.554307116104869,3.1897627965043696,4.987515605493134,4.769038701622971,7.0536828963795255,1.8102372034956304,3.6454431960049942,3.3270911360799,4.051186017478152,7.240948813982522,2.596754057428215,6.554307116104869,5.867665418227216,5.461922596754057, +5.3870162297128585,6.991260923845194,4.02621722846442,6.928838951310862,5.024968789013733,5.0187265917602994,1.9662921348314608,4.800249687890138,2.596754057428215,4.213483146067416,4.881398252184769,2.908863920099875,1.6541822721598003,1.9538077403245941,3.0524344569288386,7.553058676654182,6.242197253433209,4.519350811485642,3.3583021223470664,2.8901373283395753,5.549313358302123,7.0536828963795255,4.3508114856429465,7.240948813982522,6.491885143570538,2.6092384519350813,2.33458177278402,2.084893882646692,3.5705368289637955,5.468164794007491,1.6541822721598003,2.808988764044944,6.30461922596754,5.274656679151062,2.602996254681648,3.9138576779026217,2.6779026217228465,7.927590511860175,5.686641697877653,1.8851435705368291,2.066167290886392,6.217228464419476,5.337078651685393,3.108614232209738,2.4157303370786516,2.6154806491885143,7.49063670411985,4.612983770287141,3.0087390761548067,6.1360799001248445,4.606741573033708,5.1123595505617985,5.6242197253433215,7.865168539325843,3.15230961298377,4.825218476903871,5.524344569288389,6.991260923845194,7.49063670411985,4.781523096129837,3.5143570536828963,4.55056179775281,4.794007490636704,3.0836454431960054,7.428214731585518,4.8626716604244695,3.689138576779026,7.116104868913857,3.2084893882646695,4.812734082397004,5.430711610486892,5.81772784019975,7.0536828963795255,5.149812734082397,7.365792759051186,7.303370786516854,5.33083645443196,4.244694132334582,2.3657927590511862,3.2646691635455682,7.927590511860175,5.118601747815231,4.438202247191011,2.215980024968789,7.740324594257178,5.499375780274657,6.554307116104869,3.2209737827715355,5.012484394506866,4.800249687890138,7.116104868913857,1.8352059925093633,3.6766541822721597,3.352059925093633,4.082397003745319,7.240948813982522,2.634207240948814,6.554307116104869,5.892634207240949,5.48689138576779, +5.418227215980025,6.991260923845194,4.057428214731585,6.928838951310862,5.049937578027466,5.043695380774032,1.9850187265917605,4.825218476903871,2.6217228464419473,4.238451935081149,4.900124843945068,2.933832709113608,1.6791510611735332,1.9850187265917605,3.077403245942572,7.553058676654182,6.30461922596754,4.55056179775281,3.383270911360799,2.908863920099875,5.580524344569288,7.0536828963795255,4.375780274656679,7.303370786516854,6.491885143570538,2.640449438202247,2.3657927590511862,2.1098626716604243,3.6017478152309614,5.493133583021224,1.6791510611735332,2.84019975031211,6.367041198501872,5.293383270911361,2.6217228464419473,3.938826466916354,2.715355805243446,7.927590511860175,5.711610486891385,1.9038701622971288,2.091136079900125,6.235955056179775,5.3620474406991265,3.139825218476904,2.4406991260923845,2.640449438202247,7.553058676654182,4.644194756554308,3.0399500624219726,6.167290886392011,4.637952559300874,5.143570536828964,5.655430711610487,7.865168539325843,3.1772784019975036,4.843945068664169,5.555555555555556,7.0536828963795255,7.49063670411985,4.806491885143571,3.533083645443196,4.569288389513109,4.831460674157303,3.102372034956305,7.428214731585518,4.887640449438202,3.7078651685393256,7.116104868913857,3.233458177278402,4.837702871410737,5.461922596754057,5.855181023720349,7.0536828963795255,5.174781523096129,7.365792759051186,7.303370786516854,5.355805243445693,4.282147315855181,2.3907615480649187,3.295880149812734,7.990012484394507,5.149812734082397,4.475655430711611,2.2347066167290888,7.740324594257178,5.524344569288389,6.616729088639201,3.2521847690387014,5.0374531835206,4.831460674157303,7.116104868913857,1.8601747815230962,3.701622971285893,3.3770287141073654,4.119850187265917,7.303370786516854,2.66541822721598,6.616729088639201,5.917602996254682,5.511860174781523, +5.449438202247191,7.0536828963795255,4.094881398252185,6.928838951310862,5.074906367041199,5.068664169787765,2.009987515605493,4.850187265917603,2.6529338327091136,4.257178526841448,4.925093632958801,2.965043695380774,1.6978776529338326,2.016229712858926,3.102372034956305,7.615480649188515,6.30461922596754,4.581772784019975,3.408239700374532,2.933832709113608,5.611735330836455,7.116104868913857,4.400749063670412,7.303370786516854,6.554307116104869,2.66541822721598,2.397003745318352,2.134831460674157,3.6329588014981273,5.5181023720349565,1.704119850187266,2.8776529338327093,6.367041198501872,5.318352059925093,2.6466916354556806,3.9637952559300875,2.752808988764045,7.990012484394507,5.730337078651686,1.9225967540574282,2.1161048689138577,6.242197253433209,5.3870162297128585,3.17103620474407,2.471910112359551,2.671660424469413,7.553058676654182,4.675405742821473,3.077403245942572,6.198501872659176,4.66916354556804,5.174781523096129,5.68039950062422,7.927590511860175,3.202247191011236,4.868913857677903,5.580524344569288,7.0536828963795255,7.553058676654182,4.831460674157303,3.5518102372034956,4.588014981273409,4.8626716604244695,3.1273408239700373,7.428214731585518,4.906367041198502,3.732833957553059,7.116104868913857,3.258426966292135,4.8626716604244695,5.493133583021224,5.8863920099875156,7.0536828963795255,5.199750312109863,7.428214731585518,7.303370786516854,5.3745318352059925,4.313358302122348,2.4157303370786516,3.3333333333333335,7.990012484394507,5.181023720349563,4.506866416978776,2.259675405742821,7.8027465667915115,5.543071161048689,6.616729088639201,3.2833957553058677,5.062421972534332,4.868913857677903,7.17852684144819,1.8851435705368291,3.732833957553059,3.408239700374532,4.151061173533084,7.365792759051186,2.696629213483146,6.616729088639201,5.942571785268415,5.5305867665418225, +5.480649188514358,7.0536828963795255,4.1260923845193505,6.991260923845194,5.099875156054932,5.087390761548065,2.034956304619226,4.881398252184769,2.68414481897628,4.282147315855181,4.943820224719102,2.9962546816479403,1.7228464419475658,2.0474406991260925,3.1210986267166043,7.615480649188515,6.367041198501872,4.612983770287141,3.4332084893882646,2.9525593008739075,5.636704119850187,7.116104868913857,4.425717852684145,7.365792759051186,6.554307116104869,2.696629213483146,2.4219725343320846,2.15980024968789,3.6641697877652937,5.543071161048689,1.7290886392009988,2.908863920099875,6.367041198501872,5.337078651685393,2.671660424469413,3.982521847690387,2.7840199750312107,7.990012484394507,5.7553058676654185,1.9475655430711611,2.134831460674157,6.30461922596754,5.411985018726591,3.202247191011236,2.5031210986267167,2.696629213483146,7.615480649188515,4.712858926342073,3.108614232209738,6.223470661672909,4.694132334581773,5.212234706616729,5.705368289637952,7.927590511860175,3.227215980024969,4.887640449438202,5.611735330836455,7.116104868913857,7.553058676654182,4.8626716604244695,3.5705368289637955,4.612983770287141,4.893882646691636,3.1460674157303368,7.49063670411985,4.931335830212235,3.7515605493133584,7.17852684144819,3.2771535580524347,4.887640449438202,5.5181023720349565,5.917602996254682,7.116104868913857,5.230961298377029,7.428214731585518,7.365792759051186,5.393258426966292,4.3508114856429465,2.4406991260923845,3.3645443196004994,8.05243445692884,5.212234706616729,4.538077403245943,2.278401997503121,7.8027465667915115,5.568039950062421,6.616729088639201,3.3146067415730336,5.087390761548065,4.900124843945068,7.17852684144819,1.9101123595505618,3.764044943820225,3.4332084893882646,4.18227215980025,7.365792759051186,2.7340823970037453,6.679151061173534,5.967540574282147,5.555555555555556, +5.511860174781523,7.116104868913857,4.157303370786517,6.991260923845194,5.1248439450686645,5.1123595505617985,2.0536828963795255,4.906367041198502,2.715355805243446,4.307116104868914,4.9687890137328345,3.027465667915106,1.7478152309612984,2.0724094881398254,3.1460674157303368,7.677902621722847,6.367041198501872,4.644194756554308,3.4581772784019975,2.977528089887641,5.667915106117353,7.17852684144819,4.450686641697877,7.365792759051186,6.616729088639201,2.727840199750312,2.453183520599251,2.184769038701623,3.6953807740324596,5.568039950062421,1.7540574282147314,2.9400749063670415,6.429463171036204,5.3620474406991265,2.690387016229713,4.00749063670412,2.82147315855181,8.05243445692884,5.7802746566791505,1.9662921348314608,2.15980024968789,6.30461922596754,5.443196004993759,3.2397003745318353,2.5280898876404496,2.7215980024968793,7.615480649188515,4.7440699126092385,3.1460674157303368,6.242197253433209,4.725343320848939,5.243445692883895,5.730337078651686,7.990012484394507,3.2521847690387014,4.906367041198502,5.636704119850187,7.17852684144819,7.553058676654182,4.887640449438202,3.589263420724095,4.631710362047441,4.925093632958801,3.17103620474407,7.49063670411985,4.956304619225968,3.776529338327091,7.17852684144819,3.3021223470661676,4.912609238451935,5.549313358302123,5.948813982521848,7.116104868913857,5.2559300873907615,7.49063670411985,7.365792759051186,5.418227215980025,4.382022471910113,2.4656679151061174,3.4019975031210987,8.11485642946317,5.243445692883895,4.575530586766542,2.303370786516854,7.865168539325843,5.593008739076155,6.679151061173534,3.3458177278401995,5.118601747815231,4.931335830212235,7.240948813982522,1.9288389513108615,3.7952559300873907,3.4581772784019975,4.219725343320849,7.428214731585518,2.7652933832709112,6.679151061173534,5.998751560549313,5.580524344569288, +5.543071161048689,7.116104868913857,4.194756554307116,7.0536828963795255,5.149812734082397,5.1373283395755305,2.0786516853932584,4.931335830212235,2.740324594257179,4.325842696629214,4.987515605493134,3.0524344569288386,1.766541822721598,2.1036204744069913,3.17103620474407,7.677902621722847,6.429463171036204,4.675405742821473,3.4831460674157304,2.9962546816479403,5.69912609238452,7.17852684144819,4.475655430711611,7.428214731585518,6.616729088639201,2.752808988764045,2.4843945068664173,2.209737827715356,3.732833957553059,5.593008739076155,1.7790262172284643,2.977528089887641,6.429463171036204,5.380774032459426,2.715355805243446,4.032459425717852,2.852684144818976,8.05243445692884,5.805243445692884,1.9850187265917605,2.184769038701623,6.30461922596754,5.468164794007491,3.2709113607990012,2.5593008739076155,2.752808988764045,7.677902621722847,4.781523096129837,3.1772784019975036,6.30461922596754,4.750312109862672,5.280898876404494,5.7553058676654185,8.05243445692884,3.2709113607990012,4.931335830212235,5.667915106117353,7.17852684144819,7.615480649188515,4.912609238451935,3.607990012484395,4.65043695380774,4.956304619225968,3.1960049937578026,7.553058676654182,4.975031210986267,3.7952559300873907,7.17852684144819,3.3270911360799,4.937578027465668,5.580524344569288,5.980024968789014,7.17852684144819,5.280898876404494,7.49063670411985,7.365792759051186,5.436953807740325,4.419475655430712,2.4906367041198503,3.439450686641698,8.11485642946317,5.274656679151062,4.606741573033708,2.322097378277154,7.865168539325843,5.617977528089888,6.679151061173534,3.3770287141073654,5.143570536828964,4.962546816479401,7.240948813982522,1.9538077403245941,3.826466916354557,3.4831460674157304,4.250936329588015,7.49063670411985,2.8027465667915106,6.741573033707866,6.023720349563047,5.605493133583021, +5.574282147315855,7.17852684144819,4.225967540574282,7.0536828963795255,5.174781523096129,5.15605493133583,2.1036204744069913,4.956304619225968,2.7715355805243447,4.3508114856429465,5.0062421972534334,3.0836454431960054,1.7915106117353308,2.134831460674157,3.1960049937578026,7.677902621722847,6.429463171036204,4.70661672908864,3.508114856429463,3.0212234706616727,5.724094881398252,7.240948813982522,4.500624219725343,7.428214731585518,6.616729088639201,2.7840199750312107,2.515605493133583,2.2347066167290888,3.764044943820225,5.617977528089888,1.8039950062421974,3.0087390761548067,6.429463171036204,5.405742821473158,2.7340823970037453,4.051186017478152,2.8901373283395753,8.11485642946317,5.830212234706617,2.00374531835206,2.209737827715356,6.367041198501872,5.493133583021224,3.3021223470661676,2.5905118601747814,2.777777777777778,7.677902621722847,4.812734082397004,3.2084893882646695,6.30461922596754,4.781523096129837,5.312109862671661,5.786516853932584,8.05243445692884,3.295880149812734,4.950062421972534,5.692883895131087,7.240948813982522,7.615480649188515,4.943820224719102,3.6267166042446943,4.675405742821473,4.987515605493134,3.214731585518102,7.553058676654182,5.0,3.8202247191011236,7.240948813982522,3.352059925093633,4.962546816479401,5.611735330836455,6.0174781523096135,7.17852684144819,5.312109862671661,7.553058676654182,7.428214731585518,5.455680399500624,4.450686641697877,2.515605493133583,3.470661672908864,8.177278401997503,5.305867665418227,4.637952559300874,2.340823970037453,7.927590511860175,5.64294631710362,6.741573033707866,3.408239700374532,5.168539325842697,4.9937578027465666,7.303370786516854,1.978776529338327,3.857677902621723,3.5143570536828963,4.282147315855181,7.49063670411985,2.8339575530586765,6.741573033707866,6.048689138576779,5.6242197253433215, +5.599250936329588,7.17852684144819,4.257178526841448,7.116104868913857,5.199750312109863,5.181023720349563,2.122347066167291,4.987515605493134,2.8027465667915106,4.375780274656679,5.031210986267166,3.114856429463171,1.8102372034956304,2.1660424469413235,3.2209737827715355,7.740324594257178,6.491885143570538,4.737827715355805,3.5268414481897628,3.0399500624219726,5.7553058676654185,7.240948813982522,4.525593008739076,7.49063670411985,6.679151061173534,2.8152309612983775,2.546816479400749,2.259675405742821,3.7952559300873907,5.64294631710362,1.8289637952559301,3.0399500624219726,6.491885143570538,5.430711610486892,2.7590511860174782,4.0761548064918856,2.9213483146067416,8.11485642946317,5.855181023720349,2.0287141073657926,2.2347066167290888,6.367041198501872,5.524344569288389,3.3333333333333335,2.6217228464419473,2.8027465667915106,7.740324594257178,4.843945068664169,3.245942571785269,6.367041198501872,4.806491885143571,5.343320848938826,5.811485642946318,8.11485642946317,3.320848938826467,4.9687890137328345,5.724094881398252,7.240948813982522,7.677902621722847,4.9687890137328345,3.651685393258427,4.694132334581773,5.0187265917602994,3.2397003745318353,7.615480649188515,5.0187265917602994,3.8389513108614235,7.240948813982522,3.3770287141073654,4.987515605493134,5.64294631710362,6.048689138576779,7.17852684144819,5.337078651685393,7.553058676654182,7.428214731585518,5.480649188514358,4.488139825218477,2.5405742821473156,3.508114856429463,8.239700374531834,5.337078651685393,4.675405742821473,2.3657927590511862,7.927590511860175,5.667915106117353,6.741573033707866,3.439450686641698,5.19350811485643,5.031210986267166,7.303370786516854,2.00374531835206,3.888888888888889,3.5393258426966296,4.31960049937578,7.553058676654182,2.871410736579276,6.803995006242197,6.073657927590512,5.6491885143570535, +5.630461922596755,7.240948813982522,4.294631710362047,7.116104868913857,5.224719101123595,5.205992509363296,2.1473158551810236,5.012484394506866,2.8339575530586765,4.394506866416979,5.049937578027466,3.139825218476904,1.8352059925093633,2.1910112359550564,3.245942571785269,7.740324594257178,6.491885143570538,4.769038701622971,3.5518102372034956,3.0649188514357055,5.786516853932584,7.303370786516854,4.55056179775281,7.49063670411985,6.679151061173534,2.84019975031211,2.578027465667915,2.2846441947565546,3.826466916354557,5.667915106117353,1.8539325842696628,3.077403245942572,6.491885143570538,5.449438202247191,2.7840199750312107,4.1011235955056184,2.958801498127341,8.177278401997503,5.8739076154806495,2.0474406991260925,2.259675405742821,6.367041198501872,5.549313358302123,3.370786516853933,2.6466916354556806,2.8339575530586765,7.740324594257178,4.881398252184769,3.2771535580524347,6.367041198501872,4.837702871410737,5.380774032459426,5.836454431960051,8.11485642946317,3.3458177278401995,4.9937578027465666,5.749063670411985,7.303370786516854,7.677902621722847,4.9937578027465666,3.6704119850187267,4.712858926342073,5.049937578027466,3.258426966292135,7.615480649188515,5.043695380774032,3.8639200998751564,7.240948813982522,3.4019975031210987,5.012484394506866,5.674157303370786,6.079900124843945,7.240948813982522,5.3620474406991265,7.615480649188515,7.428214731585518,5.499375780274657,4.519350811485642,2.565543071161049,3.5393258426966296,8.239700374531834,5.36828963795256,4.70661672908864,2.3845193508114857,7.990012484394507,5.692883895131087,6.741573033707866,3.470661672908864,5.218476903870163,5.062421972534332,7.365792759051186,2.0287141073657926,3.920099875156055,3.564294631710362,4.3508114856429465,7.553058676654182,2.902621722846442,6.803995006242197,6.098626716604246,5.674157303370786, +5.66167290886392,7.303370786516854,4.325842696629214,7.17852684144819,5.249687890137328,5.224719101123595,2.1722846441947565,5.0374531835206,2.8589263420724094,4.419475655430712,5.074906367041199,3.17103620474407,1.8601747815230962,2.2222222222222223,3.2709113607990012,7.8027465667915115,6.554307116104869,4.800249687890138,3.576779026217228,3.0836454431960054,5.811485642946318,7.303370786516854,4.569288389513109,7.553058676654182,6.741573033707866,2.871410736579276,2.602996254681648,2.309612983770287,3.857677902621723,5.692883895131087,1.8789013732833957,3.108614232209738,6.491885143570538,5.474406991260924,2.8027465667915106,4.1260923845193505,2.990012484394507,8.177278401997503,5.8988764044943816,2.066167290886392,2.278401997503121,6.429463171036204,5.574282147315855,3.4019975031210987,2.6779026217228465,2.8589263420724094,7.8027465667915115,4.912609238451935,3.3146067415730336,6.429463171036204,4.868913857677903,5.411985018726591,5.861423220973783,8.177278401997503,3.370786516853933,5.012484394506866,5.7802746566791505,7.365792759051186,7.677902621722847,5.024968789013733,3.689138576779026,4.737827715355805,5.081148564294631,3.2833957553058677,7.677902621722847,5.068664169787765,3.882646691635456,7.303370786516854,3.4269662921348316,5.0374531835206,5.705368289637952,6.111111111111111,7.240948813982522,5.393258426966292,7.615480649188515,7.49063670411985,5.524344569288389,4.55056179775281,2.5905118601747814,3.576779026217228,8.302122347066168,5.399500624219725,4.737827715355805,2.4094881398252186,7.990012484394507,5.711610486891385,6.803995006242197,3.5018726591760303,5.243445692883895,5.093632958801498,7.365792759051186,2.0536828963795255,3.951310861423221,3.595505617977528,4.382022471910113,7.615480649188515,2.9400749063670415,6.866416978776529,6.123595505617978,5.69912609238452, +5.692883895131087,7.303370786516854,4.357053682896379,7.17852684144819,5.274656679151062,5.249687890137328,2.1910112359550564,5.062421972534332,2.8901373283395753,4.444444444444445,5.093632958801498,3.202247191011236,1.8789013732833957,2.253433208489388,3.295880149812734,7.8027465667915115,6.554307116104869,4.831460674157303,3.6017478152309614,3.102372034956305,5.842696629213483,7.365792759051186,4.594257178526841,7.553058676654182,6.741573033707866,2.902621722846442,2.634207240948814,2.33458177278402,3.888888888888889,5.711610486891385,1.9038701622971288,3.1460674157303368,6.554307116104869,5.493133583021224,2.8277153558052435,4.144818976279651,3.027465667915106,8.239700374531834,5.9238451935081144,2.091136079900125,2.303370786516854,6.429463171036204,5.599250936329588,3.4332084893882646,2.7091136079900124,2.8838951310861427,7.8027465667915115,4.943820224719102,3.3458177278401995,6.429463171036204,4.893882646691636,5.449438202247191,5.8863920099875156,8.177278401997503,3.3957553058676653,5.031210986267166,5.805243445692884,7.365792759051186,7.740324594257178,5.049937578027466,3.7078651685393256,4.7565543071161045,5.1123595505617985,3.3021223470661676,7.677902621722847,5.087390761548065,3.9076154806491883,7.303370786516854,3.451935081148564,5.062421972534332,5.736579275905119,6.1485642946317105,7.240948813982522,5.418227215980025,7.677902621722847,7.49063670411985,5.543071161048689,4.588014981273409,2.6154806491885143,3.6142322097378274,8.302122347066168,5.430711610486892,4.775280898876405,2.428214731585518,8.05243445692884,5.736579275905119,6.803995006242197,3.533083645443196,5.268414481897628,5.1248439450686645,7.365792759051186,2.0724094881398254,3.982521847690387,3.620474406991261,4.413233458177278,7.677902621722847,2.9712858926342074,6.866416978776529,6.1485642946317105,5.717852684144819, +5.724094881398252,7.365792759051186,4.394506866416979,7.240948813982522,5.299625468164794,5.274656679151062,2.215980024968789,5.087390761548065,2.9213483146067416,4.463171036204744,5.118601747815231,3.233458177278402,1.9038701622971288,2.2846441947565546,3.320848938826467,7.865168539325843,6.616729088639201,4.8626716604244695,3.6267166042446943,3.1273408239700373,5.8739076154806495,7.365792759051186,4.619225967540574,7.615480649188515,6.803995006242197,2.9275905118601746,2.66541822721598,2.359550561797753,3.920099875156055,5.736579275905119,1.9288389513108615,3.1772784019975036,6.554307116104869,5.5181023720349565,2.8464419475655434,4.169787765293384,3.058676654182272,8.239700374531834,5.948813982521848,2.1098626716604243,2.328339575530587,6.429463171036204,5.630461922596755,3.464419475655431,2.7340823970037453,2.9151061173533086,7.865168539325843,4.9812734082397006,3.3770287141073654,6.491885143570538,4.925093632958801,5.480649188514358,5.917602996254682,8.239700374531834,3.4144818976279647,5.056179775280899,5.836454431960051,7.428214731585518,7.740324594257178,5.074906367041199,3.7265917602996255,4.775280898876405,5.143570536828964,3.3270911360799,7.740324594257178,5.1123595505617985,3.926342072409488,7.303370786516854,3.4769038701622974,5.081148564294631,5.767790262172285,6.179775280898876,7.303370786516854,5.449438202247191,7.677902621722847,7.49063670411985,5.561797752808988,4.619225967540574,2.640449438202247,3.6454431960049942,8.3645443196005,5.461922596754057,4.806491885143571,2.453183520599251,8.05243445692884,5.761548064918852,6.866416978776529,3.564294631710362,5.293383270911361,5.15605493133583,7.428214731585518,2.097378277153558,4.013732833957553,3.6454431960049942,4.450686641697877,7.677902621722847,3.0024968789013733,6.928838951310862,6.173533083645444,5.742821473158552, +5.7553058676654185,7.365792759051186,4.425717852684145,7.240948813982522,5.324594257178527,5.293383270911361,2.2409488139825218,5.118601747815231,2.9525593008739075,4.488139825218477,5.1373283395755305,3.258426966292135,1.9288389513108615,2.3158551810237205,3.3458177278401995,7.865168539325843,6.616729088639201,4.893882646691636,3.651685393258427,3.1460674157303368,5.8988764044943816,7.428214731585518,4.644194756554308,7.615480649188515,6.803995006242197,2.958801498127341,2.696629213483146,2.3845193508114857,3.951310861423221,5.761548064918852,1.9538077403245941,3.2084893882646695,6.616729088639201,5.536828963795256,2.871410736579276,4.194756554307116,3.0961298377028714,8.302122347066168,5.97378277153558,2.128589263420724,2.35330836454432,6.491885143570538,5.655430711610487,3.5018726591760303,2.7652933832709112,2.9400749063670415,7.865168539325843,5.012484394506866,3.4144818976279647,6.491885143570538,4.950062421972534,5.5181023720349565,5.942571785268415,8.302122347066168,3.439450686641698,5.074906367041199,5.867665418227216,7.428214731585518,7.8027465667915115,5.106117353308365,3.745318352059925,4.800249687890138,5.181023720349563,3.352059925093633,7.740324594257178,5.131086142322098,3.951310861423221,7.365792759051186,3.5018726591760303,5.106117353308365,5.799001248439451,6.210986267166042,7.303370786516854,5.474406991260924,7.740324594257178,7.553058676654182,5.586766541822722,4.656679151061174,2.6591760299625467,3.682896379525593,8.426966292134832,5.493133583021224,4.837702871410737,2.471910112359551,8.11485642946317,5.786516853932584,6.866416978776529,3.595505617977528,5.318352059925093,5.19350811485643,7.428214731585518,2.122347066167291,4.044943820224719,3.6704119850187267,4.4818976279650435,7.740324594257178,3.0399500624219726,6.928838951310862,6.20474406991261,5.767790262172285, +5.786516853932584,7.428214731585518,4.463171036204744,7.240948813982522,5.34956304619226,5.318352059925093,2.259675405742821,5.143570536828964,2.977528089887641,4.51310861423221,5.15605493133583,3.2896379525593007,1.9475655430711611,2.340823970037453,3.370786516853933,7.927590511860175,6.679151061173534,4.925093632958801,3.6766541822721597,3.17103620474407,5.930087390761548,7.428214731585518,4.66916354556804,7.677902621722847,6.866416978776529,2.990012484394507,2.727840199750312,2.4094881398252186,3.982521847690387,5.786516853932584,1.978776529338327,3.245942571785269,6.616729088639201,5.561797752808988,2.8963795255930087,4.219725343320849,3.1273408239700373,8.302122347066168,5.998751560549313,2.1473158551810236,2.3782771535580522,6.491885143570538,5.68039950062422,3.533083645443196,2.7965043695380776,2.965043695380774,7.927590511860175,5.049937578027466,3.4456928838951315,6.491885143570538,4.9812734082397006,5.549313358302123,5.967540574282147,8.302122347066168,3.464419475655431,5.093632958801498,5.892634207240949,7.49063670411985,7.8027465667915115,5.131086142322098,3.764044943820225,4.818976279650437,5.212234706616729,3.370786516853933,7.8027465667915115,5.15605493133583,3.970037453183521,7.365792759051186,3.5205992509363297,5.131086142322098,5.830212234706617,6.242197253433209,7.365792759051186,5.499375780274657,7.740324594257178,7.553058676654182,5.605493133583021,4.687890137328339,2.68414481897628,3.714107365792759,8.426966292134832,5.524344569288389,4.875156054931336,2.4968789013732833,8.11485642946317,5.811485642946318,6.866416978776529,3.6267166042446943,5.343320848938826,5.224719101123595,7.49063670411985,2.1473158551810236,4.0761548064918856,3.701622971285893,4.51310861423221,7.8027465667915115,3.0711610486891385,6.991260923845194,6.229712858926342,5.786516853932584, +5.81772784019975,7.428214731585518,4.49438202247191,7.303370786516854,5.3745318352059925,5.337078651685393,2.2846441947565546,5.168539325842697,3.0087390761548067,4.531835205992509,5.181023720349563,3.320848938826467,1.9725343320848938,2.3720349563046192,3.3957553058676653,7.927590511860175,6.679151061173534,4.950062421972534,3.701622971285893,3.1897627965043696,5.961298377028713,7.49063670411985,4.694132334581773,7.677902621722847,6.866416978776529,3.0149812734082393,2.7590511860174782,2.4344569288389515,4.013732833957553,5.811485642946318,2.00374531835206,3.2771535580524347,6.616729088639201,5.586766541822722,2.9151061173533086,4.238451935081149,3.1647940074906367,8.3645443196005,6.023720349563047,2.1722846441947565,2.4032459425717856,6.554307116104869,5.711610486891385,3.564294631710362,2.8277153558052435,2.9962546816479403,7.927590511860175,5.081148564294631,3.4769038701622974,6.554307116104869,5.0062421972534334,5.580524344569288,5.992509363295881,8.3645443196005,3.4893882646691634,5.118601747815231,5.9238451935081144,7.553058676654182,7.8027465667915115,5.15605493133583,3.7827715355805243,4.837702871410737,5.243445692883895,3.3957553058676653,7.8027465667915115,5.181023720349563,3.9950062421972534,7.365792759051186,3.545568039950062,5.15605493133583,5.861423220973783,6.30461922596754,7.365792759051186,5.5305867665418225,7.8027465667915115,7.553058676654182,5.6242197253433215,4.725343320848939,2.7091136079900124,3.7515605493133584,8.489388264669165,5.555555555555556,4.906367041198502,2.515605493133583,8.177278401997503,5.836454431960051,6.928838951310862,3.6579275905118602,5.36828963795256,5.2559300873907615,7.49063670411985,2.1722846441947565,4.107365792759051,3.7265917602996255,4.55056179775281,7.8027465667915115,3.108614232209738,6.991260923845194,6.242197253433209,5.811485642946318, +5.842696629213483,7.49063670411985,4.525593008739076,7.303370786516854,5.405742821473158,5.3620474406991265,2.309612983770287,5.19350811485643,3.0399500624219726,4.556803995006242,5.199750312109863,3.352059925093633,1.9975031210986267,2.4032459425717856,3.420724094881398,7.990012484394507,6.741573033707866,4.9812734082397006,3.7265917602996255,3.214731585518102,5.986267166042447,7.49063670411985,4.719101123595506,7.740324594257178,6.928838951310862,3.046192259675406,2.7840199750312107,2.459425717852684,4.044943820224719,5.836454431960051,2.0287141073657926,3.3083645443196006,6.679151061173534,5.605493133583021,2.9400749063670415,4.263420724094882,3.1960049937578026,8.3645443196005,6.0424469413233455,2.1910112359550564,2.428214731585518,6.554307116104869,5.736579275905119,3.595505617977528,2.852684144818976,3.0212234706616727,7.990012484394507,5.1123595505617985,3.5143570536828963,6.554307116104869,5.0374531835206,5.617977528089888,6.0174781523096135,8.3645443196005,3.5143570536828963,5.1373283395755305,5.948813982521848,7.553058676654182,7.865168539325843,5.187265917602996,3.801498127340824,4.8626716604244695,5.274656679151062,3.4144818976279647,7.865168539325843,5.199750312109863,4.013732833957553,7.428214731585518,3.5705368289637955,5.181023720349563,5.8863920099875156,6.30461922596754,7.365792759051186,5.555555555555556,7.8027465667915115,7.615480649188515,5.6491885143570535,4.7565543071161045,2.7340823970037453,3.7827715355805243,8.551810237203496,5.586766541822722,4.937578027465668,2.5405742821473156,8.177278401997503,5.855181023720349,6.928838951310862,3.689138576779026,5.393258426966292,5.287141073657928,7.553058676654182,2.1972534332084894,4.138576779026217,3.7515605493133584,4.581772784019975,7.865168539325843,3.139825218476904,7.0536828963795255,6.30461922596754,5.836454431960051, +5.8739076154806495,7.49063670411985,4.563046192259676,7.365792759051186,5.430711610486892,5.3870162297128585,2.328339575530587,5.218476903870163,3.0711610486891385,4.581772784019975,5.224719101123595,3.3770287141073654,2.016229712858926,2.4344569288389515,3.4456928838951315,7.990012484394507,6.741573033707866,5.012484394506866,3.7515605493133584,3.233458177278402,6.0174781523096135,7.553058676654182,4.7440699126092385,7.740324594257178,6.928838951310862,3.077403245942572,2.8152309612983775,2.4843945068664173,4.082397003745319,5.861423220973783,2.0536828963795255,3.3458177278401995,6.679151061173534,5.630461922596755,2.958801498127341,4.288389513108614,3.233458177278402,8.426966292134832,6.067415730337078,2.209737827715356,2.446941323345818,6.554307116104869,5.761548064918852,3.6329588014981273,2.8838951310861427,3.046192259675406,7.990012484394507,5.149812734082397,3.545568039950062,6.616729088639201,5.068664169787765,5.6491885143570535,6.048689138576779,8.426966292134832,3.533083645443196,5.162297128589263,5.980024968789014,7.615480649188515,7.865168539325843,5.212234706616729,3.826466916354557,4.881398252184769,5.305867665418227,3.439450686641698,7.865168539325843,5.224719101123595,4.038701622971286,7.428214731585518,3.595505617977528,5.205992509363296,5.917602996254682,6.367041198501872,7.428214731585518,5.580524344569288,7.865168539325843,7.615480649188515,5.667915106117353,4.794007490636704,2.7590511860174782,3.8202247191011236,8.551810237203496,5.617977528089888,4.975031210986267,2.5593008739076155,8.239700374531834,5.880149812734083,6.991260923845194,3.7203495630461925,5.418227215980025,5.318352059925093,7.553058676654182,2.2222222222222223,4.169787765293384,3.776529338327091,4.612983770287141,7.865168539325843,3.1772784019975036,7.0536828963795255,6.30461922596754,5.861423220973783, +5.905118601747815,7.553058676654182,4.594257178526841,7.365792759051186,5.455680399500624,5.405742821473158,2.35330836454432,5.249687890137328,3.0961298377028714,4.600499375780275,5.243445692883895,3.408239700374532,2.0411985018726595,2.4656679151061174,3.470661672908864,8.05243445692884,6.803995006242197,5.043695380774032,3.776529338327091,3.258426966292135,6.048689138576779,7.553058676654182,4.769038701622971,7.8027465667915115,6.991260923845194,3.102372034956305,2.8464419475655434,2.5093632958801497,4.1136079900124844,5.8863920099875156,2.0786516853932584,3.3770287141073654,6.679151061173534,5.6491885143570535,2.9837702871410734,4.313358302122348,3.2646691635455682,8.426966292134832,6.092384519350812,2.2347066167290888,2.471910112359551,6.616729088639201,5.786516853932584,3.6641697877652937,2.9151061173533086,3.077403245942572,8.05243445692884,5.181023720349563,3.5830212234706615,6.616729088639201,5.093632958801498,5.686641697877653,6.073657927590512,8.426966292134832,3.5580524344569286,5.181023720349563,6.004993757802747,7.615480649188515,7.927590511860175,5.237203495630462,3.8451935081148565,4.900124843945068,5.337078651685393,3.464419475655431,7.927590511860175,5.243445692883895,4.057428214731585,7.428214731585518,3.620474406991261,5.230961298377029,5.948813982521848,6.367041198501872,7.428214731585518,5.611735330836455,7.865168539325843,7.615480649188515,5.686641697877653,4.825218476903871,2.7840199750312107,3.857677902621723,8.614232209737828,5.64294631710362,5.0062421972534334,2.5842696629213484,8.239700374531834,5.905118601747815,6.991260923845194,3.7515605493133584,5.443196004993759,5.34956304619226,7.615480649188515,2.2409488139825218,4.200998751560549,3.8077403245942576,4.65043695380774,7.927590511860175,3.2084893882646695,7.116104868913857,6.30461922596754,5.880149812734083, +5.936329588014981,7.553058676654182,4.6254681647940075,7.428214731585518,5.480649188514358,5.430711610486892,2.3782771535580522,5.274656679151062,3.1273408239700373,4.6254681647940075,5.268414481897628,3.439450686641698,2.066167290886392,2.4906367041198503,3.495630461922597,8.05243445692884,6.803995006242197,5.074906367041199,3.801498127340824,3.2771535580524347,6.073657927590512,7.615480649188515,4.787765293383271,7.8027465667915115,6.991260923845194,3.1335830212234708,2.8776529338327093,2.5343320848938826,4.144818976279651,5.9113607990012484,2.1036204744069913,3.4144818976279647,6.741573033707866,5.674157303370786,3.0087390761548067,4.332084893882647,3.3021223470661676,8.489388264669165,6.117353308364544,2.253433208489388,2.4968789013732833,6.616729088639201,5.81772784019975,3.6953807740324596,2.9400749063670415,3.102372034956305,8.05243445692884,5.212234706616729,3.6142322097378274,6.679151061173534,5.1248439450686645,5.717852684144819,6.098626716604246,8.489388264669165,3.5830212234706615,5.199750312109863,6.036204744069912,7.677902621722847,7.927590511860175,5.268414481897628,3.8639200998751564,4.925093632958801,5.36828963795256,3.4831460674157304,7.927590511860175,5.268414481897628,4.082397003745319,7.49063670411985,3.6454431960049942,5.2559300873907615,5.980024968789014,6.429463171036204,7.428214731585518,5.636704119850187,7.927590511860175,7.677902621722847,5.711610486891385,4.8626716604244695,2.808988764044944,3.888888888888889,8.614232209737828,5.674157303370786,5.043695380774032,2.602996254681648,8.302122347066168,5.930087390761548,6.991260923845194,3.7827715355805243,5.468164794007491,5.3870162297128585,7.615480649188515,2.2659176029962547,4.2322097378277155,3.83270911360799,4.681647940074906,7.990012484394507,3.245942571785269,7.116104868913857,6.367041198501872,5.905118601747815, +5.967540574282147,7.615480649188515,4.662921348314606,7.428214731585518,5.50561797752809,5.455680399500624,2.397003745318352,5.299625468164794,3.1585518102372037,4.65043695380774,5.287141073657928,3.464419475655431,2.084893882646692,2.521847690387016,3.5205992509363297,8.11485642946317,6.866416978776529,5.106117353308365,3.826466916354557,3.3021223470661676,6.104868913857677,7.615480649188515,4.812734082397004,7.8027465667915115,7.0536828963795255,3.1647940074906367,2.908863920099875,2.5593008739076155,4.176029962546816,5.936329588014981,2.128589263420724,3.4456928838951315,6.741573033707866,5.692883895131087,3.027465667915106,4.357053682896379,3.3333333333333335,8.489388264669165,6.142322097378277,2.272159800249688,2.521847690387016,6.616729088639201,5.842696629213483,3.732833957553059,2.9712858926342074,3.1273408239700373,8.11485642946317,5.249687890137328,3.6454431960049942,6.679151061173534,5.149812734082397,5.7553058676654185,6.123595505617978,8.551810237203496,3.607990012484395,5.224719101123595,6.061173533083646,7.740324594257178,7.927590511860175,5.293383270911361,3.882646691635456,4.943820224719102,5.399500624219725,3.508114856429463,7.990012484394507,5.293383270911361,4.1011235955056184,7.49063670411985,3.6704119850187267,5.280898876404494,6.01123595505618,6.429463171036204,7.49063670411985,5.66167290886392,7.927590511860175,7.677902621722847,5.730337078651686,4.893882646691636,2.8339575530586765,3.926342072409488,8.67665418227216,5.705368289637952,5.074906367041199,2.6279650436953808,8.302122347066168,5.955056179775282,7.0536828963795255,3.81398252184769,5.493133583021224,5.418227215980025,7.677902621722847,2.2908863920099876,4.263420724094882,3.857677902621723,4.712858926342073,7.990012484394507,3.2771535580524347,7.17852684144819,6.367041198501872,5.930087390761548, +5.998751560549313,7.615480649188515,4.694132334581773,7.49063670411985,5.5305867665418225,5.474406991260924,2.4219725343320846,5.324594257178527,3.183520599250936,4.66916354556804,5.305867665418227,3.495630461922597,2.1098626716604243,2.5530586766541825,3.545568039950062,8.11485642946317,6.866416978776529,5.1373283395755305,3.8514357053682895,3.320848938826467,6.1360799001248445,7.677902621722847,4.837702871410737,7.865168539325843,7.0536828963795255,3.1897627965043696,2.933832709113608,2.5842696629213484,4.207240948813983,5.961298377028713,2.153558052434457,3.4769038701622974,6.741573033707866,5.717852684144819,3.0524344569288386,4.382022471910113,3.370786516853933,8.551810237203496,6.167290886392011,2.2908863920099876,2.546816479400749,6.679151061173534,5.867665418227216,3.764044943820225,3.0024968789013733,3.1585518102372037,8.11485642946317,5.280898876404494,3.682896379525593,6.741573033707866,5.181023720349563,5.786516853932584,6.1485642946317105,8.551810237203496,3.6329588014981273,5.243445692883895,6.092384519350812,7.740324594257178,7.990012484394507,5.318352059925093,3.9013732833957557,4.962546816479401,5.430711610486892,3.5268414481897628,7.990012484394507,5.312109862671661,4.1260923845193505,7.553058676654182,3.6953807740324596,5.305867665418227,6.0424469413233455,6.491885143570538,7.49063670411985,5.692883895131087,7.990012484394507,7.677902621722847,5.749063670411985,4.931335830212235,2.8589263420724094,3.957553058676654,8.739076154806492,5.736579275905119,5.106117353308365,2.6466916354556806,8.3645443196005,5.980024968789014,7.0536828963795255,3.8451935081148565,5.5181023720349565,5.449438202247191,7.677902621722847,2.3158551810237205,4.294631710362047,3.888888888888889,4.7440699126092385,8.05243445692884,3.3083645443196006,7.17852684144819,6.429463171036204,5.955056179775282, +6.029962546816479,7.677902621722847,4.725343320848939,7.49063670411985,5.555555555555556,5.499375780274657,2.446941323345818,5.34956304619226,3.214731585518102,4.694132334581773,5.33083645443196,3.5268414481897628,2.134831460674157,2.5842696629213484,3.5705368289637955,8.177278401997503,6.928838951310862,5.168539325842697,3.870162297128589,3.3458177278401995,6.161048689138577,7.677902621722847,4.8626716604244695,7.865168539325843,7.0536828963795255,3.2209737827715355,2.965043695380774,2.6092384519350813,4.238451935081149,5.986267166042447,2.1785268414481895,3.5143570536828963,6.803995006242197,5.742821473158552,3.0711610486891385,4.400749063670412,3.4019975031210987,8.551810237203496,6.186017478152309,2.3158551810237205,2.571785268414482,6.679151061173534,5.8988764044943816,3.7952559300873907,3.033707865168539,3.183520599250936,8.177278401997503,5.312109862671661,3.714107365792759,6.741573033707866,5.212234706616729,5.81772784019975,6.179775280898876,8.614232209737828,3.6579275905118602,5.262172284644195,6.117353308364544,7.8027465667915115,7.990012484394507,5.34956304619226,3.920099875156055,4.987515605493134,5.461922596754057,3.5518102372034956,8.05243445692884,5.337078651685393,4.144818976279651,7.553058676654182,3.7203495630461925,5.33083645443196,6.073657927590512,6.491885143570538,7.553058676654182,5.717852684144819,7.990012484394507,7.740324594257178,5.774032459425719,4.962546816479401,2.8838951310861427,3.9950062421972534,8.739076154806492,5.767790262172285,5.143570536828964,2.671660424469413,8.3645443196005,6.004993757802747,7.116104868913857,3.8764044943820224,5.543071161048689,5.480649188514358,7.740324594257178,2.340823970037453,4.31960049937578,3.9138576779026217,4.781523096129837,8.11485642946317,3.3458177278401995,7.240948813982522,6.429463171036204,5.97378277153558, +6.061173533083646,7.677902621722847,4.762796504369538,7.49063670411985,5.580524344569288,5.524344569288389,2.4656679151061174,5.380774032459426,3.245942571785269,4.719101123595506,5.34956304619226,3.5580524344569286,2.153558052434457,2.6154806491885143,3.589263420724095,8.177278401997503,6.928838951310862,5.199750312109863,3.8951310861423223,3.3645443196004994,6.192259675405743,7.740324594257178,4.887640449438202,7.927590511860175,7.116104868913857,3.2521847690387014,2.9962546816479403,2.634207240948814,4.269662921348314,6.01123595505618,2.203495630461923,3.545568039950062,6.803995006242197,5.761548064918852,3.0961298377028714,4.425717852684145,3.439450686641698,8.614232209737828,6.210986267166042,2.33458177278402,2.596754057428215,6.679151061173534,5.9238451935081144,3.826466916354557,3.058676654182272,3.2084893882646695,8.177278401997503,5.34956304619226,3.7515605493133584,6.803995006242197,5.237203495630462,5.855181023720349,6.20474406991261,8.614232209737828,3.6766541822721597,5.287141073657928,6.1485642946317105,7.8027465667915115,8.05243445692884,5.3745318352059925,3.938826466916354,5.0062421972534334,5.493133583021224,3.5705368289637955,8.05243445692884,5.355805243445693,4.169787765293384,7.553058676654182,3.745318352059925,5.355805243445693,6.104868913857677,6.554307116104869,7.553058676654182,5.742821473158552,8.05243445692884,7.740324594257178,5.792759051186017,4.9937578027465666,2.908863920099875,4.02621722846442,8.801498127340825,5.799001248439451,5.174781523096129,2.690387016229713,8.426966292134832,6.023720349563047,7.116104868913857,3.9076154806491883,5.568039950062421,5.511860174781523,7.740324594257178,2.3657927590511862,4.3508114856429465,3.938826466916354,4.812734082397004,8.11485642946317,3.3770287141073654,7.240948813982522,6.429463171036204,5.998751560549313, +6.086142322097379,7.740324594257178,4.794007490636704,7.553058676654182,5.605493133583021,5.543071161048689,2.4906367041198503,5.405742821473158,3.2771535580524347,4.737827715355805,5.3745318352059925,3.5830212234706615,2.1785268414481895,2.640449438202247,3.6142322097378274,8.177278401997503,,,3.920099875156055,3.3895131086142323,6.223470661672909,7.740324594257178,4.912609238451935,7.927590511860175,7.116104868913857,3.2771535580524347,3.027465667915106,2.6591760299625467,4.300873907615481,6.036204744069912,2.2284644194756553,3.576779026217228,6.803995006242197,5.786516853932584,3.1210986267166043,4.450686641697877,3.470661672908864,8.614232209737828,6.235955056179775,2.35330836454432,2.6154806491885143,6.741573033707866,5.948813982521848,3.8639200998751564,3.089887640449438,3.2397003745318353,8.239700374531834,,3.7827715355805243,6.803995006242197,5.268414481897628,5.8863920099875156,,8.67665418227216,3.701622971285893,5.305867665418227,6.179775280898876,,8.05243445692884,5.399500624219725,3.957553058676654,5.024968789013733,5.5305867665418225,3.595505617977528,8.11485642946317,5.380774032459426,4.188514357053683,7.615480649188515,3.764044943820225,5.380774032459426,6.1360799001248445,6.554307116104869,7.553058676654182,5.774032459425719,8.05243445692884,7.740324594257178,5.811485642946318,5.031210986267166,2.933832709113608,4.063670411985019,,5.830212234706617,5.205992509363296,2.7091136079900124,,6.048689138576779,7.116104868913857,3.938826466916354,5.593008739076155,5.549313358302123,,2.3907615480649187,4.382022471910113,3.9637952559300875,4.843945068664169,,3.4144818976279647,7.240948813982522,6.491885143570538,6.023720349563047, +6.117353308364544,7.8027465667915115,4.831460674157303,7.553058676654182,5.630461922596755,5.568039950062421,2.515605493133583,5.430711610486892,3.3021223470661676,4.762796504369538,5.393258426966292,3.6142322097378274,2.203495630461923,2.671660424469413,3.639200998751561,8.239700374531834,,,3.9450686641697876,3.408239700374532,6.242197253433209,7.8027465667915115,4.937578027465668,7.990012484394507,7.17852684144819,3.3083645443196006,3.058676654182272,2.68414481897628,4.332084893882647,6.061173533083646,2.253433208489388,3.6142322097378274,6.866416978776529,5.805243445692884,3.139825218476904,4.475655430711611,3.508114856429463,8.67665418227216,6.242197253433209,2.3782771535580522,2.640449438202247,6.741573033707866,5.97378277153558,3.8951310861423223,3.1210986267166043,3.2646691635455682,8.239700374531834,,3.81398252184769,6.866416978776529,5.293383270911361,5.9238451935081144,,8.67665418227216,,5.324594257178527,6.20474406991261,,8.05243445692884,5.430711610486892,3.9762796504369535,5.049937578027466,5.561797752808988,3.620474406991261,8.11485642946317,5.405742821473158,4.213483146067416,7.615480649188515,3.7890137328339577,5.405742821473158,6.167290886392011,6.616729088639201,7.615480649188515,5.799001248439451,8.11485642946317,7.8027465667915115,5.836454431960051,5.062421972534332,,4.1011235955056184,,5.861423220973783,5.243445692883895,2.7340823970037453,,6.073657927590512,7.17852684144819,3.970037453183521,5.617977528089888,5.580524344569288,,2.4094881398252186,4.413233458177278,3.9950062421972534,4.881398252184769,,3.4456928838951315,7.303370786516854,6.491885143570538,6.048689138576779, +6.1485642946317105,7.8027465667915115,4.8626716604244695,7.615480649188515,5.655430711610487,5.593008739076155,2.5343320848938826,5.455680399500624,3.3333333333333335,4.787765293383271,5.418227215980025,3.6454431960049942,2.2222222222222223,2.702871410736579,3.6641697877652937,8.239700374531834,,,3.970037453183521,3.4269662921348316,6.30461922596754,7.8027465667915115,4.962546816479401,7.990012484394507,7.17852684144819,3.339575530586767,3.089887640449438,2.7091136079900124,4.3632958801498125,6.086142322097379,2.272159800249688,3.6454431960049942,6.866416978776529,5.830212234706617,3.1647940074906367,4.49438202247191,3.545568039950062,8.67665418227216,6.30461922596754,2.397003745318352,2.66541822721598,6.741573033707866,6.004993757802747,3.926342072409488,3.1460674157303368,3.2896379525593007,8.302122347066168,,,6.866416978776529,5.324594257178527,5.955056179775282,,8.739076154806492,,5.34956304619226,6.235955056179775,,8.11485642946317,5.455680399500624,4.001248439450687,5.068664169787765,5.593008739076155,3.639200998751561,8.177278401997503,5.424469413233458,4.2322097378277155,7.615480649188515,3.81398252184769,5.430711610486892,6.198501872659176,6.616729088639201,7.615480649188515,5.830212234706617,8.11485642946317,7.8027465667915115,5.855181023720349,5.099875156054932,,4.132334581772784,,5.892634207240949,5.274656679151062,2.752808988764045,,6.098626716604246,7.17852684144819,4.001248439450687,5.6491885143570535,5.611735330836455,,2.4344569288389515,4.444444444444445,4.019975031210986,4.912609238451935,,3.4831460674157304,7.303370786516854,6.554307116104869,6.067415730337078, +,7.865168539325843,4.893882646691636,,5.68039950062422,5.611735330836455,2.5593008739076155,,3.3645443196004994,4.806491885143571,5.436953807740325,3.6766541822721597,2.247191011235955,2.7340823970037453,3.689138576779026,8.302122347066168,,,3.9950062421972534,3.451935081148564,6.30461922596754,7.865168539325843,4.987515605493134,8.05243445692884,7.240948813982522,3.3645443196004994,3.114856429463171,2.7340823970037453,4.400749063670412,6.111111111111111,2.2971285892634206,3.682896379525593,6.866416978776529,5.848938826466916,3.183520599250936,4.519350811485642,3.576779026217228,8.739076154806492,6.30461922596754,2.4157303370786516,2.690387016229713,6.803995006242197,6.029962546816479,3.957553058676654,3.1772784019975036,3.3146067415730336,8.302122347066168,,,6.928838951310862,5.34956304619226,5.986267166042447,,8.801498127340825,,5.36828963795256,6.242197253433209,,8.11485642946317,5.480649188514358,4.019975031210986,5.087390761548065,5.6242197253433215,3.6641697877652937,8.177278401997503,5.449438202247191,4.257178526841448,7.677902621722847,3.8389513108614235,5.455680399500624,6.229712858926342,6.679151061173534,7.615480649188515,5.855181023720349,8.177278401997503,7.8027465667915115,5.880149812734083,5.131086142322098,,4.169787765293384,,5.9238451935081144,5.305867665418227,2.777777777777778,,6.123595505617978,7.240948813982522,4.032459425717852,5.674157303370786,5.64294631710362,,2.459425717852684,4.475655430711611,4.044943820224719,4.943820224719102,,3.5143570536828963,7.365792759051186,6.554307116104869,6.092384519350812, +,7.865168539325843,4.931335830212235,,5.705368289637952,5.636704119850187,2.5842696629213484,,3.3957553058676653,4.831460674157303,5.455680399500624,3.701622971285893,2.272159800249688,2.7652933832709112,3.714107365792759,,,,4.019975031210986,3.470661672908864,6.367041198501872,7.865168539325843,5.0062421972534334,,7.240948813982522,3.3957553058676653,3.1460674157303368,2.7590511860174782,4.431960049937578,6.1360799001248445,,3.714107365792759,6.928838951310862,5.8739076154806495,3.2084893882646695,4.544319600499376,3.6142322097378274,8.739076154806492,6.30461922596754,2.4406991260923845,2.715355805243446,6.803995006242197,6.054931335830212,3.9950062421972534,3.2084893882646695,3.3458177278401995,8.3645443196005,,,6.928838951310862,5.380774032459426,6.023720349563047,,8.801498127340825,,5.3870162297128585,6.30461922596754,,8.177278401997503,5.50561797752809,4.038701622971286,5.1123595505617985,5.655430711610487,3.682896379525593,8.239700374531834,5.468164794007491,4.275905118601748,7.677902621722847,3.8639200998751564,5.480649188514358,6.242197253433209,6.679151061173534,7.677902621722847,5.880149812734083,8.177278401997503,7.865168539325843,5.8988764044943816,5.168539325842697,,,,5.955056179775282,5.343320848938826,2.7965043695380776,,6.1485642946317105,7.240948813982522,4.063670411985019,5.69912609238452,5.674157303370786,,2.4843945068664173,4.506866416978776,4.069912609238452,4.9812734082397006,,3.5518102372034956,7.365792759051186,6.616729088639201,6.117353308364544, +,7.927590511860175,4.962546816479401,,5.730337078651686,5.655430711610487,2.602996254681648,,3.420724094881398,4.850187265917603,5.480649188514358,3.732833957553059,2.2908863920099876,2.790262172284644,3.7390761548064915,,,,4.044943820224719,3.495630461922597,6.367041198501872,7.927590511860175,5.031210986267166,,7.303370786516854,3.4269662921348316,3.1772784019975036,2.7840199750312107,4.463171036204744,,,3.745318352059925,6.928838951310862,5.8988764044943816,3.233458177278402,4.569288389513109,3.6454431960049942,8.801498127340825,6.367041198501872,2.459425717852684,2.740324594257179,6.866416978776529,6.086142322097379,4.02621722846442,3.2397003745318353,3.370786516853933,8.3645443196005,,,6.991260923845194,5.411985018726591,6.054931335830212,,8.863920099875156,,5.411985018726591,6.30461922596754,,8.177278401997503,5.536828963795256,4.057428214731585,5.131086142322098,5.686641697877653,3.7078651685393256,8.239700374531834,5.493133583021224,4.294631710362047,7.677902621722847,3.888888888888889,5.50561797752809,6.30461922596754,6.741573033707866,7.677902621722847,5.9113607990012484,8.239700374531834,7.865168539325843,5.917602996254682,5.199750312109863,,,,5.986267166042447,5.3745318352059925,2.82147315855181,,6.173533083645444,7.240948813982522,4.094881398252185,5.724094881398252,5.705368289637952,,2.5093632958801497,4.538077403245943,4.1011235955056184,5.012484394506866,,3.5830212234706615,7.428214731585518,,6.1360799001248445, +,7.927590511860175,4.9937578027465666,,5.7553058676654185,5.68039950062422,2.6279650436953808,,3.451935081148564,4.875156054931336,5.499375780274657,3.764044943820225,2.3158551810237205,2.82147315855181,3.764044943820225,,,,4.069912609238452,3.5143570536828963,6.367041198501872,7.990012484394507,5.056179775280899,,7.303370786516854,3.4581772784019975,3.2084893882646695,2.808988764044944,4.49438202247191,,,3.7827715355805243,6.928838951310862,5.917602996254682,3.2521847690387014,,3.682896379525593,8.801498127340825,6.367041198501872,2.478152309612984,2.7590511860174782,6.866416978776529,6.111111111111111,4.057428214731585,3.2646691635455682,3.3957553058676653,8.426966292134832,,,6.991260923845194,5.436953807740325,6.092384519350812,,8.863920099875156,,5.430711610486892,6.367041198501872,,8.239700374531834,5.561797752808988,4.0761548064918856,5.149812734082397,5.717852684144819,3.7265917602996255,8.302122347066168,5.5181023720349565,4.31960049937578,7.740324594257178,3.9138576779026217,5.5305867665418225,6.30461922596754,6.741573033707866,7.740324594257178,5.936329588014981,8.239700374531834,7.865168539325843,5.942571785268415,5.237203495630462,,,,6.0174781523096135,5.405742821473158,2.84019975031211,,6.192259675405743,7.303370786516854,4.1260923845193505,5.749063670411985,5.742821473158552,,2.5343320848938826,4.569288389513109,4.1260923845193505,5.043695380774032,,3.6142322097378274,7.428214731585518,,6.161048689138577, +,7.990012484394507,5.031210986267166,,5.7802746566791505,5.705368289637952,,,3.4831460674157304,4.900124843945068,5.524344569288389,3.7952559300873907,2.340823970037453,2.852684144818976,3.7890137328339577,,,,4.094881398252185,3.5393258426966296,6.429463171036204,7.990012484394507,5.081148564294631,,7.365792759051186,3.4831460674157304,3.2397003745318353,2.8339575530586765,4.525593008739076,,,3.81398252184769,6.991260923845194,,3.2771535580524347,,3.714107365792759,8.863920099875156,6.429463171036204,2.4968789013732833,2.7840199750312107,6.866416978776529,6.1360799001248445,4.0886392009987516,3.295880149812734,,8.426966292134832,,,7.0536828963795255,5.468164794007491,6.123595505617978,,8.926342072409488,,5.455680399500624,6.367041198501872,,8.239700374531834,,4.094881398252185,5.174781523096129,5.749063670411985,3.7515605493133584,8.302122347066168,5.536828963795256,4.33832709113608,7.740324594257178,3.938826466916354,5.555555555555556,,6.803995006242197,7.740324594257178,5.961298377028713,8.302122347066168,7.927590511860175,5.961298377028713,5.268414481897628,,,,6.048689138576779,5.443196004993759,2.865168539325843,,6.217228464419476,7.303370786516854,4.157303370786517,5.774032459425719,5.774032459425719,,2.5530586766541825,4.600499375780275,4.151061173533084,5.081148564294631,,3.651685393258427,,,6.186017478152309, +,,5.062421972534332,,5.805243445692884,,,,3.5143570536828963,4.918851435705368,5.543071161048689,3.8202247191011236,2.359550561797753,2.8838951310861427,3.81398252184769,,,,4.119850187265917,3.5580524344569286,6.429463171036204,8.05243445692884,5.106117353308365,,7.365792759051186,3.5143570536828963,3.2709113607990012,2.8589263420724094,4.556803995006242,,,3.8451935081148565,6.991260923845194,,3.295880149812734,,3.7515605493133584,8.863920099875156,6.429463171036204,2.521847690387016,2.808988764044944,6.928838951310862,6.161048689138577,4.1260923845193505,3.3270911360799,,8.489388264669165,,,7.0536828963795255,5.493133583021224,6.161048689138577,,,,5.474406991260924,6.429463171036204,,8.239700374531834,,4.1136079900124844,5.19350811485643,5.7802746566791505,3.776529338327091,8.3645443196005,5.561797752808988,4.3632958801498125,7.740324594257178,3.9637952559300875,5.580524344569288,,6.803995006242197,,5.992509363295881,8.302122347066168,7.927590511860175,5.980024968789014,5.305867665418227,,,,6.079900124843945,5.474406991260924,2.8838951310861427,,6.242197253433209,7.365792759051186,4.18227215980025,5.799001248439451,5.805243445692884,,2.578027465667915,4.631710362047441,4.18227215980025,5.1123595505617985,,3.682896379525593,,,6.210986267166042, +,,5.093632958801498,,5.830212234706617,,,,3.5393258426966296,4.943820224719102,5.568039950062421,3.8514357053682895,2.3845193508114857,2.908863920099875,3.8389513108614235,,,,4.144818976279651,3.5830212234706615,6.491885143570538,,5.131086142322098,,7.428214731585518,3.545568039950062,3.295880149812734,2.8838951310861427,4.588014981273409,,,3.882646691635456,6.991260923845194,,3.320848938826467,,,8.926342072409488,6.429463171036204,2.5405742821473156,2.8339575530586765,6.928838951310862,,,3.352059925093633,,8.489388264669165,,,7.116104868913857,5.524344569288389,6.192259675405743,,,,5.493133583021224,6.429463171036204,,8.302122347066168,,4.132334581772784,5.212234706616729,5.811485642946318,3.7952559300873907,8.3645443196005,5.580524344569288,4.382022471910113,7.8027465667915115,3.9887640449438204,5.605493133583021,,6.866416978776529,,6.0174781523096135,8.3645443196005,7.927590511860175,6.004993757802747,5.337078651685393,,,,6.111111111111111,5.50561797752809,2.908863920099875,,6.242197253433209,7.365792759051186,4.213483146067416,5.823970037453184,5.836454431960051,,2.602996254681648,4.662921348314606,4.207240948813983,5.143570536828964,,3.7203495630461925,,,6.229712858926342, +,,5.131086142322098,,5.855181023720349,,,,3.5705368289637955,4.9687890137328345,5.586766541822722,3.882646691635456,2.4094881398252186,2.9400749063670415,3.8639200998751564,,,,4.169787765293384,3.6017478152309614,6.491885143570538,,5.15605493133583,,7.428214731585518,3.5705368289637955,3.3270911360799,2.908863920099875,4.619225967540574,,,3.9138576779026217,7.0536828963795255,,3.3458177278401995,,,8.926342072409488,6.491885143570538,2.5593008739076155,2.8589263420724094,6.928838951310862,,,3.383270911360799,,8.551810237203496,,,7.116104868913857,,,,,,5.5181023720349565,6.491885143570538,,8.302122347066168,,4.151061173533084,5.237203495630462,5.842696629213483,3.8202247191011236,8.426966292134832,5.605493133583021,4.406991260923846,7.8027465667915115,4.00749063670412,5.630461922596755,,,,6.0424469413233455,8.3645443196005,7.990012484394507,6.023720349563047,5.3745318352059925,,,,,5.543071161048689,2.9275905118601746,,6.30461922596754,7.428214731585518,4.244694132334582,5.848938826466916,5.867665418227216,,2.6279650436953808,4.694132334581773,4.2322097378277155,5.174781523096129,,3.7515605493133584,,,6.242197253433209, +,,5.162297128589263,,,,,,3.6017478152309614,4.987515605493134,5.605493133583021,3.9076154806491883,2.428214731585518,2.9712858926342074,,,,,4.194756554307116,3.6267166042446943,6.554307116104869,,5.181023720349563,,7.49063670411985,3.6017478152309614,3.3583021223470664,2.933832709113608,4.65043695380774,,,,7.0536828963795255,,3.3645443196004994,,,8.98876404494382,,2.5842696629213484,2.8838951310861427,6.991260923845194,,,3.4144818976279647,,8.551810237203496,,,7.116104868913857,,,,,,5.536828963795256,6.491885143570538,,8.3645443196005,,4.176029962546816,5.2559300873907615,5.880149812734083,3.8389513108614235,8.426966292134832,5.6242197253433215,4.425717852684145,7.8027465667915115,4.032459425717852,,,,,6.073657927590512,8.426966292134832,7.990012484394507,6.0424469413233455,5.405742821473158,,,,,,2.9525593008739075,,,7.428214731585518,,5.8739076154806495,5.905118601747815,,,,4.257178526841448,5.212234706616729,,,,,6.30461922596754, +,,,,,,,,3.6329588014981273,5.012484394506866,5.630461922596755,3.938826466916354,2.453183520599251,3.0024968789013733,,,,,4.213483146067416,3.6454431960049942,6.554307116104869,,5.205992509363296,,7.49063670411985,3.6329588014981273,,2.958801498127341,4.681647940074906,,,,7.0536828963795255,,3.3895131086142323,,,8.98876404494382,,2.602996254681648,2.908863920099875,6.991260923845194,,,,,,,,7.17852684144819,,,,,,5.555555555555556,6.491885143570538,,8.3645443196005,,4.194756554307116,5.274656679151062,5.9113607990012484,3.8639200998751564,8.489388264669165,5.6491885143570535,4.450686641697877,,4.057428214731585,,,,,6.098626716604246,8.426966292134832,7.990012484394507,6.067415730337078,,,,,,,2.9712858926342074,,,7.428214731585518,,5.8988764044943816,5.936329588014981,,,,4.288389513108614,5.243445692883895,,,,,6.30461922596754, +,,,,,,,,3.6579275905118602,5.0374531835206,5.6491885143570535,,2.471910112359551,3.033707865168539,,,,,,3.6704119850187267,6.616729088639201,,5.224719101123595,,7.553058676654182,,,2.9837702871410734,4.712858926342073,,,,7.116104868913857,,3.408239700374532,,,9.051186017478152,,,2.9275905118601746,6.991260923845194,,,,,,,,7.17852684144819,,,,,,5.580524344569288,6.554307116104869,,,,4.213483146067416,5.299625468164794,5.942571785268415,3.888888888888889,8.489388264669165,,4.4694132334581775,,4.082397003745319,,,,,6.123595505617978,8.489388264669165,8.05243445692884,6.086142322097379,,,,,,,2.9962546816479403,,,7.49063670411985,,5.9238451935081144,5.967540574282147,,,,,5.274656679151062,,,,,6.30461922596754, +,,,,,,,,3.689138576779026,5.056179775280899,,,2.4968789013732833,3.058676654182272,,,,,,3.689138576779026,6.616729088639201,,5.249687890137328,,7.553058676654182,,,3.0087390761548067,,,,,7.116104868913857,,3.4332084893882646,,,9.051186017478152,,,2.9525593008739075,7.0536828963795255,,,,,,,,7.240948813982522,,,,,,,,,,,4.2322097378277155,5.318352059925093,5.97378277153558,3.9076154806491883,8.551810237203496,,4.49438202247191,,4.107365792759051,,,,,6.154806491885144,8.489388264669165,8.05243445692884,6.104868913857677,,,,,,,3.0149812734082393,,,7.49063670411985,,5.948813982521848,5.998751560549313,,,,,,,,,,6.367041198501872, +,,,,,,,,3.7203495630461925,,,,,3.089887640449438,,,,,,3.714107365792759,6.679151061173534,,5.274656679151062,,7.553058676654182,,,3.033707865168539,,,,,,,3.4581772784019975,,,9.113607990012484,,,2.977528089887641,,,,,,,,,7.240948813982522,,,,,,,,,,,4.250936329588015,5.337078651685393,6.004993757802747,3.9325842696629216,8.551810237203496,,,,4.132334581772784,,,,,6.179775280898876,8.551810237203496,8.05243445692884,6.129837702871411,,,,,,,3.0399500624219726,,,7.553058676654182,,5.97378277153558,6.029962546816479,,,,,,,,,,6.367041198501872, +,,,,,,,,,,,,,3.1210986267166043,,,,,,3.732833957553059,6.679151061173534,,5.299625468164794,,,,,3.058676654182272,,,,,,,,,,9.113607990012484,,,,,,,,,,,,7.303370786516854,,,,,,,,,,,4.269662921348314,5.3620474406991265,6.036204744069912,3.951310861423221,8.614232209737828,,,,,,,,,6.210986267166042,8.551810237203496,8.11485642946317,6.1485642946317105,,,,,,,3.058676654182272,,,7.553058676654182,,,,,,,,,,,,,6.367041198501872, +,,,,,,,,,,,,,3.15230961298377,,,,,,3.7515605493133584,6.741573033707866,,5.324594257178527,,,,,3.0836454431960054,,,,,,,,,,9.176029962546817,,,,,,,,,,,,7.303370786516854,,,,,,,,,,,4.288389513108614,5.380774032459426,6.067415730337078,3.9762796504369535,8.614232209737828,,,,,,,,,6.235955056179775,,8.11485642946317,6.167290886392011,,,,,,,3.077403245942572,,,7.553058676654182,,,,,,,,,,,,,6.429463171036204, +,,,,,,,,,,,,,,,,,,,,6.741573033707866,,,,,,,,,,,,,,,,,9.176029962546817,,,,,,,,,,,,,,,,,,,,,,,,5.399500624219725,6.098626716604246,,8.67665418227216,,,,,,,,,6.242197253433209,,8.11485642946317,6.192259675405743,,,,,,,3.102372034956305,,,7.615480649188515,,,,,,,,,,,,,6.429463171036204, +,,,,,,,,,,,,,,,,,,,,6.803995006242197,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5.424469413233458,,,,,,,,,,,,6.30461922596754,,,6.210986267166042,,,,,,,3.1210986267166043,,,7.615480649188515,,,,,,,,,,,,,, +3.651685393258427,5.074906367041199,2.1161048689138577,5.305867665418227,3.589263420724095,3.7265917602996255,0.6554307116104868,3.3021223470661676,0.9051186017478152,2.908863920099875,3.6641697877652937,1.223470661672909,0.35268414481897625,0.24968789013732834,1.647940074906367,5.855181023720349,4.4818976279650435,2.7590511860174782,1.9600499375780276,1.6541822721598003,3.8951310861423223,5.224719101123595,2.9712858926342074,5.474406991260924,4.800249687890138,0.9488139825218477,0.6173533083645443,0.6616729088639202,1.7602996254681649,4.057428214731585,0.24781523096129837,0.8926342072409489,5.099875156054932,4.001248439450687,1.317103620474407,2.5842696629213484,0.717852684144819,6.179775280898876,4.313358302122348,0.7116104868913858,0.6928838951310862,4.956304619225968,3.8077403245942576,1.2359550561797754,0.7365792759051186,1.079900124843945,5.724094881398252,2.702871410736579,1.0923845193508115,4.444444444444445,2.9837702871410734,3.183520599250936,4.132334581772784,5.81772784019975,1.797752808988764,3.6267166042446943,3.9076154806491883,4.875156054931336,6.029962546816479,3.2397003745318353,2.4032459425717856,3.3645443196004994,2.9837702871410734,1.8102372034956304,5.6491885143570535,3.5830212234706615,2.446941323345818,5.855181023720349,1.8164794007490637,3.3957553058676653,3.6766541822721597,3.957553058676654,5.705368289637952,3.595505617977528,5.593008739076155,6.104868913857677,4.138576779026217,2.303370786516854,0.9550561797752809,1.2796504369538078,5.730337078651686,3.3645443196004994,2.5343320848938826,0.9800249687890138,5.930087390761548,4.1260923845193505,5.1248439450686645,1.4544319600499376,3.576779026217228,2.958801498127341,5.436953807740325,0.466916354556804,1.9101123595505618,1.8352059925093633,2.1972534332084894,5.031210986267166,0.6928838951310862,4.856429463171036,4.425717852684145,4.157303370786517, +3.682896379525593,5.1123595505617985,2.153558052434457,5.33083645443196,3.6142322097378274,3.745318352059925,0.6803995006242198,3.3270911360799,0.9363295880149812,2.933832709113608,3.682896379525593,1.2546816479400749,0.3757802746566792,0.27965043695380776,1.6729088639200997,5.880149812734083,4.51310861423221,2.790262172284644,1.9850187265917605,1.6791510611735332,3.920099875156055,5.262172284644195,2.9962546816479403,5.50561797752809,4.831460674157303,0.9737827715355806,0.6491885143570537,0.686641697877653,1.7915106117353308,4.082397003745319,0.2727840199750312,0.9300873907615481,5.1248439450686645,4.019975031210986,1.34207240948814,2.6092384519350813,0.7490636704119851,6.210986267166042,4.33832709113608,0.7303370786516854,0.717852684144819,4.975031210986267,3.8389513108614235,1.2671660424469413,0.7677902621722846,1.104868913857678,5.7553058676654185,2.7340823970037453,1.1235955056179776,4.475655430711611,3.0087390761548067,3.214731585518102,4.157303370786517,5.855181023720349,1.8164794007490637,3.651685393258427,3.9325842696629216,4.912609238451935,6.054931335830212,3.2709113607990012,2.4219725343320846,3.383270911360799,3.0149812734082393,1.8289637952559301,5.68039950062422,3.607990012484395,2.4656679151061174,5.880149812734083,1.8414481897627966,3.420724094881398,3.7078651685393256,3.9887640449438204,5.730337078651686,3.6267166042446943,5.6242197253433215,6.129837702871411,4.16354556803995,2.340823970037453,0.9800249687890138,1.3108614232209737,5.767790262172285,3.3895131086142323,2.571785268414482,0.9987515605493134,5.961298377028713,4.151061173533084,5.149812734082397,1.4856429463171037,3.6017478152309614,2.990012484394507,5.468164794007491,0.49063670411985016,1.941323345817728,1.8601747815230962,2.2347066167290888,5.068664169787765,0.7303370786516854,4.887640449438202,4.450686641697877,4.18227215980025, +3.714107365792759,5.143570536828964,2.184769038701623,5.3620474406991265,3.639200998751561,3.7702871410736583,0.7053682896379525,3.3583021223470664,0.9675405742821472,2.958801498127341,3.7078651685393256,1.2796504369538078,0.39825218476903873,0.3096129837702871,1.6978776529338326,5.9113607990012484,4.544319600499376,2.82147315855181,2.009987515605493,1.6978776529338326,3.951310861423221,5.293383270911361,3.0149812734082393,5.536828963795256,4.856429463171036,1.0049937578027466,0.6803995006242198,0.7116104868913858,1.8227215980024971,4.107365792759051,0.29712858926342073,0.9612983770287141,5.143570536828964,4.044943820224719,1.3670411985018727,2.634207240948814,0.7865168539325842,6.242197253433209,4.3632958801498125,0.7553058676654182,0.7428214731585518,5.0,3.8639200998751564,1.2983770287141074,0.7927590511860175,1.1298377028714106,5.786516853932584,2.7715355805243447,1.161048689138577,4.506866416978776,3.0399500624219726,3.245942571785269,4.188514357053683,5.892634207240949,1.8414481897627966,3.6704119850187267,3.9637952559300875,4.950062421972534,6.086142322097379,3.295880149812734,2.446941323345818,3.4019975031210987,3.046192259675406,1.8539325842696628,5.711610486891385,3.6329588014981273,2.4906367041198503,5.8988764044943816,1.8664169787765295,3.4456928838951315,3.7390761548064915,4.019975031210986,5.7553058676654185,3.651685393258427,5.655430711610487,6.1485642946317105,4.18227215980025,2.3720349563046192,1.0049937578027466,1.348314606741573,5.805243445692884,3.420724094881398,2.602996254681648,1.0237203495630463,5.992509363295881,4.176029962546816,5.174781523096129,1.5168539325842696,3.6267166042446943,3.0212234706616727,5.499375780274657,0.5149812734082396,1.9725343320848938,1.8851435705368291,2.2659176029962547,5.106117353308365,0.7615480649188515,4.918851435705368,4.475655430711611,4.207240948813983, +3.745318352059925,5.174781523096129,2.215980024968789,5.3870162297128585,3.6641697877652937,3.7952559300873907,0.7240948813982522,3.383270911360799,0.9987515605493134,2.977528089887641,3.7265917602996255,1.3108614232209737,0.4213483146067416,0.33957553058676654,1.7228464419475658,5.942571785268415,4.575530586766542,2.8464419475655434,2.034956304619226,1.7228464419475658,3.982521847690387,5.324594257178527,3.0399500624219726,5.568039950062421,4.887640449438202,1.0362047440699127,0.7053682896379525,0.7365792759051186,1.8539325842696628,4.132334581772784,0.32209737827715357,0.9987515605493134,5.168539325842697,4.069912609238452,1.3857677902621723,2.6591760299625467,0.8177278401997503,6.30461922596754,4.388264669163545,0.7740324594257179,0.7677902621722846,5.0187265917602994,3.888888888888889,1.3358302122347065,0.8239700374531835,1.161048689138577,5.81772784019975,2.8027465667915106,1.1922596754057428,4.538077403245943,3.0649188514357055,3.2833957553058677,4.213483146067416,5.930087390761548,1.8664169787765295,3.6953807740324596,3.9887640449438204,4.987515605493134,6.111111111111111,3.320848938826467,2.4656679151061174,3.4269662921348316,3.0836454431960054,1.8726591760299625,5.736579275905119,3.651685393258427,2.5093632958801497,5.9238451935081144,1.8913857677902621,3.470661672908864,3.7702871410736583,4.057428214731585,5.774032459425719,3.6766541822721597,5.686641697877653,6.167290886392011,4.200998751560549,2.4032459425717856,1.0299625468164793,1.3795255930087391,5.848938826466916,3.451935081148564,2.634207240948814,1.042446941323346,6.023720349563047,4.200998751560549,5.199750312109863,1.5480649188514357,3.651685393258427,3.0524344569288386,5.524344569288389,0.5387016229712859,2.00374531835206,1.9101123595505618,2.2971285892634206,5.149812734082397,0.7990012484394506,4.950062421972534,4.500624219725343,4.225967540574282, +3.776529338327091,5.212234706616729,2.253433208489388,5.418227215980025,3.689138576779026,3.81398252184769,0.7490636704119851,3.408239700374532,1.0237203495630463,3.0024968789013733,3.745318352059925,1.34207240948814,0.44382022471910115,0.36953807740324596,1.7415730337078652,5.97378277153558,4.606741573033708,2.8776529338327093,2.0599250936329585,1.7415730337078652,4.00749063670412,5.355805243445693,3.0649188514357055,5.599250936329588,4.918851435705368,1.0611735330836456,0.7365792759051186,0.7615480649188515,1.8851435705368291,4.157303370786517,0.3464419475655431,1.0299625468164793,5.187265917602996,4.0886392009987516,1.410736579275905,2.6779026217228465,0.8551810237203495,6.30461922596754,4.413233458177278,0.7927590511860175,0.7927590511860175,5.043695380774032,3.920099875156055,1.3670411985018727,0.8551810237203495,1.1860174781523096,5.848938826466916,2.8339575530586765,1.229712858926342,4.563046192259676,3.0961298377028714,3.3146067415730336,4.238451935081149,5.961298377028713,1.8913857677902621,3.714107365792759,4.019975031210986,5.024968789013733,6.1360799001248445,3.352059925093633,2.4843945068664173,3.4456928838951315,3.114856429463171,1.8976279650436954,5.767790262172285,3.6766541822721597,2.5343320848938826,5.942571785268415,1.916354556803995,3.495630461922597,3.801498127340824,4.0886392009987516,5.799001248439451,3.7078651685393256,5.717852684144819,6.192259675405743,4.225967540574282,2.4406991260923845,1.0549313358302121,1.4169787765293382,5.8863920099875156,3.4831460674157304,2.671660424469413,1.0674157303370786,6.054931335830212,4.225967540574282,5.224719101123595,1.5792759051186018,3.6766541822721597,3.089887640449438,5.555555555555556,0.5630461922596754,2.034956304619226,1.941323345817728,2.328339575530587,5.187265917602996,0.8302122347066168,4.975031210986267,4.531835205992509,4.250936329588015, +3.801498127340824,5.243445692883895,2.2846441947565546,5.443196004993759,3.714107365792759,3.8389513108614235,0.7740324594257179,3.4332084893882646,1.0549313358302121,3.027465667915106,3.7702871410736583,1.373283395755306,0.466916354556804,0.3995006242197253,1.766541822721598,5.998751560549313,4.637952559300874,2.908863920099875,2.084893882646692,1.766541822721598,4.038701622971286,5.3870162297128585,3.089887640449438,5.630461922596755,4.943820224719102,1.0923845193508115,0.7677902621722846,0.7865168539325842,1.916354556803995,4.18227215980025,0.3714107365792759,1.0611735330836456,5.212234706616729,4.1136079900124844,1.4294631710362047,2.702871410736579,0.8863920099875156,6.30461922596754,4.438202247191011,0.8114856429463172,0.8177278401997503,5.062421972534332,3.9450686641697876,1.3982521847690388,0.8801498127340824,1.2109862671660423,5.880149812734083,2.871410736579276,1.260923845193508,4.594257178526841,3.1210986267166043,3.352059925093633,4.263420724094882,5.998751560549313,1.916354556803995,3.732833957553059,4.051186017478152,5.062421972534332,6.161048689138577,3.3770287141073654,2.5031210986267167,3.464419475655431,3.1460674157303368,1.916354556803995,5.799001248439451,3.6953807740324596,2.5530586766541825,5.967540574282147,1.941323345817728,3.5205992509363297,3.83270911360799,4.119850187265917,5.823970037453184,3.732833957553059,5.749063670411985,6.210986267166042,4.244694132334582,2.471910112359551,1.079900124843945,1.4544319600499376,5.9238451935081144,3.5143570536828963,2.702871410736579,1.0861423220973783,6.086142322097379,4.244694132334582,5.249687890137328,1.6104868913857677,3.701622971285893,3.1210986267166043,5.586766541822722,0.5867665418227216,2.066167290886392,1.9662921348314608,2.3657927590511862,5.224719101123595,0.867665418227216,5.0062421972534334,4.556803995006242,4.275905118601748, +3.83270911360799,5.274656679151062,2.3158551810237205,5.474406991260924,3.7390761548064915,3.857677902621723,0.7927590511860175,3.4581772784019975,1.0861423220973783,3.046192259675406,3.7890137328339577,1.3982521847690388,0.4893882646691636,0.42946317103620474,1.7915106117353308,6.029962546816479,4.66916354556804,2.9400749063670415,2.1098626716604243,1.7852684144818978,4.069912609238452,5.418227215980025,3.114856429463171,5.66167290886392,4.975031210986267,1.1235955056179776,0.7990012484394506,0.8114856429463172,1.9475655430711611,4.207240948813983,0.39637952559300876,1.0986267166042447,5.230961298377029,4.132334581772784,1.4544319600499376,2.727840199750312,0.9238451935081149,6.367041198501872,4.456928838951311,0.8364544319600499,0.8426966292134832,5.087390761548065,3.970037453183521,1.4294631710362047,0.9113607990012486,1.2421972534332086,5.9113607990012484,2.902621722846442,1.2921348314606742,4.6254681647940075,3.15230961298377,3.383270911360799,4.288389513108614,6.036204744069912,1.9350811485642945,3.7578027465667914,4.0761548064918856,5.099875156054932,6.186017478152309,3.4019975031210987,2.521847690387016,3.4893882646691634,3.1772784019975036,1.941323345817728,5.830212234706617,3.7203495630461925,2.578027465667915,5.986267166042447,1.9662921348314608,3.545568039950062,3.8639200998751564,4.151061173533084,5.848938826466916,3.7578027465667914,5.7802746566791505,6.229712858926342,4.263420724094882,2.5093632958801497,1.104868913857678,1.4856429463171037,5.961298377028713,3.545568039950062,2.7340823970037453,1.1111111111111112,6.117353308364544,4.269662921348314,5.274656679151062,1.6416978776529338,3.7265917602996255,3.15230961298377,5.611735330836455,0.6104868913857677,2.097378277153558,1.9912609238451935,2.397003745318352,5.262172284644195,0.898876404494382,5.0374531835206,4.581772784019975,4.294631710362047, +3.8639200998751564,5.312109862671661,2.35330836454432,5.499375780274657,3.764044943820225,3.882646691635456,0.8177278401997503,3.4893882646691634,1.1173533083645444,3.0711610486891385,3.81398252184769,1.4294631710362047,0.5124843945068664,0.45942571785268416,1.8164794007490637,6.061173533083646,4.700374531835206,2.9712858926342074,2.128589263420724,1.8102372034956304,4.094881398252185,5.449438202247191,3.139825218476904,5.692883895131087,5.0062421972534334,1.1485642946317103,0.8302122347066168,0.8364544319600499,1.978776529338327,4.2322097378277155,0.4207240948813982,1.1298377028714106,5.2559300873907615,4.157303370786517,1.4794007490636705,2.746566791510612,0.9550561797752809,6.367041198501872,4.4818976279650435,0.8551810237203495,0.8614232209737829,5.106117353308365,3.9950062421972534,1.466916354556804,0.9425717852684146,1.2671660424469413,5.942571785268415,2.9400749063670415,1.3295880149812733,4.656679151061174,3.183520599250936,3.4144818976279647,4.31960049937578,6.067415730337078,1.9600499375780276,3.776529338327091,4.107365792759051,5.1373283395755305,6.210986267166042,3.4332084893882646,2.5405742821473156,3.508114856429463,3.2084893882646695,1.9662921348314608,5.861423220973783,3.745318352059925,2.596754057428215,6.01123595505618,1.9912609238451935,3.5705368289637955,3.8951310861423223,4.188514357053683,5.867665418227216,3.7890137328339577,5.811485642946318,6.242197253433209,4.288389513108614,2.5405742821473156,1.1298377028714106,1.523096129837703,6.004993757802747,3.576779026217228,2.7715355805243447,1.1298377028714106,6.1485642946317105,4.294631710362047,5.299625468164794,1.6729088639200997,3.7515605493133584,3.183520599250936,5.64294631710362,0.6367041198501873,2.128589263420724,2.0224719101123596,2.428214731585518,5.305867665418227,0.9363295880149812,5.068664169787765,4.606741573033708,4.31960049937578, +3.8951310861423223,5.343320848938826,2.3845193508114857,5.5305867665418225,3.7890137328339577,3.9076154806491883,0.8426966292134832,3.5143570536828963,1.1423220973782773,3.0961298377028714,3.83270911360799,1.4606741573033708,0.534956304619226,0.4893882646691636,1.8414481897627966,6.086142322097379,4.7315855181023725,3.0024968789013733,2.153558052434457,1.8289637952559301,4.1260923845193505,5.480649188514358,3.1647940074906367,5.724094881398252,5.0374531835206,1.1797752808988764,0.8614232209737829,0.8614232209737829,2.016229712858926,4.257178526841448,0.44569288389513106,1.161048689138577,5.274656679151062,4.176029962546816,1.4981273408239701,2.7715355805243447,0.9925093632958802,6.429463171036204,4.506866416978776,0.8739076154806492,0.8863920099875156,5.131086142322098,4.02621722846442,1.4981273408239701,0.9737827715355806,1.2921348314606742,5.97378277153558,2.9712858926342074,1.3607990012484397,4.681647940074906,3.2084893882646695,3.451935081148564,4.344569288389513,6.104868913857677,1.9850187265917605,3.7952559300873907,4.132334581772784,5.174781523096129,6.235955056179775,3.4581772784019975,2.5593008739076155,3.5268414481897628,3.2397003745318353,1.9850187265917605,5.892634207240949,3.764044943820225,2.6217228464419473,6.029962546816479,2.016229712858926,3.595505617977528,3.926342072409488,4.219725343320849,5.892634207240949,3.81398252184769,5.842696629213483,6.242197253433209,4.307116104868914,2.578027465667915,1.1548064918851435,1.554307116104869,6.0424469413233455,3.607990012484395,2.8027465667915106,1.1548064918851435,6.179775280898876,4.31960049937578,5.324594257178527,1.704119850187266,3.776529338327091,3.214731585518102,5.674157303370786,0.6616729088639202,2.15980024968789,2.0474406991260925,2.4656679151061174,5.343320848938826,0.9675405742821472,5.099875156054932,4.631710362047441,4.344569288389513, +3.926342072409488,5.3745318352059925,2.4157303370786516,5.555555555555556,3.81398252184769,3.926342072409488,0.8614232209737829,3.5393258426966296,1.1735330836454432,3.114856429463171,3.857677902621723,1.4918851435705367,0.5580524344569288,0.519350811485643,1.8664169787765295,6.117353308364544,4.762796504369538,3.033707865168539,2.1785268414481895,1.8476903870162298,4.157303370786517,5.511860174781523,3.1897627965043696,5.7553058676654185,5.062421972534332,1.2109862671660423,0.8863920099875156,0.8863920099875156,2.0474406991260925,4.282147315855181,0.4700374531835206,1.198501872659176,5.299625468164794,4.200998751560549,1.523096129837703,2.7965043695380776,1.0237203495630463,6.429463171036204,4.531835205992509,0.898876404494382,0.9113607990012486,5.149812734082397,4.051186017478152,1.529338327091136,0.9987515605493134,1.3233458177278403,6.004993757802747,3.0024968789013733,1.3982521847690388,4.712858926342073,3.2397003745318353,3.4831460674157304,4.369538077403246,6.142322097378277,2.009987515605493,3.8202247191011236,4.16354556803995,5.212234706616729,6.242197253433209,3.4831460674157304,2.578027465667915,3.5518102372034956,3.2709113607990012,2.009987515605493,5.9238451935081144,3.7890137328339577,2.640449438202247,6.054931335830212,2.0411985018726595,3.620474406991261,3.957553058676654,4.250936329588015,5.917602996254682,3.8451935081148565,5.8739076154806495,6.30461922596754,4.325842696629214,2.6092384519350813,1.1797752808988764,1.591760299625468,6.079900124843945,3.639200998751561,2.8339575530586765,1.1735330836454432,6.210986267166042,4.344569288389513,5.34956304619226,1.735330836454432,3.801498127340824,3.245942571785269,5.705368289637952,0.6803995006242198,2.1910112359550564,2.0724094881398254,2.4968789013732833,5.380774032459426,0.9987515605493134,5.131086142322098,4.656679151061174,4.369538077403246, +3.957553058676654,5.411985018726591,2.453183520599251,5.586766541822722,3.8389513108614235,3.951310861423221,0.8863920099875156,3.564294631710362,1.2047440699126093,3.139825218476904,3.8764044943820224,1.5168539325842696,0.5811485642946317,0.548689138576779,1.8913857677902621,6.1485642946317105,4.794007490636704,3.0649188514357055,2.203495630461923,1.8726591760299625,4.18227215980025,5.543071161048689,3.214731585518102,5.786516853932584,5.093632958801498,1.2359550561797754,0.9176029962546817,0.9113607990012486,2.0786516853932584,4.307116104868914,0.4950062421972534,1.229712858926342,5.318352059925093,4.225967540574282,1.5418227215980027,2.82147315855181,1.0611735330836456,6.491885143570538,4.556803995006242,0.9176029962546817,0.9363295880149812,5.174781523096129,4.0761548064918856,1.5605493133583022,1.0299625468164793,1.348314606741573,6.036204744069912,3.0399500624219726,1.4294631710362047,4.7440699126092385,3.2646691635455682,3.5205992509363297,4.394506866416979,6.173533083645444,2.034956304619226,3.8389513108614235,4.188514357053683,5.249687890137328,6.30461922596754,3.5143570536828963,2.596754057428215,3.5705368289637955,3.3021223470661676,2.0287141073657926,5.955056179775282,3.8077403245942576,2.66541822721598,6.073657927590512,2.0599250936329585,3.6454431960049942,3.982521847690387,4.282147315855181,5.942571785268415,3.870162297128589,5.905118601747815,6.30461922596754,4.3508114856429465,2.6466916354556806,1.2047440699126093,1.6229712858926344,6.117353308364544,3.6704119850187267,2.871410736579276,1.198501872659176,6.242197253433209,4.369538077403246,5.3745318352059925,1.766541822721598,3.826466916354557,3.2833957553058677,5.730337078651686,0.7053682896379525,2.2222222222222223,2.097378277153558,2.5280898876404496,5.424469413233458,1.0362047440699127,5.15605493133583,4.681647940074906,4.388264669163545, +3.9887640449438204,5.443196004993759,2.4843945068664173,5.611735330836455,3.8639200998751564,3.9762796504369535,0.9113607990012486,3.589263420724095,1.2359550561797754,3.1647940074906367,3.8951310861423223,1.5480649188514357,0.6036204744069913,0.5786516853932584,1.916354556803995,6.179775280898876,4.825218476903871,3.0961298377028714,2.2284644194756553,1.8913857677902621,4.213483146067416,5.574282147315855,3.233458177278402,5.81772784019975,5.1248439450686645,1.2671660424469413,0.9488139825218477,0.9363295880149812,2.1098626716604243,4.332084893882647,0.5199750312109862,1.2671660424469413,5.337078651685393,4.244694132334582,1.5667915106117354,2.84019975031211,1.0923845193508115,6.491885143570538,4.581772784019975,0.9363295880149812,0.9612983770287141,5.199750312109863,4.1011235955056184,1.5980024968789013,1.0611735330836456,1.373283395755306,6.067415730337078,3.0711610486891385,1.4606741573033708,4.775280898876405,3.295880149812734,3.5518102372034956,4.419475655430712,6.210986267166042,2.0599250936329585,3.857677902621723,4.219725343320849,5.287141073657928,6.30461922596754,3.5393258426966296,2.6217228464419473,3.589263420724095,3.3333333333333335,2.0536828963795255,5.986267166042447,3.83270911360799,2.68414481897628,6.098626716604246,2.084893882646692,3.6704119850187267,4.013732833957553,4.31960049937578,5.961298377028713,3.8951310861423223,5.936329588014981,6.30461922596754,4.369538077403246,2.6779026217228465,1.229712858926342,1.6604244694132335,6.154806491885144,3.701622971285893,2.902621722846442,1.2172284644194757,6.30461922596754,4.394506866416979,5.399500624219725,1.797752808988764,3.8514357053682895,3.3146067415730336,5.761548064918852,0.7303370786516854,2.253433208489388,2.128589263420724,2.565543071161049,5.461922596754057,1.0674157303370786,5.187265917602996,4.70661672908864,4.413233458177278, +4.019975031210986,5.474406991260924,2.521847690387016,5.64294631710362,3.888888888888889,3.9950062421972534,0.9300873907615481,3.620474406991261,1.260923845193508,3.183520599250936,3.920099875156055,1.5792759051186018,0.6242197253433208,0.6086142322097379,1.941323345817728,6.20474406991261,4.856429463171036,3.1273408239700373,2.253433208489388,1.916354556803995,4.244694132334582,5.605493133583021,3.258426966292135,5.848938826466916,5.149812734082397,1.2983770287141074,0.9800249687890138,0.9612983770287141,2.1410736579275906,4.357053682896379,0.5443196004993758,1.2983770287141074,5.3620474406991265,4.269662921348314,1.591760299625468,2.865168539325843,1.1298377028714106,6.554307116104869,4.606741573033708,0.9550561797752809,0.9862671660424469,5.218476903870163,4.132334581772784,1.6292134831460674,1.0861423220973783,1.404494382022472,6.098626716604246,3.102372034956305,1.4981273408239701,4.800249687890138,3.3270911360799,3.589263420724095,4.450686641697877,6.242197253433209,2.0786516853932584,3.882646691635456,4.244694132334582,5.324594257178527,6.367041198501872,3.564294631710362,2.640449438202247,3.6142322097378274,3.3645443196004994,2.0786516853932584,6.0174781523096135,3.857677902621723,2.7091136079900124,6.117353308364544,2.1098626716604243,3.6953807740324596,4.044943820224719,4.3508114856429465,5.986267166042447,3.926342072409488,5.967540574282147,6.367041198501872,4.388264669163545,2.715355805243446,1.2484394506866416,1.6978776529338326,6.198501872659176,3.732833957553059,2.933832709113608,1.2359550561797754,6.30461922596754,4.413233458177278,5.424469413233458,1.8227215980024971,3.8764044943820224,3.3458177278401995,5.792759051186017,0.7553058676654182,2.2846441947565546,2.153558052434457,2.596754057428215,5.499375780274657,1.104868913857678,5.218476903870163,4.737827715355805,4.438202247191011, +4.044943820224719,5.511860174781523,2.5530586766541825,5.667915106117353,3.9138576779026217,4.019975031210986,0.9550561797752809,3.6454431960049942,1.2921348314606742,3.2084893882646695,3.938826466916354,1.6042446941323347,0.6491885143570537,0.6367041198501873,1.9662921348314608,6.235955056179775,4.887640449438202,3.1585518102372037,2.278401997503121,1.9350811485642945,4.269662921348314,5.64294631710362,3.2833957553058677,5.880149812734083,5.181023720349563,1.3233458177278403,1.0112359550561798,0.9862671660424469,2.1722846441947565,4.382022471910113,0.5692883895131086,1.3295880149812733,5.380774032459426,4.288389513108614,1.6104868913857677,2.8901373283395753,1.16729088639201,6.554307116104869,4.6254681647940075,0.9800249687890138,1.0112359550561798,5.243445692883895,4.157303370786517,1.6604244694132335,1.1173533083645444,1.4294631710362047,6.129837702871411,3.139825218476904,1.529338327091136,4.831460674157303,3.352059925093633,3.620474406991261,4.475655430711611,6.30461922596754,2.1036204744069913,3.9013732833957557,4.275905118601748,5.3620474406991265,6.367041198501872,3.595505617977528,2.6591760299625467,3.6329588014981273,3.3957553058676653,2.097378277153558,6.048689138576779,3.8764044943820224,2.727840199750312,6.1360799001248445,2.134831460674157,3.7203495630461925,4.0761548064918856,4.382022471910113,6.01123595505618,3.951310861423221,5.998751560549313,6.367041198501872,4.413233458177278,2.746566791510612,1.2734082397003745,1.7290886392009988,6.235955056179775,3.764044943820225,2.9712858926342074,1.260923845193508,6.367041198501872,4.438202247191011,5.449438202247191,1.8539325842696628,3.9013732833957557,3.3770287141073654,5.81772784019975,0.7802746566791511,2.3158551810237205,2.1785268414481895,2.6279650436953808,5.536828963795256,1.136079900124844,5.249687890137328,4.762796504369538,4.463171036204744, +4.0761548064918856,5.543071161048689,2.5842696629213484,5.69912609238452,3.938826466916354,4.044943820224719,0.9800249687890138,3.6704119850187267,1.3233458177278403,3.233458177278402,3.9637952559300875,1.6354556803995006,0.6741573033707865,0.6679151061173533,1.9912609238451935,6.242197253433209,4.918851435705368,3.1897627965043696,2.303370786516854,1.9600499375780276,4.300873907615481,5.674157303370786,3.3083645443196006,5.9113607990012484,5.212234706616729,1.3545568039950062,1.0362047440699127,1.0112359550561798,2.203495630461923,4.406991260923846,0.5942571785268415,1.3670411985018727,5.405742821473158,4.313358302122348,1.6354556803995006,2.9151061173533086,1.198501872659176,6.616729088639201,4.65043695380774,0.9987515605493134,1.0299625468164793,5.262172284644195,4.18227215980025,1.6978776529338326,1.1485642946317103,1.4544319600499376,6.161048689138577,3.17103620474407,1.5605493133583022,4.8626716604244695,3.383270911360799,3.651685393258427,4.500624219725343,6.30461922596754,2.128589263420724,3.920099875156055,4.300873907615481,5.399500624219725,6.367041198501872,3.620474406991261,2.6779026217228465,3.651685393258427,3.4332084893882646,2.122347066167291,6.079900124843945,3.9013732833957557,2.752808988764045,6.161048689138577,2.15980024968789,3.745318352059925,4.107365792759051,4.413233458177278,6.036204744069912,3.9762796504369535,6.029962546816479,6.367041198501872,4.431960049937578,2.7840199750312107,1.2983770287141074,1.766541822721598,6.30461922596754,3.7952559300873907,3.0024968789013733,1.2796504369538078,6.367041198501872,4.463171036204744,5.480649188514358,1.8851435705368291,3.926342072409488,3.408239700374532,5.848938826466916,0.8052434456928839,2.3470661672908864,2.203495630461923,2.66541822721598,5.580524344569288,1.1735330836454432,5.280898876404494,4.787765293383271,4.4818976279650435, +4.107365792759051,5.574282147315855,2.6217228464419473,5.724094881398252,3.9637952559300875,4.063670411985019,0.9987515605493134,3.6953807740324596,1.3545568039950062,3.2521847690387014,3.982521847690387,1.6666666666666667,0.6928838951310862,0.6991260923845194,2.016229712858926,6.30461922596754,4.950062421972534,3.2209737827715355,2.328339575530587,1.978776529338327,4.332084893882647,5.705368289637952,3.3333333333333335,5.942571785268415,5.237203495630462,1.3857677902621723,1.0674157303370786,1.0362047440699127,2.2347066167290888,4.431960049937578,0.618601747815231,1.3982521847690388,5.424469413233458,4.332084893882647,1.6541822721598003,2.933832709113608,1.2359550561797754,6.616729088639201,4.675405742821473,1.017478152309613,1.0549313358302121,5.287141073657928,4.213483146067416,1.7290886392009988,1.1797752808988764,1.4856429463171037,6.192259675405743,3.202247191011236,1.5980024968789013,4.893882646691636,3.408239700374532,3.689138576779026,4.525593008739076,6.367041198501872,2.153558052434457,3.9450686641697876,4.332084893882647,5.436953807740325,6.429463171036204,3.6454431960049942,2.696629213483146,3.6766541822721597,3.464419475655431,2.1410736579275906,6.111111111111111,3.920099875156055,2.7715355805243447,6.179775280898876,2.184769038701623,3.7702871410736583,4.138576779026217,4.444444444444445,6.054931335830212,4.00749063670412,6.061173533083646,6.429463171036204,4.450686641697877,2.8152309612983775,1.3233458177278403,1.797752808988764,6.30461922596754,3.826466916354557,3.0399500624219726,1.3046192259675407,6.429463171036204,4.488139825218477,5.50561797752809,1.916354556803995,3.951310861423221,3.4456928838951315,5.880149812734083,0.8239700374531835,2.3782771535580522,2.2347066167290888,2.696629213483146,5.617977528089888,1.2047440699126093,5.312109862671661,4.812734082397004,4.506866416978776, +4.138576779026217,5.611735330836455,2.6529338327091136,5.7553058676654185,3.9887640449438204,4.0886392009987516,1.0237203495630463,3.7265917602996255,1.3795255930087391,3.2771535580524347,4.00749063670412,1.6978776529338326,0.717852684144819,0.7303370786516854,2.0411985018726595,6.30461922596754,4.9812734082397006,3.2521847690387014,2.35330836454432,2.00374531835206,4.357053682896379,5.736579275905119,3.3583021223470664,5.967540574282147,5.268414481897628,1.410736579275905,1.0986267166042447,1.0611735330836456,2.2659176029962547,4.456928838951311,0.6429463171036205,1.4294631710362047,5.449438202247191,4.357053682896379,1.6791510611735332,2.958801498127341,1.2671660424469413,6.679151061173534,4.700374531835206,1.042446941323346,1.079900124843945,5.305867665418227,4.238451935081149,1.7602996254681649,1.2047440699126093,1.5106117353308364,6.223470661672909,3.2397003745318353,1.6292134831460674,4.918851435705368,3.439450686641698,3.7203495630461925,4.55056179775281,6.367041198501872,2.1785268414481895,3.9637952559300875,4.3632958801498125,5.474406991260924,6.429463171036204,3.6766541822721597,2.715355805243446,3.6953807740324596,3.495630461922597,2.1660424469413235,6.1360799001248445,3.9450686641697876,2.7965043695380776,6.20474406991261,2.209737827715356,3.7952559300873907,4.169787765293384,4.4818976279650435,6.079900124843945,4.032459425717852,6.092384519350812,6.429463171036204,4.475655430711611,2.8464419475655434,1.348314606741573,1.8352059925093633,6.367041198501872,3.857677902621723,3.0711610486891385,1.3233458177278403,6.429463171036204,4.51310861423221,5.5305867665418225,1.9475655430711611,3.9762796504369535,3.4769038701622974,5.905118601747815,0.8489388264669163,2.4094881398252186,2.259675405742821,2.727840199750312,5.655430711610487,1.2359550561797754,5.337078651685393,4.837702871410737,4.531835205992509, +4.169787765293384,5.64294631710362,2.68414481897628,5.7802746566791505,4.013732833957553,4.1136079900124844,1.048689138576779,3.7515605493133584,1.410736579275905,3.3021223470661676,4.02621722846442,1.7228464419475658,0.7428214731585518,0.7553058676654182,2.066167290886392,6.367041198501872,5.012484394506866,3.2833957553058677,2.3782771535580522,2.0224719101123596,4.388264669163545,5.767790262172285,3.383270911360799,5.998751560549313,5.299625468164794,1.4419475655430714,1.1298377028714106,1.0861423220973783,2.2971285892634206,4.4818976279650435,0.6679151061173533,1.466916354556804,5.468164794007491,4.382022471910113,1.704119850187266,2.9837702871410734,1.3046192259675407,6.679151061173534,4.725343320848939,1.0611735330836456,1.104868913857678,5.33083645443196,4.263420724094882,1.7915106117353308,1.2359550561797754,1.5355805243445693,6.242197253433209,3.2709113607990012,1.6666666666666667,4.950062421972534,3.464419475655431,3.7578027465667914,4.581772784019975,6.429463171036204,2.1972534332084894,3.9887640449438204,4.388264669163545,5.511860174781523,6.491885143570538,3.701622971285893,2.7340823970037453,3.714107365792759,3.5268414481897628,2.184769038701623,6.167290886392011,3.9637952559300875,2.8152309612983775,6.223470661672909,2.2347066167290888,3.8202247191011236,4.200998751560549,4.51310861423221,6.104868913857677,4.057428214731585,6.123595505617978,6.429463171036204,4.49438202247191,2.8838951310861427,1.373283395755306,1.8726591760299625,6.367041198501872,3.888888888888889,3.102372034956305,1.348314606741573,6.491885143570538,4.538077403245943,5.555555555555556,1.978776529338327,4.001248439450687,3.508114856429463,5.936329588014981,0.8739076154806492,2.4406991260923845,2.2846441947565546,2.7590511860174782,5.69912609238452,1.2734082397003745,5.36828963795256,4.8626716604244695,4.556803995006242, +4.200998751560549,5.674157303370786,2.7215980024968793,5.811485642946318,4.038701622971286,4.132334581772784,1.0674157303370786,3.776529338327091,1.4419475655430714,3.320848938826467,4.044943820224719,1.7540574282147314,0.7615480649188515,0.7865168539325842,2.091136079900125,6.367041198501872,5.043695380774032,3.3146067415730336,2.4032459425717856,2.0474406991260925,4.419475655430712,5.799001248439451,3.408239700374532,6.029962546816479,5.324594257178527,1.4731585518102372,1.161048689138577,1.1111111111111112,2.328339575530587,4.506866416978776,0.6928838951310862,1.4981273408239701,5.493133583021224,4.400749063670412,1.7228464419475658,3.0087390761548067,1.3358302122347065,6.741573033707866,4.750312109862672,1.079900124843945,1.1298377028714106,5.34956304619226,4.288389513108614,1.8289637952559301,1.2671660424469413,1.5605493133583022,6.30461922596754,3.3083645443196006,1.6978776529338326,4.9812734082397006,3.495630461922597,3.7890137328339577,4.606741573033708,6.429463171036204,2.2222222222222223,4.00749063670412,4.419475655430712,5.549313358302123,6.491885143570538,3.7265917602996255,2.752808988764045,3.7390761548064915,3.5580524344569286,2.209737827715356,6.198501872659176,3.9887640449438204,2.84019975031211,6.242197253433209,2.259675405742821,3.8451935081148565,4.2322097378277155,4.544319600499376,6.123595505617978,4.0886392009987516,6.1485642946317105,6.491885143570538,4.519350811485642,2.9151061173533086,1.3982521847690388,1.9038701622971288,6.429463171036204,3.920099875156055,3.139825218476904,1.3670411985018727,6.491885143570538,4.563046192259676,5.580524344569288,2.009987515605493,4.02621722846442,3.5393258426966296,5.967540574282147,0.898876404494382,2.4656679151061174,2.3158551810237205,2.7965043695380776,5.736579275905119,1.3046192259675407,5.399500624219725,4.887640449438202,4.575530586766542, +4.2322097378277155,5.711610486891385,2.752808988764045,5.836454431960051,4.063670411985019,4.157303370786517,1.0923845193508115,3.801498127340824,1.4731585518102372,3.3458177278401995,4.069912609238452,1.7852684144818978,0.7865168539325842,0.8177278401997503,2.1161048689138577,6.429463171036204,5.074906367041199,3.3458177278401995,2.428214731585518,2.066167290886392,4.444444444444445,5.830212234706617,3.4332084893882646,6.061173533083646,5.355805243445693,1.4981273408239701,1.1922596754057428,1.136079900124844,2.3657927590511862,4.525593008739076,0.717852684144819,1.5355805243445693,5.511860174781523,4.425717852684145,1.7478152309612984,3.027465667915106,1.373283395755306,6.741573033707866,4.769038701622971,1.104868913857678,1.1548064918851435,5.3745318352059925,4.31960049937578,1.8601747815230962,1.2921348314606742,1.591760299625468,6.30461922596754,3.339575530586767,1.7290886392009988,5.012484394506866,3.5268414481897628,3.826466916354557,4.631710362047441,6.491885143570538,2.247191011235955,4.02621722846442,4.444444444444445,5.586766541822722,6.491885143570538,3.7578027465667914,2.7715355805243447,3.7578027465667914,3.589263420724095,2.2347066167290888,6.229712858926342,4.013732833957553,2.8589263420724094,6.242197253433209,2.2846441947565546,3.870162297128589,4.263420724094882,4.575530586766542,6.1485642946317105,4.1136079900124844,6.179775280898876,6.491885143570538,4.538077403245943,2.9525593008739075,1.4232209737827717,1.941323345817728,6.491885143570538,3.9450686641697876,3.17103620474407,1.3920099875156053,6.554307116104869,4.581772784019975,5.605493133583021,2.0411985018726595,4.057428214731585,3.5705368289637955,5.992509363295881,0.9238451935081149,2.4968789013732833,2.340823970037453,2.8277153558052435,5.774032459425719,1.34207240948814,5.430711610486892,4.912609238451935,4.600499375780275, +4.263420724094882,5.742821473158552,2.7840199750312107,5.867665418227216,4.0886392009987516,4.18227215980025,1.1173533083645444,3.826466916354557,1.4981273408239701,3.370786516853933,4.0886392009987516,1.8164794007490637,0.8114856429463172,0.8489388264669163,2.1410736579275906,6.429463171036204,5.106117353308365,3.3770287141073654,2.453183520599251,2.091136079900125,4.475655430711611,5.861423220973783,3.4581772784019975,6.092384519350812,5.3870162297128585,1.529338327091136,1.2172284644194757,1.161048689138577,2.397003745318352,4.55056179775281,0.7428214731585518,1.5667915106117354,5.5305867665418225,4.444444444444445,1.766541822721598,3.0524344569288386,1.404494382022472,6.803995006242197,4.794007490636704,1.1235955056179776,1.1735330836454432,5.393258426966292,4.344569288389513,1.8913857677902621,1.3233458177278403,1.616729088639201,6.367041198501872,3.370786516853933,1.766541822721598,5.0374531835206,3.5518102372034956,3.857677902621723,4.656679151061174,6.554307116104869,2.272159800249688,4.051186017478152,4.475655430711611,5.6242197253433215,6.554307116104869,3.7827715355805243,2.7965043695380776,3.776529338327091,3.620474406991261,2.253433208489388,6.242197253433209,4.032459425717852,2.8838951310861427,6.30461922596754,2.303370786516854,3.8951310861423223,4.294631710362047,4.612983770287141,6.173533083645444,4.138576779026217,6.210986267166042,6.491885143570538,4.556803995006242,2.9837702871410734,1.4481897627965044,1.9725343320848938,6.491885143570538,3.9762796504369535,3.202247191011236,1.410736579275905,6.554307116104869,4.606741573033708,5.630461922596755,2.0724094881398254,4.082397003745319,3.6017478152309614,6.023720349563047,0.9488139825218477,2.5280898876404496,2.3657927590511862,2.8589263420724094,5.811485642946318,1.373283395755306,5.461922596754057,4.943820224719102,4.6254681647940075, +4.288389513108614,5.774032459425719,2.82147315855181,5.892634207240949,4.1136079900124844,4.200998751560549,1.136079900124844,3.857677902621723,1.529338327091136,3.3895131086142323,4.1136079900124844,1.8414481897627966,0.8302122347066168,0.8801498127340824,2.1660424469413235,6.491885143570538,5.1373283395755305,3.408239700374532,2.471910112359551,2.1098626716604243,4.500624219725343,5.892634207240949,3.4769038701622974,6.123595505617978,5.418227215980025,1.5605493133583022,1.2484394506866416,1.1860174781523096,2.428214731585518,4.575530586766542,0.7677902621722846,1.5980024968789013,5.555555555555556,4.4694132334581775,1.7915106117353308,3.077403245942572,1.4419475655430714,6.803995006242197,4.818976279650437,1.1423220973782773,1.198501872659176,5.418227215980025,4.369538077403246,1.9225967540574282,1.3545568039950062,1.6416978776529338,6.367041198501872,3.408239700374532,1.797752808988764,5.068664169787765,3.5830212234706615,3.888888888888889,4.681647940074906,6.554307116104869,2.2971285892634206,4.069912609238452,4.500624219725343,5.66167290886392,6.554307116104869,3.8077403245942576,2.8152309612983775,3.801498127340824,3.651685393258427,2.278401997503121,6.30461922596754,4.057428214731585,2.902621722846442,6.30461922596754,2.328339575530587,3.920099875156055,4.325842696629214,4.644194756554308,6.198501872659176,4.169787765293384,6.242197253433209,6.554307116104869,4.581772784019975,3.0212234706616727,1.4731585518102372,2.009987515605493,6.554307116104869,4.00749063670412,3.2397003745318353,1.435705368289638,6.616729088639201,4.631710362047441,5.655430711610487,2.1036204744069913,4.107365792759051,3.639200998751561,6.054931335830212,0.9737827715355806,2.5593008739076155,2.3907615480649187,2.8963795255930087,5.855181023720349,1.410736579275905,5.493133583021224,4.9687890137328345,4.644194756554308, +4.31960049937578,5.805243445692884,2.852684144818976,5.9238451935081144,4.144818976279651,4.225967540574282,1.161048689138577,3.882646691635456,1.5605493133583022,3.4144818976279647,4.132334581772784,1.8726591760299625,0.8551810237203495,0.9051186017478152,2.1910112359550564,6.491885143570538,5.162297128589263,3.439450686641698,2.4968789013732833,2.128589263420724,4.531835205992509,5.9238451935081144,3.5018726591760303,6.154806491885144,5.443196004993759,1.585518102372035,1.2796504369538078,1.2109862671660423,2.459425717852684,4.600499375780275,0.7927590511860175,1.6354556803995006,5.574282147315855,4.488139825218477,1.8164794007490637,3.0961298377028714,1.4731585518102372,6.866416978776529,4.843945068664169,1.161048689138577,1.223470661672909,5.443196004993759,4.400749063670412,1.9600499375780276,1.3857677902621723,1.6729088639200997,6.429463171036204,3.439450686641698,1.8352059925093633,5.099875156054932,3.607990012484395,3.926342072409488,4.712858926342073,6.616729088639201,2.322097378277154,4.0886392009987516,4.531835205992509,5.69912609238452,6.616729088639201,3.8389513108614235,2.8339575530586765,3.8202247191011236,3.682896379525593,2.2971285892634206,6.30461922596754,4.0761548064918856,2.9275905118601746,6.30461922596754,2.35330836454432,3.9450686641697876,4.357053682896379,4.675405742821473,6.217228464419476,4.194756554307116,6.30461922596754,6.554307116104869,4.600499375780275,3.0524344569288386,1.4981273408239701,2.0411985018726595,6.554307116104869,4.038701622971286,3.2709113607990012,1.4544319600499376,6.616729088639201,4.656679151061174,5.68039950062422,2.134831460674157,4.132334581772784,3.6704119850187267,6.079900124843945,0.9925093632958802,2.5905118601747814,2.4219725343320846,2.9275905118601746,5.892634207240949,1.4419475655430714,5.5181023720349565,4.9937578027465666,4.66916354556804, +4.3508114856429465,5.842696629213483,2.8901373283395753,5.948813982521848,4.169787765293384,4.244694132334582,1.1860174781523096,3.9076154806491883,1.585518102372035,3.439450686641698,4.151061173533084,1.9038701622971288,0.8801498127340824,0.9363295880149812,2.209737827715356,6.554307116104869,5.19350811485643,3.470661672908864,2.521847690387016,2.153558052434457,4.563046192259676,5.955056179775282,3.5268414481897628,6.186017478152309,5.474406991260924,1.616729088639201,1.3108614232209737,1.2359550561797754,2.4906367041198503,4.6254681647940075,0.8177278401997503,1.6666666666666667,5.599250936329588,4.51310861423221,1.8352059925093633,3.1210986267166043,1.5106117353308364,6.866416978776529,4.868913857677903,1.1860174781523096,1.2484394506866416,5.461922596754057,4.425717852684145,1.9912609238451935,1.410736579275905,1.6978776529338326,6.429463171036204,3.470661672908864,1.8664169787765295,5.131086142322098,3.639200998751561,3.957553058676654,4.737827715355805,6.616729088639201,2.340823970037453,4.1136079900124844,4.556803995006242,5.736579275905119,6.616729088639201,3.8639200998751564,2.852684144818976,3.8389513108614235,3.714107365792759,2.322097378277154,6.367041198501872,4.1011235955056184,2.9463171036204745,6.367041198501872,2.3782771535580522,3.970037453183521,4.382022471910113,4.70661672908864,6.242197253433209,4.225967540574282,6.30461922596754,6.554307116104869,4.619225967540574,3.089887640449438,1.523096129837703,2.0786516853932584,6.616729088639201,4.069912609238452,3.3021223470661676,1.4794007490636705,6.679151061173534,4.681647940074906,5.705368289637952,2.1660424469413235,4.157303370786517,3.701622971285893,6.111111111111111,1.017478152309613,2.6217228464419473,2.446941323345818,2.958801498127341,5.930087390761548,1.4794007490636705,5.549313358302123,5.0187265917602994,4.694132334581773, +4.382022471910113,5.8739076154806495,2.9213483146067416,5.980024968789014,4.194756554307116,4.269662921348314,1.2047440699126093,3.9325842696629216,1.616729088639201,3.4581772784019975,4.176029962546816,1.9350811485642945,0.898876404494382,0.9675405742821472,2.2347066167290888,6.554307116104869,5.224719101123595,3.5018726591760303,2.546816479400749,2.1722846441947565,4.588014981273409,5.992509363295881,3.5518102372034956,6.217228464419476,5.50561797752809,1.647940074906367,1.34207240948814,1.260923845193508,2.521847690387016,4.65043695380774,0.8426966292134832,1.6978776529338326,5.617977528089888,4.538077403245943,1.8601747815230962,3.1460674157303368,1.5418227215980027,6.928838951310862,4.893882646691636,1.2047440699126093,1.2734082397003745,5.48689138576779,4.450686641697877,2.0224719101123596,1.4419475655430714,1.7228464419475658,6.491885143570538,3.508114856429463,1.8976279650436954,5.15605493133583,3.6641697877652937,3.9950062421972534,4.762796504369538,6.679151061173534,2.3657927590511862,4.132334581772784,4.588014981273409,5.774032459425719,6.616729088639201,3.888888888888889,2.871410736579276,3.8639200998751564,3.745318352059925,2.3470661672908864,6.367041198501872,4.1260923845193505,2.9712858926342074,6.367041198501872,2.4032459425717856,3.9950062421972534,4.413233458177278,4.7440699126092385,6.242197253433209,4.250936329588015,6.367041198501872,6.616729088639201,4.644194756554308,3.1210986267166043,1.5480649188514357,2.1161048689138577,6.679151061173534,4.1011235955056184,3.339575530586767,1.4981273408239701,6.679151061173534,4.70661672908864,5.730337078651686,2.1972534332084894,4.18227215980025,3.732833957553059,6.142322097378277,1.042446941323346,2.6529338327091136,2.471910112359551,2.9962546816479403,5.97378277153558,1.5106117353308364,5.580524344569288,5.043695380774032,4.719101123595506, +4.413233458177278,5.905118601747815,2.9525593008739075,6.004993757802747,4.219725343320849,4.294631710362047,1.229712858926342,3.957553058676654,1.647940074906367,3.4831460674157304,4.194756554307116,1.9600499375780276,0.9238451935081149,0.9987515605493134,2.259675405742821,6.616729088639201,5.2559300873907615,3.5268414481897628,2.571785268414482,2.1972534332084894,4.619225967540574,6.023720349563047,3.576779026217228,6.242197253433209,5.5305867665418225,1.6729088639200997,1.373283395755306,1.285892634207241,2.5530586766541825,4.675405742821473,0.867665418227216,1.735330836454432,5.64294631710362,4.556803995006242,1.8789013732833957,3.17103620474407,1.5792759051186018,6.928838951310862,4.918851435705368,1.223470661672909,1.2983770287141074,5.50561797752809,4.475655430711611,2.0536828963795255,1.4731585518102372,1.7540574282147314,6.491885143570538,3.5393258426966296,1.9350811485642945,5.187265917602996,3.6953807740324596,4.02621722846442,4.787765293383271,6.679151061173534,2.3907615480649187,4.151061173533084,4.612983770287141,5.811485642946318,6.679151061173534,3.920099875156055,2.8901373283395753,3.882646691635456,3.7827715355805243,2.3657927590511862,6.429463171036204,4.144818976279651,2.990012484394507,6.429463171036204,2.428214731585518,4.019975031210986,4.444444444444445,4.775280898876405,6.30461922596754,4.275905118601748,6.367041198501872,6.616729088639201,4.662921348314606,3.1585518102372037,1.5730337078651684,2.1473158551810236,6.679151061173534,4.132334581772784,3.370786516853933,1.523096129837703,6.741573033707866,4.7315855181023725,5.7553058676654185,2.2284644194756553,4.207240948813983,3.764044943820225,6.167290886392011,1.0674157303370786,2.68414481897628,2.4968789013732833,3.027465667915106,6.01123595505618,1.5418227215980027,5.611735330836455,5.068664169787765,4.737827715355805, +4.444444444444445,5.942571785268415,2.990012484394507,6.036204744069912,4.244694132334582,4.313358302122348,1.2546816479400749,3.9887640449438204,1.6791510611735332,3.508114856429463,4.219725343320849,1.9912609238451935,0.9488139825218477,1.0299625468164793,2.2846441947565546,6.616729088639201,5.287141073657928,3.5580524344569286,2.596754057428215,2.215980024968789,4.65043695380774,6.054931335830212,3.6017478152309614,6.30461922596754,5.561797752808988,1.704119850187266,1.3982521847690388,1.3108614232209737,2.5842696629213484,4.700374531835206,0.8926342072409489,1.766541822721598,5.66167290886392,4.581772784019975,1.9038701622971288,3.1897627965043696,1.6104868913857677,6.991260923845194,4.937578027465668,1.2484394506866416,1.3233458177278403,5.5305867665418225,4.506866416978776,2.091136079900125,1.4981273408239701,1.7790262172284643,6.554307116104869,3.5705368289637955,1.9662921348314608,5.218476903870163,3.7265917602996255,4.057428214731585,4.812734082397004,6.741573033707866,2.4157303370786516,4.176029962546816,4.644194756554308,5.848938826466916,6.679151061173534,3.9450686641697876,2.908863920099875,3.9013732833957557,3.81398252184769,2.3907615480649187,6.429463171036204,4.169787765293384,3.0149812734082393,6.429463171036204,2.453183520599251,4.044943820224719,4.475655430711611,4.806491885143571,6.30461922596754,4.307116104868914,6.429463171036204,6.616729088639201,4.681647940074906,3.1897627965043696,1.5980024968789013,2.184769038701623,6.741573033707866,4.16354556803995,3.4019975031210987,1.5418227215980027,6.741573033707866,4.750312109862672,5.7802746566791505,2.259675405742821,4.2322097378277155,3.801498127340824,6.198501872659176,1.0923845193508115,2.715355805243446,2.5280898876404496,3.058676654182272,6.048689138576779,1.5792759051186018,5.64294631710362,5.093632958801498,4.762796504369538, +4.475655430711611,5.97378277153558,3.0212234706616727,6.061173533083646,4.269662921348314,4.33832709113608,1.2734082397003745,4.013732833957553,1.704119850187266,3.5268414481897628,4.238451935081149,2.0224719101123596,0.9675405742821472,1.0549313358302121,2.309612983770287,6.616729088639201,5.318352059925093,3.589263420724095,2.6217228464419473,2.2409488139825218,4.675405742821473,6.086142322097379,3.6267166042446943,6.30461922596754,5.593008739076155,1.735330836454432,1.4294631710362047,1.3358302122347065,2.6154806491885143,4.725343320848939,0.9176029962546817,1.8039950062421974,5.686641697877653,4.600499375780275,1.9288389513108615,3.214731585518102,1.647940074906367,6.991260923845194,4.962546816479401,1.2671660424469413,1.34207240948814,5.549313358302123,4.531835205992509,2.122347066167291,1.529338327091136,1.8039950062421974,6.554307116104869,3.607990012484395,1.9975031210986267,5.249687890137328,3.7515605493133584,4.094881398252185,4.843945068664169,6.803995006242197,2.4406991260923845,4.194756554307116,4.675405742821473,5.8863920099875156,6.741573033707866,3.970037453183521,2.9275905118601746,3.926342072409488,3.8451935081148565,2.4094881398252186,6.491885143570538,4.188514357053683,3.033707865168539,6.429463171036204,2.478152309612984,4.069912609238452,4.506866416978776,4.837702871410737,6.367041198501872,4.332084893882647,6.429463171036204,6.679151061173534,4.70661672908864,3.227215980024969,1.6229712858926344,2.215980024968789,6.803995006242197,4.194756554307116,3.439450686641698,1.5667915106117354,6.803995006242197,4.775280898876405,5.805243445692884,2.2908863920099876,4.257178526841448,3.83270911360799,6.229712858926342,1.1173533083645444,2.746566791510612,2.5530586766541825,3.089887640449438,6.086142322097379,1.6104868913857677,5.674157303370786,5.118601747815231,4.787765293383271, +4.506866416978776,6.004993757802747,3.0524344569288386,6.092384519350812,4.294631710362047,4.3632958801498125,1.2983770287141074,4.038701622971286,1.735330836454432,3.5518102372034956,4.263420724094882,2.0474406991260925,0.9925093632958802,1.0861423220973783,2.33458177278402,6.679151061173534,5.34956304619226,3.620474406991261,2.6466916354556806,2.259675405742821,4.70661672908864,6.117353308364544,3.651685393258427,6.367041198501872,5.617977528089888,1.7602996254681649,1.4606741573033708,1.3607990012484397,2.6466916354556806,4.750312109862672,0.9425717852684146,1.8352059925093633,5.705368289637952,4.6254681647940075,1.9475655430711611,3.2397003745318353,1.6791510611735332,7.0536828963795255,4.987515605493134,1.285892634207241,1.3670411985018727,5.574282147315855,4.556803995006242,2.153558052434457,1.5605493133583022,1.8352059925093633,6.616729088639201,3.639200998751561,2.034956304619226,5.274656679151062,3.7827715355805243,4.1260923845193505,4.868913857677903,6.803995006242197,2.4656679151061174,4.213483146067416,4.700374531835206,5.9238451935081144,6.741573033707866,3.9950062421972534,2.9463171036204745,3.9450686641697876,3.8764044943820224,2.4344569288389515,6.491885143570538,4.213483146067416,3.058676654182272,6.491885143570538,2.5031210986267167,4.094881398252185,4.538077403245943,4.868913857677903,6.367041198501872,4.357053682896379,6.491885143570538,6.679151061173534,4.725343320848939,3.258426966292135,1.647940074906367,2.253433208489388,6.803995006242197,4.225967540574282,3.470661672908864,1.585518102372035,6.803995006242197,4.800249687890138,5.830212234706617,2.322097378277154,4.282147315855181,3.8639200998751564,6.242197253433209,1.136079900124844,2.777777777777778,2.578027465667915,3.1273408239700373,6.129837702871411,1.647940074906367,5.69912609238452,5.149812734082397,4.812734082397004, +4.538077403245943,6.0424469413233455,3.089887640449438,6.117353308364544,4.31960049937578,4.382022471910113,1.3233458177278403,4.063670411985019,1.766541822721598,3.576779026217228,4.282147315855181,2.0786516853932584,1.017478152309613,1.1173533083645444,2.359550561797753,6.679151061173534,5.380774032459426,3.651685393258427,2.671660424469413,2.2846441947565546,4.737827715355805,6.1485642946317105,3.6766541822721597,6.367041198501872,5.6491885143570535,1.7915106117353308,1.4918851435705367,1.3857677902621723,2.68414481897628,4.775280898876405,0.9675405742821472,1.8664169787765295,5.724094881398252,4.65043695380774,1.9725343320848938,3.2646691635455682,1.7166042446941323,7.0536828963795255,5.012484394506866,1.3046192259675407,1.3920099875156053,5.593008739076155,4.588014981273409,2.184769038701623,1.591760299625468,1.8601747815230962,6.616729088639201,3.6766541822721597,2.066167290886392,5.305867665418227,3.8077403245942576,4.16354556803995,4.893882646691636,6.866416978776529,2.4843945068664173,4.238451935081149,4.7315855181023725,5.961298377028713,6.741573033707866,4.02621722846442,2.9712858926342074,3.9637952559300875,3.9076154806491883,2.453183520599251,6.554307116104869,4.238451935081149,3.077403245942572,6.491885143570538,2.5280898876404496,4.1136079900124844,4.569288389513109,4.906367041198502,6.367041198501872,4.388264669163545,6.491885143570538,6.679151061173534,4.7440699126092385,3.2896379525593007,1.6729088639200997,2.2846441947565546,6.866416978776529,4.257178526841448,3.5018726591760303,1.6042446941323347,6.866416978776529,4.825218476903871,5.855181023720349,2.35330836454432,4.307116104868914,3.8951310861423223,6.30461922596754,1.161048689138577,2.808988764044944,2.6092384519350813,3.1585518102372037,6.167290886392011,1.6791510611735332,5.730337078651686,5.174781523096129,4.831460674157303, +4.563046192259676,6.073657927590512,3.1210986267166043,6.1485642946317105,4.344569288389513,4.406991260923846,1.348314606741573,4.0886392009987516,1.797752808988764,3.595505617977528,4.300873907615481,2.1098626716604243,1.0362047440699127,1.1485642946317103,2.3845193508114857,6.741573033707866,5.411985018726591,3.682896379525593,2.696629213483146,2.303370786516854,4.762796504369538,6.179775280898876,3.6953807740324596,6.429463171036204,5.68039950062422,1.8227215980024971,1.523096129837703,1.410736579275905,2.715355805243446,4.800249687890138,0.9925093632958802,1.9038701622971288,5.749063670411985,4.66916354556804,1.9975031210986267,3.2833957553058677,1.7478152309612984,7.116104868913857,5.0374531835206,1.3295880149812733,1.4169787765293382,5.617977528089888,4.612983770287141,2.2222222222222223,1.616729088639201,1.8851435705368291,6.679151061173534,3.7078651685393256,2.1036204744069913,5.337078651685393,3.8389513108614235,4.194756554307116,4.918851435705368,6.866416978776529,2.5093632958801497,4.257178526841448,4.7565543071161045,5.998751560549313,6.803995006242197,4.051186017478152,2.990012484394507,3.9887640449438204,3.938826466916354,2.478152309612984,6.554307116104869,4.257178526841448,3.102372034956305,6.491885143570538,2.546816479400749,4.138576779026217,4.600499375780275,4.937578027465668,6.429463171036204,4.413233458177278,6.554307116104869,6.741573033707866,4.769038701622971,3.3270911360799,1.6978776529338326,2.322097378277154,6.866416978776529,4.288389513108614,3.5393258426966296,1.6292134831460674,6.866416978776529,4.850187265917603,5.880149812734083,2.3845193508114857,4.332084893882647,3.926342072409488,6.30461922596754,1.1860174781523096,2.84019975031211,2.634207240948814,3.1897627965043696,6.20474406991261,1.7166042446941323,5.761548064918852,5.199750312109863,4.856429463171036, +4.594257178526841,6.104868913857677,3.15230961298377,6.173533083645444,4.369538077403246,4.431960049937578,1.3670411985018727,4.119850187265917,1.8227215980024971,3.620474406991261,4.325842696629214,2.1410736579275906,1.0611735330836456,1.1797752808988764,2.4094881398252186,6.741573033707866,5.443196004993759,3.714107365792759,2.7215980024968793,2.328339575530587,4.794007490636704,6.210986267166042,3.7203495630461925,6.429463171036204,5.705368289637952,1.8476903870162298,1.554307116104869,1.435705368289638,2.746566791510612,4.825218476903871,1.0112359550561798,1.9350811485642945,5.767790262172285,4.694132334581773,2.016229712858926,3.3083645443196006,1.7852684144818978,7.116104868913857,5.062421972534332,1.348314606741573,1.4419475655430714,5.636704119850187,4.637952559300874,2.253433208489388,1.647940074906367,1.916354556803995,6.679151061173534,3.7390761548064915,2.134831460674157,5.36828963795256,3.8639200998751564,4.2322097378277155,4.943820224719102,6.928838951310862,2.5343320848938826,4.282147315855181,4.787765293383271,6.036204744069912,6.803995006242197,4.0761548064918856,3.0087390761548067,4.00749063670412,3.970037453183521,2.5031210986267167,6.616729088639201,4.282147315855181,3.1210986267166043,6.554307116104869,2.571785268414482,4.16354556803995,4.631710362047441,4.9687890137328345,6.429463171036204,4.438202247191011,6.554307116104869,6.741573033707866,4.787765293383271,3.3583021223470664,1.7228464419475658,2.359550561797753,6.928838951310862,4.31960049937578,3.5705368289637955,1.647940074906367,6.928838951310862,4.875156054931336,5.905118601747815,2.4157303370786516,4.357053682896379,3.9637952559300875,6.367041198501872,1.2109862671660423,2.871410736579276,2.6591760299625467,3.227215980024969,6.242197253433209,1.7478152309612984,5.792759051186017,5.224719101123595,4.881398252184769, +4.6254681647940075,6.142322097378277,3.1897627965043696,6.20474406991261,4.394506866416979,4.450686641697877,1.3920099875156053,4.144818976279651,1.8539325842696628,3.6454431960049942,4.344569288389513,2.1660424469413235,1.079900124843945,1.2047440699126093,2.4344569288389515,6.803995006242197,5.474406991260924,3.745318352059925,2.746566791510612,2.3470661672908864,4.825218476903871,6.242197253433209,3.745318352059925,6.491885143570538,5.736579275905119,1.8789013732833957,1.5792759051186018,1.4606741573033708,2.777777777777778,4.850187265917603,1.0362047440699127,1.9662921348314608,5.792759051186017,4.712858926342073,2.0411985018726595,3.3333333333333335,1.8164794007490637,7.17852684144819,5.081148564294631,1.3670411985018727,1.466916354556804,5.66167290886392,4.662921348314606,2.2846441947565546,1.6791510611735332,1.941323345817728,6.741573033707866,3.776529338327091,2.1660424469413235,5.393258426966292,3.8951310861423223,4.263420724094882,4.9687890137328345,6.928838951310862,2.5593008739076155,4.300873907615481,4.812734082397004,6.073657927590512,6.866416978776529,4.107365792759051,3.027465667915106,4.02621722846442,4.001248439450687,2.521847690387016,6.616729088639201,4.300873907615481,3.1460674157303368,6.554307116104869,2.596754057428215,4.188514357053683,4.662921348314606,5.0,6.429463171036204,4.4694132334581775,6.616729088639201,6.741573033707866,4.812734082397004,3.3957553058676653,1.7478152309612984,2.3907615480649187,6.991260923845194,4.3508114856429465,3.6017478152309614,1.6729088639200997,6.928838951310862,4.893882646691636,5.930087390761548,2.446941323345818,4.382022471910113,3.9950062421972534,6.367041198501872,1.2359550561797754,2.902621722846442,2.68414481897628,3.258426966292135,6.30461922596754,1.7852684144818978,5.823970037453184,5.249687890137328,4.906367041198502, +4.656679151061174,6.173533083645444,3.2209737827715355,6.229712858926342,4.419475655430712,4.475655430711611,1.4169787765293382,4.169787765293384,1.8851435705368291,3.6641697877652937,4.369538077403246,2.1972534332084894,1.104868913857678,1.2359550561797754,2.459425717852684,6.803995006242197,5.50561797752809,3.776529338327091,2.7715355805243447,2.3720349563046192,4.850187265917603,6.30461922596754,3.7702871410736583,6.491885143570538,5.767790262172285,1.9101123595505618,1.6104868913857677,1.4856429463171037,2.808988764044944,4.875156054931336,1.0611735330836456,2.00374531835206,5.811485642946318,4.737827715355805,2.0599250936329585,3.3583021223470664,1.8539325842696628,7.17852684144819,5.106117353308365,1.3920099875156053,1.4856429463171037,5.686641697877653,4.694132334581773,2.3158551810237205,1.704119850187266,1.9662921348314608,6.741573033707866,3.8077403245942576,2.203495630461923,5.424469413233458,3.926342072409488,4.294631710362047,5.0,6.991260923845194,2.5842696629213484,4.31960049937578,4.843945068664169,6.111111111111111,6.866416978776529,4.132334581772784,3.046192259675406,4.051186017478152,4.032459425717852,2.546816479400749,6.679151061173534,4.325842696629214,3.1647940074906367,6.554307116104869,2.6217228464419473,4.213483146067416,4.694132334581773,5.0374531835206,6.491885143570538,4.49438202247191,6.616729088639201,6.803995006242197,4.831460674157303,3.4269662921348316,1.772784019975031,2.428214731585518,6.991260923845194,4.382022471910113,3.639200998751561,1.6916354556803994,6.991260923845194,4.918851435705368,5.955056179775282,2.478152309612984,4.406991260923846,4.02621722846442,6.429463171036204,1.260923845193508,2.933832709113608,2.715355805243446,3.2896379525593007,6.30461922596754,1.8164794007490637,5.855181023720349,5.274656679151062,4.925093632958801, +4.687890137328339,6.20474406991261,3.258426966292135,6.242197253433209,4.444444444444445,4.500624219725343,1.435705368289638,4.194756554307116,1.916354556803995,3.689138576779026,4.388264669163545,2.2284644194756553,1.1298377028714106,1.2671660424469413,2.4843945068664173,6.866416978776529,5.536828963795256,3.8077403245942576,2.7965043695380776,2.3907615480649187,4.881398252184769,6.30461922596754,3.7952559300873907,6.554307116104869,5.799001248439451,1.9350811485642945,1.6416978776529338,1.5106117353308364,2.84019975031211,4.900124843945068,1.0861423220973783,2.034956304619226,5.836454431960051,4.7565543071161045,2.084893882646692,3.3770287141073654,1.8851435705368291,7.240948813982522,5.131086142322098,1.410736579275905,1.5106117353308364,5.705368289637952,4.719101123595506,2.35330836454432,1.735330836454432,1.9975031210986267,6.803995006242197,3.8389513108614235,2.2347066167290888,5.455680399500624,3.951310861423221,4.332084893882647,5.024968789013733,7.0536828963795255,2.602996254681648,4.344569288389513,4.868913857677903,6.1485642946317105,6.866416978776529,4.157303370786517,3.0649188514357055,4.069912609238452,4.063670411985019,2.565543071161049,6.679151061173534,4.3508114856429465,3.1897627965043696,6.616729088639201,2.6466916354556806,4.238451935081149,4.725343320848939,5.068664169787765,6.491885143570538,4.519350811485642,6.679151061173534,6.803995006242197,4.850187265917603,3.464419475655431,1.797752808988764,2.459425717852684,7.0536828963795255,4.413233458177278,3.6704119850187267,1.7166042446941323,6.991260923845194,4.943820224719102,5.980024968789014,2.5093632958801497,4.431960049937578,4.057428214731585,6.429463171036204,1.285892634207241,2.965043695380774,2.740324594257179,3.3270911360799,6.367041198501872,1.8476903870162298,5.880149812734083,5.299625468164794,4.950062421972534, +4.719101123595506,6.242197253433209,3.2896379525593007,6.30461922596754,4.4694132334581775,4.519350811485642,1.4606741573033708,4.219725343320849,1.941323345817728,3.714107365792759,4.413233458177278,2.259675405742821,1.1485642946317103,1.2983770287141074,2.5093632958801497,6.866416978776529,5.568039950062421,3.8389513108614235,2.82147315855181,2.4157303370786516,4.912609238451935,6.367041198501872,3.8202247191011236,6.554307116104869,5.823970037453184,1.9662921348314608,1.6729088639200997,1.5355805243445693,2.871410736579276,4.925093632958801,1.1111111111111112,2.0724094881398254,5.855181023720349,4.781523096129837,2.1098626716604243,3.4019975031210987,1.9225967540574282,7.240948813982522,5.15605493133583,1.4294631710362047,1.5355805243445693,5.730337078651686,4.7440699126092385,2.3845193508114857,1.766541822721598,2.0224719101123596,6.803995006242197,3.8764044943820224,2.272159800249688,5.48689138576779,3.982521847690387,4.3632958801498125,5.049937578027466,7.0536828963795255,2.6279650436953808,4.3632958801498125,4.900124843945068,6.186017478152309,6.928838951310862,4.188514357053683,3.0836454431960054,4.0886392009987516,4.094881398252185,2.5905118601747814,6.741573033707866,4.369538077403246,3.2084893882646695,6.616729088639201,2.671660424469413,4.263420724094882,4.750312109862672,5.099875156054932,6.491885143570538,4.55056179775281,6.679151061173534,6.803995006242197,4.875156054931336,3.495630461922597,1.8227215980024971,2.4968789013732833,7.116104868913857,4.444444444444445,3.7078651685393256,1.735330836454432,7.0536828963795255,4.9687890137328345,6.01123595505618,2.5405742821473156,4.456928838951311,4.0886392009987516,6.491885143570538,1.3046192259675407,2.9962546816479403,2.7652933832709112,3.3583021223470664,6.429463171036204,1.8851435705368291,5.9113607990012484,5.324594257178527,4.975031210986267, +4.750312109862672,6.30461922596754,3.320848938826467,6.30461922596754,4.49438202247191,4.544319600499376,1.4856429463171037,4.250936329588015,1.9725343320848938,3.732833957553059,4.431960049937578,2.2846441947565546,1.1735330836454432,1.3295880149812733,2.5343320848938826,6.928838951310862,5.599250936329588,3.870162297128589,2.84019975031211,2.4344569288389515,4.937578027465668,6.367041198501872,3.8451935081148565,6.616729088639201,5.855181023720349,1.9975031210986267,1.704119850187266,1.5605493133583022,2.902621722846442,4.950062421972534,1.136079900124844,2.1036204744069913,5.880149812734083,4.806491885143571,2.128589263420724,3.4269662921348316,1.9600499375780276,7.303370786516854,5.181023720349563,1.4544319600499376,1.5605493133583022,5.749063670411985,4.775280898876405,2.4157303370786516,1.797752808988764,2.0474406991260925,6.866416978776529,3.9076154806491883,2.303370786516854,5.511860174781523,4.00749063670412,4.400749063670412,5.074906367041199,7.116104868913857,2.6529338327091136,4.382022471910113,4.931335830212235,6.223470661672909,6.928838951310862,4.213483146067416,3.102372034956305,4.1136079900124844,4.132334581772784,2.6092384519350813,6.741573033707866,4.394506866416979,3.227215980024969,6.616729088639201,2.696629213483146,4.288389513108614,4.781523096129837,5.131086142322098,6.554307116104869,4.575530586766542,6.741573033707866,6.866416978776529,4.893882646691636,3.533083645443196,1.8476903870162298,2.5343320848938826,7.116104868913857,4.475655430711611,3.7390761548064915,1.7602996254681649,7.0536828963795255,4.9937578027465666,6.036204744069912,2.571785268414482,4.4818976279650435,4.119850187265917,6.491885143570538,1.3295880149812733,3.027465667915106,2.790262172284644,3.3895131086142323,6.429463171036204,1.916354556803995,5.942571785268415,5.355805243445693,4.9937578027465666, +4.781523096129837,6.30461922596754,3.3583021223470664,6.367041198501872,4.519350811485642,4.563046192259676,1.5043695380774034,4.275905118601748,2.00374531835206,3.7578027465667914,4.450686641697877,2.3158551810237205,1.198501872659176,1.3545568039950062,2.5593008739076155,6.928838951310862,5.630461922596755,3.9013732833957557,2.865168539325843,2.453183520599251,4.9687890137328345,6.429463171036204,3.870162297128589,6.616729088639201,5.8863920099875156,2.0287141073657926,1.7290886392009988,1.585518102372035,2.933832709113608,4.975031210986267,1.161048689138577,2.134831460674157,5.8988764044943816,4.825218476903871,2.153558052434457,3.4456928838951315,1.9912609238451935,7.303370786516854,5.205992509363296,1.4731585518102372,1.585518102372035,5.774032459425719,4.800249687890138,2.446941323345818,1.8227215980024971,2.0786516853932584,6.866416978776529,3.938826466916354,2.33458177278402,5.543071161048689,4.038701622971286,4.431960049937578,5.099875156054932,7.116104868913857,2.6779026217228465,4.406991260923846,4.956304619225968,6.242197253433209,6.991260923845194,4.238451935081149,3.1273408239700373,4.132334581772784,4.16354556803995,2.634207240948814,6.803995006242197,4.413233458177278,3.2521847690387014,6.679151061173534,2.7215980024968793,4.313358302122348,4.812734082397004,5.168539325842697,6.554307116104869,4.606741573033708,6.741573033707866,6.866416978776529,4.912609238451935,3.564294631710362,1.8726591760299625,2.565543071161049,7.17852684144819,4.500624219725343,3.7702871410736583,1.7790262172284643,7.116104868913857,5.0187265917602994,6.061173533083646,2.602996254681648,4.506866416978776,4.157303370786517,6.491885143570538,1.3545568039950062,3.058676654182272,2.82147315855181,3.420724094881398,6.491885143570538,1.9538077403245941,5.97378277153558,5.380774032459426,5.0187265917602994, +4.806491885143571,6.367041198501872,3.3895131086142323,6.367041198501872,4.544319600499376,4.588014981273409,1.529338327091136,4.300873907615481,2.034956304619226,3.7827715355805243,4.475655430711611,2.3470661672908864,1.2172284644194757,1.3857677902621723,2.5842696629213484,6.991260923845194,5.66167290886392,3.9325842696629216,2.8901373283395753,2.478152309612984,5.0,6.429463171036204,3.8951310861423223,6.679151061173534,5.9113607990012484,2.0536828963795255,1.7602996254681649,1.6104868913857677,2.965043695380774,5.0,1.1860174781523096,2.1722846441947565,5.917602996254682,4.850187265917603,2.1722846441947565,3.470661672908864,2.0287141073657926,7.365792759051186,5.230961298377029,1.4918851435705367,1.6104868913857677,5.792759051186017,4.825218476903871,2.4843945068664173,1.8539325842696628,2.1036204744069913,6.928838951310862,3.9762796504369535,2.3720349563046192,5.574282147315855,4.063670411985019,4.4694132334581775,5.131086142322098,7.17852684144819,2.702871410736579,4.425717852684145,4.987515605493134,6.30461922596754,6.991260923845194,4.269662921348314,3.1460674157303368,4.151061173533084,4.194756554307116,2.6591760299625467,6.803995006242197,4.438202247191011,3.2709113607990012,6.679151061173534,2.746566791510612,4.33832709113608,4.843945068664169,5.199750312109863,6.616729088639201,4.631710362047441,6.803995006242197,6.866416978776529,4.937578027465668,3.6017478152309614,1.8976279650436954,2.602996254681648,7.17852684144819,4.531835205992509,3.8077403245942576,1.8039950062421974,7.116104868913857,5.043695380774032,6.086142322097379,2.634207240948814,4.531835205992509,4.188514357053683,6.554307116104869,1.3795255930087391,3.0836454431960054,2.8464419475655434,3.4581772784019975,6.491885143570538,1.9850187265917605,6.004993757802747,5.405742821473158,5.043695380774032, +4.837702871410737,6.367041198501872,3.420724094881398,6.367041198501872,4.569288389513109,4.612983770287141,1.554307116104869,4.325842696629214,2.0599250936329585,3.801498127340824,4.49438202247191,2.3720349563046192,1.2421972534332086,1.4169787765293382,2.6092384519350813,6.991260923845194,5.692883895131087,3.9637952559300875,2.9151061173533086,2.4968789013732833,5.024968789013733,6.491885143570538,3.9138576779026217,6.679151061173534,5.942571785268415,2.084893882646692,1.7915106117353308,1.6354556803995006,2.9962546816479403,5.024968789013733,1.2109862671660423,2.203495630461923,5.942571785268415,4.868913857677903,2.1972534332084894,3.495630461922597,2.0599250936329585,7.365792759051186,5.249687890137328,1.5106117353308364,1.6354556803995006,5.81772784019975,4.850187265917603,2.515605493133583,1.8851435705368291,2.128589263420724,6.928838951310862,4.00749063670412,2.4032459425717856,5.605493133583021,4.094881398252185,4.500624219725343,5.15605493133583,7.17852684144819,2.727840199750312,4.444444444444445,5.012484394506866,6.30461922596754,6.991260923845194,4.294631710362047,3.1647940074906367,4.176029962546816,4.225967540574282,2.6779026217228465,6.866416978776529,4.463171036204744,3.295880149812734,6.679151061173534,2.7715355805243447,4.3632958801498125,4.875156054931336,5.230961298377029,6.616729088639201,4.656679151061174,6.803995006242197,6.928838951310862,4.956304619225968,3.6329588014981273,1.9225967540574282,2.634207240948814,7.240948813982522,4.563046192259676,3.8389513108614235,1.8227215980024971,7.17852684144819,5.062421972534332,6.111111111111111,2.66541822721598,4.556803995006242,4.219725343320849,6.554307116104869,1.404494382022472,3.114856429463171,2.871410736579276,3.4893882646691634,6.554307116104869,2.0224719101123596,6.036204744069912,5.430711610486892,5.068664169787765, +4.868913857677903,6.429463171036204,3.4581772784019975,6.429463171036204,4.594257178526841,4.631710362047441,1.5730337078651684,4.357053682896379,2.091136079900125,3.826466916354557,4.519350811485642,2.4032459425717856,1.2671660424469413,1.4481897627965044,2.634207240948814,7.0536828963795255,5.724094881398252,3.9950062421972534,2.9400749063670415,2.521847690387016,5.056179775280899,6.491885143570538,3.938826466916354,6.741573033707866,5.97378277153558,2.1161048689138577,1.8227215980024971,1.6604244694132335,3.033707865168539,5.049937578027466,1.2359550561797754,2.2347066167290888,5.961298377028713,4.893882646691636,2.2222222222222223,3.5205992509363297,2.097378277153558,7.428214731585518,5.274656679151062,1.5355805243445693,1.6541822721598003,5.836454431960051,4.881398252184769,2.546816479400749,1.9101123595505618,2.15980024968789,6.991260923845194,4.044943820224719,2.4344569288389515,5.630461922596755,4.1260923845193505,4.531835205992509,5.181023720349563,7.240948813982522,2.746566791510612,4.4694132334581775,5.043695380774032,6.367041198501872,7.0536828963795255,4.31960049937578,3.183520599250936,4.194756554307116,4.257178526841448,2.702871410736579,6.866416978776529,4.4818976279650435,3.3146067415730336,6.741573033707866,2.790262172284644,4.388264669163545,4.906367041198502,5.262172284644195,6.616729088639201,4.687890137328339,6.803995006242197,6.928838951310862,4.975031210986267,3.6704119850187267,1.941323345817728,2.671660424469413,7.303370786516854,4.594257178526841,3.870162297128589,1.8476903870162298,7.17852684144819,5.087390761548065,6.1360799001248445,2.696629213483146,4.588014981273409,4.250936329588015,6.616729088639201,1.4294631710362047,3.1460674157303368,2.8963795255930087,3.5205992509363297,6.616729088639201,2.0536828963795255,6.061173533083646,5.455680399500624,5.087390761548065, +4.900124843945068,6.429463171036204,3.4893882646691634,6.429463171036204,4.619225967540574,4.656679151061174,1.5980024968789013,4.382022471910113,2.122347066167291,3.8451935081148565,4.538077403245943,2.4344569288389515,1.285892634207241,1.4731585518102372,2.6529338327091136,7.0536828963795255,5.7553058676654185,4.02621722846442,2.965043695380774,2.5405742821473156,5.087390761548065,6.554307116104869,3.9637952559300875,6.741573033707866,5.998751560549313,2.1410736579275906,1.8539325842696628,1.6853932584269664,3.0649188514357055,5.074906367041199,1.260923845193508,2.272159800249688,5.986267166042447,4.912609238451935,2.2409488139825218,3.5393258426966296,2.128589263420724,7.428214731585518,5.299625468164794,1.554307116104869,1.6791510611735332,5.861423220973783,4.906367041198502,2.578027465667915,1.941323345817728,2.184769038701623,6.991260923845194,4.0761548064918856,2.471910112359551,5.66167290886392,4.151061173533084,4.569288389513109,5.205992509363296,7.303370786516854,2.7715355805243447,4.488139825218477,5.068664169787765,6.429463171036204,7.0536828963795255,4.3508114856429465,3.202247191011236,4.213483146067416,4.288389513108614,2.7215980024968793,6.928838951310862,4.506866416978776,3.339575530586767,6.741573033707866,2.8152309612983775,4.413233458177278,4.937578027465668,5.299625468164794,6.679151061173534,4.712858926342073,6.866416978776529,6.928838951310862,5.0,3.701622971285893,1.9662921348314608,2.702871410736579,7.303370786516854,4.6254681647940075,3.9076154806491883,1.8664169787765295,7.240948813982522,5.1123595505617985,6.161048689138577,2.727840199750312,4.612983770287141,4.282147315855181,6.616729088639201,1.4481897627965044,3.1772784019975036,2.9275905118601746,3.5580524344569286,6.616729088639201,2.091136079900125,6.092384519350812,5.480649188514358,5.1123595505617985, +4.931335830212235,6.491885143570538,3.5205992509363297,6.491885143570538,4.644194756554308,4.681647940074906,1.6229712858926344,4.406991260923846,2.153558052434457,3.870162297128589,4.563046192259676,2.4656679151061174,1.3108614232209737,1.5043695380774034,2.6779026217228465,7.116104868913857,5.786516853932584,4.057428214731585,2.990012484394507,2.565543071161049,5.1123595505617985,6.554307116104869,3.9887640449438204,6.803995006242197,6.029962546816479,2.1722846441947565,1.8851435705368291,1.710362047440699,3.0961298377028714,5.099875156054932,1.285892634207241,2.303370786516854,6.004993757802747,4.937578027465668,2.2659176029962547,3.564294631710362,2.1660424469413235,7.49063670411985,5.324594257178527,1.5730337078651684,1.704119850187266,5.8863920099875156,4.931335830212235,2.6154806491885143,1.9725343320848938,2.209737827715356,7.0536828963795255,4.107365792759051,2.5031210986267167,5.692883895131087,4.18227215980025,4.600499375780275,5.230961298377029,7.303370786516854,2.7965043695380776,4.506866416978776,5.099875156054932,6.429463171036204,7.116104868913857,4.375780274656679,3.2209737827715355,4.238451935081149,4.31960049937578,2.746566791510612,6.928838951310862,4.525593008739076,3.3583021223470664,6.741573033707866,2.84019975031211,4.438202247191011,4.9687890137328345,5.33083645443196,6.679151061173534,4.737827715355805,6.866416978776529,6.991260923845194,5.0187265917602994,3.732833957553059,1.9912609238451935,2.740324594257179,7.365792759051186,4.656679151061174,3.938826466916354,1.8913857677902621,7.240948813982522,5.1373283395755305,6.186017478152309,2.7590511860174782,4.637952559300874,4.31960049937578,6.679151061173534,1.4731585518102372,3.2084893882646695,2.9525593008739075,3.589263420724095,6.679151061173534,2.122347066167291,6.123595505617978,5.50561797752809,5.1373283395755305, +4.962546816479401,6.491885143570538,3.5580524344569286,6.491885143570538,4.66916354556804,4.700374531835206,1.6416978776529338,4.431960049937578,2.1785268414481895,3.8951310861423223,4.581772784019975,2.4906367041198503,1.3358302122347065,1.5355805243445693,2.702871410736579,7.116104868913857,5.81772784019975,4.0886392009987516,3.0149812734082393,2.5842696629213484,5.143570536828964,6.616729088639201,4.013732833957553,6.803995006242197,6.061173533083646,2.203495630461923,1.9101123595505618,1.735330836454432,3.1273408239700373,5.118601747815231,1.3108614232209737,2.340823970037453,6.029962546816479,4.962546816479401,2.2846441947565546,3.589263420724095,2.1972534332084894,7.49063670411985,5.34956304619226,1.5980024968789013,1.7290886392009988,5.905118601747815,4.962546816479401,2.6466916354556806,2.00374531835206,2.2409488139825218,7.0536828963795255,4.144818976279651,2.5405742821473156,5.724094881398252,4.207240948813983,4.637952559300874,5.262172284644195,7.365792759051186,2.82147315855181,4.531835205992509,5.1248439450686645,6.491885143570538,7.116104868913857,4.400749063670412,3.2397003745318353,4.257178526841448,4.3508114856429465,2.7715355805243447,6.991260923845194,4.55056179775281,3.383270911360799,6.803995006242197,2.865168539325843,4.463171036204744,5.0,5.3620474406991265,6.679151061173534,4.769038701622971,6.928838951310862,6.991260923845194,5.0374531835206,3.7702871410736583,2.016229712858926,2.777777777777778,7.428214731585518,4.687890137328339,3.970037453183521,1.9101123595505618,7.303370786516854,5.162297128589263,6.210986267166042,2.790262172284644,4.662921348314606,4.3508114856429465,6.679151061173534,1.4981273408239701,3.2397003745318353,2.977528089887641,3.620474406991261,6.741573033707866,2.153558052434457,6.154806491885144,5.5305867665418225,5.162297128589263, +4.9937578027465666,6.554307116104869,3.589263420724095,6.554307116104869,4.694132334581773,4.725343320848939,1.6666666666666667,4.456928838951311,2.209737827715356,3.9138576779026217,4.600499375780275,2.521847690387016,1.3545568039950062,1.5667915106117354,2.727840199750312,7.17852684144819,5.848938826466916,4.119850187265917,3.0399500624219726,2.6092384519350813,5.174781523096129,6.616729088639201,4.038701622971286,6.866416978776529,6.086142322097379,2.2284644194756553,1.941323345817728,1.7602996254681649,3.1585518102372037,5.143570536828964,1.3358302122347065,2.3720349563046192,6.048689138576779,4.9812734082397006,2.309612983770287,3.6142322097378274,2.2347066167290888,7.553058676654182,5.3745318352059925,1.616729088639201,1.7540574282147314,5.930087390761548,4.987515605493134,2.6779026217228465,2.0287141073657926,2.2659176029962547,7.116104868913857,4.176029962546816,2.571785268414482,5.749063670411985,4.238451935081149,4.66916354556804,5.287141073657928,7.365792759051186,2.8464419475655434,4.55056179775281,5.15605493133583,6.491885143570538,7.116104868913857,4.431960049937578,3.258426966292135,4.275905118601748,4.382022471910113,2.790262172284644,6.991260923845194,4.575530586766542,3.4019975031210987,6.803995006242197,2.8901373283395753,4.488139825218477,5.031210986267166,5.393258426966292,6.741573033707866,4.794007490636704,6.928838951310862,6.991260923845194,5.062421972534332,3.801498127340824,2.0411985018726595,2.808988764044944,7.428214731585518,4.719101123595506,4.00749063670412,1.9350811485642945,7.303370786516854,5.187265917602996,6.235955056179775,2.82147315855181,4.687890137328339,4.382022471910113,6.741573033707866,1.523096129837703,3.2709113607990012,3.0087390761548067,3.6579275905118602,6.741573033707866,2.1910112359550564,6.186017478152309,5.561797752808988,5.181023720349563, +5.024968789013733,6.554307116104869,3.6267166042446943,6.554307116104869,4.719101123595506,4.750312109862672,1.6916354556803994,4.488139825218477,2.2409488139825218,3.938826466916354,4.6254681647940075,2.5530586766541825,1.3795255930087391,1.5980024968789013,2.752808988764045,7.17852684144819,5.880149812734083,4.151061173533084,3.0649188514357055,2.6279650436953808,5.199750312109863,6.679151061173534,4.063670411985019,6.866416978776529,6.117353308364544,2.259675405742821,1.9725343320848938,1.7852684144818978,3.1897627965043696,5.168539325842697,1.3607990012484397,2.4032459425717856,6.073657927590512,5.0062421972534334,2.33458177278402,3.6329588014981273,2.2659176029962547,7.553058676654182,5.393258426966292,1.6354556803995006,1.7790262172284643,5.948813982521848,5.012484394506866,2.715355805243446,2.0599250936329585,2.2908863920099876,7.116104868913857,4.207240948813983,2.602996254681648,5.7802746566791505,4.269662921348314,4.700374531835206,5.312109862671661,7.428214731585518,2.865168539325843,4.575530586766542,5.181023720349563,6.554307116104869,7.17852684144819,4.456928838951311,3.2771535580524347,4.300873907615481,4.413233458177278,2.8152309612983775,7.0536828963795255,4.594257178526841,3.4269662921348316,6.803995006242197,2.9151061173533086,4.51310861423221,5.062421972534332,5.424469413233458,6.741573033707866,4.818976279650437,6.991260923845194,7.0536828963795255,5.081148564294631,3.8389513108614235,2.066167290886392,2.8464419475655434,7.49063670411985,4.750312109862672,4.038701622971286,1.9538077403245941,7.365792759051186,5.212234706616729,6.242197253433209,2.852684144818976,4.712858926342073,4.413233458177278,6.741573033707866,1.5480649188514357,3.3021223470661676,3.033707865168539,3.689138576779026,6.803995006242197,2.2222222222222223,6.217228464419476,5.586766541822722,5.205992509363296, +5.056179775280899,6.616729088639201,3.6579275905118602,6.616729088639201,4.7440699126092385,4.769038701622971,1.710362047440699,4.51310861423221,2.272159800249688,3.9637952559300875,4.644194756554308,2.5842696629213484,1.404494382022472,1.6229712858926344,2.777777777777778,7.17852684144819,5.9113607990012484,4.18227215980025,3.089887640449438,2.6529338327091136,5.230961298377029,6.679151061173534,4.0886392009987516,6.928838951310862,6.1485642946317105,2.2908863920099876,2.00374531835206,1.8102372034956304,3.2209737827715355,5.19350811485643,1.3857677902621723,2.4406991260923845,6.092384519350812,5.024968789013733,2.35330836454432,3.6579275905118602,2.303370786516854,7.615480649188515,5.418227215980025,1.6541822721598003,1.8039950062421974,5.97378277153558,5.0374531835206,2.746566791510612,2.091136079900125,2.322097378277154,7.17852684144819,4.244694132334582,2.640449438202247,5.811485642946318,4.294631710362047,4.737827715355805,5.337078651685393,7.428214731585518,2.8901373283395753,4.594257178526841,5.212234706616729,6.616729088639201,7.17852684144819,4.4818976279650435,3.3021223470661676,4.31960049937578,4.444444444444445,2.8339575530586765,7.0536828963795255,4.619225967540574,3.4456928838951315,6.866416978776529,2.9400749063670415,4.538077403245943,5.093632958801498,5.461922596754057,6.803995006242197,4.850187265917603,6.991260923845194,7.0536828963795255,5.099875156054932,3.870162297128589,2.091136079900125,2.8776529338327093,7.49063670411985,4.781523096129837,4.069912609238452,1.9725343320848938,7.365792759051186,5.230961298377029,6.30461922596754,2.8838951310861427,4.737827715355805,4.444444444444445,6.803995006242197,1.5730337078651684,3.3333333333333335,3.058676654182272,3.7203495630461925,6.803995006242197,2.259675405742821,6.242197253433209,5.611735330836455,5.230961298377029, +5.081148564294631,6.616729088639201,3.689138576779026,6.616729088639201,4.775280898876405,4.794007490636704,1.735330836454432,4.538077403245943,2.2971285892634206,3.982521847690387,4.66916354556804,2.6092384519350813,1.4232209737827717,1.6541822721598003,2.8027465667915106,7.240948813982522,5.942571785268415,4.213483146067416,3.114856429463171,2.671660424469413,5.262172284644195,6.741573033707866,4.1136079900124844,6.928838951310862,6.179775280898876,2.3158551810237205,2.034956304619226,1.8352059925093633,3.2521847690387014,5.218476903870163,1.410736579275905,2.471910112359551,6.111111111111111,5.049937578027466,2.3782771535580522,3.682896379525593,2.33458177278402,7.615480649188515,5.443196004993759,1.6791510611735332,1.8227215980024971,5.992509363295881,5.068664169787765,2.777777777777778,2.1161048689138577,2.3470661672908864,7.17852684144819,4.275905118601748,2.671660424469413,5.842696629213483,4.325842696629214,4.769038701622971,5.3620474406991265,7.49063670411985,2.9151061173533086,4.612983770287141,5.243445692883895,6.616729088639201,7.240948813982522,4.51310861423221,3.320848938826467,4.33832709113608,4.4818976279650435,2.8589263420724094,7.116104868913857,4.637952559300874,3.470661672908864,6.866416978776529,2.965043695380774,4.563046192259676,5.118601747815231,5.493133583021224,6.803995006242197,4.875156054931336,7.0536828963795255,7.0536828963795255,5.1248439450686645,3.9076154806491883,2.1161048689138577,2.9151061173533086,7.553058676654182,4.812734082397004,4.107365792759051,1.9975031210986267,7.428214731585518,5.2559300873907615,6.30461922596754,2.9151061173533086,4.762796504369538,4.475655430711611,6.803995006242197,1.5980024968789013,3.3645443196004994,3.0836454431960054,3.7515605493133584,6.866416978776529,2.2908863920099876,6.30461922596754,5.636704119850187,5.2559300873907615, +5.1123595505617985,6.679151061173534,3.7265917602996255,6.679151061173534,4.800249687890138,4.818976279650437,1.7602996254681649,4.563046192259676,2.328339575530587,4.00749063670412,4.687890137328339,2.640449438202247,1.4481897627965044,1.6853932584269664,2.8277153558052435,7.240948813982522,5.97378277153558,4.238451935081149,3.139825218476904,2.696629213483146,5.287141073657928,6.741573033707866,4.132334581772784,6.991260923845194,6.20474406991261,2.3470661672908864,2.066167290886392,1.8601747815230962,3.2833957553058677,5.243445692883895,1.435705368289638,2.5031210986267167,6.1360799001248445,5.068664169787765,2.397003745318352,3.7078651685393256,2.3720349563046192,7.677902621722847,5.468164794007491,1.6978776529338326,1.8476903870162298,6.0174781523096135,5.093632958801498,2.808988764044944,2.1473158551810236,2.3720349563046192,7.240948813982522,4.307116104868914,2.7091136079900124,5.867665418227216,4.3508114856429465,4.806491885143571,5.393258426966292,7.553058676654182,2.9400749063670415,4.637952559300874,5.268414481897628,6.679151061173534,7.240948813982522,4.538077403245943,3.339575530586767,4.3632958801498125,4.51310861423221,2.8776529338327093,7.116104868913857,4.662921348314606,3.4893882646691634,6.866416978776529,2.990012484394507,4.588014981273409,5.149812734082397,5.524344569288389,6.803995006242197,4.900124843945068,7.0536828963795255,7.116104868913857,5.143570536828964,3.938826466916354,2.1410736579275906,2.9463171036204745,7.615480649188515,4.843945068664169,4.138576779026217,2.016229712858926,7.428214731585518,5.280898876404494,6.367041198501872,2.9463171036204745,4.787765293383271,4.51310861423221,6.866416978776529,1.616729088639201,3.3957553058676653,3.114856429463171,3.7890137328339577,6.928838951310862,2.328339575530587,6.30461922596754,5.66167290886392,5.274656679151062, +5.143570536828964,6.679151061173534,3.7578027465667914,6.679151061173534,4.825218476903871,4.837702871410737,1.7790262172284643,4.588014981273409,2.359550561797753,4.032459425717852,4.712858926342073,2.671660424469413,1.4731585518102372,1.7166042446941323,2.852684144818976,7.303370786516854,6.004993757802747,4.269662921348314,3.1647940074906367,2.715355805243446,5.318352059925093,6.803995006242197,4.157303370786517,6.991260923845194,6.235955056179775,2.3782771535580522,2.091136079900125,1.8851435705368291,3.3146067415730336,5.268414481897628,1.4606741573033708,2.5405742821473156,6.154806491885144,5.093632958801498,2.4219725343320846,3.7265917602996255,2.4032459425717856,7.677902621722847,5.493133583021224,1.7166042446941323,1.8726591760299625,6.036204744069912,5.118601747815231,2.8464419475655434,2.1785268414481895,2.4032459425717856,7.240948813982522,4.344569288389513,2.740324594257179,5.8988764044943816,4.382022471910113,4.837702871410737,5.418227215980025,7.553058676654182,2.965043695380774,4.656679151061174,5.299625468164794,6.679151061173534,7.303370786516854,4.563046192259676,3.3583021223470664,4.382022471910113,4.544319600499376,2.902621722846442,7.17852684144819,4.687890137328339,3.5143570536828963,6.928838951310862,3.0149812734082393,4.612983770287141,5.181023720349563,5.555555555555556,6.866416978776529,4.931335830212235,7.116104868913857,7.116104868913857,5.168539325842697,3.9762796504369535,2.1660424469413235,2.9837702871410734,7.615480649188515,4.875156054931336,4.169787765293384,2.0411985018726595,7.49063670411985,5.305867665418227,6.367041198501872,2.977528089887641,4.812734082397004,4.544319600499376,6.866416978776529,1.6416978776529338,3.4269662921348316,3.139825218476904,3.8202247191011236,6.928838951310862,2.359550561797753,6.367041198501872,5.686641697877653,5.299625468164794, +5.174781523096129,6.741573033707866,3.7890137328339577,6.679151061173534,4.850187265917603,4.8626716604244695,1.8039950062421974,4.619225967540574,2.3845193508114857,4.051186017478152,4.7315855181023725,2.702871410736579,1.4918851435705367,1.7478152309612984,2.8776529338327093,7.303370786516854,6.036204744069912,4.300873907615481,3.183520599250936,2.740324594257179,5.34956304619226,6.803995006242197,4.18227215980025,7.0536828963795255,6.242197253433209,2.4032459425717856,2.122347066167291,1.9101123595505618,3.3458177278401995,5.293383270911361,1.4856429463171037,2.571785268414482,6.179775280898876,5.118601747815231,2.446941323345818,3.7515605493133584,2.4406991260923845,7.740324594257178,5.5181023720349565,1.7415730337078652,1.8976279650436954,6.061173533083646,5.149812734082397,2.8776529338327093,2.209737827715356,2.428214731585518,7.303370786516854,4.375780274656679,2.7715355805243447,5.930087390761548,4.406991260923846,4.875156054931336,5.443196004993759,7.615480649188515,2.990012484394507,4.675405742821473,5.324594257178527,6.741573033707866,7.303370786516854,4.594257178526841,3.3770287141073654,4.400749063670412,4.575530586766542,2.9275905118601746,7.17852684144819,4.70661672908864,3.533083645443196,6.928838951310862,3.033707865168539,4.637952559300874,5.212234706616729,5.593008739076155,6.866416978776529,4.956304619225968,7.116104868913857,7.116104868913857,5.187265917602996,4.00749063670412,2.1910112359550564,3.0212234706616727,7.677902621722847,4.906367041198502,4.207240948813983,2.0599250936329585,7.49063670411985,5.33083645443196,6.367041198501872,3.0024968789013733,4.837702871410737,4.575530586766542,6.928838951310862,1.6666666666666667,3.4581772784019975,3.1647940074906367,3.8514357053682895,6.991260923845194,2.397003745318352,6.367041198501872,5.711610486891385,5.324594257178527, +5.205992509363296,6.803995006242197,3.826466916354557,6.741573033707866,4.875156054931336,4.887640449438202,1.8289637952559301,4.644194756554308,2.4157303370786516,4.0761548064918856,4.750312109862672,2.727840199750312,1.5168539325842696,1.772784019975031,2.902621722846442,7.365792759051186,6.067415730337078,4.332084893882647,3.2084893882646695,2.7590511860174782,5.3745318352059925,6.866416978776529,4.207240948813983,7.0536828963795255,6.30461922596754,2.4344569288389515,2.153558052434457,1.9350811485642945,3.383270911360799,5.318352059925093,1.5106117353308364,2.6092384519350813,6.198501872659176,5.1373283395755305,2.4656679151061174,3.776529338327091,2.471910112359551,7.740324594257178,5.543071161048689,1.7602996254681649,1.9225967540574282,6.079900124843945,5.174781523096129,2.908863920099875,2.2347066167290888,2.453183520599251,7.303370786516854,4.413233458177278,2.808988764044944,5.961298377028713,4.438202247191011,4.906367041198502,5.468164794007491,7.615480649188515,3.0087390761548067,4.700374531835206,5.355805243445693,6.803995006242197,7.303370786516854,4.619225967540574,3.3957553058676653,4.425717852684145,4.606741573033708,2.9463171036204745,7.240948813982522,4.7315855181023725,3.5580524344569286,6.991260923845194,3.058676654182272,4.662921348314606,5.243445692883895,5.6242197253433215,6.866416978776529,4.987515605493134,7.17852684144819,7.17852684144819,5.205992509363296,4.044943820224719,2.215980024968789,3.0524344569288386,7.740324594257178,4.937578027465668,4.238451935081149,2.084893882646692,7.553058676654182,5.355805243445693,6.429463171036204,3.033707865168539,4.8626716604244695,4.606741573033708,6.928838951310862,1.6916354556803994,3.4893882646691634,3.1897627965043696,3.888888888888889,7.0536828963795255,2.428214731585518,6.367041198501872,5.736579275905119,5.34956304619226, +5.237203495630462,6.803995006242197,3.857677902621723,6.741573033707866,4.900124843945068,4.906367041198502,1.8476903870162298,4.66916354556804,2.446941323345818,4.1011235955056184,4.775280898876405,2.7590511860174782,1.5418227215980027,1.8039950062421974,2.9275905118601746,7.365792759051186,6.092384519350812,4.3632958801498125,3.233458177278402,2.777777777777778,5.405742821473158,6.866416978776529,4.2322097378277155,7.116104868913857,6.30461922596754,2.4656679151061174,2.184769038701623,1.9600499375780276,3.4144818976279647,5.343320848938826,1.5355805243445693,2.640449438202247,6.223470661672909,5.162297128589263,2.4906367041198503,3.7952559300873907,2.5093632958801497,7.740324594257178,5.561797752808988,1.7790262172284643,1.9475655430711611,6.104868913857677,5.199750312109863,2.9400749063670415,2.2659176029962547,2.478152309612984,7.365792759051186,4.444444444444445,2.84019975031211,5.986267166042447,4.4694132334581775,4.937578027465668,5.493133583021224,7.677902621722847,3.033707865168539,4.719101123595506,5.380774032459426,6.803995006242197,7.365792759051186,4.644194756554308,3.4144818976279647,4.444444444444445,4.637952559300874,2.9712858926342074,7.240948813982522,4.750312109862672,3.576779026217228,6.991260923845194,3.0836454431960054,4.687890137328339,5.274656679151062,5.655430711610487,6.928838951310862,5.012484394506866,7.17852684144819,7.17852684144819,5.230961298377029,4.0761548064918856,2.2409488139825218,3.089887640449438,7.740324594257178,4.9687890137328345,4.269662921348314,2.1036204744069913,7.553058676654182,5.3745318352059925,6.429463171036204,3.0649188514357055,4.887640449438202,4.637952559300874,6.928838951310862,1.7166042446941323,3.5205992509363297,3.2209737827715355,3.920099875156055,7.0536828963795255,2.459425717852684,6.429463171036204,5.761548064918852,5.36828963795256, +5.268414481897628,6.866416978776529,3.888888888888889,6.803995006242197,4.925093632958801,4.931335830212235,1.8726591760299625,4.694132334581773,2.478152309612984,4.119850187265917,4.794007490636704,2.790262172284644,1.5605493133583022,1.8352059925093633,2.9525593008739075,7.428214731585518,6.123595505617978,4.394506866416979,3.258426966292135,2.8027465667915106,5.436953807740325,6.928838951310862,4.257178526841448,7.116104868913857,6.367041198501872,2.4906367041198503,2.215980024968789,1.9850187265917605,3.4456928838951315,5.36828963795256,1.5605493133583022,2.671660424469413,6.242197253433209,5.181023720349563,2.5093632958801497,3.8202247191011236,2.5405742821473156,7.8027465667915115,5.586766541822722,1.797752808988764,1.9662921348314608,6.129837702871411,5.224719101123595,2.977528089887641,2.2971285892634206,2.5093632958801497,7.365792759051186,4.475655430711611,2.871410736579276,6.0174781523096135,4.49438202247191,4.975031210986267,5.524344569288389,7.677902621722847,3.058676654182272,4.737827715355805,5.411985018726591,6.866416978776529,7.365792759051186,4.675405742821473,3.4332084893882646,4.463171036204744,4.66916354556804,2.990012484394507,7.303370786516854,4.775280898876405,3.6017478152309614,6.991260923845194,3.108614232209738,4.712858926342073,5.305867665418227,5.686641697877653,6.928838951310862,5.0374531835206,7.240948813982522,7.17852684144819,5.249687890137328,4.107365792759051,2.2659176029962547,3.1210986267166043,7.8027465667915115,5.0,4.307116104868914,2.128589263420724,7.615480649188515,5.399500624219725,6.491885143570538,3.0961298377028714,4.912609238451935,4.675405742821473,6.991260923845194,1.7415730337078652,3.5518102372034956,3.245942571785269,3.951310861423221,7.116104868913857,2.4968789013732833,6.429463171036204,5.792759051186017,5.393258426966292, +5.299625468164794,6.866416978776529,3.926342072409488,6.803995006242197,4.950062421972534,4.950062421972534,1.8976279650436954,4.719101123595506,2.5031210986267167,4.144818976279651,4.818976279650437,2.8152309612983775,1.585518102372035,1.8664169787765295,2.977528089887641,7.428214731585518,6.154806491885144,4.425717852684145,3.2833957553058677,2.82147315855181,5.461922596754057,6.928838951310862,4.282147315855181,7.17852684144819,6.367041198501872,2.521847690387016,2.2409488139825218,2.009987515605493,3.4769038701622974,5.393258426966292,1.585518102372035,2.7091136079900124,6.242197253433209,5.205992509363296,2.5343320848938826,3.8451935081148565,2.578027465667915,7.8027465667915115,5.611735330836455,1.8227215980024971,1.9912609238451935,6.1485642946317105,5.2559300873907615,3.0087390761548067,2.322097378277154,2.5343320848938826,7.428214731585518,4.51310861423221,2.908863920099875,6.048689138576779,4.525593008739076,5.0062421972534334,5.549313358302123,7.740324594257178,3.0836454431960054,4.762796504369538,5.436953807740325,6.866416978776529,7.428214731585518,4.700374531835206,3.451935081148564,4.488139825218477,4.700374531835206,3.0149812734082393,7.303370786516854,4.794007490636704,3.620474406991261,7.0536828963795255,3.1335830212234708,4.737827715355805,5.337078651685393,5.724094881398252,6.991260923845194,5.068664169787765,7.240948813982522,7.240948813982522,5.268414481897628,4.144818976279651,2.2908863920099876,3.1585518102372037,7.8027465667915115,5.031210986267166,4.33832709113608,2.1473158551810236,7.615480649188515,5.424469413233458,6.491885143570538,3.1273408239700373,4.937578027465668,4.70661672908864,6.991260923845194,1.7602996254681649,3.5830212234706615,3.2709113607990012,3.9887640449438204,7.17852684144819,2.5280898876404496,6.491885143570538,5.81772784019975,5.418227215980025, +5.324594257178527,6.928838951310862,3.957553058676654,6.866416978776529,4.975031210986267,4.975031210986267,1.916354556803995,4.750312109862672,2.5343320848938826,4.169787765293384,4.837702871410737,2.8464419475655434,1.6104868913857677,1.8976279650436954,3.0024968789013733,7.49063670411985,6.186017478152309,4.456928838951311,3.3083645443196006,2.8464419475655434,5.493133583021224,6.991260923845194,4.307116104868914,7.17852684144819,6.429463171036204,2.5530586766541825,2.272159800249688,2.034956304619226,3.508114856429463,5.418227215980025,1.6104868913857677,2.740324594257179,6.30461922596754,5.224719101123595,2.5593008739076155,3.870162297128589,2.6092384519350813,7.865168539325843,5.636704119850187,1.8414481897627966,2.016229712858926,6.173533083645444,5.280898876404494,3.0399500624219726,2.35330836454432,2.5593008739076155,7.428214731585518,4.544319600499376,2.9400749063670415,6.079900124843945,4.55056179775281,5.043695380774032,5.574282147315855,7.8027465667915115,3.108614232209738,4.781523096129837,5.468164794007491,6.928838951310862,7.428214731585518,4.725343320848939,3.4769038701622974,4.506866416978776,4.7315855181023725,3.033707865168539,7.365792759051186,4.818976279650437,3.6454431960049942,7.0536828963795255,3.1585518102372037,4.762796504369538,5.36828963795256,5.7553058676654185,6.991260923845194,5.093632958801498,7.303370786516854,7.240948813982522,5.293383270911361,4.176029962546816,2.3158551810237205,3.1960049937578026,7.865168539325843,5.062421972534332,4.375780274656679,2.1722846441947565,7.677902621722847,5.449438202247191,6.491885143570538,3.1585518102372037,4.962546816479401,4.737827715355805,7.0536828963795255,1.7852684144818978,3.6142322097378274,3.3021223470661676,4.019975031210986,7.17852684144819,2.565543071161049,6.491885143570538,5.842696629213483,5.436953807740325, +5.355805243445693,6.928838951310862,3.9887640449438204,6.866416978776529,5.0,5.0,1.941323345817728,4.775280898876405,2.565543071161049,4.188514357053683,4.856429463171036,2.8776529338327093,1.6292134831460674,1.9225967540574282,3.027465667915106,7.49063670411985,6.217228464419476,4.488139825218477,3.3333333333333335,2.865168539325843,5.524344569288389,6.991260923845194,4.332084893882647,7.240948813982522,6.429463171036204,2.578027465667915,2.303370786516854,2.0599250936329585,3.5393258426966296,5.443196004993759,1.6354556803995006,2.7715355805243447,6.30461922596754,5.249687890137328,2.578027465667915,3.888888888888889,2.6466916354556806,7.865168539325843,5.66167290886392,1.8601747815230962,2.0411985018726595,6.192259675405743,5.305867665418227,3.0711610486891385,2.3845193508114857,2.5905118601747814,7.49063670411985,4.575530586766542,2.977528089887641,6.104868913857677,4.581772784019975,5.074906367041199,5.599250936329588,7.8027465667915115,3.1335830212234708,4.800249687890138,5.493133583021224,6.991260923845194,7.428214731585518,4.750312109862672,3.495630461922597,4.525593008739076,4.762796504369538,3.058676654182272,7.365792759051186,4.843945068664169,3.6641697877652937,7.0536828963795255,3.183520599250936,4.787765293383271,5.399500624219725,5.786516853932584,6.991260923845194,5.118601747815231,7.303370786516854,7.240948813982522,5.312109862671661,4.213483146067416,2.340823970037453,3.227215980024969,7.927590511860175,5.087390761548065,4.406991260923846,2.1910112359550564,7.677902621722847,5.474406991260924,6.554307116104869,3.1897627965043696,4.987515605493134,4.769038701622971,7.0536828963795255,1.8102372034956304,3.6454431960049942,3.3270911360799,4.051186017478152,7.240948813982522,2.596754057428215,6.554307116104869,5.867665418227216,5.461922596754057, +5.3870162297128585,6.991260923845194,4.02621722846442,6.928838951310862,5.024968789013733,5.0187265917602994,1.9662921348314608,4.800249687890138,2.596754057428215,4.213483146067416,4.881398252184769,2.908863920099875,1.6541822721598003,1.9538077403245941,3.0524344569288386,7.553058676654182,6.242197253433209,4.519350811485642,3.3583021223470664,2.8901373283395753,5.549313358302123,7.0536828963795255,4.3508114856429465,7.240948813982522,6.491885143570538,2.6092384519350813,2.33458177278402,2.084893882646692,3.5705368289637955,5.468164794007491,1.6541822721598003,2.808988764044944,6.30461922596754,5.274656679151062,2.602996254681648,3.9138576779026217,2.6779026217228465,7.927590511860175,5.686641697877653,1.8851435705368291,2.066167290886392,6.217228464419476,5.337078651685393,3.108614232209738,2.4157303370786516,2.6154806491885143,7.49063670411985,4.612983770287141,3.0087390761548067,6.1360799001248445,4.606741573033708,5.1123595505617985,5.6242197253433215,7.865168539325843,3.15230961298377,4.825218476903871,5.524344569288389,6.991260923845194,7.49063670411985,4.781523096129837,3.5143570536828963,4.55056179775281,4.794007490636704,3.0836454431960054,7.428214731585518,4.8626716604244695,3.689138576779026,7.116104868913857,3.2084893882646695,4.812734082397004,5.430711610486892,5.81772784019975,7.0536828963795255,5.149812734082397,7.365792759051186,7.303370786516854,5.33083645443196,4.244694132334582,2.3657927590511862,3.2646691635455682,7.927590511860175,5.118601747815231,4.438202247191011,2.215980024968789,7.740324594257178,5.499375780274657,6.554307116104869,3.2209737827715355,5.012484394506866,4.800249687890138,7.116104868913857,1.8352059925093633,3.6766541822721597,3.352059925093633,4.082397003745319,7.240948813982522,2.634207240948814,6.554307116104869,5.892634207240949,5.48689138576779, +5.418227215980025,6.991260923845194,4.057428214731585,6.928838951310862,5.049937578027466,5.043695380774032,1.9850187265917605,4.825218476903871,2.6217228464419473,4.238451935081149,4.900124843945068,2.933832709113608,1.6791510611735332,1.9850187265917605,3.077403245942572,7.553058676654182,6.30461922596754,4.55056179775281,3.383270911360799,2.908863920099875,5.580524344569288,7.0536828963795255,4.375780274656679,7.303370786516854,6.491885143570538,2.640449438202247,2.3657927590511862,2.1098626716604243,3.6017478152309614,5.493133583021224,1.6791510611735332,2.84019975031211,6.367041198501872,5.293383270911361,2.6217228464419473,3.938826466916354,2.715355805243446,7.927590511860175,5.711610486891385,1.9038701622971288,2.091136079900125,6.235955056179775,5.3620474406991265,3.139825218476904,2.4406991260923845,2.640449438202247,7.553058676654182,4.644194756554308,3.0399500624219726,6.167290886392011,4.637952559300874,5.143570536828964,5.655430711610487,7.865168539325843,3.1772784019975036,4.843945068664169,5.555555555555556,7.0536828963795255,7.49063670411985,4.806491885143571,3.533083645443196,4.569288389513109,4.831460674157303,3.102372034956305,7.428214731585518,4.887640449438202,3.7078651685393256,7.116104868913857,3.233458177278402,4.837702871410737,5.461922596754057,5.855181023720349,7.0536828963795255,5.174781523096129,7.365792759051186,7.303370786516854,5.355805243445693,4.282147315855181,2.3907615480649187,3.295880149812734,7.990012484394507,5.149812734082397,4.475655430711611,2.2347066167290888,7.740324594257178,5.524344569288389,6.616729088639201,3.2521847690387014,5.0374531835206,4.831460674157303,7.116104868913857,1.8601747815230962,3.701622971285893,3.3770287141073654,4.119850187265917,7.303370786516854,2.66541822721598,6.616729088639201,5.917602996254682,5.511860174781523, +5.449438202247191,7.0536828963795255,4.094881398252185,6.928838951310862,5.074906367041199,5.068664169787765,2.009987515605493,4.850187265917603,2.6529338327091136,4.257178526841448,4.925093632958801,2.965043695380774,1.6978776529338326,2.016229712858926,3.102372034956305,7.615480649188515,6.30461922596754,4.581772784019975,3.408239700374532,2.933832709113608,5.611735330836455,7.116104868913857,4.400749063670412,7.303370786516854,6.554307116104869,2.66541822721598,2.397003745318352,2.134831460674157,3.6329588014981273,5.5181023720349565,1.704119850187266,2.8776529338327093,6.367041198501872,5.318352059925093,2.6466916354556806,3.9637952559300875,2.752808988764045,7.990012484394507,5.730337078651686,1.9225967540574282,2.1161048689138577,6.242197253433209,5.3870162297128585,3.17103620474407,2.471910112359551,2.671660424469413,7.553058676654182,4.675405742821473,3.077403245942572,6.198501872659176,4.66916354556804,5.174781523096129,5.68039950062422,7.927590511860175,3.202247191011236,4.868913857677903,5.580524344569288,7.0536828963795255,7.553058676654182,4.831460674157303,3.5518102372034956,4.588014981273409,4.8626716604244695,3.1273408239700373,7.428214731585518,4.906367041198502,3.732833957553059,7.116104868913857,3.258426966292135,4.8626716604244695,5.493133583021224,5.8863920099875156,7.0536828963795255,5.199750312109863,7.428214731585518,7.303370786516854,5.3745318352059925,4.313358302122348,2.4157303370786516,3.3333333333333335,7.990012484394507,5.181023720349563,4.506866416978776,2.259675405742821,7.8027465667915115,5.543071161048689,6.616729088639201,3.2833957553058677,5.062421972534332,4.868913857677903,7.17852684144819,1.8851435705368291,3.732833957553059,3.408239700374532,4.151061173533084,7.365792759051186,2.696629213483146,6.616729088639201,5.942571785268415,5.5305867665418225, +5.480649188514358,7.0536828963795255,4.1260923845193505,6.991260923845194,5.099875156054932,5.087390761548065,2.034956304619226,4.881398252184769,2.68414481897628,4.282147315855181,4.943820224719102,2.9962546816479403,1.7228464419475658,2.0474406991260925,3.1210986267166043,7.615480649188515,6.367041198501872,4.612983770287141,3.4332084893882646,2.9525593008739075,5.636704119850187,7.116104868913857,4.425717852684145,7.365792759051186,6.554307116104869,2.696629213483146,2.4219725343320846,2.15980024968789,3.6641697877652937,5.543071161048689,1.7290886392009988,2.908863920099875,6.367041198501872,5.337078651685393,2.671660424469413,3.982521847690387,2.7840199750312107,7.990012484394507,5.7553058676654185,1.9475655430711611,2.134831460674157,6.30461922596754,5.411985018726591,3.202247191011236,2.5031210986267167,2.696629213483146,7.615480649188515,4.712858926342073,3.108614232209738,6.223470661672909,4.694132334581773,5.212234706616729,5.705368289637952,7.927590511860175,3.227215980024969,4.887640449438202,5.611735330836455,7.116104868913857,7.553058676654182,4.8626716604244695,3.5705368289637955,4.612983770287141,4.893882646691636,3.1460674157303368,7.49063670411985,4.931335830212235,3.7515605493133584,7.17852684144819,3.2771535580524347,4.887640449438202,5.5181023720349565,5.917602996254682,7.116104868913857,5.230961298377029,7.428214731585518,7.365792759051186,5.393258426966292,4.3508114856429465,2.4406991260923845,3.3645443196004994,8.05243445692884,5.212234706616729,4.538077403245943,2.278401997503121,7.8027465667915115,5.568039950062421,6.616729088639201,3.3146067415730336,5.087390761548065,4.900124843945068,7.17852684144819,1.9101123595505618,3.764044943820225,3.4332084893882646,4.18227215980025,7.365792759051186,2.7340823970037453,6.679151061173534,5.967540574282147,5.555555555555556, +5.511860174781523,7.116104868913857,4.157303370786517,6.991260923845194,5.1248439450686645,5.1123595505617985,2.0536828963795255,4.906367041198502,2.715355805243446,4.307116104868914,4.9687890137328345,3.027465667915106,1.7478152309612984,2.0724094881398254,3.1460674157303368,7.677902621722847,6.367041198501872,4.644194756554308,3.4581772784019975,2.977528089887641,5.667915106117353,7.17852684144819,4.450686641697877,7.365792759051186,6.616729088639201,2.727840199750312,2.453183520599251,2.184769038701623,3.6953807740324596,5.568039950062421,1.7540574282147314,2.9400749063670415,6.429463171036204,5.3620474406991265,2.690387016229713,4.00749063670412,2.82147315855181,8.05243445692884,5.7802746566791505,1.9662921348314608,2.15980024968789,6.30461922596754,5.443196004993759,3.2397003745318353,2.5280898876404496,2.7215980024968793,7.615480649188515,4.7440699126092385,3.1460674157303368,6.242197253433209,4.725343320848939,5.243445692883895,5.730337078651686,7.990012484394507,3.2521847690387014,4.906367041198502,5.636704119850187,7.17852684144819,7.553058676654182,4.887640449438202,3.589263420724095,4.631710362047441,4.925093632958801,3.17103620474407,7.49063670411985,4.956304619225968,3.776529338327091,7.17852684144819,3.3021223470661676,4.912609238451935,5.549313358302123,5.948813982521848,7.116104868913857,5.2559300873907615,7.49063670411985,7.365792759051186,5.418227215980025,4.382022471910113,2.4656679151061174,3.4019975031210987,8.11485642946317,5.243445692883895,4.575530586766542,2.303370786516854,7.865168539325843,5.593008739076155,6.679151061173534,3.3458177278401995,5.118601747815231,4.931335830212235,7.240948813982522,1.9288389513108615,3.7952559300873907,3.4581772784019975,4.219725343320849,7.428214731585518,2.7652933832709112,6.679151061173534,5.998751560549313,5.580524344569288, +5.543071161048689,7.116104868913857,4.194756554307116,7.0536828963795255,5.149812734082397,5.1373283395755305,2.0786516853932584,4.931335830212235,2.740324594257179,4.325842696629214,4.987515605493134,3.0524344569288386,1.766541822721598,2.1036204744069913,3.17103620474407,7.677902621722847,6.429463171036204,4.675405742821473,3.4831460674157304,2.9962546816479403,5.69912609238452,7.17852684144819,4.475655430711611,7.428214731585518,6.616729088639201,2.752808988764045,2.4843945068664173,2.209737827715356,3.732833957553059,5.593008739076155,1.7790262172284643,2.977528089887641,6.429463171036204,5.380774032459426,2.715355805243446,4.032459425717852,2.852684144818976,8.05243445692884,5.805243445692884,1.9850187265917605,2.184769038701623,6.30461922596754,5.468164794007491,3.2709113607990012,2.5593008739076155,2.752808988764045,7.677902621722847,4.781523096129837,3.1772784019975036,6.30461922596754,4.750312109862672,5.280898876404494,5.7553058676654185,8.05243445692884,3.2709113607990012,4.931335830212235,5.667915106117353,7.17852684144819,7.615480649188515,4.912609238451935,3.607990012484395,4.65043695380774,4.956304619225968,3.1960049937578026,7.553058676654182,4.975031210986267,3.7952559300873907,7.17852684144819,3.3270911360799,4.937578027465668,5.580524344569288,5.980024968789014,7.17852684144819,5.280898876404494,7.49063670411985,7.365792759051186,5.436953807740325,4.419475655430712,2.4906367041198503,3.439450686641698,8.11485642946317,5.274656679151062,4.606741573033708,2.322097378277154,7.865168539325843,5.617977528089888,6.679151061173534,3.3770287141073654,5.143570536828964,4.962546816479401,7.240948813982522,1.9538077403245941,3.826466916354557,3.4831460674157304,4.250936329588015,7.49063670411985,2.8027465667915106,6.741573033707866,6.023720349563047,5.605493133583021, +5.574282147315855,7.17852684144819,4.225967540574282,7.0536828963795255,5.174781523096129,5.15605493133583,2.1036204744069913,4.956304619225968,2.7715355805243447,4.3508114856429465,5.0062421972534334,3.0836454431960054,1.7915106117353308,2.134831460674157,3.1960049937578026,7.677902621722847,6.429463171036204,4.70661672908864,3.508114856429463,3.0212234706616727,5.724094881398252,7.240948813982522,4.500624219725343,7.428214731585518,6.616729088639201,2.7840199750312107,2.515605493133583,2.2347066167290888,3.764044943820225,5.617977528089888,1.8039950062421974,3.0087390761548067,6.429463171036204,5.405742821473158,2.7340823970037453,4.051186017478152,2.8901373283395753,8.11485642946317,5.830212234706617,2.00374531835206,2.209737827715356,6.367041198501872,5.493133583021224,3.3021223470661676,2.5905118601747814,2.777777777777778,7.677902621722847,4.812734082397004,3.2084893882646695,6.30461922596754,4.781523096129837,5.312109862671661,5.786516853932584,8.05243445692884,3.295880149812734,4.950062421972534,5.692883895131087,7.240948813982522,7.615480649188515,4.943820224719102,3.6267166042446943,4.675405742821473,4.987515605493134,3.214731585518102,7.553058676654182,5.0,3.8202247191011236,7.240948813982522,3.352059925093633,4.962546816479401,5.611735330836455,6.0174781523096135,7.17852684144819,5.312109862671661,7.553058676654182,7.428214731585518,5.455680399500624,4.450686641697877,2.515605493133583,3.470661672908864,8.177278401997503,5.305867665418227,4.637952559300874,2.340823970037453,7.927590511860175,5.64294631710362,6.741573033707866,3.408239700374532,5.168539325842697,4.9937578027465666,7.303370786516854,1.978776529338327,3.857677902621723,3.5143570536828963,4.282147315855181,7.49063670411985,2.8339575530586765,6.741573033707866,6.048689138576779,5.6242197253433215, +5.599250936329588,7.17852684144819,4.257178526841448,7.116104868913857,5.199750312109863,5.181023720349563,2.122347066167291,4.987515605493134,2.8027465667915106,4.375780274656679,5.031210986267166,3.114856429463171,1.8102372034956304,2.1660424469413235,3.2209737827715355,7.740324594257178,6.491885143570538,4.737827715355805,3.5268414481897628,3.0399500624219726,5.7553058676654185,7.240948813982522,4.525593008739076,7.49063670411985,6.679151061173534,2.8152309612983775,2.546816479400749,2.259675405742821,3.7952559300873907,5.64294631710362,1.8289637952559301,3.0399500624219726,6.491885143570538,5.430711610486892,2.7590511860174782,4.0761548064918856,2.9213483146067416,8.11485642946317,5.855181023720349,2.0287141073657926,2.2347066167290888,6.367041198501872,5.524344569288389,3.3333333333333335,2.6217228464419473,2.8027465667915106,7.740324594257178,4.843945068664169,3.245942571785269,6.367041198501872,4.806491885143571,5.343320848938826,5.811485642946318,8.11485642946317,3.320848938826467,4.9687890137328345,5.724094881398252,7.240948813982522,7.677902621722847,4.9687890137328345,3.651685393258427,4.694132334581773,5.0187265917602994,3.2397003745318353,7.615480649188515,5.0187265917602994,3.8389513108614235,7.240948813982522,3.3770287141073654,4.987515605493134,5.64294631710362,6.048689138576779,7.17852684144819,5.337078651685393,7.553058676654182,7.428214731585518,5.480649188514358,4.488139825218477,2.5405742821473156,3.508114856429463,8.239700374531834,5.337078651685393,4.675405742821473,2.3657927590511862,7.927590511860175,5.667915106117353,6.741573033707866,3.439450686641698,5.19350811485643,5.031210986267166,7.303370786516854,2.00374531835206,3.888888888888889,3.5393258426966296,4.31960049937578,7.553058676654182,2.871410736579276,6.803995006242197,6.073657927590512,5.6491885143570535, +5.630461922596755,7.240948813982522,4.294631710362047,7.116104868913857,5.224719101123595,5.205992509363296,2.1473158551810236,5.012484394506866,2.8339575530586765,4.394506866416979,5.049937578027466,3.139825218476904,1.8352059925093633,2.1910112359550564,3.245942571785269,7.740324594257178,6.491885143570538,4.769038701622971,3.5518102372034956,3.0649188514357055,5.786516853932584,7.303370786516854,4.55056179775281,7.49063670411985,6.679151061173534,2.84019975031211,2.578027465667915,2.2846441947565546,3.826466916354557,5.667915106117353,1.8539325842696628,3.077403245942572,6.491885143570538,5.449438202247191,2.7840199750312107,4.1011235955056184,2.958801498127341,8.177278401997503,5.8739076154806495,2.0474406991260925,2.259675405742821,6.367041198501872,5.549313358302123,3.370786516853933,2.6466916354556806,2.8339575530586765,7.740324594257178,4.881398252184769,3.2771535580524347,6.367041198501872,4.837702871410737,5.380774032459426,5.836454431960051,8.11485642946317,3.3458177278401995,4.9937578027465666,5.749063670411985,7.303370786516854,7.677902621722847,4.9937578027465666,3.6704119850187267,4.712858926342073,5.049937578027466,3.258426966292135,7.615480649188515,5.043695380774032,3.8639200998751564,7.240948813982522,3.4019975031210987,5.012484394506866,5.674157303370786,6.079900124843945,7.240948813982522,5.3620474406991265,7.615480649188515,7.428214731585518,5.499375780274657,4.519350811485642,2.565543071161049,3.5393258426966296,8.239700374531834,5.36828963795256,4.70661672908864,2.3845193508114857,7.990012484394507,5.692883895131087,6.741573033707866,3.470661672908864,5.218476903870163,5.062421972534332,7.365792759051186,2.0287141073657926,3.920099875156055,3.564294631710362,4.3508114856429465,7.553058676654182,2.902621722846442,6.803995006242197,6.098626716604246,5.674157303370786, +5.66167290886392,7.303370786516854,4.325842696629214,7.17852684144819,5.249687890137328,5.224719101123595,2.1722846441947565,5.0374531835206,2.8589263420724094,4.419475655430712,5.074906367041199,3.17103620474407,1.8601747815230962,2.2222222222222223,3.2709113607990012,7.8027465667915115,6.554307116104869,4.800249687890138,3.576779026217228,3.0836454431960054,5.811485642946318,7.303370786516854,4.569288389513109,7.553058676654182,6.741573033707866,2.871410736579276,2.602996254681648,2.309612983770287,3.857677902621723,5.692883895131087,1.8789013732833957,3.108614232209738,6.491885143570538,5.474406991260924,2.8027465667915106,4.1260923845193505,2.990012484394507,8.177278401997503,5.8988764044943816,2.066167290886392,2.278401997503121,6.429463171036204,5.574282147315855,3.4019975031210987,2.6779026217228465,2.8589263420724094,7.8027465667915115,4.912609238451935,3.3146067415730336,6.429463171036204,4.868913857677903,5.411985018726591,5.861423220973783,8.177278401997503,3.370786516853933,5.012484394506866,5.7802746566791505,7.365792759051186,7.677902621722847,5.024968789013733,3.689138576779026,4.737827715355805,5.081148564294631,3.2833957553058677,7.677902621722847,5.068664169787765,3.882646691635456,7.303370786516854,3.4269662921348316,5.0374531835206,5.705368289637952,6.111111111111111,7.240948813982522,5.393258426966292,7.615480649188515,7.49063670411985,5.524344569288389,4.55056179775281,2.5905118601747814,3.576779026217228,8.302122347066168,5.399500624219725,4.737827715355805,2.4094881398252186,7.990012484394507,5.711610486891385,6.803995006242197,3.5018726591760303,5.243445692883895,5.093632958801498,7.365792759051186,2.0536828963795255,3.951310861423221,3.595505617977528,4.382022471910113,7.615480649188515,2.9400749063670415,6.866416978776529,6.123595505617978,5.69912609238452, +5.692883895131087,7.303370786516854,4.357053682896379,7.17852684144819,5.274656679151062,5.249687890137328,2.1910112359550564,5.062421972534332,2.8901373283395753,4.444444444444445,5.093632958801498,3.202247191011236,1.8789013732833957,2.253433208489388,3.295880149812734,7.8027465667915115,6.554307116104869,4.831460674157303,3.6017478152309614,3.102372034956305,5.842696629213483,7.365792759051186,4.594257178526841,7.553058676654182,6.741573033707866,2.902621722846442,2.634207240948814,2.33458177278402,3.888888888888889,5.711610486891385,1.9038701622971288,3.1460674157303368,6.554307116104869,5.493133583021224,2.8277153558052435,4.144818976279651,3.027465667915106,8.239700374531834,5.9238451935081144,2.091136079900125,2.303370786516854,6.429463171036204,5.599250936329588,3.4332084893882646,2.7091136079900124,2.8838951310861427,7.8027465667915115,4.943820224719102,3.3458177278401995,6.429463171036204,4.893882646691636,5.449438202247191,5.8863920099875156,8.177278401997503,3.3957553058676653,5.031210986267166,5.805243445692884,7.365792759051186,7.740324594257178,5.049937578027466,3.7078651685393256,4.7565543071161045,5.1123595505617985,3.3021223470661676,7.677902621722847,5.087390761548065,3.9076154806491883,7.303370786516854,3.451935081148564,5.062421972534332,5.736579275905119,6.1485642946317105,7.240948813982522,5.418227215980025,7.677902621722847,7.49063670411985,5.543071161048689,4.588014981273409,2.6154806491885143,3.6142322097378274,8.302122347066168,5.430711610486892,4.775280898876405,2.428214731585518,8.05243445692884,5.736579275905119,6.803995006242197,3.533083645443196,5.268414481897628,5.1248439450686645,7.365792759051186,2.0724094881398254,3.982521847690387,3.620474406991261,4.413233458177278,7.677902621722847,2.9712858926342074,6.866416978776529,6.1485642946317105,5.717852684144819, +5.724094881398252,7.365792759051186,4.394506866416979,7.240948813982522,5.299625468164794,5.274656679151062,2.215980024968789,5.087390761548065,2.9213483146067416,4.463171036204744,5.118601747815231,3.233458177278402,1.9038701622971288,2.2846441947565546,3.320848938826467,7.865168539325843,6.616729088639201,4.8626716604244695,3.6267166042446943,3.1273408239700373,5.8739076154806495,7.365792759051186,4.619225967540574,7.615480649188515,6.803995006242197,2.9275905118601746,2.66541822721598,2.359550561797753,3.920099875156055,5.736579275905119,1.9288389513108615,3.1772784019975036,6.554307116104869,5.5181023720349565,2.8464419475655434,4.169787765293384,3.058676654182272,8.239700374531834,5.948813982521848,2.1098626716604243,2.328339575530587,6.429463171036204,5.630461922596755,3.464419475655431,2.7340823970037453,2.9151061173533086,7.865168539325843,4.9812734082397006,3.3770287141073654,6.491885143570538,4.925093632958801,5.480649188514358,5.917602996254682,8.239700374531834,3.4144818976279647,5.056179775280899,5.836454431960051,7.428214731585518,7.740324594257178,5.074906367041199,3.7265917602996255,4.775280898876405,5.143570536828964,3.3270911360799,7.740324594257178,5.1123595505617985,3.926342072409488,7.303370786516854,3.4769038701622974,5.081148564294631,5.767790262172285,6.179775280898876,7.303370786516854,5.449438202247191,7.677902621722847,7.49063670411985,5.561797752808988,4.619225967540574,2.640449438202247,3.6454431960049942,8.3645443196005,5.461922596754057,4.806491885143571,2.453183520599251,8.05243445692884,5.761548064918852,6.866416978776529,3.564294631710362,5.293383270911361,5.15605493133583,7.428214731585518,2.097378277153558,4.013732833957553,3.6454431960049942,4.450686641697877,7.677902621722847,3.0024968789013733,6.928838951310862,6.173533083645444,5.742821473158552, +5.7553058676654185,7.365792759051186,4.425717852684145,7.240948813982522,5.324594257178527,5.293383270911361,2.2409488139825218,5.118601747815231,2.9525593008739075,4.488139825218477,5.1373283395755305,3.258426966292135,1.9288389513108615,2.3158551810237205,3.3458177278401995,7.865168539325843,6.616729088639201,4.893882646691636,3.651685393258427,3.1460674157303368,5.8988764044943816,7.428214731585518,4.644194756554308,7.615480649188515,6.803995006242197,2.958801498127341,2.696629213483146,2.3845193508114857,3.951310861423221,5.761548064918852,1.9538077403245941,3.2084893882646695,6.616729088639201,5.536828963795256,2.871410736579276,4.194756554307116,3.0961298377028714,8.302122347066168,5.97378277153558,2.128589263420724,2.35330836454432,6.491885143570538,5.655430711610487,3.5018726591760303,2.7652933832709112,2.9400749063670415,7.865168539325843,5.012484394506866,3.4144818976279647,6.491885143570538,4.950062421972534,5.5181023720349565,5.942571785268415,8.302122347066168,3.439450686641698,5.074906367041199,5.867665418227216,7.428214731585518,7.8027465667915115,5.106117353308365,3.745318352059925,4.800249687890138,5.181023720349563,3.352059925093633,7.740324594257178,5.131086142322098,3.951310861423221,7.365792759051186,3.5018726591760303,5.106117353308365,5.799001248439451,6.210986267166042,7.303370786516854,5.474406991260924,7.740324594257178,7.553058676654182,5.586766541822722,4.656679151061174,2.6591760299625467,3.682896379525593,8.426966292134832,5.493133583021224,4.837702871410737,2.471910112359551,8.11485642946317,5.786516853932584,6.866416978776529,3.595505617977528,5.318352059925093,5.19350811485643,7.428214731585518,2.122347066167291,4.044943820224719,3.6704119850187267,4.4818976279650435,7.740324594257178,3.0399500624219726,6.928838951310862,6.20474406991261,5.767790262172285, +5.786516853932584,7.428214731585518,4.463171036204744,7.240948813982522,5.34956304619226,5.318352059925093,2.259675405742821,5.143570536828964,2.977528089887641,4.51310861423221,5.15605493133583,3.2896379525593007,1.9475655430711611,2.340823970037453,3.370786516853933,7.927590511860175,6.679151061173534,4.925093632958801,3.6766541822721597,3.17103620474407,5.930087390761548,7.428214731585518,4.66916354556804,7.677902621722847,6.866416978776529,2.990012484394507,2.727840199750312,2.4094881398252186,3.982521847690387,5.786516853932584,1.978776529338327,3.245942571785269,6.616729088639201,5.561797752808988,2.8963795255930087,4.219725343320849,3.1273408239700373,8.302122347066168,5.998751560549313,2.1473158551810236,2.3782771535580522,6.491885143570538,5.68039950062422,3.533083645443196,2.7965043695380776,2.965043695380774,7.927590511860175,5.049937578027466,3.4456928838951315,6.491885143570538,4.9812734082397006,5.549313358302123,5.967540574282147,8.302122347066168,3.464419475655431,5.093632958801498,5.892634207240949,7.49063670411985,7.8027465667915115,5.131086142322098,3.764044943820225,4.818976279650437,5.212234706616729,3.370786516853933,7.8027465667915115,5.15605493133583,3.970037453183521,7.365792759051186,3.5205992509363297,5.131086142322098,5.830212234706617,6.242197253433209,7.365792759051186,5.499375780274657,7.740324594257178,7.553058676654182,5.605493133583021,4.687890137328339,2.68414481897628,3.714107365792759,8.426966292134832,5.524344569288389,4.875156054931336,2.4968789013732833,8.11485642946317,5.811485642946318,6.866416978776529,3.6267166042446943,5.343320848938826,5.224719101123595,7.49063670411985,2.1473158551810236,4.0761548064918856,3.701622971285893,4.51310861423221,7.8027465667915115,3.0711610486891385,6.991260923845194,6.229712858926342,5.786516853932584, +5.81772784019975,7.428214731585518,4.49438202247191,7.303370786516854,5.3745318352059925,5.337078651685393,2.2846441947565546,5.168539325842697,3.0087390761548067,4.531835205992509,5.181023720349563,3.320848938826467,1.9725343320848938,2.3720349563046192,3.3957553058676653,7.927590511860175,6.679151061173534,4.950062421972534,3.701622971285893,3.1897627965043696,5.961298377028713,7.49063670411985,4.694132334581773,7.677902621722847,6.866416978776529,3.0149812734082393,2.7590511860174782,2.4344569288389515,4.013732833957553,5.811485642946318,2.00374531835206,3.2771535580524347,6.616729088639201,5.586766541822722,2.9151061173533086,4.238451935081149,3.1647940074906367,8.3645443196005,6.023720349563047,2.1722846441947565,2.4032459425717856,6.554307116104869,5.711610486891385,3.564294631710362,2.8277153558052435,2.9962546816479403,7.927590511860175,5.081148564294631,3.4769038701622974,6.554307116104869,5.0062421972534334,5.580524344569288,5.992509363295881,8.3645443196005,3.4893882646691634,5.118601747815231,5.9238451935081144,7.553058676654182,7.8027465667915115,5.15605493133583,3.7827715355805243,4.837702871410737,5.243445692883895,3.3957553058676653,7.8027465667915115,5.181023720349563,3.9950062421972534,7.365792759051186,3.545568039950062,5.15605493133583,5.861423220973783,6.30461922596754,7.365792759051186,5.5305867665418225,7.8027465667915115,7.553058676654182,5.6242197253433215,4.725343320848939,2.7091136079900124,3.7515605493133584,8.489388264669165,5.555555555555556,4.906367041198502,2.515605493133583,8.177278401997503,5.836454431960051,6.928838951310862,3.6579275905118602,5.36828963795256,5.2559300873907615,7.49063670411985,2.1722846441947565,4.107365792759051,3.7265917602996255,4.55056179775281,7.8027465667915115,3.108614232209738,6.991260923845194,6.242197253433209,5.811485642946318, +5.842696629213483,7.49063670411985,4.525593008739076,7.303370786516854,5.405742821473158,5.3620474406991265,2.309612983770287,5.19350811485643,3.0399500624219726,4.556803995006242,5.199750312109863,3.352059925093633,1.9975031210986267,2.4032459425717856,3.420724094881398,7.990012484394507,6.741573033707866,4.9812734082397006,3.7265917602996255,3.214731585518102,5.986267166042447,7.49063670411985,4.719101123595506,7.740324594257178,6.928838951310862,3.046192259675406,2.7840199750312107,2.459425717852684,4.044943820224719,5.836454431960051,2.0287141073657926,3.3083645443196006,6.679151061173534,5.605493133583021,2.9400749063670415,4.263420724094882,3.1960049937578026,8.3645443196005,6.0424469413233455,2.1910112359550564,2.428214731585518,6.554307116104869,5.736579275905119,3.595505617977528,2.852684144818976,3.0212234706616727,7.990012484394507,5.1123595505617985,3.5143570536828963,6.554307116104869,5.0374531835206,5.617977528089888,6.0174781523096135,8.3645443196005,3.5143570536828963,5.1373283395755305,5.948813982521848,7.553058676654182,7.865168539325843,5.187265917602996,3.801498127340824,4.8626716604244695,5.274656679151062,3.4144818976279647,7.865168539325843,5.199750312109863,4.013732833957553,7.428214731585518,3.5705368289637955,5.181023720349563,5.8863920099875156,6.30461922596754,7.365792759051186,5.555555555555556,7.8027465667915115,7.615480649188515,5.6491885143570535,4.7565543071161045,2.7340823970037453,3.7827715355805243,8.551810237203496,5.586766541822722,4.937578027465668,2.5405742821473156,8.177278401997503,5.855181023720349,6.928838951310862,3.689138576779026,5.393258426966292,5.287141073657928,7.553058676654182,2.1972534332084894,4.138576779026217,3.7515605493133584,4.581772784019975,7.865168539325843,3.139825218476904,7.0536828963795255,6.30461922596754,5.836454431960051, +5.8739076154806495,7.49063670411985,4.563046192259676,7.365792759051186,5.430711610486892,5.3870162297128585,2.328339575530587,5.218476903870163,3.0711610486891385,4.581772784019975,5.224719101123595,3.3770287141073654,2.016229712858926,2.4344569288389515,3.4456928838951315,7.990012484394507,6.741573033707866,5.012484394506866,3.7515605493133584,3.233458177278402,6.0174781523096135,7.553058676654182,4.7440699126092385,7.740324594257178,6.928838951310862,3.077403245942572,2.8152309612983775,2.4843945068664173,4.082397003745319,5.861423220973783,2.0536828963795255,3.3458177278401995,6.679151061173534,5.630461922596755,2.958801498127341,4.288389513108614,3.233458177278402,8.426966292134832,6.067415730337078,2.209737827715356,2.446941323345818,6.554307116104869,5.761548064918852,3.6329588014981273,2.8838951310861427,3.046192259675406,7.990012484394507,5.149812734082397,3.545568039950062,6.616729088639201,5.068664169787765,5.6491885143570535,6.048689138576779,8.426966292134832,3.533083645443196,5.162297128589263,5.980024968789014,7.615480649188515,7.865168539325843,5.212234706616729,3.826466916354557,4.881398252184769,5.305867665418227,3.439450686641698,7.865168539325843,5.224719101123595,4.038701622971286,7.428214731585518,3.595505617977528,5.205992509363296,5.917602996254682,6.367041198501872,7.428214731585518,5.580524344569288,7.865168539325843,7.615480649188515,5.667915106117353,4.794007490636704,2.7590511860174782,3.8202247191011236,8.551810237203496,5.617977528089888,4.975031210986267,2.5593008739076155,8.239700374531834,5.880149812734083,6.991260923845194,3.7203495630461925,5.418227215980025,5.318352059925093,7.553058676654182,2.2222222222222223,4.169787765293384,3.776529338327091,4.612983770287141,7.865168539325843,3.1772784019975036,7.0536828963795255,6.30461922596754,5.861423220973783, +5.905118601747815,7.553058676654182,4.594257178526841,7.365792759051186,5.455680399500624,5.405742821473158,2.35330836454432,5.249687890137328,3.0961298377028714,4.600499375780275,5.243445692883895,3.408239700374532,2.0411985018726595,2.4656679151061174,3.470661672908864,8.05243445692884,6.803995006242197,5.043695380774032,3.776529338327091,3.258426966292135,6.048689138576779,7.553058676654182,4.769038701622971,7.8027465667915115,6.991260923845194,3.102372034956305,2.8464419475655434,2.5093632958801497,4.1136079900124844,5.8863920099875156,2.0786516853932584,3.3770287141073654,6.679151061173534,5.6491885143570535,2.9837702871410734,4.313358302122348,3.2646691635455682,8.426966292134832,6.092384519350812,2.2347066167290888,2.471910112359551,6.616729088639201,5.786516853932584,3.6641697877652937,2.9151061173533086,3.077403245942572,8.05243445692884,5.181023720349563,3.5830212234706615,6.616729088639201,5.093632958801498,5.686641697877653,6.073657927590512,8.426966292134832,3.5580524344569286,5.181023720349563,6.004993757802747,7.615480649188515,7.927590511860175,5.237203495630462,3.8451935081148565,4.900124843945068,5.337078651685393,3.464419475655431,7.927590511860175,5.243445692883895,4.057428214731585,7.428214731585518,3.620474406991261,5.230961298377029,5.948813982521848,6.367041198501872,7.428214731585518,5.611735330836455,7.865168539325843,7.615480649188515,5.686641697877653,4.825218476903871,2.7840199750312107,3.857677902621723,8.614232209737828,5.64294631710362,5.0062421972534334,2.5842696629213484,8.239700374531834,5.905118601747815,6.991260923845194,3.7515605493133584,5.443196004993759,5.34956304619226,7.615480649188515,2.2409488139825218,4.200998751560549,3.8077403245942576,4.65043695380774,7.927590511860175,3.2084893882646695,7.116104868913857,6.30461922596754,5.880149812734083, +5.936329588014981,7.553058676654182,4.6254681647940075,7.428214731585518,5.480649188514358,5.430711610486892,2.3782771535580522,5.274656679151062,3.1273408239700373,4.6254681647940075,5.268414481897628,3.439450686641698,2.066167290886392,2.4906367041198503,3.495630461922597,8.05243445692884,6.803995006242197,5.074906367041199,3.801498127340824,3.2771535580524347,6.073657927590512,7.615480649188515,4.787765293383271,7.8027465667915115,6.991260923845194,3.1335830212234708,2.8776529338327093,2.5343320848938826,4.144818976279651,5.9113607990012484,2.1036204744069913,3.4144818976279647,6.741573033707866,5.674157303370786,3.0087390761548067,4.332084893882647,3.3021223470661676,8.489388264669165,6.117353308364544,2.253433208489388,2.4968789013732833,6.616729088639201,5.81772784019975,3.6953807740324596,2.9400749063670415,3.102372034956305,8.05243445692884,5.212234706616729,3.6142322097378274,6.679151061173534,5.1248439450686645,5.717852684144819,6.098626716604246,8.489388264669165,3.5830212234706615,5.199750312109863,6.036204744069912,7.677902621722847,7.927590511860175,5.268414481897628,3.8639200998751564,4.925093632958801,5.36828963795256,3.4831460674157304,7.927590511860175,5.268414481897628,4.082397003745319,7.49063670411985,3.6454431960049942,5.2559300873907615,5.980024968789014,6.429463171036204,7.428214731585518,5.636704119850187,7.927590511860175,7.677902621722847,5.711610486891385,4.8626716604244695,2.808988764044944,3.888888888888889,8.614232209737828,5.674157303370786,5.043695380774032,2.602996254681648,8.302122347066168,5.930087390761548,6.991260923845194,3.7827715355805243,5.468164794007491,5.3870162297128585,7.615480649188515,2.2659176029962547,4.2322097378277155,3.83270911360799,4.681647940074906,7.990012484394507,3.245942571785269,7.116104868913857,6.367041198501872,5.905118601747815, +5.967540574282147,7.615480649188515,4.662921348314606,7.428214731585518,5.50561797752809,5.455680399500624,2.397003745318352,5.299625468164794,3.1585518102372037,4.65043695380774,5.287141073657928,3.464419475655431,2.084893882646692,2.521847690387016,3.5205992509363297,8.11485642946317,6.866416978776529,5.106117353308365,3.826466916354557,3.3021223470661676,6.104868913857677,7.615480649188515,4.812734082397004,7.8027465667915115,7.0536828963795255,3.1647940074906367,2.908863920099875,2.5593008739076155,4.176029962546816,5.936329588014981,2.128589263420724,3.4456928838951315,6.741573033707866,5.692883895131087,3.027465667915106,4.357053682896379,3.3333333333333335,8.489388264669165,6.142322097378277,2.272159800249688,2.521847690387016,6.616729088639201,5.842696629213483,3.732833957553059,2.9712858926342074,3.1273408239700373,8.11485642946317,5.249687890137328,3.6454431960049942,6.679151061173534,5.149812734082397,5.7553058676654185,6.123595505617978,8.551810237203496,3.607990012484395,5.224719101123595,6.061173533083646,7.740324594257178,7.927590511860175,5.293383270911361,3.882646691635456,4.943820224719102,5.399500624219725,3.508114856429463,7.990012484394507,5.293383270911361,4.1011235955056184,7.49063670411985,3.6704119850187267,5.280898876404494,6.01123595505618,6.429463171036204,7.49063670411985,5.66167290886392,7.927590511860175,7.677902621722847,5.730337078651686,4.893882646691636,2.8339575530586765,3.926342072409488,8.67665418227216,5.705368289637952,5.074906367041199,2.6279650436953808,8.302122347066168,5.955056179775282,7.0536828963795255,3.81398252184769,5.493133583021224,5.418227215980025,7.677902621722847,2.2908863920099876,4.263420724094882,3.857677902621723,4.712858926342073,7.990012484394507,3.2771535580524347,7.17852684144819,6.367041198501872,5.930087390761548, +5.998751560549313,7.615480649188515,4.694132334581773,7.49063670411985,5.5305867665418225,5.474406991260924,2.4219725343320846,5.324594257178527,3.183520599250936,4.66916354556804,5.305867665418227,3.495630461922597,2.1098626716604243,2.5530586766541825,3.545568039950062,8.11485642946317,6.866416978776529,5.1373283395755305,3.8514357053682895,3.320848938826467,6.1360799001248445,7.677902621722847,4.837702871410737,7.865168539325843,7.0536828963795255,3.1897627965043696,2.933832709113608,2.5842696629213484,4.207240948813983,5.961298377028713,2.153558052434457,3.4769038701622974,6.741573033707866,5.717852684144819,3.0524344569288386,4.382022471910113,3.370786516853933,8.551810237203496,6.167290886392011,2.2908863920099876,2.546816479400749,6.679151061173534,5.867665418227216,3.764044943820225,3.0024968789013733,3.1585518102372037,8.11485642946317,5.280898876404494,3.682896379525593,6.741573033707866,5.181023720349563,5.786516853932584,6.1485642946317105,8.551810237203496,3.6329588014981273,5.243445692883895,6.092384519350812,7.740324594257178,7.990012484394507,5.318352059925093,3.9013732833957557,4.962546816479401,5.430711610486892,3.5268414481897628,7.990012484394507,5.312109862671661,4.1260923845193505,7.553058676654182,3.6953807740324596,5.305867665418227,6.0424469413233455,6.491885143570538,7.49063670411985,5.692883895131087,7.990012484394507,7.677902621722847,5.749063670411985,4.931335830212235,2.8589263420724094,3.957553058676654,8.739076154806492,5.736579275905119,5.106117353308365,2.6466916354556806,8.3645443196005,5.980024968789014,7.0536828963795255,3.8451935081148565,5.5181023720349565,5.449438202247191,7.677902621722847,2.3158551810237205,4.294631710362047,3.888888888888889,4.7440699126092385,8.05243445692884,3.3083645443196006,7.17852684144819,6.429463171036204,5.955056179775282, +6.029962546816479,7.677902621722847,4.725343320848939,7.49063670411985,5.555555555555556,5.499375780274657,2.446941323345818,5.34956304619226,3.214731585518102,4.694132334581773,5.33083645443196,3.5268414481897628,2.134831460674157,2.5842696629213484,3.5705368289637955,8.177278401997503,6.928838951310862,5.168539325842697,3.870162297128589,3.3458177278401995,6.161048689138577,7.677902621722847,4.8626716604244695,7.865168539325843,7.0536828963795255,3.2209737827715355,2.965043695380774,2.6092384519350813,4.238451935081149,5.986267166042447,2.1785268414481895,3.5143570536828963,6.803995006242197,5.742821473158552,3.0711610486891385,4.400749063670412,3.4019975031210987,8.551810237203496,6.186017478152309,2.3158551810237205,2.571785268414482,6.679151061173534,5.8988764044943816,3.7952559300873907,3.033707865168539,3.183520599250936,8.177278401997503,5.312109862671661,3.714107365792759,6.741573033707866,5.212234706616729,5.81772784019975,6.179775280898876,8.614232209737828,3.6579275905118602,5.262172284644195,6.117353308364544,7.8027465667915115,7.990012484394507,5.34956304619226,3.920099875156055,4.987515605493134,5.461922596754057,3.5518102372034956,8.05243445692884,5.337078651685393,4.144818976279651,7.553058676654182,3.7203495630461925,5.33083645443196,6.073657927590512,6.491885143570538,7.553058676654182,5.717852684144819,7.990012484394507,7.740324594257178,5.774032459425719,4.962546816479401,2.8838951310861427,3.9950062421972534,8.739076154806492,5.767790262172285,5.143570536828964,2.671660424469413,8.3645443196005,6.004993757802747,7.116104868913857,3.8764044943820224,5.543071161048689,5.480649188514358,7.740324594257178,2.340823970037453,4.31960049937578,3.9138576779026217,4.781523096129837,8.11485642946317,3.3458177278401995,7.240948813982522,6.429463171036204,5.97378277153558, +6.061173533083646,7.677902621722847,4.762796504369538,7.49063670411985,5.580524344569288,5.524344569288389,2.4656679151061174,5.380774032459426,3.245942571785269,4.719101123595506,5.34956304619226,3.5580524344569286,2.153558052434457,2.6154806491885143,3.589263420724095,8.177278401997503,6.928838951310862,5.199750312109863,3.8951310861423223,3.3645443196004994,6.192259675405743,7.740324594257178,4.887640449438202,7.927590511860175,7.116104868913857,3.2521847690387014,2.9962546816479403,2.634207240948814,4.269662921348314,6.01123595505618,2.203495630461923,3.545568039950062,6.803995006242197,5.761548064918852,3.0961298377028714,4.425717852684145,3.439450686641698,8.614232209737828,6.210986267166042,2.33458177278402,2.596754057428215,6.679151061173534,5.9238451935081144,3.826466916354557,3.058676654182272,3.2084893882646695,8.177278401997503,5.34956304619226,3.7515605493133584,6.803995006242197,5.237203495630462,5.855181023720349,6.20474406991261,8.614232209737828,3.6766541822721597,5.287141073657928,6.1485642946317105,7.8027465667915115,8.05243445692884,5.3745318352059925,3.938826466916354,5.0062421972534334,5.493133583021224,3.5705368289637955,8.05243445692884,5.355805243445693,4.169787765293384,7.553058676654182,3.745318352059925,5.355805243445693,6.104868913857677,6.554307116104869,7.553058676654182,5.742821473158552,8.05243445692884,7.740324594257178,5.792759051186017,4.9937578027465666,2.908863920099875,4.02621722846442,8.801498127340825,5.799001248439451,5.174781523096129,2.690387016229713,8.426966292134832,6.023720349563047,7.116104868913857,3.9076154806491883,5.568039950062421,5.511860174781523,7.740324594257178,2.3657927590511862,4.3508114856429465,3.938826466916354,4.812734082397004,8.11485642946317,3.3770287141073654,7.240948813982522,6.429463171036204,5.998751560549313, +6.086142322097379,7.740324594257178,4.794007490636704,7.553058676654182,5.605493133583021,5.543071161048689,2.4906367041198503,5.405742821473158,3.2771535580524347,4.737827715355805,5.3745318352059925,3.5830212234706615,2.1785268414481895,2.640449438202247,3.6142322097378274,8.177278401997503,,,3.920099875156055,3.3895131086142323,6.223470661672909,7.740324594257178,4.912609238451935,7.927590511860175,7.116104868913857,3.2771535580524347,3.027465667915106,2.6591760299625467,4.300873907615481,6.036204744069912,2.2284644194756553,3.576779026217228,6.803995006242197,5.786516853932584,3.1210986267166043,4.450686641697877,3.470661672908864,8.614232209737828,6.235955056179775,2.35330836454432,2.6154806491885143,6.741573033707866,5.948813982521848,3.8639200998751564,3.089887640449438,3.2397003745318353,8.239700374531834,,3.7827715355805243,6.803995006242197,5.268414481897628,5.8863920099875156,,8.67665418227216,3.701622971285893,5.305867665418227,6.179775280898876,,8.05243445692884,5.399500624219725,3.957553058676654,5.024968789013733,5.5305867665418225,3.595505617977528,8.11485642946317,5.380774032459426,4.188514357053683,7.615480649188515,3.764044943820225,5.380774032459426,6.1360799001248445,6.554307116104869,7.553058676654182,5.774032459425719,8.05243445692884,7.740324594257178,5.811485642946318,5.031210986267166,2.933832709113608,4.063670411985019,,5.830212234706617,5.205992509363296,2.7091136079900124,,6.048689138576779,7.116104868913857,3.938826466916354,5.593008739076155,5.549313358302123,,2.3907615480649187,4.382022471910113,3.9637952559300875,4.843945068664169,,3.4144818976279647,7.240948813982522,6.491885143570538,6.023720349563047, +6.117353308364544,7.8027465667915115,4.831460674157303,7.553058676654182,5.630461922596755,5.568039950062421,2.515605493133583,5.430711610486892,3.3021223470661676,4.762796504369538,5.393258426966292,3.6142322097378274,2.203495630461923,2.671660424469413,3.639200998751561,8.239700374531834,,,3.9450686641697876,3.408239700374532,6.242197253433209,7.8027465667915115,4.937578027465668,7.990012484394507,7.17852684144819,3.3083645443196006,3.058676654182272,2.68414481897628,4.332084893882647,6.061173533083646,2.253433208489388,3.6142322097378274,6.866416978776529,5.805243445692884,3.139825218476904,4.475655430711611,3.508114856429463,8.67665418227216,6.242197253433209,2.3782771535580522,2.640449438202247,6.741573033707866,5.97378277153558,3.8951310861423223,3.1210986267166043,3.2646691635455682,8.239700374531834,,3.81398252184769,6.866416978776529,5.293383270911361,5.9238451935081144,,8.67665418227216,,5.324594257178527,6.20474406991261,,8.05243445692884,5.430711610486892,3.9762796504369535,5.049937578027466,5.561797752808988,3.620474406991261,8.11485642946317,5.405742821473158,4.213483146067416,7.615480649188515,3.7890137328339577,5.405742821473158,6.167290886392011,6.616729088639201,7.615480649188515,5.799001248439451,8.11485642946317,7.8027465667915115,5.836454431960051,5.062421972534332,,4.1011235955056184,,5.861423220973783,5.243445692883895,2.7340823970037453,,6.073657927590512,7.17852684144819,3.970037453183521,5.617977528089888,5.580524344569288,,2.4094881398252186,4.413233458177278,3.9950062421972534,4.881398252184769,,3.4456928838951315,7.303370786516854,6.491885143570538,6.048689138576779, +6.1485642946317105,7.8027465667915115,4.8626716604244695,7.615480649188515,5.655430711610487,5.593008739076155,2.5343320848938826,5.455680399500624,3.3333333333333335,4.787765293383271,5.418227215980025,3.6454431960049942,2.2222222222222223,2.702871410736579,3.6641697877652937,8.239700374531834,,,3.970037453183521,3.4269662921348316,6.30461922596754,7.8027465667915115,4.962546816479401,7.990012484394507,7.17852684144819,3.339575530586767,3.089887640449438,2.7091136079900124,4.3632958801498125,6.086142322097379,2.272159800249688,3.6454431960049942,6.866416978776529,5.830212234706617,3.1647940074906367,4.49438202247191,3.545568039950062,8.67665418227216,6.30461922596754,2.397003745318352,2.66541822721598,6.741573033707866,6.004993757802747,3.926342072409488,3.1460674157303368,3.2896379525593007,8.302122347066168,,,6.866416978776529,5.324594257178527,5.955056179775282,,8.739076154806492,,5.34956304619226,6.235955056179775,,8.11485642946317,5.455680399500624,4.001248439450687,5.068664169787765,5.593008739076155,3.639200998751561,8.177278401997503,5.424469413233458,4.2322097378277155,7.615480649188515,3.81398252184769,5.430711610486892,6.198501872659176,6.616729088639201,7.615480649188515,5.830212234706617,8.11485642946317,7.8027465667915115,5.855181023720349,5.099875156054932,,4.132334581772784,,5.892634207240949,5.274656679151062,2.752808988764045,,6.098626716604246,7.17852684144819,4.001248439450687,5.6491885143570535,5.611735330836455,,2.4344569288389515,4.444444444444445,4.019975031210986,4.912609238451935,,3.4831460674157304,7.303370786516854,6.554307116104869,6.067415730337078, +,7.865168539325843,4.893882646691636,,5.68039950062422,5.611735330836455,2.5593008739076155,,3.3645443196004994,4.806491885143571,5.436953807740325,3.6766541822721597,2.247191011235955,2.7340823970037453,3.689138576779026,8.302122347066168,,,3.9950062421972534,3.451935081148564,6.30461922596754,7.865168539325843,4.987515605493134,8.05243445692884,7.240948813982522,3.3645443196004994,3.114856429463171,2.7340823970037453,4.400749063670412,6.111111111111111,2.2971285892634206,3.682896379525593,6.866416978776529,5.848938826466916,3.183520599250936,4.519350811485642,3.576779026217228,8.739076154806492,6.30461922596754,2.4157303370786516,2.690387016229713,6.803995006242197,6.029962546816479,3.957553058676654,3.1772784019975036,3.3146067415730336,8.302122347066168,,,6.928838951310862,5.34956304619226,5.986267166042447,,8.801498127340825,,5.36828963795256,6.242197253433209,,8.11485642946317,5.480649188514358,4.019975031210986,5.087390761548065,5.6242197253433215,3.6641697877652937,8.177278401997503,5.449438202247191,4.257178526841448,7.677902621722847,3.8389513108614235,5.455680399500624,6.229712858926342,6.679151061173534,7.615480649188515,5.855181023720349,8.177278401997503,7.8027465667915115,5.880149812734083,5.131086142322098,,4.169787765293384,,5.9238451935081144,5.305867665418227,2.777777777777778,,6.123595505617978,7.240948813982522,4.032459425717852,5.674157303370786,5.64294631710362,,2.459425717852684,4.475655430711611,4.044943820224719,4.943820224719102,,3.5143570536828963,7.365792759051186,6.554307116104869,6.092384519350812, +,7.865168539325843,4.931335830212235,,5.705368289637952,5.636704119850187,2.5842696629213484,,3.3957553058676653,4.831460674157303,5.455680399500624,3.701622971285893,2.272159800249688,2.7652933832709112,3.714107365792759,,,,4.019975031210986,3.470661672908864,6.367041198501872,7.865168539325843,5.0062421972534334,,7.240948813982522,3.3957553058676653,3.1460674157303368,2.7590511860174782,4.431960049937578,6.1360799001248445,,3.714107365792759,6.928838951310862,5.8739076154806495,3.2084893882646695,4.544319600499376,3.6142322097378274,8.739076154806492,6.30461922596754,2.4406991260923845,2.715355805243446,6.803995006242197,6.054931335830212,3.9950062421972534,3.2084893882646695,3.3458177278401995,8.3645443196005,,,6.928838951310862,5.380774032459426,6.023720349563047,,8.801498127340825,,5.3870162297128585,6.30461922596754,,8.177278401997503,5.50561797752809,4.038701622971286,5.1123595505617985,5.655430711610487,3.682896379525593,8.239700374531834,5.468164794007491,4.275905118601748,7.677902621722847,3.8639200998751564,5.480649188514358,6.242197253433209,6.679151061173534,7.677902621722847,5.880149812734083,8.177278401997503,7.865168539325843,5.8988764044943816,5.168539325842697,,,,5.955056179775282,5.343320848938826,2.7965043695380776,,6.1485642946317105,7.240948813982522,4.063670411985019,5.69912609238452,5.674157303370786,,2.4843945068664173,4.506866416978776,4.069912609238452,4.9812734082397006,,3.5518102372034956,7.365792759051186,6.616729088639201,6.117353308364544, +,7.927590511860175,4.962546816479401,,5.730337078651686,5.655430711610487,2.602996254681648,,3.420724094881398,4.850187265917603,5.480649188514358,3.732833957553059,2.2908863920099876,2.790262172284644,3.7390761548064915,,,,4.044943820224719,3.495630461922597,6.367041198501872,7.927590511860175,5.031210986267166,,7.303370786516854,3.4269662921348316,3.1772784019975036,2.7840199750312107,4.463171036204744,,,3.745318352059925,6.928838951310862,5.8988764044943816,3.233458177278402,4.569288389513109,3.6454431960049942,8.801498127340825,6.367041198501872,2.459425717852684,2.740324594257179,6.866416978776529,6.086142322097379,4.02621722846442,3.2397003745318353,3.370786516853933,8.3645443196005,,,6.991260923845194,5.411985018726591,6.054931335830212,,8.863920099875156,,5.411985018726591,6.30461922596754,,8.177278401997503,5.536828963795256,4.057428214731585,5.131086142322098,5.686641697877653,3.7078651685393256,8.239700374531834,5.493133583021224,4.294631710362047,7.677902621722847,3.888888888888889,5.50561797752809,6.30461922596754,6.741573033707866,7.677902621722847,5.9113607990012484,8.239700374531834,7.865168539325843,5.917602996254682,5.199750312109863,,,,5.986267166042447,5.3745318352059925,2.82147315855181,,6.173533083645444,7.240948813982522,4.094881398252185,5.724094881398252,5.705368289637952,,2.5093632958801497,4.538077403245943,4.1011235955056184,5.012484394506866,,3.5830212234706615,7.428214731585518,,6.1360799001248445, +,7.927590511860175,4.9937578027465666,,5.7553058676654185,5.68039950062422,2.6279650436953808,,3.451935081148564,4.875156054931336,5.499375780274657,3.764044943820225,2.3158551810237205,2.82147315855181,3.764044943820225,,,,4.069912609238452,3.5143570536828963,6.367041198501872,7.990012484394507,5.056179775280899,,7.303370786516854,3.4581772784019975,3.2084893882646695,2.808988764044944,4.49438202247191,,,3.7827715355805243,6.928838951310862,5.917602996254682,3.2521847690387014,,3.682896379525593,8.801498127340825,6.367041198501872,2.478152309612984,2.7590511860174782,6.866416978776529,6.111111111111111,4.057428214731585,3.2646691635455682,3.3957553058676653,8.426966292134832,,,6.991260923845194,5.436953807740325,6.092384519350812,,8.863920099875156,,5.430711610486892,6.367041198501872,,8.239700374531834,5.561797752808988,4.0761548064918856,5.149812734082397,5.717852684144819,3.7265917602996255,8.302122347066168,5.5181023720349565,4.31960049937578,7.740324594257178,3.9138576779026217,5.5305867665418225,6.30461922596754,6.741573033707866,7.740324594257178,5.936329588014981,8.239700374531834,7.865168539325843,5.942571785268415,5.237203495630462,,,,6.0174781523096135,5.405742821473158,2.84019975031211,,6.192259675405743,7.303370786516854,4.1260923845193505,5.749063670411985,5.742821473158552,,2.5343320848938826,4.569288389513109,4.1260923845193505,5.043695380774032,,3.6142322097378274,7.428214731585518,,6.161048689138577, +,7.990012484394507,5.031210986267166,,5.7802746566791505,5.705368289637952,,,3.4831460674157304,4.900124843945068,5.524344569288389,3.7952559300873907,2.340823970037453,2.852684144818976,3.7890137328339577,,,,4.094881398252185,3.5393258426966296,6.429463171036204,7.990012484394507,5.081148564294631,,7.365792759051186,3.4831460674157304,3.2397003745318353,2.8339575530586765,4.525593008739076,,,3.81398252184769,6.991260923845194,,3.2771535580524347,,3.714107365792759,8.863920099875156,6.429463171036204,2.4968789013732833,2.7840199750312107,6.866416978776529,6.1360799001248445,4.0886392009987516,3.295880149812734,,8.426966292134832,,,7.0536828963795255,5.468164794007491,6.123595505617978,,8.926342072409488,,5.455680399500624,6.367041198501872,,8.239700374531834,,4.094881398252185,5.174781523096129,5.749063670411985,3.7515605493133584,8.302122347066168,5.536828963795256,4.33832709113608,7.740324594257178,3.938826466916354,5.555555555555556,,6.803995006242197,7.740324594257178,5.961298377028713,8.302122347066168,7.927590511860175,5.961298377028713,5.268414481897628,,,,6.048689138576779,5.443196004993759,2.865168539325843,,6.217228464419476,7.303370786516854,4.157303370786517,5.774032459425719,5.774032459425719,,2.5530586766541825,4.600499375780275,4.151061173533084,5.081148564294631,,3.651685393258427,,,6.186017478152309, +,,5.062421972534332,,5.805243445692884,,,,3.5143570536828963,4.918851435705368,5.543071161048689,3.8202247191011236,2.359550561797753,2.8838951310861427,3.81398252184769,,,,4.119850187265917,3.5580524344569286,6.429463171036204,8.05243445692884,5.106117353308365,,7.365792759051186,3.5143570536828963,3.2709113607990012,2.8589263420724094,4.556803995006242,,,3.8451935081148565,6.991260923845194,,3.295880149812734,,3.7515605493133584,8.863920099875156,6.429463171036204,2.521847690387016,2.808988764044944,6.928838951310862,6.161048689138577,4.1260923845193505,3.3270911360799,,8.489388264669165,,,7.0536828963795255,5.493133583021224,6.161048689138577,,,,5.474406991260924,6.429463171036204,,8.239700374531834,,4.1136079900124844,5.19350811485643,5.7802746566791505,3.776529338327091,8.3645443196005,5.561797752808988,4.3632958801498125,7.740324594257178,3.9637952559300875,5.580524344569288,,6.803995006242197,,5.992509363295881,8.302122347066168,7.927590511860175,5.980024968789014,5.305867665418227,,,,6.079900124843945,5.474406991260924,2.8838951310861427,,6.242197253433209,7.365792759051186,4.18227215980025,5.799001248439451,5.805243445692884,,2.578027465667915,4.631710362047441,4.18227215980025,5.1123595505617985,,3.682896379525593,,,6.210986267166042, +,,5.093632958801498,,5.830212234706617,,,,3.5393258426966296,4.943820224719102,5.568039950062421,3.8514357053682895,2.3845193508114857,2.908863920099875,3.8389513108614235,,,,4.144818976279651,3.5830212234706615,6.491885143570538,,5.131086142322098,,7.428214731585518,3.545568039950062,3.295880149812734,2.8838951310861427,4.588014981273409,,,3.882646691635456,6.991260923845194,,3.320848938826467,,,8.926342072409488,6.429463171036204,2.5405742821473156,2.8339575530586765,6.928838951310862,,,3.352059925093633,,8.489388264669165,,,7.116104868913857,5.524344569288389,6.192259675405743,,,,5.493133583021224,6.429463171036204,,8.302122347066168,,4.132334581772784,5.212234706616729,5.811485642946318,3.7952559300873907,8.3645443196005,5.580524344569288,4.382022471910113,7.8027465667915115,3.9887640449438204,5.605493133583021,,6.866416978776529,,6.0174781523096135,8.3645443196005,7.927590511860175,6.004993757802747,5.337078651685393,,,,6.111111111111111,5.50561797752809,2.908863920099875,,6.242197253433209,7.365792759051186,4.213483146067416,5.823970037453184,5.836454431960051,,2.602996254681648,4.662921348314606,4.207240948813983,5.143570536828964,,3.7203495630461925,,,6.229712858926342, +,,5.131086142322098,,5.855181023720349,,,,3.5705368289637955,4.9687890137328345,5.586766541822722,3.882646691635456,2.4094881398252186,2.9400749063670415,3.8639200998751564,,,,4.169787765293384,3.6017478152309614,6.491885143570538,,5.15605493133583,,7.428214731585518,3.5705368289637955,3.3270911360799,2.908863920099875,4.619225967540574,,,3.9138576779026217,7.0536828963795255,,3.3458177278401995,,,8.926342072409488,6.491885143570538,2.5593008739076155,2.8589263420724094,6.928838951310862,,,3.383270911360799,,8.551810237203496,,,7.116104868913857,,,,,,5.5181023720349565,6.491885143570538,,8.302122347066168,,4.151061173533084,5.237203495630462,5.842696629213483,3.8202247191011236,8.426966292134832,5.605493133583021,4.406991260923846,7.8027465667915115,4.00749063670412,5.630461922596755,,,,6.0424469413233455,8.3645443196005,7.990012484394507,6.023720349563047,5.3745318352059925,,,,,5.543071161048689,2.9275905118601746,,6.30461922596754,7.428214731585518,4.244694132334582,5.848938826466916,5.867665418227216,,2.6279650436953808,4.694132334581773,4.2322097378277155,5.174781523096129,,3.7515605493133584,,,6.242197253433209, +,,5.162297128589263,,,,,,3.6017478152309614,4.987515605493134,5.605493133583021,3.9076154806491883,2.428214731585518,2.9712858926342074,,,,,4.194756554307116,3.6267166042446943,6.554307116104869,,5.181023720349563,,7.49063670411985,3.6017478152309614,3.3583021223470664,2.933832709113608,4.65043695380774,,,,7.0536828963795255,,3.3645443196004994,,,8.98876404494382,,2.5842696629213484,2.8838951310861427,6.991260923845194,,,3.4144818976279647,,8.551810237203496,,,7.116104868913857,,,,,,5.536828963795256,6.491885143570538,,8.3645443196005,,4.176029962546816,5.2559300873907615,5.880149812734083,3.8389513108614235,8.426966292134832,5.6242197253433215,4.425717852684145,7.8027465667915115,4.032459425717852,,,,,6.073657927590512,8.426966292134832,7.990012484394507,6.0424469413233455,5.405742821473158,,,,,,2.9525593008739075,,,7.428214731585518,,5.8739076154806495,5.905118601747815,,,,4.257178526841448,5.212234706616729,,,,,6.30461922596754, +,,,,,,,,3.6329588014981273,5.012484394506866,5.630461922596755,3.938826466916354,2.453183520599251,3.0024968789013733,,,,,4.213483146067416,3.6454431960049942,6.554307116104869,,5.205992509363296,,7.49063670411985,3.6329588014981273,,2.958801498127341,4.681647940074906,,,,7.0536828963795255,,3.3895131086142323,,,8.98876404494382,,2.602996254681648,2.908863920099875,6.991260923845194,,,,,,,,7.17852684144819,,,,,,5.555555555555556,6.491885143570538,,8.3645443196005,,4.194756554307116,5.274656679151062,5.9113607990012484,3.8639200998751564,8.489388264669165,5.6491885143570535,4.450686641697877,,4.057428214731585,,,,,6.098626716604246,8.426966292134832,7.990012484394507,6.067415730337078,,,,,,,2.9712858926342074,,,7.428214731585518,,5.8988764044943816,5.936329588014981,,,,4.288389513108614,5.243445692883895,,,,,6.30461922596754, +,,,,,,,,3.6579275905118602,5.0374531835206,5.6491885143570535,,2.471910112359551,3.033707865168539,,,,,,3.6704119850187267,6.616729088639201,,5.224719101123595,,7.553058676654182,,,2.9837702871410734,4.712858926342073,,,,7.116104868913857,,3.408239700374532,,,9.051186017478152,,,2.9275905118601746,6.991260923845194,,,,,,,,7.17852684144819,,,,,,5.580524344569288,6.554307116104869,,,,4.213483146067416,5.299625468164794,5.942571785268415,3.888888888888889,8.489388264669165,,4.4694132334581775,,4.082397003745319,,,,,6.123595505617978,8.489388264669165,8.05243445692884,6.086142322097379,,,,,,,2.9962546816479403,,,7.49063670411985,,5.9238451935081144,5.967540574282147,,,,,5.274656679151062,,,,,6.30461922596754, +,,,,,,,,3.689138576779026,5.056179775280899,,,2.4968789013732833,3.058676654182272,,,,,,3.689138576779026,6.616729088639201,,5.249687890137328,,7.553058676654182,,,3.0087390761548067,,,,,7.116104868913857,,3.4332084893882646,,,9.051186017478152,,,2.9525593008739075,7.0536828963795255,,,,,,,,7.240948813982522,,,,,,,,,,,4.2322097378277155,5.318352059925093,5.97378277153558,3.9076154806491883,8.551810237203496,,4.49438202247191,,4.107365792759051,,,,,6.154806491885144,8.489388264669165,8.05243445692884,6.104868913857677,,,,,,,3.0149812734082393,,,7.49063670411985,,5.948813982521848,5.998751560549313,,,,,,,,,,6.367041198501872, +,,,,,,,,3.7203495630461925,,,,,3.089887640449438,,,,,,3.714107365792759,6.679151061173534,,5.274656679151062,,7.553058676654182,,,3.033707865168539,,,,,,,3.4581772784019975,,,9.113607990012484,,,2.977528089887641,,,,,,,,,7.240948813982522,,,,,,,,,,,4.250936329588015,5.337078651685393,6.004993757802747,3.9325842696629216,8.551810237203496,,,,4.132334581772784,,,,,6.179775280898876,8.551810237203496,8.05243445692884,6.129837702871411,,,,,,,3.0399500624219726,,,7.553058676654182,,5.97378277153558,6.029962546816479,,,,,,,,,,6.367041198501872, +,,,,,,,,,,,,,3.1210986267166043,,,,,,3.732833957553059,6.679151061173534,,5.299625468164794,,,,,3.058676654182272,,,,,,,,,,9.113607990012484,,,,,,,,,,,,7.303370786516854,,,,,,,,,,,4.269662921348314,5.3620474406991265,6.036204744069912,3.951310861423221,8.614232209737828,,,,,,,,,6.210986267166042,8.551810237203496,8.11485642946317,6.1485642946317105,,,,,,,3.058676654182272,,,7.553058676654182,,,,,,,,,,,,,6.367041198501872, +,,,,,,,,,,,,,3.15230961298377,,,,,,3.7515605493133584,6.741573033707866,,5.324594257178527,,,,,3.0836454431960054,,,,,,,,,,9.176029962546817,,,,,,,,,,,,7.303370786516854,,,,,,,,,,,4.288389513108614,5.380774032459426,6.067415730337078,3.9762796504369535,8.614232209737828,,,,,,,,,6.235955056179775,,8.11485642946317,6.167290886392011,,,,,,,3.077403245942572,,,7.553058676654182,,,,,,,,,,,,,6.429463171036204, +,,,,,,,,,,,,,,,,,,,,6.741573033707866,,,,,,,,,,,,,,,,,9.176029962546817,,,,,,,,,,,,,,,,,,,,,,,,5.399500624219725,6.098626716604246,,8.67665418227216,,,,,,,,,6.242197253433209,,8.11485642946317,6.192259675405743,,,,,,,3.102372034956305,,,7.615480649188515,,,,,,,,,,,,,6.429463171036204, +,,,,,,,,,,,,,,,,,,,,6.803995006242197,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5.424469413233458,,,,,,,,,,,,6.30461922596754,,,6.210986267166042,,,,,,,3.1210986267166043,,,7.615480649188515,,,,,,,,,,,,,, +3.651685393258427,5.074906367041199,2.1161048689138577,5.305867665418227,3.589263420724095,3.7265917602996255,0.6554307116104868,3.3021223470661676,0.9051186017478152,2.908863920099875,3.6641697877652937,1.223470661672909,0.35268414481897625,0.24968789013732834,1.647940074906367,5.855181023720349,4.4818976279650435,2.7590511860174782,1.9600499375780276,1.6541822721598003,3.8951310861423223,5.224719101123595,2.9712858926342074,5.474406991260924,4.800249687890138,0.9488139825218477,0.6173533083645443,0.6616729088639202,1.7602996254681649,4.057428214731585,0.24781523096129837,0.8926342072409489,5.099875156054932,4.001248439450687,1.317103620474407,2.5842696629213484,0.717852684144819,6.179775280898876,4.313358302122348,0.7116104868913858,0.6928838951310862,4.956304619225968,3.8077403245942576,1.2359550561797754,0.7365792759051186,1.079900124843945,5.724094881398252,2.702871410736579,1.0923845193508115,4.444444444444445,2.9837702871410734,3.183520599250936,4.132334581772784,5.81772784019975,1.797752808988764,3.6267166042446943,3.9076154806491883,4.875156054931336,6.029962546816479,3.2397003745318353,2.4032459425717856,3.3645443196004994,2.9837702871410734,1.8102372034956304,5.6491885143570535,3.5830212234706615,2.446941323345818,5.855181023720349,1.8164794007490637,3.3957553058676653,3.6766541822721597,3.957553058676654,5.705368289637952,3.595505617977528,5.593008739076155,6.104868913857677,4.138576779026217,2.303370786516854,0.9550561797752809,1.2796504369538078,5.730337078651686,3.3645443196004994,2.5343320848938826,0.9800249687890138,5.930087390761548,4.1260923845193505,5.1248439450686645,1.4544319600499376,3.576779026217228,2.958801498127341,5.436953807740325,0.466916354556804,1.9101123595505618,1.8352059925093633,2.1972534332084894,5.031210986267166,0.6928838951310862,4.856429463171036,4.425717852684145,4.157303370786517, +3.682896379525593,5.1123595505617985,2.153558052434457,5.33083645443196,3.6142322097378274,3.745318352059925,0.6803995006242198,3.3270911360799,0.9363295880149812,2.933832709113608,3.682896379525593,1.2546816479400749,0.3757802746566792,0.27965043695380776,1.6729088639200997,5.880149812734083,4.51310861423221,2.790262172284644,1.9850187265917605,1.6791510611735332,3.920099875156055,5.262172284644195,2.9962546816479403,5.50561797752809,4.831460674157303,0.9737827715355806,0.6491885143570537,0.686641697877653,1.7915106117353308,4.082397003745319,0.2727840199750312,0.9300873907615481,5.1248439450686645,4.019975031210986,1.34207240948814,2.6092384519350813,0.7490636704119851,6.210986267166042,4.33832709113608,0.7303370786516854,0.717852684144819,4.975031210986267,3.8389513108614235,1.2671660424469413,0.7677902621722846,1.104868913857678,5.7553058676654185,2.7340823970037453,1.1235955056179776,4.475655430711611,3.0087390761548067,3.214731585518102,4.157303370786517,5.855181023720349,1.8164794007490637,3.651685393258427,3.9325842696629216,4.912609238451935,6.054931335830212,3.2709113607990012,2.4219725343320846,3.383270911360799,3.0149812734082393,1.8289637952559301,5.68039950062422,3.607990012484395,2.4656679151061174,5.880149812734083,1.8414481897627966,3.420724094881398,3.7078651685393256,3.9887640449438204,5.730337078651686,3.6267166042446943,5.6242197253433215,6.129837702871411,4.16354556803995,2.340823970037453,0.9800249687890138,1.3108614232209737,5.767790262172285,3.3895131086142323,2.571785268414482,0.9987515605493134,5.961298377028713,4.151061173533084,5.149812734082397,1.4856429463171037,3.6017478152309614,2.990012484394507,5.468164794007491,0.49063670411985016,1.941323345817728,1.8601747815230962,2.2347066167290888,5.068664169787765,0.7303370786516854,4.887640449438202,4.450686641697877,4.18227215980025, +3.714107365792759,5.143570536828964,2.184769038701623,5.3620474406991265,3.639200998751561,3.7702871410736583,0.7053682896379525,3.3583021223470664,0.9675405742821472,2.958801498127341,3.7078651685393256,1.2796504369538078,0.39825218476903873,0.3096129837702871,1.6978776529338326,5.9113607990012484,4.544319600499376,2.82147315855181,2.009987515605493,1.6978776529338326,3.951310861423221,5.293383270911361,3.0149812734082393,5.536828963795256,4.856429463171036,1.0049937578027466,0.6803995006242198,0.7116104868913858,1.8227215980024971,4.107365792759051,0.29712858926342073,0.9612983770287141,5.143570536828964,4.044943820224719,1.3670411985018727,2.634207240948814,0.7865168539325842,6.242197253433209,4.3632958801498125,0.7553058676654182,0.7428214731585518,5.0,3.8639200998751564,1.2983770287141074,0.7927590511860175,1.1298377028714106,5.786516853932584,2.7715355805243447,1.161048689138577,4.506866416978776,3.0399500624219726,3.245942571785269,4.188514357053683,5.892634207240949,1.8414481897627966,3.6704119850187267,3.9637952559300875,4.950062421972534,6.086142322097379,3.295880149812734,2.446941323345818,3.4019975031210987,3.046192259675406,1.8539325842696628,5.711610486891385,3.6329588014981273,2.4906367041198503,5.8988764044943816,1.8664169787765295,3.4456928838951315,3.7390761548064915,4.019975031210986,5.7553058676654185,3.651685393258427,5.655430711610487,6.1485642946317105,4.18227215980025,2.3720349563046192,1.0049937578027466,1.348314606741573,5.805243445692884,3.420724094881398,2.602996254681648,1.0237203495630463,5.992509363295881,4.176029962546816,5.174781523096129,1.5168539325842696,3.6267166042446943,3.0212234706616727,5.499375780274657,0.5149812734082396,1.9725343320848938,1.8851435705368291,2.2659176029962547,5.106117353308365,0.7615480649188515,4.918851435705368,4.475655430711611,4.207240948813983, +3.745318352059925,5.174781523096129,2.215980024968789,5.3870162297128585,3.6641697877652937,3.7952559300873907,0.7240948813982522,3.383270911360799,0.9987515605493134,2.977528089887641,3.7265917602996255,1.3108614232209737,0.4213483146067416,0.33957553058676654,1.7228464419475658,5.942571785268415,4.575530586766542,2.8464419475655434,2.034956304619226,1.7228464419475658,3.982521847690387,5.324594257178527,3.0399500624219726,5.568039950062421,4.887640449438202,1.0362047440699127,0.7053682896379525,0.7365792759051186,1.8539325842696628,4.132334581772784,0.32209737827715357,0.9987515605493134,5.168539325842697,4.069912609238452,1.3857677902621723,2.6591760299625467,0.8177278401997503,6.30461922596754,4.388264669163545,0.7740324594257179,0.7677902621722846,5.0187265917602994,3.888888888888889,1.3358302122347065,0.8239700374531835,1.161048689138577,5.81772784019975,2.8027465667915106,1.1922596754057428,4.538077403245943,3.0649188514357055,3.2833957553058677,4.213483146067416,5.930087390761548,1.8664169787765295,3.6953807740324596,3.9887640449438204,4.987515605493134,6.111111111111111,3.320848938826467,2.4656679151061174,3.4269662921348316,3.0836454431960054,1.8726591760299625,5.736579275905119,3.651685393258427,2.5093632958801497,5.9238451935081144,1.8913857677902621,3.470661672908864,3.7702871410736583,4.057428214731585,5.774032459425719,3.6766541822721597,5.686641697877653,6.167290886392011,4.200998751560549,2.4032459425717856,1.0299625468164793,1.3795255930087391,5.848938826466916,3.451935081148564,2.634207240948814,1.042446941323346,6.023720349563047,4.200998751560549,5.199750312109863,1.5480649188514357,3.651685393258427,3.0524344569288386,5.524344569288389,0.5387016229712859,2.00374531835206,1.9101123595505618,2.2971285892634206,5.149812734082397,0.7990012484394506,4.950062421972534,4.500624219725343,4.225967540574282, +3.776529338327091,5.212234706616729,2.253433208489388,5.418227215980025,3.689138576779026,3.81398252184769,0.7490636704119851,3.408239700374532,1.0237203495630463,3.0024968789013733,3.745318352059925,1.34207240948814,0.44382022471910115,0.36953807740324596,1.7415730337078652,5.97378277153558,4.606741573033708,2.8776529338327093,2.0599250936329585,1.7415730337078652,4.00749063670412,5.355805243445693,3.0649188514357055,5.599250936329588,4.918851435705368,1.0611735330836456,0.7365792759051186,0.7615480649188515,1.8851435705368291,4.157303370786517,0.3464419475655431,1.0299625468164793,5.187265917602996,4.0886392009987516,1.410736579275905,2.6779026217228465,0.8551810237203495,6.30461922596754,4.413233458177278,0.7927590511860175,0.7927590511860175,5.043695380774032,3.920099875156055,1.3670411985018727,0.8551810237203495,1.1860174781523096,5.848938826466916,2.8339575530586765,1.229712858926342,4.563046192259676,3.0961298377028714,3.3146067415730336,4.238451935081149,5.961298377028713,1.8913857677902621,3.714107365792759,4.019975031210986,5.024968789013733,6.1360799001248445,3.352059925093633,2.4843945068664173,3.4456928838951315,3.114856429463171,1.8976279650436954,5.767790262172285,3.6766541822721597,2.5343320848938826,5.942571785268415,1.916354556803995,3.495630461922597,3.801498127340824,4.0886392009987516,5.799001248439451,3.7078651685393256,5.717852684144819,6.192259675405743,4.225967540574282,2.4406991260923845,1.0549313358302121,1.4169787765293382,5.8863920099875156,3.4831460674157304,2.671660424469413,1.0674157303370786,6.054931335830212,4.225967540574282,5.224719101123595,1.5792759051186018,3.6766541822721597,3.089887640449438,5.555555555555556,0.5630461922596754,2.034956304619226,1.941323345817728,2.328339575530587,5.187265917602996,0.8302122347066168,4.975031210986267,4.531835205992509,4.250936329588015, +3.801498127340824,5.243445692883895,2.2846441947565546,5.443196004993759,3.714107365792759,3.8389513108614235,0.7740324594257179,3.4332084893882646,1.0549313358302121,3.027465667915106,3.7702871410736583,1.373283395755306,0.466916354556804,0.3995006242197253,1.766541822721598,5.998751560549313,4.637952559300874,2.908863920099875,2.084893882646692,1.766541822721598,4.038701622971286,5.3870162297128585,3.089887640449438,5.630461922596755,4.943820224719102,1.0923845193508115,0.7677902621722846,0.7865168539325842,1.916354556803995,4.18227215980025,0.3714107365792759,1.0611735330836456,5.212234706616729,4.1136079900124844,1.4294631710362047,2.702871410736579,0.8863920099875156,6.30461922596754,4.438202247191011,0.8114856429463172,0.8177278401997503,5.062421972534332,3.9450686641697876,1.3982521847690388,0.8801498127340824,1.2109862671660423,5.880149812734083,2.871410736579276,1.260923845193508,4.594257178526841,3.1210986267166043,3.352059925093633,4.263420724094882,5.998751560549313,1.916354556803995,3.732833957553059,4.051186017478152,5.062421972534332,6.161048689138577,3.3770287141073654,2.5031210986267167,3.464419475655431,3.1460674157303368,1.916354556803995,5.799001248439451,3.6953807740324596,2.5530586766541825,5.967540574282147,1.941323345817728,3.5205992509363297,3.83270911360799,4.119850187265917,5.823970037453184,3.732833957553059,5.749063670411985,6.210986267166042,4.244694132334582,2.471910112359551,1.079900124843945,1.4544319600499376,5.9238451935081144,3.5143570536828963,2.702871410736579,1.0861423220973783,6.086142322097379,4.244694132334582,5.249687890137328,1.6104868913857677,3.701622971285893,3.1210986267166043,5.586766541822722,0.5867665418227216,2.066167290886392,1.9662921348314608,2.3657927590511862,5.224719101123595,0.867665418227216,5.0062421972534334,4.556803995006242,4.275905118601748, +3.83270911360799,5.274656679151062,2.3158551810237205,5.474406991260924,3.7390761548064915,3.857677902621723,0.7927590511860175,3.4581772784019975,1.0861423220973783,3.046192259675406,3.7890137328339577,1.3982521847690388,0.4893882646691636,0.42946317103620474,1.7915106117353308,6.029962546816479,4.66916354556804,2.9400749063670415,2.1098626716604243,1.7852684144818978,4.069912609238452,5.418227215980025,3.114856429463171,5.66167290886392,4.975031210986267,1.1235955056179776,0.7990012484394506,0.8114856429463172,1.9475655430711611,4.207240948813983,0.39637952559300876,1.0986267166042447,5.230961298377029,4.132334581772784,1.4544319600499376,2.727840199750312,0.9238451935081149,6.367041198501872,4.456928838951311,0.8364544319600499,0.8426966292134832,5.087390761548065,3.970037453183521,1.4294631710362047,0.9113607990012486,1.2421972534332086,5.9113607990012484,2.902621722846442,1.2921348314606742,4.6254681647940075,3.15230961298377,3.383270911360799,4.288389513108614,6.036204744069912,1.9350811485642945,3.7578027465667914,4.0761548064918856,5.099875156054932,6.186017478152309,3.4019975031210987,2.521847690387016,3.4893882646691634,3.1772784019975036,1.941323345817728,5.830212234706617,3.7203495630461925,2.578027465667915,5.986267166042447,1.9662921348314608,3.545568039950062,3.8639200998751564,4.151061173533084,5.848938826466916,3.7578027465667914,5.7802746566791505,6.229712858926342,4.263420724094882,2.5093632958801497,1.104868913857678,1.4856429463171037,5.961298377028713,3.545568039950062,2.7340823970037453,1.1111111111111112,6.117353308364544,4.269662921348314,5.274656679151062,1.6416978776529338,3.7265917602996255,3.15230961298377,5.611735330836455,0.6104868913857677,2.097378277153558,1.9912609238451935,2.397003745318352,5.262172284644195,0.898876404494382,5.0374531835206,4.581772784019975,4.294631710362047, +3.8639200998751564,5.312109862671661,2.35330836454432,5.499375780274657,3.764044943820225,3.882646691635456,0.8177278401997503,3.4893882646691634,1.1173533083645444,3.0711610486891385,3.81398252184769,1.4294631710362047,0.5124843945068664,0.45942571785268416,1.8164794007490637,6.061173533083646,4.700374531835206,2.9712858926342074,2.128589263420724,1.8102372034956304,4.094881398252185,5.449438202247191,3.139825218476904,5.692883895131087,5.0062421972534334,1.1485642946317103,0.8302122347066168,0.8364544319600499,1.978776529338327,4.2322097378277155,0.4207240948813982,1.1298377028714106,5.2559300873907615,4.157303370786517,1.4794007490636705,2.746566791510612,0.9550561797752809,6.367041198501872,4.4818976279650435,0.8551810237203495,0.8614232209737829,5.106117353308365,3.9950062421972534,1.466916354556804,0.9425717852684146,1.2671660424469413,5.942571785268415,2.9400749063670415,1.3295880149812733,4.656679151061174,3.183520599250936,3.4144818976279647,4.31960049937578,6.067415730337078,1.9600499375780276,3.776529338327091,4.107365792759051,5.1373283395755305,6.210986267166042,3.4332084893882646,2.5405742821473156,3.508114856429463,3.2084893882646695,1.9662921348314608,5.861423220973783,3.745318352059925,2.596754057428215,6.01123595505618,1.9912609238451935,3.5705368289637955,3.8951310861423223,4.188514357053683,5.867665418227216,3.7890137328339577,5.811485642946318,6.242197253433209,4.288389513108614,2.5405742821473156,1.1298377028714106,1.523096129837703,6.004993757802747,3.576779026217228,2.7715355805243447,1.1298377028714106,6.1485642946317105,4.294631710362047,5.299625468164794,1.6729088639200997,3.7515605493133584,3.183520599250936,5.64294631710362,0.6367041198501873,2.128589263420724,2.0224719101123596,2.428214731585518,5.305867665418227,0.9363295880149812,5.068664169787765,4.606741573033708,4.31960049937578, +3.8951310861423223,5.343320848938826,2.3845193508114857,5.5305867665418225,3.7890137328339577,3.9076154806491883,0.8426966292134832,3.5143570536828963,1.1423220973782773,3.0961298377028714,3.83270911360799,1.4606741573033708,0.534956304619226,0.4893882646691636,1.8414481897627966,6.086142322097379,4.7315855181023725,3.0024968789013733,2.153558052434457,1.8289637952559301,4.1260923845193505,5.480649188514358,3.1647940074906367,5.724094881398252,5.0374531835206,1.1797752808988764,0.8614232209737829,0.8614232209737829,2.016229712858926,4.257178526841448,0.44569288389513106,1.161048689138577,5.274656679151062,4.176029962546816,1.4981273408239701,2.7715355805243447,0.9925093632958802,6.429463171036204,4.506866416978776,0.8739076154806492,0.8863920099875156,5.131086142322098,4.02621722846442,1.4981273408239701,0.9737827715355806,1.2921348314606742,5.97378277153558,2.9712858926342074,1.3607990012484397,4.681647940074906,3.2084893882646695,3.451935081148564,4.344569288389513,6.104868913857677,1.9850187265917605,3.7952559300873907,4.132334581772784,5.174781523096129,6.235955056179775,3.4581772784019975,2.5593008739076155,3.5268414481897628,3.2397003745318353,1.9850187265917605,5.892634207240949,3.764044943820225,2.6217228464419473,6.029962546816479,2.016229712858926,3.595505617977528,3.926342072409488,4.219725343320849,5.892634207240949,3.81398252184769,5.842696629213483,6.242197253433209,4.307116104868914,2.578027465667915,1.1548064918851435,1.554307116104869,6.0424469413233455,3.607990012484395,2.8027465667915106,1.1548064918851435,6.179775280898876,4.31960049937578,5.324594257178527,1.704119850187266,3.776529338327091,3.214731585518102,5.674157303370786,0.6616729088639202,2.15980024968789,2.0474406991260925,2.4656679151061174,5.343320848938826,0.9675405742821472,5.099875156054932,4.631710362047441,4.344569288389513, +3.926342072409488,5.3745318352059925,2.4157303370786516,5.555555555555556,3.81398252184769,3.926342072409488,0.8614232209737829,3.5393258426966296,1.1735330836454432,3.114856429463171,3.857677902621723,1.4918851435705367,0.5580524344569288,0.519350811485643,1.8664169787765295,6.117353308364544,4.762796504369538,3.033707865168539,2.1785268414481895,1.8476903870162298,4.157303370786517,5.511860174781523,3.1897627965043696,5.7553058676654185,5.062421972534332,1.2109862671660423,0.8863920099875156,0.8863920099875156,2.0474406991260925,4.282147315855181,0.4700374531835206,1.198501872659176,5.299625468164794,4.200998751560549,1.523096129837703,2.7965043695380776,1.0237203495630463,6.429463171036204,4.531835205992509,0.898876404494382,0.9113607990012486,5.149812734082397,4.051186017478152,1.529338327091136,0.9987515605493134,1.3233458177278403,6.004993757802747,3.0024968789013733,1.3982521847690388,4.712858926342073,3.2397003745318353,3.4831460674157304,4.369538077403246,6.142322097378277,2.009987515605493,3.8202247191011236,4.16354556803995,5.212234706616729,6.242197253433209,3.4831460674157304,2.578027465667915,3.5518102372034956,3.2709113607990012,2.009987515605493,5.9238451935081144,3.7890137328339577,2.640449438202247,6.054931335830212,2.0411985018726595,3.620474406991261,3.957553058676654,4.250936329588015,5.917602996254682,3.8451935081148565,5.8739076154806495,6.30461922596754,4.325842696629214,2.6092384519350813,1.1797752808988764,1.591760299625468,6.079900124843945,3.639200998751561,2.8339575530586765,1.1735330836454432,6.210986267166042,4.344569288389513,5.34956304619226,1.735330836454432,3.801498127340824,3.245942571785269,5.705368289637952,0.6803995006242198,2.1910112359550564,2.0724094881398254,2.4968789013732833,5.380774032459426,0.9987515605493134,5.131086142322098,4.656679151061174,4.369538077403246, +3.957553058676654,5.411985018726591,2.453183520599251,5.586766541822722,3.8389513108614235,3.951310861423221,0.8863920099875156,3.564294631710362,1.2047440699126093,3.139825218476904,3.8764044943820224,1.5168539325842696,0.5811485642946317,0.548689138576779,1.8913857677902621,6.1485642946317105,4.794007490636704,3.0649188514357055,2.203495630461923,1.8726591760299625,4.18227215980025,5.543071161048689,3.214731585518102,5.786516853932584,5.093632958801498,1.2359550561797754,0.9176029962546817,0.9113607990012486,2.0786516853932584,4.307116104868914,0.4950062421972534,1.229712858926342,5.318352059925093,4.225967540574282,1.5418227215980027,2.82147315855181,1.0611735330836456,6.491885143570538,4.556803995006242,0.9176029962546817,0.9363295880149812,5.174781523096129,4.0761548064918856,1.5605493133583022,1.0299625468164793,1.348314606741573,6.036204744069912,3.0399500624219726,1.4294631710362047,4.7440699126092385,3.2646691635455682,3.5205992509363297,4.394506866416979,6.173533083645444,2.034956304619226,3.8389513108614235,4.188514357053683,5.249687890137328,6.30461922596754,3.5143570536828963,2.596754057428215,3.5705368289637955,3.3021223470661676,2.0287141073657926,5.955056179775282,3.8077403245942576,2.66541822721598,6.073657927590512,2.0599250936329585,3.6454431960049942,3.982521847690387,4.282147315855181,5.942571785268415,3.870162297128589,5.905118601747815,6.30461922596754,4.3508114856429465,2.6466916354556806,1.2047440699126093,1.6229712858926344,6.117353308364544,3.6704119850187267,2.871410736579276,1.198501872659176,6.242197253433209,4.369538077403246,5.3745318352059925,1.766541822721598,3.826466916354557,3.2833957553058677,5.730337078651686,0.7053682896379525,2.2222222222222223,2.097378277153558,2.5280898876404496,5.424469413233458,1.0362047440699127,5.15605493133583,4.681647940074906,4.388264669163545, +3.9887640449438204,5.443196004993759,2.4843945068664173,5.611735330836455,3.8639200998751564,3.9762796504369535,0.9113607990012486,3.589263420724095,1.2359550561797754,3.1647940074906367,3.8951310861423223,1.5480649188514357,0.6036204744069913,0.5786516853932584,1.916354556803995,6.179775280898876,4.825218476903871,3.0961298377028714,2.2284644194756553,1.8913857677902621,4.213483146067416,5.574282147315855,3.233458177278402,5.81772784019975,5.1248439450686645,1.2671660424469413,0.9488139825218477,0.9363295880149812,2.1098626716604243,4.332084893882647,0.5199750312109862,1.2671660424469413,5.337078651685393,4.244694132334582,1.5667915106117354,2.84019975031211,1.0923845193508115,6.491885143570538,4.581772784019975,0.9363295880149812,0.9612983770287141,5.199750312109863,4.1011235955056184,1.5980024968789013,1.0611735330836456,1.373283395755306,6.067415730337078,3.0711610486891385,1.4606741573033708,4.775280898876405,3.295880149812734,3.5518102372034956,4.419475655430712,6.210986267166042,2.0599250936329585,3.857677902621723,4.219725343320849,5.287141073657928,6.30461922596754,3.5393258426966296,2.6217228464419473,3.589263420724095,3.3333333333333335,2.0536828963795255,5.986267166042447,3.83270911360799,2.68414481897628,6.098626716604246,2.084893882646692,3.6704119850187267,4.013732833957553,4.31960049937578,5.961298377028713,3.8951310861423223,5.936329588014981,6.30461922596754,4.369538077403246,2.6779026217228465,1.229712858926342,1.6604244694132335,6.154806491885144,3.701622971285893,2.902621722846442,1.2172284644194757,6.30461922596754,4.394506866416979,5.399500624219725,1.797752808988764,3.8514357053682895,3.3146067415730336,5.761548064918852,0.7303370786516854,2.253433208489388,2.128589263420724,2.565543071161049,5.461922596754057,1.0674157303370786,5.187265917602996,4.70661672908864,4.413233458177278, +4.019975031210986,5.474406991260924,2.521847690387016,5.64294631710362,3.888888888888889,3.9950062421972534,0.9300873907615481,3.620474406991261,1.260923845193508,3.183520599250936,3.920099875156055,1.5792759051186018,0.6242197253433208,0.6086142322097379,1.941323345817728,6.20474406991261,4.856429463171036,3.1273408239700373,2.253433208489388,1.916354556803995,4.244694132334582,5.605493133583021,3.258426966292135,5.848938826466916,5.149812734082397,1.2983770287141074,0.9800249687890138,0.9612983770287141,2.1410736579275906,4.357053682896379,0.5443196004993758,1.2983770287141074,5.3620474406991265,4.269662921348314,1.591760299625468,2.865168539325843,1.1298377028714106,6.554307116104869,4.606741573033708,0.9550561797752809,0.9862671660424469,5.218476903870163,4.132334581772784,1.6292134831460674,1.0861423220973783,1.404494382022472,6.098626716604246,3.102372034956305,1.4981273408239701,4.800249687890138,3.3270911360799,3.589263420724095,4.450686641697877,6.242197253433209,2.0786516853932584,3.882646691635456,4.244694132334582,5.324594257178527,6.367041198501872,3.564294631710362,2.640449438202247,3.6142322097378274,3.3645443196004994,2.0786516853932584,6.0174781523096135,3.857677902621723,2.7091136079900124,6.117353308364544,2.1098626716604243,3.6953807740324596,4.044943820224719,4.3508114856429465,5.986267166042447,3.926342072409488,5.967540574282147,6.367041198501872,4.388264669163545,2.715355805243446,1.2484394506866416,1.6978776529338326,6.198501872659176,3.732833957553059,2.933832709113608,1.2359550561797754,6.30461922596754,4.413233458177278,5.424469413233458,1.8227215980024971,3.8764044943820224,3.3458177278401995,5.792759051186017,0.7553058676654182,2.2846441947565546,2.153558052434457,2.596754057428215,5.499375780274657,1.104868913857678,5.218476903870163,4.737827715355805,4.438202247191011, +4.044943820224719,5.511860174781523,2.5530586766541825,5.667915106117353,3.9138576779026217,4.019975031210986,0.9550561797752809,3.6454431960049942,1.2921348314606742,3.2084893882646695,3.938826466916354,1.6042446941323347,0.6491885143570537,0.6367041198501873,1.9662921348314608,6.235955056179775,4.887640449438202,3.1585518102372037,2.278401997503121,1.9350811485642945,4.269662921348314,5.64294631710362,3.2833957553058677,5.880149812734083,5.181023720349563,1.3233458177278403,1.0112359550561798,0.9862671660424469,2.1722846441947565,4.382022471910113,0.5692883895131086,1.3295880149812733,5.380774032459426,4.288389513108614,1.6104868913857677,2.8901373283395753,1.16729088639201,6.554307116104869,4.6254681647940075,0.9800249687890138,1.0112359550561798,5.243445692883895,4.157303370786517,1.6604244694132335,1.1173533083645444,1.4294631710362047,6.129837702871411,3.139825218476904,1.529338327091136,4.831460674157303,3.352059925093633,3.620474406991261,4.475655430711611,6.30461922596754,2.1036204744069913,3.9013732833957557,4.275905118601748,5.3620474406991265,6.367041198501872,3.595505617977528,2.6591760299625467,3.6329588014981273,3.3957553058676653,2.097378277153558,6.048689138576779,3.8764044943820224,2.727840199750312,6.1360799001248445,2.134831460674157,3.7203495630461925,4.0761548064918856,4.382022471910113,6.01123595505618,3.951310861423221,5.998751560549313,6.367041198501872,4.413233458177278,2.746566791510612,1.2734082397003745,1.7290886392009988,6.235955056179775,3.764044943820225,2.9712858926342074,1.260923845193508,6.367041198501872,4.438202247191011,5.449438202247191,1.8539325842696628,3.9013732833957557,3.3770287141073654,5.81772784019975,0.7802746566791511,2.3158551810237205,2.1785268414481895,2.6279650436953808,5.536828963795256,1.136079900124844,5.249687890137328,4.762796504369538,4.463171036204744, +4.0761548064918856,5.543071161048689,2.5842696629213484,5.69912609238452,3.938826466916354,4.044943820224719,0.9800249687890138,3.6704119850187267,1.3233458177278403,3.233458177278402,3.9637952559300875,1.6354556803995006,0.6741573033707865,0.6679151061173533,1.9912609238451935,6.242197253433209,4.918851435705368,3.1897627965043696,2.303370786516854,1.9600499375780276,4.300873907615481,5.674157303370786,3.3083645443196006,5.9113607990012484,5.212234706616729,1.3545568039950062,1.0362047440699127,1.0112359550561798,2.203495630461923,4.406991260923846,0.5942571785268415,1.3670411985018727,5.405742821473158,4.313358302122348,1.6354556803995006,2.9151061173533086,1.198501872659176,6.616729088639201,4.65043695380774,0.9987515605493134,1.0299625468164793,5.262172284644195,4.18227215980025,1.6978776529338326,1.1485642946317103,1.4544319600499376,6.161048689138577,3.17103620474407,1.5605493133583022,4.8626716604244695,3.383270911360799,3.651685393258427,4.500624219725343,6.30461922596754,2.128589263420724,3.920099875156055,4.300873907615481,5.399500624219725,6.367041198501872,3.620474406991261,2.6779026217228465,3.651685393258427,3.4332084893882646,2.122347066167291,6.079900124843945,3.9013732833957557,2.752808988764045,6.161048689138577,2.15980024968789,3.745318352059925,4.107365792759051,4.413233458177278,6.036204744069912,3.9762796504369535,6.029962546816479,6.367041198501872,4.431960049937578,2.7840199750312107,1.2983770287141074,1.766541822721598,6.30461922596754,3.7952559300873907,3.0024968789013733,1.2796504369538078,6.367041198501872,4.463171036204744,5.480649188514358,1.8851435705368291,3.926342072409488,3.408239700374532,5.848938826466916,0.8052434456928839,2.3470661672908864,2.203495630461923,2.66541822721598,5.580524344569288,1.1735330836454432,5.280898876404494,4.787765293383271,4.4818976279650435, +4.107365792759051,5.574282147315855,2.6217228464419473,5.724094881398252,3.9637952559300875,4.063670411985019,0.9987515605493134,3.6953807740324596,1.3545568039950062,3.2521847690387014,3.982521847690387,1.6666666666666667,0.6928838951310862,0.6991260923845194,2.016229712858926,6.30461922596754,4.950062421972534,3.2209737827715355,2.328339575530587,1.978776529338327,4.332084893882647,5.705368289637952,3.3333333333333335,5.942571785268415,5.237203495630462,1.3857677902621723,1.0674157303370786,1.0362047440699127,2.2347066167290888,4.431960049937578,0.618601747815231,1.3982521847690388,5.424469413233458,4.332084893882647,1.6541822721598003,2.933832709113608,1.2359550561797754,6.616729088639201,4.675405742821473,1.017478152309613,1.0549313358302121,5.287141073657928,4.213483146067416,1.7290886392009988,1.1797752808988764,1.4856429463171037,6.192259675405743,3.202247191011236,1.5980024968789013,4.893882646691636,3.408239700374532,3.689138576779026,4.525593008739076,6.367041198501872,2.153558052434457,3.9450686641697876,4.332084893882647,5.436953807740325,6.429463171036204,3.6454431960049942,2.696629213483146,3.6766541822721597,3.464419475655431,2.1410736579275906,6.111111111111111,3.920099875156055,2.7715355805243447,6.179775280898876,2.184769038701623,3.7702871410736583,4.138576779026217,4.444444444444445,6.054931335830212,4.00749063670412,6.061173533083646,6.429463171036204,4.450686641697877,2.8152309612983775,1.3233458177278403,1.797752808988764,6.30461922596754,3.826466916354557,3.0399500624219726,1.3046192259675407,6.429463171036204,4.488139825218477,5.50561797752809,1.916354556803995,3.951310861423221,3.4456928838951315,5.880149812734083,0.8239700374531835,2.3782771535580522,2.2347066167290888,2.696629213483146,5.617977528089888,1.2047440699126093,5.312109862671661,4.812734082397004,4.506866416978776, +4.138576779026217,5.611735330836455,2.6529338327091136,5.7553058676654185,3.9887640449438204,4.0886392009987516,1.0237203495630463,3.7265917602996255,1.3795255930087391,3.2771535580524347,4.00749063670412,1.6978776529338326,0.717852684144819,0.7303370786516854,2.0411985018726595,6.30461922596754,4.9812734082397006,3.2521847690387014,2.35330836454432,2.00374531835206,4.357053682896379,5.736579275905119,3.3583021223470664,5.967540574282147,5.268414481897628,1.410736579275905,1.0986267166042447,1.0611735330836456,2.2659176029962547,4.456928838951311,0.6429463171036205,1.4294631710362047,5.449438202247191,4.357053682896379,1.6791510611735332,2.958801498127341,1.2671660424469413,6.679151061173534,4.700374531835206,1.042446941323346,1.079900124843945,5.305867665418227,4.238451935081149,1.7602996254681649,1.2047440699126093,1.5106117353308364,6.223470661672909,3.2397003745318353,1.6292134831460674,4.918851435705368,3.439450686641698,3.7203495630461925,4.55056179775281,6.367041198501872,2.1785268414481895,3.9637952559300875,4.3632958801498125,5.474406991260924,6.429463171036204,3.6766541822721597,2.715355805243446,3.6953807740324596,3.495630461922597,2.1660424469413235,6.1360799001248445,3.9450686641697876,2.7965043695380776,6.20474406991261,2.209737827715356,3.7952559300873907,4.169787765293384,4.4818976279650435,6.079900124843945,4.032459425717852,6.092384519350812,6.429463171036204,4.475655430711611,2.8464419475655434,1.348314606741573,1.8352059925093633,6.367041198501872,3.857677902621723,3.0711610486891385,1.3233458177278403,6.429463171036204,4.51310861423221,5.5305867665418225,1.9475655430711611,3.9762796504369535,3.4769038701622974,5.905118601747815,0.8489388264669163,2.4094881398252186,2.259675405742821,2.727840199750312,5.655430711610487,1.2359550561797754,5.337078651685393,4.837702871410737,4.531835205992509, +4.169787765293384,5.64294631710362,2.68414481897628,5.7802746566791505,4.013732833957553,4.1136079900124844,1.048689138576779,3.7515605493133584,1.410736579275905,3.3021223470661676,4.02621722846442,1.7228464419475658,0.7428214731585518,0.7553058676654182,2.066167290886392,6.367041198501872,5.012484394506866,3.2833957553058677,2.3782771535580522,2.0224719101123596,4.388264669163545,5.767790262172285,3.383270911360799,5.998751560549313,5.299625468164794,1.4419475655430714,1.1298377028714106,1.0861423220973783,2.2971285892634206,4.4818976279650435,0.6679151061173533,1.466916354556804,5.468164794007491,4.382022471910113,1.704119850187266,2.9837702871410734,1.3046192259675407,6.679151061173534,4.725343320848939,1.0611735330836456,1.104868913857678,5.33083645443196,4.263420724094882,1.7915106117353308,1.2359550561797754,1.5355805243445693,6.242197253433209,3.2709113607990012,1.6666666666666667,4.950062421972534,3.464419475655431,3.7578027465667914,4.581772784019975,6.429463171036204,2.1972534332084894,3.9887640449438204,4.388264669163545,5.511860174781523,6.491885143570538,3.701622971285893,2.7340823970037453,3.714107365792759,3.5268414481897628,2.184769038701623,6.167290886392011,3.9637952559300875,2.8152309612983775,6.223470661672909,2.2347066167290888,3.8202247191011236,4.200998751560549,4.51310861423221,6.104868913857677,4.057428214731585,6.123595505617978,6.429463171036204,4.49438202247191,2.8838951310861427,1.373283395755306,1.8726591760299625,6.367041198501872,3.888888888888889,3.102372034956305,1.348314606741573,6.491885143570538,4.538077403245943,5.555555555555556,1.978776529338327,4.001248439450687,3.508114856429463,5.936329588014981,0.8739076154806492,2.4406991260923845,2.2846441947565546,2.7590511860174782,5.69912609238452,1.2734082397003745,5.36828963795256,4.8626716604244695,4.556803995006242, +4.200998751560549,5.674157303370786,2.7215980024968793,5.811485642946318,4.038701622971286,4.132334581772784,1.0674157303370786,3.776529338327091,1.4419475655430714,3.320848938826467,4.044943820224719,1.7540574282147314,0.7615480649188515,0.7865168539325842,2.091136079900125,6.367041198501872,5.043695380774032,3.3146067415730336,2.4032459425717856,2.0474406991260925,4.419475655430712,5.799001248439451,3.408239700374532,6.029962546816479,5.324594257178527,1.4731585518102372,1.161048689138577,1.1111111111111112,2.328339575530587,4.506866416978776,0.6928838951310862,1.4981273408239701,5.493133583021224,4.400749063670412,1.7228464419475658,3.0087390761548067,1.3358302122347065,6.741573033707866,4.750312109862672,1.079900124843945,1.1298377028714106,5.34956304619226,4.288389513108614,1.8289637952559301,1.2671660424469413,1.5605493133583022,6.30461922596754,3.3083645443196006,1.6978776529338326,4.9812734082397006,3.495630461922597,3.7890137328339577,4.606741573033708,6.429463171036204,2.2222222222222223,4.00749063670412,4.419475655430712,5.549313358302123,6.491885143570538,3.7265917602996255,2.752808988764045,3.7390761548064915,3.5580524344569286,2.209737827715356,6.198501872659176,3.9887640449438204,2.84019975031211,6.242197253433209,2.259675405742821,3.8451935081148565,4.2322097378277155,4.544319600499376,6.123595505617978,4.0886392009987516,6.1485642946317105,6.491885143570538,4.519350811485642,2.9151061173533086,1.3982521847690388,1.9038701622971288,6.429463171036204,3.920099875156055,3.139825218476904,1.3670411985018727,6.491885143570538,4.563046192259676,5.580524344569288,2.009987515605493,4.02621722846442,3.5393258426966296,5.967540574282147,0.898876404494382,2.4656679151061174,2.3158551810237205,2.7965043695380776,5.736579275905119,1.3046192259675407,5.399500624219725,4.887640449438202,4.575530586766542, +4.2322097378277155,5.711610486891385,2.752808988764045,5.836454431960051,4.063670411985019,4.157303370786517,1.0923845193508115,3.801498127340824,1.4731585518102372,3.3458177278401995,4.069912609238452,1.7852684144818978,0.7865168539325842,0.8177278401997503,2.1161048689138577,6.429463171036204,5.074906367041199,3.3458177278401995,2.428214731585518,2.066167290886392,4.444444444444445,5.830212234706617,3.4332084893882646,6.061173533083646,5.355805243445693,1.4981273408239701,1.1922596754057428,1.136079900124844,2.3657927590511862,4.525593008739076,0.717852684144819,1.5355805243445693,5.511860174781523,4.425717852684145,1.7478152309612984,3.027465667915106,1.373283395755306,6.741573033707866,4.769038701622971,1.104868913857678,1.1548064918851435,5.3745318352059925,4.31960049937578,1.8601747815230962,1.2921348314606742,1.591760299625468,6.30461922596754,3.339575530586767,1.7290886392009988,5.012484394506866,3.5268414481897628,3.826466916354557,4.631710362047441,6.491885143570538,2.247191011235955,4.02621722846442,4.444444444444445,5.586766541822722,6.491885143570538,3.7578027465667914,2.7715355805243447,3.7578027465667914,3.589263420724095,2.2347066167290888,6.229712858926342,4.013732833957553,2.8589263420724094,6.242197253433209,2.2846441947565546,3.870162297128589,4.263420724094882,4.575530586766542,6.1485642946317105,4.1136079900124844,6.179775280898876,6.491885143570538,4.538077403245943,2.9525593008739075,1.4232209737827717,1.941323345817728,6.491885143570538,3.9450686641697876,3.17103620474407,1.3920099875156053,6.554307116104869,4.581772784019975,5.605493133583021,2.0411985018726595,4.057428214731585,3.5705368289637955,5.992509363295881,0.9238451935081149,2.4968789013732833,2.340823970037453,2.8277153558052435,5.774032459425719,1.34207240948814,5.430711610486892,4.912609238451935,4.600499375780275, +4.263420724094882,5.742821473158552,2.7840199750312107,5.867665418227216,4.0886392009987516,4.18227215980025,1.1173533083645444,3.826466916354557,1.4981273408239701,3.370786516853933,4.0886392009987516,1.8164794007490637,0.8114856429463172,0.8489388264669163,2.1410736579275906,6.429463171036204,5.106117353308365,3.3770287141073654,2.453183520599251,2.091136079900125,4.475655430711611,5.861423220973783,3.4581772784019975,6.092384519350812,5.3870162297128585,1.529338327091136,1.2172284644194757,1.161048689138577,2.397003745318352,4.55056179775281,0.7428214731585518,1.5667915106117354,5.5305867665418225,4.444444444444445,1.766541822721598,3.0524344569288386,1.404494382022472,6.803995006242197,4.794007490636704,1.1235955056179776,1.1735330836454432,5.393258426966292,4.344569288389513,1.8913857677902621,1.3233458177278403,1.616729088639201,6.367041198501872,3.370786516853933,1.766541822721598,5.0374531835206,3.5518102372034956,3.857677902621723,4.656679151061174,6.554307116104869,2.272159800249688,4.051186017478152,4.475655430711611,5.6242197253433215,6.554307116104869,3.7827715355805243,2.7965043695380776,3.776529338327091,3.620474406991261,2.253433208489388,6.242197253433209,4.032459425717852,2.8838951310861427,6.30461922596754,2.303370786516854,3.8951310861423223,4.294631710362047,4.612983770287141,6.173533083645444,4.138576779026217,6.210986267166042,6.491885143570538,4.556803995006242,2.9837702871410734,1.4481897627965044,1.9725343320848938,6.491885143570538,3.9762796504369535,3.202247191011236,1.410736579275905,6.554307116104869,4.606741573033708,5.630461922596755,2.0724094881398254,4.082397003745319,3.6017478152309614,6.023720349563047,0.9488139825218477,2.5280898876404496,2.3657927590511862,2.8589263420724094,5.811485642946318,1.373283395755306,5.461922596754057,4.943820224719102,4.6254681647940075, +4.288389513108614,5.774032459425719,2.82147315855181,5.892634207240949,4.1136079900124844,4.200998751560549,1.136079900124844,3.857677902621723,1.529338327091136,3.3895131086142323,4.1136079900124844,1.8414481897627966,0.8302122347066168,0.8801498127340824,2.1660424469413235,6.491885143570538,5.1373283395755305,3.408239700374532,2.471910112359551,2.1098626716604243,4.500624219725343,5.892634207240949,3.4769038701622974,6.123595505617978,5.418227215980025,1.5605493133583022,1.2484394506866416,1.1860174781523096,2.428214731585518,4.575530586766542,0.7677902621722846,1.5980024968789013,5.555555555555556,4.4694132334581775,1.7915106117353308,3.077403245942572,1.4419475655430714,6.803995006242197,4.818976279650437,1.1423220973782773,1.198501872659176,5.418227215980025,4.369538077403246,1.9225967540574282,1.3545568039950062,1.6416978776529338,6.367041198501872,3.408239700374532,1.797752808988764,5.068664169787765,3.5830212234706615,3.888888888888889,4.681647940074906,6.554307116104869,2.2971285892634206,4.069912609238452,4.500624219725343,5.66167290886392,6.554307116104869,3.8077403245942576,2.8152309612983775,3.801498127340824,3.651685393258427,2.278401997503121,6.30461922596754,4.057428214731585,2.902621722846442,6.30461922596754,2.328339575530587,3.920099875156055,4.325842696629214,4.644194756554308,6.198501872659176,4.169787765293384,6.242197253433209,6.554307116104869,4.581772784019975,3.0212234706616727,1.4731585518102372,2.009987515605493,6.554307116104869,4.00749063670412,3.2397003745318353,1.435705368289638,6.616729088639201,4.631710362047441,5.655430711610487,2.1036204744069913,4.107365792759051,3.639200998751561,6.054931335830212,0.9737827715355806,2.5593008739076155,2.3907615480649187,2.8963795255930087,5.855181023720349,1.410736579275905,5.493133583021224,4.9687890137328345,4.644194756554308, +4.31960049937578,5.805243445692884,2.852684144818976,5.9238451935081144,4.144818976279651,4.225967540574282,1.161048689138577,3.882646691635456,1.5605493133583022,3.4144818976279647,4.132334581772784,1.8726591760299625,0.8551810237203495,0.9051186017478152,2.1910112359550564,6.491885143570538,5.162297128589263,3.439450686641698,2.4968789013732833,2.128589263420724,4.531835205992509,5.9238451935081144,3.5018726591760303,6.154806491885144,5.443196004993759,1.585518102372035,1.2796504369538078,1.2109862671660423,2.459425717852684,4.600499375780275,0.7927590511860175,1.6354556803995006,5.574282147315855,4.488139825218477,1.8164794007490637,3.0961298377028714,1.4731585518102372,6.866416978776529,4.843945068664169,1.161048689138577,1.223470661672909,5.443196004993759,4.400749063670412,1.9600499375780276,1.3857677902621723,1.6729088639200997,6.429463171036204,3.439450686641698,1.8352059925093633,5.099875156054932,3.607990012484395,3.926342072409488,4.712858926342073,6.616729088639201,2.322097378277154,4.0886392009987516,4.531835205992509,5.69912609238452,6.616729088639201,3.8389513108614235,2.8339575530586765,3.8202247191011236,3.682896379525593,2.2971285892634206,6.30461922596754,4.0761548064918856,2.9275905118601746,6.30461922596754,2.35330836454432,3.9450686641697876,4.357053682896379,4.675405742821473,6.217228464419476,4.194756554307116,6.30461922596754,6.554307116104869,4.600499375780275,3.0524344569288386,1.4981273408239701,2.0411985018726595,6.554307116104869,4.038701622971286,3.2709113607990012,1.4544319600499376,6.616729088639201,4.656679151061174,5.68039950062422,2.134831460674157,4.132334581772784,3.6704119850187267,6.079900124843945,0.9925093632958802,2.5905118601747814,2.4219725343320846,2.9275905118601746,5.892634207240949,1.4419475655430714,5.5181023720349565,4.9937578027465666,4.66916354556804, +4.3508114856429465,5.842696629213483,2.8901373283395753,5.948813982521848,4.169787765293384,4.244694132334582,1.1860174781523096,3.9076154806491883,1.585518102372035,3.439450686641698,4.151061173533084,1.9038701622971288,0.8801498127340824,0.9363295880149812,2.209737827715356,6.554307116104869,5.19350811485643,3.470661672908864,2.521847690387016,2.153558052434457,4.563046192259676,5.955056179775282,3.5268414481897628,6.186017478152309,5.474406991260924,1.616729088639201,1.3108614232209737,1.2359550561797754,2.4906367041198503,4.6254681647940075,0.8177278401997503,1.6666666666666667,5.599250936329588,4.51310861423221,1.8352059925093633,3.1210986267166043,1.5106117353308364,6.866416978776529,4.868913857677903,1.1860174781523096,1.2484394506866416,5.461922596754057,4.425717852684145,1.9912609238451935,1.410736579275905,1.6978776529338326,6.429463171036204,3.470661672908864,1.8664169787765295,5.131086142322098,3.639200998751561,3.957553058676654,4.737827715355805,6.616729088639201,2.340823970037453,4.1136079900124844,4.556803995006242,5.736579275905119,6.616729088639201,3.8639200998751564,2.852684144818976,3.8389513108614235,3.714107365792759,2.322097378277154,6.367041198501872,4.1011235955056184,2.9463171036204745,6.367041198501872,2.3782771535580522,3.970037453183521,4.382022471910113,4.70661672908864,6.242197253433209,4.225967540574282,6.30461922596754,6.554307116104869,4.619225967540574,3.089887640449438,1.523096129837703,2.0786516853932584,6.616729088639201,4.069912609238452,3.3021223470661676,1.4794007490636705,6.679151061173534,4.681647940074906,5.705368289637952,2.1660424469413235,4.157303370786517,3.701622971285893,6.111111111111111,1.017478152309613,2.6217228464419473,2.446941323345818,2.958801498127341,5.930087390761548,1.4794007490636705,5.549313358302123,5.0187265917602994,4.694132334581773, +4.382022471910113,5.8739076154806495,2.9213483146067416,5.980024968789014,4.194756554307116,4.269662921348314,1.2047440699126093,3.9325842696629216,1.616729088639201,3.4581772784019975,4.176029962546816,1.9350811485642945,0.898876404494382,0.9675405742821472,2.2347066167290888,6.554307116104869,5.224719101123595,3.5018726591760303,2.546816479400749,2.1722846441947565,4.588014981273409,5.992509363295881,3.5518102372034956,6.217228464419476,5.50561797752809,1.647940074906367,1.34207240948814,1.260923845193508,2.521847690387016,4.65043695380774,0.8426966292134832,1.6978776529338326,5.617977528089888,4.538077403245943,1.8601747815230962,3.1460674157303368,1.5418227215980027,6.928838951310862,4.893882646691636,1.2047440699126093,1.2734082397003745,5.48689138576779,4.450686641697877,2.0224719101123596,1.4419475655430714,1.7228464419475658,6.491885143570538,3.508114856429463,1.8976279650436954,5.15605493133583,3.6641697877652937,3.9950062421972534,4.762796504369538,6.679151061173534,2.3657927590511862,4.132334581772784,4.588014981273409,5.774032459425719,6.616729088639201,3.888888888888889,2.871410736579276,3.8639200998751564,3.745318352059925,2.3470661672908864,6.367041198501872,4.1260923845193505,2.9712858926342074,6.367041198501872,2.4032459425717856,3.9950062421972534,4.413233458177278,4.7440699126092385,6.242197253433209,4.250936329588015,6.367041198501872,6.616729088639201,4.644194756554308,3.1210986267166043,1.5480649188514357,2.1161048689138577,6.679151061173534,4.1011235955056184,3.339575530586767,1.4981273408239701,6.679151061173534,4.70661672908864,5.730337078651686,2.1972534332084894,4.18227215980025,3.732833957553059,6.142322097378277,1.042446941323346,2.6529338327091136,2.471910112359551,2.9962546816479403,5.97378277153558,1.5106117353308364,5.580524344569288,5.043695380774032,4.719101123595506, +4.413233458177278,5.905118601747815,2.9525593008739075,6.004993757802747,4.219725343320849,4.294631710362047,1.229712858926342,3.957553058676654,1.647940074906367,3.4831460674157304,4.194756554307116,1.9600499375780276,0.9238451935081149,0.9987515605493134,2.259675405742821,6.616729088639201,5.2559300873907615,3.5268414481897628,2.571785268414482,2.1972534332084894,4.619225967540574,6.023720349563047,3.576779026217228,6.242197253433209,5.5305867665418225,1.6729088639200997,1.373283395755306,1.285892634207241,2.5530586766541825,4.675405742821473,0.867665418227216,1.735330836454432,5.64294631710362,4.556803995006242,1.8789013732833957,3.17103620474407,1.5792759051186018,6.928838951310862,4.918851435705368,1.223470661672909,1.2983770287141074,5.50561797752809,4.475655430711611,2.0536828963795255,1.4731585518102372,1.7540574282147314,6.491885143570538,3.5393258426966296,1.9350811485642945,5.187265917602996,3.6953807740324596,4.02621722846442,4.787765293383271,6.679151061173534,2.3907615480649187,4.151061173533084,4.612983770287141,5.811485642946318,6.679151061173534,3.920099875156055,2.8901373283395753,3.882646691635456,3.7827715355805243,2.3657927590511862,6.429463171036204,4.144818976279651,2.990012484394507,6.429463171036204,2.428214731585518,4.019975031210986,4.444444444444445,4.775280898876405,6.30461922596754,4.275905118601748,6.367041198501872,6.616729088639201,4.662921348314606,3.1585518102372037,1.5730337078651684,2.1473158551810236,6.679151061173534,4.132334581772784,3.370786516853933,1.523096129837703,6.741573033707866,4.7315855181023725,5.7553058676654185,2.2284644194756553,4.207240948813983,3.764044943820225,6.167290886392011,1.0674157303370786,2.68414481897628,2.4968789013732833,3.027465667915106,6.01123595505618,1.5418227215980027,5.611735330836455,5.068664169787765,4.737827715355805, +4.444444444444445,5.942571785268415,2.990012484394507,6.036204744069912,4.244694132334582,4.313358302122348,1.2546816479400749,3.9887640449438204,1.6791510611735332,3.508114856429463,4.219725343320849,1.9912609238451935,0.9488139825218477,1.0299625468164793,2.2846441947565546,6.616729088639201,5.287141073657928,3.5580524344569286,2.596754057428215,2.215980024968789,4.65043695380774,6.054931335830212,3.6017478152309614,6.30461922596754,5.561797752808988,1.704119850187266,1.3982521847690388,1.3108614232209737,2.5842696629213484,4.700374531835206,0.8926342072409489,1.766541822721598,5.66167290886392,4.581772784019975,1.9038701622971288,3.1897627965043696,1.6104868913857677,6.991260923845194,4.937578027465668,1.2484394506866416,1.3233458177278403,5.5305867665418225,4.506866416978776,2.091136079900125,1.4981273408239701,1.7790262172284643,6.554307116104869,3.5705368289637955,1.9662921348314608,5.218476903870163,3.7265917602996255,4.057428214731585,4.812734082397004,6.741573033707866,2.4157303370786516,4.176029962546816,4.644194756554308,5.848938826466916,6.679151061173534,3.9450686641697876,2.908863920099875,3.9013732833957557,3.81398252184769,2.3907615480649187,6.429463171036204,4.169787765293384,3.0149812734082393,6.429463171036204,2.453183520599251,4.044943820224719,4.475655430711611,4.806491885143571,6.30461922596754,4.307116104868914,6.429463171036204,6.616729088639201,4.681647940074906,3.1897627965043696,1.5980024968789013,2.184769038701623,6.741573033707866,4.16354556803995,3.4019975031210987,1.5418227215980027,6.741573033707866,4.750312109862672,5.7802746566791505,2.259675405742821,4.2322097378277155,3.801498127340824,6.198501872659176,1.0923845193508115,2.715355805243446,2.5280898876404496,3.058676654182272,6.048689138576779,1.5792759051186018,5.64294631710362,5.093632958801498,4.762796504369538, +4.475655430711611,5.97378277153558,3.0212234706616727,6.061173533083646,4.269662921348314,4.33832709113608,1.2734082397003745,4.013732833957553,1.704119850187266,3.5268414481897628,4.238451935081149,2.0224719101123596,0.9675405742821472,1.0549313358302121,2.309612983770287,6.616729088639201,5.318352059925093,3.589263420724095,2.6217228464419473,2.2409488139825218,4.675405742821473,6.086142322097379,3.6267166042446943,6.30461922596754,5.593008739076155,1.735330836454432,1.4294631710362047,1.3358302122347065,2.6154806491885143,4.725343320848939,0.9176029962546817,1.8039950062421974,5.686641697877653,4.600499375780275,1.9288389513108615,3.214731585518102,1.647940074906367,6.991260923845194,4.962546816479401,1.2671660424469413,1.34207240948814,5.549313358302123,4.531835205992509,2.122347066167291,1.529338327091136,1.8039950062421974,6.554307116104869,3.607990012484395,1.9975031210986267,5.249687890137328,3.7515605493133584,4.094881398252185,4.843945068664169,6.803995006242197,2.4406991260923845,4.194756554307116,4.675405742821473,5.8863920099875156,6.741573033707866,3.970037453183521,2.9275905118601746,3.926342072409488,3.8451935081148565,2.4094881398252186,6.491885143570538,4.188514357053683,3.033707865168539,6.429463171036204,2.478152309612984,4.069912609238452,4.506866416978776,4.837702871410737,6.367041198501872,4.332084893882647,6.429463171036204,6.679151061173534,4.70661672908864,3.227215980024969,1.6229712858926344,2.215980024968789,6.803995006242197,4.194756554307116,3.439450686641698,1.5667915106117354,6.803995006242197,4.775280898876405,5.805243445692884,2.2908863920099876,4.257178526841448,3.83270911360799,6.229712858926342,1.1173533083645444,2.746566791510612,2.5530586766541825,3.089887640449438,6.086142322097379,1.6104868913857677,5.674157303370786,5.118601747815231,4.787765293383271, +4.506866416978776,6.004993757802747,3.0524344569288386,6.092384519350812,4.294631710362047,4.3632958801498125,1.2983770287141074,4.038701622971286,1.735330836454432,3.5518102372034956,4.263420724094882,2.0474406991260925,0.9925093632958802,1.0861423220973783,2.33458177278402,6.679151061173534,5.34956304619226,3.620474406991261,2.6466916354556806,2.259675405742821,4.70661672908864,6.117353308364544,3.651685393258427,6.367041198501872,5.617977528089888,1.7602996254681649,1.4606741573033708,1.3607990012484397,2.6466916354556806,4.750312109862672,0.9425717852684146,1.8352059925093633,5.705368289637952,4.6254681647940075,1.9475655430711611,3.2397003745318353,1.6791510611735332,7.0536828963795255,4.987515605493134,1.285892634207241,1.3670411985018727,5.574282147315855,4.556803995006242,2.153558052434457,1.5605493133583022,1.8352059925093633,6.616729088639201,3.639200998751561,2.034956304619226,5.274656679151062,3.7827715355805243,4.1260923845193505,4.868913857677903,6.803995006242197,2.4656679151061174,4.213483146067416,4.700374531835206,5.9238451935081144,6.741573033707866,3.9950062421972534,2.9463171036204745,3.9450686641697876,3.8764044943820224,2.4344569288389515,6.491885143570538,4.213483146067416,3.058676654182272,6.491885143570538,2.5031210986267167,4.094881398252185,4.538077403245943,4.868913857677903,6.367041198501872,4.357053682896379,6.491885143570538,6.679151061173534,4.725343320848939,3.258426966292135,1.647940074906367,2.253433208489388,6.803995006242197,4.225967540574282,3.470661672908864,1.585518102372035,6.803995006242197,4.800249687890138,5.830212234706617,2.322097378277154,4.282147315855181,3.8639200998751564,6.242197253433209,1.136079900124844,2.777777777777778,2.578027465667915,3.1273408239700373,6.129837702871411,1.647940074906367,5.69912609238452,5.149812734082397,4.812734082397004, +4.538077403245943,6.0424469413233455,3.089887640449438,6.117353308364544,4.31960049937578,4.382022471910113,1.3233458177278403,4.063670411985019,1.766541822721598,3.576779026217228,4.282147315855181,2.0786516853932584,1.017478152309613,1.1173533083645444,2.359550561797753,6.679151061173534,5.380774032459426,3.651685393258427,2.671660424469413,2.2846441947565546,4.737827715355805,6.1485642946317105,3.6766541822721597,6.367041198501872,5.6491885143570535,1.7915106117353308,1.4918851435705367,1.3857677902621723,2.68414481897628,4.775280898876405,0.9675405742821472,1.8664169787765295,5.724094881398252,4.65043695380774,1.9725343320848938,3.2646691635455682,1.7166042446941323,7.0536828963795255,5.012484394506866,1.3046192259675407,1.3920099875156053,5.593008739076155,4.588014981273409,2.184769038701623,1.591760299625468,1.8601747815230962,6.616729088639201,3.6766541822721597,2.066167290886392,5.305867665418227,3.8077403245942576,4.16354556803995,4.893882646691636,6.866416978776529,2.4843945068664173,4.238451935081149,4.7315855181023725,5.961298377028713,6.741573033707866,4.02621722846442,2.9712858926342074,3.9637952559300875,3.9076154806491883,2.453183520599251,6.554307116104869,4.238451935081149,3.077403245942572,6.491885143570538,2.5280898876404496,4.1136079900124844,4.569288389513109,4.906367041198502,6.367041198501872,4.388264669163545,6.491885143570538,6.679151061173534,4.7440699126092385,3.2896379525593007,1.6729088639200997,2.2846441947565546,6.866416978776529,4.257178526841448,3.5018726591760303,1.6042446941323347,6.866416978776529,4.825218476903871,5.855181023720349,2.35330836454432,4.307116104868914,3.8951310861423223,6.30461922596754,1.161048689138577,2.808988764044944,2.6092384519350813,3.1585518102372037,6.167290886392011,1.6791510611735332,5.730337078651686,5.174781523096129,4.831460674157303, +4.563046192259676,6.073657927590512,3.1210986267166043,6.1485642946317105,4.344569288389513,4.406991260923846,1.348314606741573,4.0886392009987516,1.797752808988764,3.595505617977528,4.300873907615481,2.1098626716604243,1.0362047440699127,1.1485642946317103,2.3845193508114857,6.741573033707866,5.411985018726591,3.682896379525593,2.696629213483146,2.303370786516854,4.762796504369538,6.179775280898876,3.6953807740324596,6.429463171036204,5.68039950062422,1.8227215980024971,1.523096129837703,1.410736579275905,2.715355805243446,4.800249687890138,0.9925093632958802,1.9038701622971288,5.749063670411985,4.66916354556804,1.9975031210986267,3.2833957553058677,1.7478152309612984,7.116104868913857,5.0374531835206,1.3295880149812733,1.4169787765293382,5.617977528089888,4.612983770287141,2.2222222222222223,1.616729088639201,1.8851435705368291,6.679151061173534,3.7078651685393256,2.1036204744069913,5.337078651685393,3.8389513108614235,4.194756554307116,4.918851435705368,6.866416978776529,2.5093632958801497,4.257178526841448,4.7565543071161045,5.998751560549313,6.803995006242197,4.051186017478152,2.990012484394507,3.9887640449438204,3.938826466916354,2.478152309612984,6.554307116104869,4.257178526841448,3.102372034956305,6.491885143570538,2.546816479400749,4.138576779026217,4.600499375780275,4.937578027465668,6.429463171036204,4.413233458177278,6.554307116104869,6.741573033707866,4.769038701622971,3.3270911360799,1.6978776529338326,2.322097378277154,6.866416978776529,4.288389513108614,3.5393258426966296,1.6292134831460674,6.866416978776529,4.850187265917603,5.880149812734083,2.3845193508114857,4.332084893882647,3.926342072409488,6.30461922596754,1.1860174781523096,2.84019975031211,2.634207240948814,3.1897627965043696,6.20474406991261,1.7166042446941323,5.761548064918852,5.199750312109863,4.856429463171036, +4.594257178526841,6.104868913857677,3.15230961298377,6.173533083645444,4.369538077403246,4.431960049937578,1.3670411985018727,4.119850187265917,1.8227215980024971,3.620474406991261,4.325842696629214,2.1410736579275906,1.0611735330836456,1.1797752808988764,2.4094881398252186,6.741573033707866,5.443196004993759,3.714107365792759,2.7215980024968793,2.328339575530587,4.794007490636704,6.210986267166042,3.7203495630461925,6.429463171036204,5.705368289637952,1.8476903870162298,1.554307116104869,1.435705368289638,2.746566791510612,4.825218476903871,1.0112359550561798,1.9350811485642945,5.767790262172285,4.694132334581773,2.016229712858926,3.3083645443196006,1.7852684144818978,7.116104868913857,5.062421972534332,1.348314606741573,1.4419475655430714,5.636704119850187,4.637952559300874,2.253433208489388,1.647940074906367,1.916354556803995,6.679151061173534,3.7390761548064915,2.134831460674157,5.36828963795256,3.8639200998751564,4.2322097378277155,4.943820224719102,6.928838951310862,2.5343320848938826,4.282147315855181,4.787765293383271,6.036204744069912,6.803995006242197,4.0761548064918856,3.0087390761548067,4.00749063670412,3.970037453183521,2.5031210986267167,6.616729088639201,4.282147315855181,3.1210986267166043,6.554307116104869,2.571785268414482,4.16354556803995,4.631710362047441,4.9687890137328345,6.429463171036204,4.438202247191011,6.554307116104869,6.741573033707866,4.787765293383271,3.3583021223470664,1.7228464419475658,2.359550561797753,6.928838951310862,4.31960049937578,3.5705368289637955,1.647940074906367,6.928838951310862,4.875156054931336,5.905118601747815,2.4157303370786516,4.357053682896379,3.9637952559300875,6.367041198501872,1.2109862671660423,2.871410736579276,2.6591760299625467,3.227215980024969,6.242197253433209,1.7478152309612984,5.792759051186017,5.224719101123595,4.881398252184769, +4.6254681647940075,6.142322097378277,3.1897627965043696,6.20474406991261,4.394506866416979,4.450686641697877,1.3920099875156053,4.144818976279651,1.8539325842696628,3.6454431960049942,4.344569288389513,2.1660424469413235,1.079900124843945,1.2047440699126093,2.4344569288389515,6.803995006242197,5.474406991260924,3.745318352059925,2.746566791510612,2.3470661672908864,4.825218476903871,6.242197253433209,3.745318352059925,6.491885143570538,5.736579275905119,1.8789013732833957,1.5792759051186018,1.4606741573033708,2.777777777777778,4.850187265917603,1.0362047440699127,1.9662921348314608,5.792759051186017,4.712858926342073,2.0411985018726595,3.3333333333333335,1.8164794007490637,7.17852684144819,5.081148564294631,1.3670411985018727,1.466916354556804,5.66167290886392,4.662921348314606,2.2846441947565546,1.6791510611735332,1.941323345817728,6.741573033707866,3.776529338327091,2.1660424469413235,5.393258426966292,3.8951310861423223,4.263420724094882,4.9687890137328345,6.928838951310862,2.5593008739076155,4.300873907615481,4.812734082397004,6.073657927590512,6.866416978776529,4.107365792759051,3.027465667915106,4.02621722846442,4.001248439450687,2.521847690387016,6.616729088639201,4.300873907615481,3.1460674157303368,6.554307116104869,2.596754057428215,4.188514357053683,4.662921348314606,5.0,6.429463171036204,4.4694132334581775,6.616729088639201,6.741573033707866,4.812734082397004,3.3957553058676653,1.7478152309612984,2.3907615480649187,6.991260923845194,4.3508114856429465,3.6017478152309614,1.6729088639200997,6.928838951310862,4.893882646691636,5.930087390761548,2.446941323345818,4.382022471910113,3.9950062421972534,6.367041198501872,1.2359550561797754,2.902621722846442,2.68414481897628,3.258426966292135,6.30461922596754,1.7852684144818978,5.823970037453184,5.249687890137328,4.906367041198502, +4.656679151061174,6.173533083645444,3.2209737827715355,6.229712858926342,4.419475655430712,4.475655430711611,1.4169787765293382,4.169787765293384,1.8851435705368291,3.6641697877652937,4.369538077403246,2.1972534332084894,1.104868913857678,1.2359550561797754,2.459425717852684,6.803995006242197,5.50561797752809,3.776529338327091,2.7715355805243447,2.3720349563046192,4.850187265917603,6.30461922596754,3.7702871410736583,6.491885143570538,5.767790262172285,1.9101123595505618,1.6104868913857677,1.4856429463171037,2.808988764044944,4.875156054931336,1.0611735330836456,2.00374531835206,5.811485642946318,4.737827715355805,2.0599250936329585,3.3583021223470664,1.8539325842696628,7.17852684144819,5.106117353308365,1.3920099875156053,1.4856429463171037,5.686641697877653,4.694132334581773,2.3158551810237205,1.704119850187266,1.9662921348314608,6.741573033707866,3.8077403245942576,2.203495630461923,5.424469413233458,3.926342072409488,4.294631710362047,5.0,6.991260923845194,2.5842696629213484,4.31960049937578,4.843945068664169,6.111111111111111,6.866416978776529,4.132334581772784,3.046192259675406,4.051186017478152,4.032459425717852,2.546816479400749,6.679151061173534,4.325842696629214,3.1647940074906367,6.554307116104869,2.6217228464419473,4.213483146067416,4.694132334581773,5.0374531835206,6.491885143570538,4.49438202247191,6.616729088639201,6.803995006242197,4.831460674157303,3.4269662921348316,1.772784019975031,2.428214731585518,6.991260923845194,4.382022471910113,3.639200998751561,1.6916354556803994,6.991260923845194,4.918851435705368,5.955056179775282,2.478152309612984,4.406991260923846,4.02621722846442,6.429463171036204,1.260923845193508,2.933832709113608,2.715355805243446,3.2896379525593007,6.30461922596754,1.8164794007490637,5.855181023720349,5.274656679151062,4.925093632958801, +4.687890137328339,6.20474406991261,3.258426966292135,6.242197253433209,4.444444444444445,4.500624219725343,1.435705368289638,4.194756554307116,1.916354556803995,3.689138576779026,4.388264669163545,2.2284644194756553,1.1298377028714106,1.2671660424469413,2.4843945068664173,6.866416978776529,5.536828963795256,3.8077403245942576,2.7965043695380776,2.3907615480649187,4.881398252184769,6.30461922596754,3.7952559300873907,6.554307116104869,5.799001248439451,1.9350811485642945,1.6416978776529338,1.5106117353308364,2.84019975031211,4.900124843945068,1.0861423220973783,2.034956304619226,5.836454431960051,4.7565543071161045,2.084893882646692,3.3770287141073654,1.8851435705368291,7.240948813982522,5.131086142322098,1.410736579275905,1.5106117353308364,5.705368289637952,4.719101123595506,2.35330836454432,1.735330836454432,1.9975031210986267,6.803995006242197,3.8389513108614235,2.2347066167290888,5.455680399500624,3.951310861423221,4.332084893882647,5.024968789013733,7.0536828963795255,2.602996254681648,4.344569288389513,4.868913857677903,6.1485642946317105,6.866416978776529,4.157303370786517,3.0649188514357055,4.069912609238452,4.063670411985019,2.565543071161049,6.679151061173534,4.3508114856429465,3.1897627965043696,6.616729088639201,2.6466916354556806,4.238451935081149,4.725343320848939,5.068664169787765,6.491885143570538,4.519350811485642,6.679151061173534,6.803995006242197,4.850187265917603,3.464419475655431,1.797752808988764,2.459425717852684,7.0536828963795255,4.413233458177278,3.6704119850187267,1.7166042446941323,6.991260923845194,4.943820224719102,5.980024968789014,2.5093632958801497,4.431960049937578,4.057428214731585,6.429463171036204,1.285892634207241,2.965043695380774,2.740324594257179,3.3270911360799,6.367041198501872,1.8476903870162298,5.880149812734083,5.299625468164794,4.950062421972534, +4.719101123595506,6.242197253433209,3.2896379525593007,6.30461922596754,4.4694132334581775,4.519350811485642,1.4606741573033708,4.219725343320849,1.941323345817728,3.714107365792759,4.413233458177278,2.259675405742821,1.1485642946317103,1.2983770287141074,2.5093632958801497,6.866416978776529,5.568039950062421,3.8389513108614235,2.82147315855181,2.4157303370786516,4.912609238451935,6.367041198501872,3.8202247191011236,6.554307116104869,5.823970037453184,1.9662921348314608,1.6729088639200997,1.5355805243445693,2.871410736579276,4.925093632958801,1.1111111111111112,2.0724094881398254,5.855181023720349,4.781523096129837,2.1098626716604243,3.4019975031210987,1.9225967540574282,7.240948813982522,5.15605493133583,1.4294631710362047,1.5355805243445693,5.730337078651686,4.7440699126092385,2.3845193508114857,1.766541822721598,2.0224719101123596,6.803995006242197,3.8764044943820224,2.272159800249688,5.48689138576779,3.982521847690387,4.3632958801498125,5.049937578027466,7.0536828963795255,2.6279650436953808,4.3632958801498125,4.900124843945068,6.186017478152309,6.928838951310862,4.188514357053683,3.0836454431960054,4.0886392009987516,4.094881398252185,2.5905118601747814,6.741573033707866,4.369538077403246,3.2084893882646695,6.616729088639201,2.671660424469413,4.263420724094882,4.750312109862672,5.099875156054932,6.491885143570538,4.55056179775281,6.679151061173534,6.803995006242197,4.875156054931336,3.495630461922597,1.8227215980024971,2.4968789013732833,7.116104868913857,4.444444444444445,3.7078651685393256,1.735330836454432,7.0536828963795255,4.9687890137328345,6.01123595505618,2.5405742821473156,4.456928838951311,4.0886392009987516,6.491885143570538,1.3046192259675407,2.9962546816479403,2.7652933832709112,3.3583021223470664,6.429463171036204,1.8851435705368291,5.9113607990012484,5.324594257178527,4.975031210986267, +4.750312109862672,6.30461922596754,3.320848938826467,6.30461922596754,4.49438202247191,4.544319600499376,1.4856429463171037,4.250936329588015,1.9725343320848938,3.732833957553059,4.431960049937578,2.2846441947565546,1.1735330836454432,1.3295880149812733,2.5343320848938826,6.928838951310862,5.599250936329588,3.870162297128589,2.84019975031211,2.4344569288389515,4.937578027465668,6.367041198501872,3.8451935081148565,6.616729088639201,5.855181023720349,1.9975031210986267,1.704119850187266,1.5605493133583022,2.902621722846442,4.950062421972534,1.136079900124844,2.1036204744069913,5.880149812734083,4.806491885143571,2.128589263420724,3.4269662921348316,1.9600499375780276,7.303370786516854,5.181023720349563,1.4544319600499376,1.5605493133583022,5.749063670411985,4.775280898876405,2.4157303370786516,1.797752808988764,2.0474406991260925,6.866416978776529,3.9076154806491883,2.303370786516854,5.511860174781523,4.00749063670412,4.400749063670412,5.074906367041199,7.116104868913857,2.6529338327091136,4.382022471910113,4.931335830212235,6.223470661672909,6.928838951310862,4.213483146067416,3.102372034956305,4.1136079900124844,4.132334581772784,2.6092384519350813,6.741573033707866,4.394506866416979,3.227215980024969,6.616729088639201,2.696629213483146,4.288389513108614,4.781523096129837,5.131086142322098,6.554307116104869,4.575530586766542,6.741573033707866,6.866416978776529,4.893882646691636,3.533083645443196,1.8476903870162298,2.5343320848938826,7.116104868913857,4.475655430711611,3.7390761548064915,1.7602996254681649,7.0536828963795255,4.9937578027465666,6.036204744069912,2.571785268414482,4.4818976279650435,4.119850187265917,6.491885143570538,1.3295880149812733,3.027465667915106,2.790262172284644,3.3895131086142323,6.429463171036204,1.916354556803995,5.942571785268415,5.355805243445693,4.9937578027465666, +4.781523096129837,6.30461922596754,3.3583021223470664,6.367041198501872,4.519350811485642,4.563046192259676,1.5043695380774034,4.275905118601748,2.00374531835206,3.7578027465667914,4.450686641697877,2.3158551810237205,1.198501872659176,1.3545568039950062,2.5593008739076155,6.928838951310862,5.630461922596755,3.9013732833957557,2.865168539325843,2.453183520599251,4.9687890137328345,6.429463171036204,3.870162297128589,6.616729088639201,5.8863920099875156,2.0287141073657926,1.7290886392009988,1.585518102372035,2.933832709113608,4.975031210986267,1.161048689138577,2.134831460674157,5.8988764044943816,4.825218476903871,2.153558052434457,3.4456928838951315,1.9912609238451935,7.303370786516854,5.205992509363296,1.4731585518102372,1.585518102372035,5.774032459425719,4.800249687890138,2.446941323345818,1.8227215980024971,2.0786516853932584,6.866416978776529,3.938826466916354,2.33458177278402,5.543071161048689,4.038701622971286,4.431960049937578,5.099875156054932,7.116104868913857,2.6779026217228465,4.406991260923846,4.956304619225968,6.242197253433209,6.991260923845194,4.238451935081149,3.1273408239700373,4.132334581772784,4.16354556803995,2.634207240948814,6.803995006242197,4.413233458177278,3.2521847690387014,6.679151061173534,2.7215980024968793,4.313358302122348,4.812734082397004,5.168539325842697,6.554307116104869,4.606741573033708,6.741573033707866,6.866416978776529,4.912609238451935,3.564294631710362,1.8726591760299625,2.565543071161049,7.17852684144819,4.500624219725343,3.7702871410736583,1.7790262172284643,7.116104868913857,5.0187265917602994,6.061173533083646,2.602996254681648,4.506866416978776,4.157303370786517,6.491885143570538,1.3545568039950062,3.058676654182272,2.82147315855181,3.420724094881398,6.491885143570538,1.9538077403245941,5.97378277153558,5.380774032459426,5.0187265917602994, +4.806491885143571,6.367041198501872,3.3895131086142323,6.367041198501872,4.544319600499376,4.588014981273409,1.529338327091136,4.300873907615481,2.034956304619226,3.7827715355805243,4.475655430711611,2.3470661672908864,1.2172284644194757,1.3857677902621723,2.5842696629213484,6.991260923845194,5.66167290886392,3.9325842696629216,2.8901373283395753,2.478152309612984,5.0,6.429463171036204,3.8951310861423223,6.679151061173534,5.9113607990012484,2.0536828963795255,1.7602996254681649,1.6104868913857677,2.965043695380774,5.0,1.1860174781523096,2.1722846441947565,5.917602996254682,4.850187265917603,2.1722846441947565,3.470661672908864,2.0287141073657926,7.365792759051186,5.230961298377029,1.4918851435705367,1.6104868913857677,5.792759051186017,4.825218476903871,2.4843945068664173,1.8539325842696628,2.1036204744069913,6.928838951310862,3.9762796504369535,2.3720349563046192,5.574282147315855,4.063670411985019,4.4694132334581775,5.131086142322098,7.17852684144819,2.702871410736579,4.425717852684145,4.987515605493134,6.30461922596754,6.991260923845194,4.269662921348314,3.1460674157303368,4.151061173533084,4.194756554307116,2.6591760299625467,6.803995006242197,4.438202247191011,3.2709113607990012,6.679151061173534,2.746566791510612,4.33832709113608,4.843945068664169,5.199750312109863,6.616729088639201,4.631710362047441,6.803995006242197,6.866416978776529,4.937578027465668,3.6017478152309614,1.8976279650436954,2.602996254681648,7.17852684144819,4.531835205992509,3.8077403245942576,1.8039950062421974,7.116104868913857,5.043695380774032,6.086142322097379,2.634207240948814,4.531835205992509,4.188514357053683,6.554307116104869,1.3795255930087391,3.0836454431960054,2.8464419475655434,3.4581772784019975,6.491885143570538,1.9850187265917605,6.004993757802747,5.405742821473158,5.043695380774032, +4.837702871410737,6.367041198501872,3.420724094881398,6.367041198501872,4.569288389513109,4.612983770287141,1.554307116104869,4.325842696629214,2.0599250936329585,3.801498127340824,4.49438202247191,2.3720349563046192,1.2421972534332086,1.4169787765293382,2.6092384519350813,6.991260923845194,5.692883895131087,3.9637952559300875,2.9151061173533086,2.4968789013732833,5.024968789013733,6.491885143570538,3.9138576779026217,6.679151061173534,5.942571785268415,2.084893882646692,1.7915106117353308,1.6354556803995006,2.9962546816479403,5.024968789013733,1.2109862671660423,2.203495630461923,5.942571785268415,4.868913857677903,2.1972534332084894,3.495630461922597,2.0599250936329585,7.365792759051186,5.249687890137328,1.5106117353308364,1.6354556803995006,5.81772784019975,4.850187265917603,2.515605493133583,1.8851435705368291,2.128589263420724,6.928838951310862,4.00749063670412,2.4032459425717856,5.605493133583021,4.094881398252185,4.500624219725343,5.15605493133583,7.17852684144819,2.727840199750312,4.444444444444445,5.012484394506866,6.30461922596754,6.991260923845194,4.294631710362047,3.1647940074906367,4.176029962546816,4.225967540574282,2.6779026217228465,6.866416978776529,4.463171036204744,3.295880149812734,6.679151061173534,2.7715355805243447,4.3632958801498125,4.875156054931336,5.230961298377029,6.616729088639201,4.656679151061174,6.803995006242197,6.928838951310862,4.956304619225968,3.6329588014981273,1.9225967540574282,2.634207240948814,7.240948813982522,4.563046192259676,3.8389513108614235,1.8227215980024971,7.17852684144819,5.062421972534332,6.111111111111111,2.66541822721598,4.556803995006242,4.219725343320849,6.554307116104869,1.404494382022472,3.114856429463171,2.871410736579276,3.4893882646691634,6.554307116104869,2.0224719101123596,6.036204744069912,5.430711610486892,5.068664169787765, +4.868913857677903,6.429463171036204,3.4581772784019975,6.429463171036204,4.594257178526841,4.631710362047441,1.5730337078651684,4.357053682896379,2.091136079900125,3.826466916354557,4.519350811485642,2.4032459425717856,1.2671660424469413,1.4481897627965044,2.634207240948814,7.0536828963795255,5.724094881398252,3.9950062421972534,2.9400749063670415,2.521847690387016,5.056179775280899,6.491885143570538,3.938826466916354,6.741573033707866,5.97378277153558,2.1161048689138577,1.8227215980024971,1.6604244694132335,3.033707865168539,5.049937578027466,1.2359550561797754,2.2347066167290888,5.961298377028713,4.893882646691636,2.2222222222222223,3.5205992509363297,2.097378277153558,7.428214731585518,5.274656679151062,1.5355805243445693,1.6541822721598003,5.836454431960051,4.881398252184769,2.546816479400749,1.9101123595505618,2.15980024968789,6.991260923845194,4.044943820224719,2.4344569288389515,5.630461922596755,4.1260923845193505,4.531835205992509,5.181023720349563,7.240948813982522,2.746566791510612,4.4694132334581775,5.043695380774032,6.367041198501872,7.0536828963795255,4.31960049937578,3.183520599250936,4.194756554307116,4.257178526841448,2.702871410736579,6.866416978776529,4.4818976279650435,3.3146067415730336,6.741573033707866,2.790262172284644,4.388264669163545,4.906367041198502,5.262172284644195,6.616729088639201,4.687890137328339,6.803995006242197,6.928838951310862,4.975031210986267,3.6704119850187267,1.941323345817728,2.671660424469413,7.303370786516854,4.594257178526841,3.870162297128589,1.8476903870162298,7.17852684144819,5.087390761548065,6.1360799001248445,2.696629213483146,4.588014981273409,4.250936329588015,6.616729088639201,1.4294631710362047,3.1460674157303368,2.8963795255930087,3.5205992509363297,6.616729088639201,2.0536828963795255,6.061173533083646,5.455680399500624,5.087390761548065, +4.900124843945068,6.429463171036204,3.4893882646691634,6.429463171036204,4.619225967540574,4.656679151061174,1.5980024968789013,4.382022471910113,2.122347066167291,3.8451935081148565,4.538077403245943,2.4344569288389515,1.285892634207241,1.4731585518102372,2.6529338327091136,7.0536828963795255,5.7553058676654185,4.02621722846442,2.965043695380774,2.5405742821473156,5.087390761548065,6.554307116104869,3.9637952559300875,6.741573033707866,5.998751560549313,2.1410736579275906,1.8539325842696628,1.6853932584269664,3.0649188514357055,5.074906367041199,1.260923845193508,2.272159800249688,5.986267166042447,4.912609238451935,2.2409488139825218,3.5393258426966296,2.128589263420724,7.428214731585518,5.299625468164794,1.554307116104869,1.6791510611735332,5.861423220973783,4.906367041198502,2.578027465667915,1.941323345817728,2.184769038701623,6.991260923845194,4.0761548064918856,2.471910112359551,5.66167290886392,4.151061173533084,4.569288389513109,5.205992509363296,7.303370786516854,2.7715355805243447,4.488139825218477,5.068664169787765,6.429463171036204,7.0536828963795255,4.3508114856429465,3.202247191011236,4.213483146067416,4.288389513108614,2.7215980024968793,6.928838951310862,4.506866416978776,3.339575530586767,6.741573033707866,2.8152309612983775,4.413233458177278,4.937578027465668,5.299625468164794,6.679151061173534,4.712858926342073,6.866416978776529,6.928838951310862,5.0,3.701622971285893,1.9662921348314608,2.702871410736579,7.303370786516854,4.6254681647940075,3.9076154806491883,1.8664169787765295,7.240948813982522,5.1123595505617985,6.161048689138577,2.727840199750312,4.612983770287141,4.282147315855181,6.616729088639201,1.4481897627965044,3.1772784019975036,2.9275905118601746,3.5580524344569286,6.616729088639201,2.091136079900125,6.092384519350812,5.480649188514358,5.1123595505617985, +4.931335830212235,6.491885143570538,3.5205992509363297,6.491885143570538,4.644194756554308,4.681647940074906,1.6229712858926344,4.406991260923846,2.153558052434457,3.870162297128589,4.563046192259676,2.4656679151061174,1.3108614232209737,1.5043695380774034,2.6779026217228465,7.116104868913857,5.786516853932584,4.057428214731585,2.990012484394507,2.565543071161049,5.1123595505617985,6.554307116104869,3.9887640449438204,6.803995006242197,6.029962546816479,2.1722846441947565,1.8851435705368291,1.710362047440699,3.0961298377028714,5.099875156054932,1.285892634207241,2.303370786516854,6.004993757802747,4.937578027465668,2.2659176029962547,3.564294631710362,2.1660424469413235,7.49063670411985,5.324594257178527,1.5730337078651684,1.704119850187266,5.8863920099875156,4.931335830212235,2.6154806491885143,1.9725343320848938,2.209737827715356,7.0536828963795255,4.107365792759051,2.5031210986267167,5.692883895131087,4.18227215980025,4.600499375780275,5.230961298377029,7.303370786516854,2.7965043695380776,4.506866416978776,5.099875156054932,6.429463171036204,7.116104868913857,4.375780274656679,3.2209737827715355,4.238451935081149,4.31960049937578,2.746566791510612,6.928838951310862,4.525593008739076,3.3583021223470664,6.741573033707866,2.84019975031211,4.438202247191011,4.9687890137328345,5.33083645443196,6.679151061173534,4.737827715355805,6.866416978776529,6.991260923845194,5.0187265917602994,3.732833957553059,1.9912609238451935,2.740324594257179,7.365792759051186,4.656679151061174,3.938826466916354,1.8913857677902621,7.240948813982522,5.1373283395755305,6.186017478152309,2.7590511860174782,4.637952559300874,4.31960049937578,6.679151061173534,1.4731585518102372,3.2084893882646695,2.9525593008739075,3.589263420724095,6.679151061173534,2.122347066167291,6.123595505617978,5.50561797752809,5.1373283395755305, +4.962546816479401,6.491885143570538,3.5580524344569286,6.491885143570538,4.66916354556804,4.700374531835206,1.6416978776529338,4.431960049937578,2.1785268414481895,3.8951310861423223,4.581772784019975,2.4906367041198503,1.3358302122347065,1.5355805243445693,2.702871410736579,7.116104868913857,5.81772784019975,4.0886392009987516,3.0149812734082393,2.5842696629213484,5.143570536828964,6.616729088639201,4.013732833957553,6.803995006242197,6.061173533083646,2.203495630461923,1.9101123595505618,1.735330836454432,3.1273408239700373,5.118601747815231,1.3108614232209737,2.340823970037453,6.029962546816479,4.962546816479401,2.2846441947565546,3.589263420724095,2.1972534332084894,7.49063670411985,5.34956304619226,1.5980024968789013,1.7290886392009988,5.905118601747815,4.962546816479401,2.6466916354556806,2.00374531835206,2.2409488139825218,7.0536828963795255,4.144818976279651,2.5405742821473156,5.724094881398252,4.207240948813983,4.637952559300874,5.262172284644195,7.365792759051186,2.82147315855181,4.531835205992509,5.1248439450686645,6.491885143570538,7.116104868913857,4.400749063670412,3.2397003745318353,4.257178526841448,4.3508114856429465,2.7715355805243447,6.991260923845194,4.55056179775281,3.383270911360799,6.803995006242197,2.865168539325843,4.463171036204744,5.0,5.3620474406991265,6.679151061173534,4.769038701622971,6.928838951310862,6.991260923845194,5.0374531835206,3.7702871410736583,2.016229712858926,2.777777777777778,7.428214731585518,4.687890137328339,3.970037453183521,1.9101123595505618,7.303370786516854,5.162297128589263,6.210986267166042,2.790262172284644,4.662921348314606,4.3508114856429465,6.679151061173534,1.4981273408239701,3.2397003745318353,2.977528089887641,3.620474406991261,6.741573033707866,2.153558052434457,6.154806491885144,5.5305867665418225,5.162297128589263, +4.9937578027465666,6.554307116104869,3.589263420724095,6.554307116104869,4.694132334581773,4.725343320848939,1.6666666666666667,4.456928838951311,2.209737827715356,3.9138576779026217,4.600499375780275,2.521847690387016,1.3545568039950062,1.5667915106117354,2.727840199750312,7.17852684144819,5.848938826466916,4.119850187265917,3.0399500624219726,2.6092384519350813,5.174781523096129,6.616729088639201,4.038701622971286,6.866416978776529,6.086142322097379,2.2284644194756553,1.941323345817728,1.7602996254681649,3.1585518102372037,5.143570536828964,1.3358302122347065,2.3720349563046192,6.048689138576779,4.9812734082397006,2.309612983770287,3.6142322097378274,2.2347066167290888,7.553058676654182,5.3745318352059925,1.616729088639201,1.7540574282147314,5.930087390761548,4.987515605493134,2.6779026217228465,2.0287141073657926,2.2659176029962547,7.116104868913857,4.176029962546816,2.571785268414482,5.749063670411985,4.238451935081149,4.66916354556804,5.287141073657928,7.365792759051186,2.8464419475655434,4.55056179775281,5.15605493133583,6.491885143570538,7.116104868913857,4.431960049937578,3.258426966292135,4.275905118601748,4.382022471910113,2.790262172284644,6.991260923845194,4.575530586766542,3.4019975031210987,6.803995006242197,2.8901373283395753,4.488139825218477,5.031210986267166,5.393258426966292,6.741573033707866,4.794007490636704,6.928838951310862,6.991260923845194,5.062421972534332,3.801498127340824,2.0411985018726595,2.808988764044944,7.428214731585518,4.719101123595506,4.00749063670412,1.9350811485642945,7.303370786516854,5.187265917602996,6.235955056179775,2.82147315855181,4.687890137328339,4.382022471910113,6.741573033707866,1.523096129837703,3.2709113607990012,3.0087390761548067,3.6579275905118602,6.741573033707866,2.1910112359550564,6.186017478152309,5.561797752808988,5.181023720349563, +5.024968789013733,6.554307116104869,3.6267166042446943,6.554307116104869,4.719101123595506,4.750312109862672,1.6916354556803994,4.488139825218477,2.2409488139825218,3.938826466916354,4.6254681647940075,2.5530586766541825,1.3795255930087391,1.5980024968789013,2.752808988764045,7.17852684144819,5.880149812734083,4.151061173533084,3.0649188514357055,2.6279650436953808,5.199750312109863,6.679151061173534,4.063670411985019,6.866416978776529,6.117353308364544,2.259675405742821,1.9725343320848938,1.7852684144818978,3.1897627965043696,5.168539325842697,1.3607990012484397,2.4032459425717856,6.073657927590512,5.0062421972534334,2.33458177278402,3.6329588014981273,2.2659176029962547,7.553058676654182,5.393258426966292,1.6354556803995006,1.7790262172284643,5.948813982521848,5.012484394506866,2.715355805243446,2.0599250936329585,2.2908863920099876,7.116104868913857,4.207240948813983,2.602996254681648,5.7802746566791505,4.269662921348314,4.700374531835206,5.312109862671661,7.428214731585518,2.865168539325843,4.575530586766542,5.181023720349563,6.554307116104869,7.17852684144819,4.456928838951311,3.2771535580524347,4.300873907615481,4.413233458177278,2.8152309612983775,7.0536828963795255,4.594257178526841,3.4269662921348316,6.803995006242197,2.9151061173533086,4.51310861423221,5.062421972534332,5.424469413233458,6.741573033707866,4.818976279650437,6.991260923845194,7.0536828963795255,5.081148564294631,3.8389513108614235,2.066167290886392,2.8464419475655434,7.49063670411985,4.750312109862672,4.038701622971286,1.9538077403245941,7.365792759051186,5.212234706616729,6.242197253433209,2.852684144818976,4.712858926342073,4.413233458177278,6.741573033707866,1.5480649188514357,3.3021223470661676,3.033707865168539,3.689138576779026,6.803995006242197,2.2222222222222223,6.217228464419476,5.586766541822722,5.205992509363296, +5.056179775280899,6.616729088639201,3.6579275905118602,6.616729088639201,4.7440699126092385,4.769038701622971,1.710362047440699,4.51310861423221,2.272159800249688,3.9637952559300875,4.644194756554308,2.5842696629213484,1.404494382022472,1.6229712858926344,2.777777777777778,7.17852684144819,5.9113607990012484,4.18227215980025,3.089887640449438,2.6529338327091136,5.230961298377029,6.679151061173534,4.0886392009987516,6.928838951310862,6.1485642946317105,2.2908863920099876,2.00374531835206,1.8102372034956304,3.2209737827715355,5.19350811485643,1.3857677902621723,2.4406991260923845,6.092384519350812,5.024968789013733,2.35330836454432,3.6579275905118602,2.303370786516854,7.615480649188515,5.418227215980025,1.6541822721598003,1.8039950062421974,5.97378277153558,5.0374531835206,2.746566791510612,2.091136079900125,2.322097378277154,7.17852684144819,4.244694132334582,2.640449438202247,5.811485642946318,4.294631710362047,4.737827715355805,5.337078651685393,7.428214731585518,2.8901373283395753,4.594257178526841,5.212234706616729,6.616729088639201,7.17852684144819,4.4818976279650435,3.3021223470661676,4.31960049937578,4.444444444444445,2.8339575530586765,7.0536828963795255,4.619225967540574,3.4456928838951315,6.866416978776529,2.9400749063670415,4.538077403245943,5.093632958801498,5.461922596754057,6.803995006242197,4.850187265917603,6.991260923845194,7.0536828963795255,5.099875156054932,3.870162297128589,2.091136079900125,2.8776529338327093,7.49063670411985,4.781523096129837,4.069912609238452,1.9725343320848938,7.365792759051186,5.230961298377029,6.30461922596754,2.8838951310861427,4.737827715355805,4.444444444444445,6.803995006242197,1.5730337078651684,3.3333333333333335,3.058676654182272,3.7203495630461925,6.803995006242197,2.259675405742821,6.242197253433209,5.611735330836455,5.230961298377029, +5.081148564294631,6.616729088639201,3.689138576779026,6.616729088639201,4.775280898876405,4.794007490636704,1.735330836454432,4.538077403245943,2.2971285892634206,3.982521847690387,4.66916354556804,2.6092384519350813,1.4232209737827717,1.6541822721598003,2.8027465667915106,7.240948813982522,5.942571785268415,4.213483146067416,3.114856429463171,2.671660424469413,5.262172284644195,6.741573033707866,4.1136079900124844,6.928838951310862,6.179775280898876,2.3158551810237205,2.034956304619226,1.8352059925093633,3.2521847690387014,5.218476903870163,1.410736579275905,2.471910112359551,6.111111111111111,5.049937578027466,2.3782771535580522,3.682896379525593,2.33458177278402,7.615480649188515,5.443196004993759,1.6791510611735332,1.8227215980024971,5.992509363295881,5.068664169787765,2.777777777777778,2.1161048689138577,2.3470661672908864,7.17852684144819,4.275905118601748,2.671660424469413,5.842696629213483,4.325842696629214,4.769038701622971,5.3620474406991265,7.49063670411985,2.9151061173533086,4.612983770287141,5.243445692883895,6.616729088639201,7.240948813982522,4.51310861423221,3.320848938826467,4.33832709113608,4.4818976279650435,2.8589263420724094,7.116104868913857,4.637952559300874,3.470661672908864,6.866416978776529,2.965043695380774,4.563046192259676,5.118601747815231,5.493133583021224,6.803995006242197,4.875156054931336,7.0536828963795255,7.0536828963795255,5.1248439450686645,3.9076154806491883,2.1161048689138577,2.9151061173533086,7.553058676654182,4.812734082397004,4.107365792759051,1.9975031210986267,7.428214731585518,5.2559300873907615,6.30461922596754,2.9151061173533086,4.762796504369538,4.475655430711611,6.803995006242197,1.5980024968789013,3.3645443196004994,3.0836454431960054,3.7515605493133584,6.866416978776529,2.2908863920099876,6.30461922596754,5.636704119850187,5.2559300873907615, +5.1123595505617985,6.679151061173534,3.7265917602996255,6.679151061173534,4.800249687890138,4.818976279650437,1.7602996254681649,4.563046192259676,2.328339575530587,4.00749063670412,4.687890137328339,2.640449438202247,1.4481897627965044,1.6853932584269664,2.8277153558052435,7.240948813982522,5.97378277153558,4.238451935081149,3.139825218476904,2.696629213483146,5.287141073657928,6.741573033707866,4.132334581772784,6.991260923845194,6.20474406991261,2.3470661672908864,2.066167290886392,1.8601747815230962,3.2833957553058677,5.243445692883895,1.435705368289638,2.5031210986267167,6.1360799001248445,5.068664169787765,2.397003745318352,3.7078651685393256,2.3720349563046192,7.677902621722847,5.468164794007491,1.6978776529338326,1.8476903870162298,6.0174781523096135,5.093632958801498,2.808988764044944,2.1473158551810236,2.3720349563046192,7.240948813982522,4.307116104868914,2.7091136079900124,5.867665418227216,4.3508114856429465,4.806491885143571,5.393258426966292,7.553058676654182,2.9400749063670415,4.637952559300874,5.268414481897628,6.679151061173534,7.240948813982522,4.538077403245943,3.339575530586767,4.3632958801498125,4.51310861423221,2.8776529338327093,7.116104868913857,4.662921348314606,3.4893882646691634,6.866416978776529,2.990012484394507,4.588014981273409,5.149812734082397,5.524344569288389,6.803995006242197,4.900124843945068,7.0536828963795255,7.116104868913857,5.143570536828964,3.938826466916354,2.1410736579275906,2.9463171036204745,7.615480649188515,4.843945068664169,4.138576779026217,2.016229712858926,7.428214731585518,5.280898876404494,6.367041198501872,2.9463171036204745,4.787765293383271,4.51310861423221,6.866416978776529,1.616729088639201,3.3957553058676653,3.114856429463171,3.7890137328339577,6.928838951310862,2.328339575530587,6.30461922596754,5.66167290886392,5.274656679151062, +5.143570536828964,6.679151061173534,3.7578027465667914,6.679151061173534,4.825218476903871,4.837702871410737,1.7790262172284643,4.588014981273409,2.359550561797753,4.032459425717852,4.712858926342073,2.671660424469413,1.4731585518102372,1.7166042446941323,2.852684144818976,7.303370786516854,6.004993757802747,4.269662921348314,3.1647940074906367,2.715355805243446,5.318352059925093,6.803995006242197,4.157303370786517,6.991260923845194,6.235955056179775,2.3782771535580522,2.091136079900125,1.8851435705368291,3.3146067415730336,5.268414481897628,1.4606741573033708,2.5405742821473156,6.154806491885144,5.093632958801498,2.4219725343320846,3.7265917602996255,2.4032459425717856,7.677902621722847,5.493133583021224,1.7166042446941323,1.8726591760299625,6.036204744069912,5.118601747815231,2.8464419475655434,2.1785268414481895,2.4032459425717856,7.240948813982522,4.344569288389513,2.740324594257179,5.8988764044943816,4.382022471910113,4.837702871410737,5.418227215980025,7.553058676654182,2.965043695380774,4.656679151061174,5.299625468164794,6.679151061173534,7.303370786516854,4.563046192259676,3.3583021223470664,4.382022471910113,4.544319600499376,2.902621722846442,7.17852684144819,4.687890137328339,3.5143570536828963,6.928838951310862,3.0149812734082393,4.612983770287141,5.181023720349563,5.555555555555556,6.866416978776529,4.931335830212235,7.116104868913857,7.116104868913857,5.168539325842697,3.9762796504369535,2.1660424469413235,2.9837702871410734,7.615480649188515,4.875156054931336,4.169787765293384,2.0411985018726595,7.49063670411985,5.305867665418227,6.367041198501872,2.977528089887641,4.812734082397004,4.544319600499376,6.866416978776529,1.6416978776529338,3.4269662921348316,3.139825218476904,3.8202247191011236,6.928838951310862,2.359550561797753,6.367041198501872,5.686641697877653,5.299625468164794, +5.174781523096129,6.741573033707866,3.7890137328339577,6.679151061173534,4.850187265917603,4.8626716604244695,1.8039950062421974,4.619225967540574,2.3845193508114857,4.051186017478152,4.7315855181023725,2.702871410736579,1.4918851435705367,1.7478152309612984,2.8776529338327093,7.303370786516854,6.036204744069912,4.300873907615481,3.183520599250936,2.740324594257179,5.34956304619226,6.803995006242197,4.18227215980025,7.0536828963795255,6.242197253433209,2.4032459425717856,2.122347066167291,1.9101123595505618,3.3458177278401995,5.293383270911361,1.4856429463171037,2.571785268414482,6.179775280898876,5.118601747815231,2.446941323345818,3.7515605493133584,2.4406991260923845,7.740324594257178,5.5181023720349565,1.7415730337078652,1.8976279650436954,6.061173533083646,5.149812734082397,2.8776529338327093,2.209737827715356,2.428214731585518,7.303370786516854,4.375780274656679,2.7715355805243447,5.930087390761548,4.406991260923846,4.875156054931336,5.443196004993759,7.615480649188515,2.990012484394507,4.675405742821473,5.324594257178527,6.741573033707866,7.303370786516854,4.594257178526841,3.3770287141073654,4.400749063670412,4.575530586766542,2.9275905118601746,7.17852684144819,4.70661672908864,3.533083645443196,6.928838951310862,3.033707865168539,4.637952559300874,5.212234706616729,5.593008739076155,6.866416978776529,4.956304619225968,7.116104868913857,7.116104868913857,5.187265917602996,4.00749063670412,2.1910112359550564,3.0212234706616727,7.677902621722847,4.906367041198502,4.207240948813983,2.0599250936329585,7.49063670411985,5.33083645443196,6.367041198501872,3.0024968789013733,4.837702871410737,4.575530586766542,6.928838951310862,1.6666666666666667,3.4581772784019975,3.1647940074906367,3.8514357053682895,6.991260923845194,2.397003745318352,6.367041198501872,5.711610486891385,5.324594257178527, +5.205992509363296,6.803995006242197,3.826466916354557,6.741573033707866,4.875156054931336,4.887640449438202,1.8289637952559301,4.644194756554308,2.4157303370786516,4.0761548064918856,4.750312109862672,2.727840199750312,1.5168539325842696,1.772784019975031,2.902621722846442,7.365792759051186,6.067415730337078,4.332084893882647,3.2084893882646695,2.7590511860174782,5.3745318352059925,6.866416978776529,4.207240948813983,7.0536828963795255,6.30461922596754,2.4344569288389515,2.153558052434457,1.9350811485642945,3.383270911360799,5.318352059925093,1.5106117353308364,2.6092384519350813,6.198501872659176,5.1373283395755305,2.4656679151061174,3.776529338327091,2.471910112359551,7.740324594257178,5.543071161048689,1.7602996254681649,1.9225967540574282,6.079900124843945,5.174781523096129,2.908863920099875,2.2347066167290888,2.453183520599251,7.303370786516854,4.413233458177278,2.808988764044944,5.961298377028713,4.438202247191011,4.906367041198502,5.468164794007491,7.615480649188515,3.0087390761548067,4.700374531835206,5.355805243445693,6.803995006242197,7.303370786516854,4.619225967540574,3.3957553058676653,4.425717852684145,4.606741573033708,2.9463171036204745,7.240948813982522,4.7315855181023725,3.5580524344569286,6.991260923845194,3.058676654182272,4.662921348314606,5.243445692883895,5.6242197253433215,6.866416978776529,4.987515605493134,7.17852684144819,7.17852684144819,5.205992509363296,4.044943820224719,2.215980024968789,3.0524344569288386,7.740324594257178,4.937578027465668,4.238451935081149,2.084893882646692,7.553058676654182,5.355805243445693,6.429463171036204,3.033707865168539,4.8626716604244695,4.606741573033708,6.928838951310862,1.6916354556803994,3.4893882646691634,3.1897627965043696,3.888888888888889,7.0536828963795255,2.428214731585518,6.367041198501872,5.736579275905119,5.34956304619226, +5.237203495630462,6.803995006242197,3.857677902621723,6.741573033707866,4.900124843945068,4.906367041198502,1.8476903870162298,4.66916354556804,2.446941323345818,4.1011235955056184,4.775280898876405,2.7590511860174782,1.5418227215980027,1.8039950062421974,2.9275905118601746,7.365792759051186,6.092384519350812,4.3632958801498125,3.233458177278402,2.777777777777778,5.405742821473158,6.866416978776529,4.2322097378277155,7.116104868913857,6.30461922596754,2.4656679151061174,2.184769038701623,1.9600499375780276,3.4144818976279647,5.343320848938826,1.5355805243445693,2.640449438202247,6.223470661672909,5.162297128589263,2.4906367041198503,3.7952559300873907,2.5093632958801497,7.740324594257178,5.561797752808988,1.7790262172284643,1.9475655430711611,6.104868913857677,5.199750312109863,2.9400749063670415,2.2659176029962547,2.478152309612984,7.365792759051186,4.444444444444445,2.84019975031211,5.986267166042447,4.4694132334581775,4.937578027465668,5.493133583021224,7.677902621722847,3.033707865168539,4.719101123595506,5.380774032459426,6.803995006242197,7.365792759051186,4.644194756554308,3.4144818976279647,4.444444444444445,4.637952559300874,2.9712858926342074,7.240948813982522,4.750312109862672,3.576779026217228,6.991260923845194,3.0836454431960054,4.687890137328339,5.274656679151062,5.655430711610487,6.928838951310862,5.012484394506866,7.17852684144819,7.17852684144819,5.230961298377029,4.0761548064918856,2.2409488139825218,3.089887640449438,7.740324594257178,4.9687890137328345,4.269662921348314,2.1036204744069913,7.553058676654182,5.3745318352059925,6.429463171036204,3.0649188514357055,4.887640449438202,4.637952559300874,6.928838951310862,1.7166042446941323,3.5205992509363297,3.2209737827715355,3.920099875156055,7.0536828963795255,2.459425717852684,6.429463171036204,5.761548064918852,5.36828963795256, +5.268414481897628,6.866416978776529,3.888888888888889,6.803995006242197,4.925093632958801,4.931335830212235,1.8726591760299625,4.694132334581773,2.478152309612984,4.119850187265917,4.794007490636704,2.790262172284644,1.5605493133583022,1.8352059925093633,2.9525593008739075,7.428214731585518,6.123595505617978,4.394506866416979,3.258426966292135,2.8027465667915106,5.436953807740325,6.928838951310862,4.257178526841448,7.116104868913857,6.367041198501872,2.4906367041198503,2.215980024968789,1.9850187265917605,3.4456928838951315,5.36828963795256,1.5605493133583022,2.671660424469413,6.242197253433209,5.181023720349563,2.5093632958801497,3.8202247191011236,2.5405742821473156,7.8027465667915115,5.586766541822722,1.797752808988764,1.9662921348314608,6.129837702871411,5.224719101123595,2.977528089887641,2.2971285892634206,2.5093632958801497,7.365792759051186,4.475655430711611,2.871410736579276,6.0174781523096135,4.49438202247191,4.975031210986267,5.524344569288389,7.677902621722847,3.058676654182272,4.737827715355805,5.411985018726591,6.866416978776529,7.365792759051186,4.675405742821473,3.4332084893882646,4.463171036204744,4.66916354556804,2.990012484394507,7.303370786516854,4.775280898876405,3.6017478152309614,6.991260923845194,3.108614232209738,4.712858926342073,5.305867665418227,5.686641697877653,6.928838951310862,5.0374531835206,7.240948813982522,7.17852684144819,5.249687890137328,4.107365792759051,2.2659176029962547,3.1210986267166043,7.8027465667915115,5.0,4.307116104868914,2.128589263420724,7.615480649188515,5.399500624219725,6.491885143570538,3.0961298377028714,4.912609238451935,4.675405742821473,6.991260923845194,1.7415730337078652,3.5518102372034956,3.245942571785269,3.951310861423221,7.116104868913857,2.4968789013732833,6.429463171036204,5.792759051186017,5.393258426966292, +5.299625468164794,6.866416978776529,3.926342072409488,6.803995006242197,4.950062421972534,4.950062421972534,1.8976279650436954,4.719101123595506,2.5031210986267167,4.144818976279651,4.818976279650437,2.8152309612983775,1.585518102372035,1.8664169787765295,2.977528089887641,7.428214731585518,6.154806491885144,4.425717852684145,3.2833957553058677,2.82147315855181,5.461922596754057,6.928838951310862,4.282147315855181,7.17852684144819,6.367041198501872,2.521847690387016,2.2409488139825218,2.009987515605493,3.4769038701622974,5.393258426966292,1.585518102372035,2.7091136079900124,6.242197253433209,5.205992509363296,2.5343320848938826,3.8451935081148565,2.578027465667915,7.8027465667915115,5.611735330836455,1.8227215980024971,1.9912609238451935,6.1485642946317105,5.2559300873907615,3.0087390761548067,2.322097378277154,2.5343320848938826,7.428214731585518,4.51310861423221,2.908863920099875,6.048689138576779,4.525593008739076,5.0062421972534334,5.549313358302123,7.740324594257178,3.0836454431960054,4.762796504369538,5.436953807740325,6.866416978776529,7.428214731585518,4.700374531835206,3.451935081148564,4.488139825218477,4.700374531835206,3.0149812734082393,7.303370786516854,4.794007490636704,3.620474406991261,7.0536828963795255,3.1335830212234708,4.737827715355805,5.337078651685393,5.724094881398252,6.991260923845194,5.068664169787765,7.240948813982522,7.240948813982522,5.268414481897628,4.144818976279651,2.2908863920099876,3.1585518102372037,7.8027465667915115,5.031210986267166,4.33832709113608,2.1473158551810236,7.615480649188515,5.424469413233458,6.491885143570538,3.1273408239700373,4.937578027465668,4.70661672908864,6.991260923845194,1.7602996254681649,3.5830212234706615,3.2709113607990012,3.9887640449438204,7.17852684144819,2.5280898876404496,6.491885143570538,5.81772784019975,5.418227215980025, +5.324594257178527,6.928838951310862,3.957553058676654,6.866416978776529,4.975031210986267,4.975031210986267,1.916354556803995,4.750312109862672,2.5343320848938826,4.169787765293384,4.837702871410737,2.8464419475655434,1.6104868913857677,1.8976279650436954,3.0024968789013733,7.49063670411985,6.186017478152309,4.456928838951311,3.3083645443196006,2.8464419475655434,5.493133583021224,6.991260923845194,4.307116104868914,7.17852684144819,6.429463171036204,2.5530586766541825,2.272159800249688,2.034956304619226,3.508114856429463,5.418227215980025,1.6104868913857677,2.740324594257179,6.30461922596754,5.224719101123595,2.5593008739076155,3.870162297128589,2.6092384519350813,7.865168539325843,5.636704119850187,1.8414481897627966,2.016229712858926,6.173533083645444,5.280898876404494,3.0399500624219726,2.35330836454432,2.5593008739076155,7.428214731585518,4.544319600499376,2.9400749063670415,6.079900124843945,4.55056179775281,5.043695380774032,5.574282147315855,7.8027465667915115,3.108614232209738,4.781523096129837,5.468164794007491,6.928838951310862,7.428214731585518,4.725343320848939,3.4769038701622974,4.506866416978776,4.7315855181023725,3.033707865168539,7.365792759051186,4.818976279650437,3.6454431960049942,7.0536828963795255,3.1585518102372037,4.762796504369538,5.36828963795256,5.7553058676654185,6.991260923845194,5.093632958801498,7.303370786516854,7.240948813982522,5.293383270911361,4.176029962546816,2.3158551810237205,3.1960049937578026,7.865168539325843,5.062421972534332,4.375780274656679,2.1722846441947565,7.677902621722847,5.449438202247191,6.491885143570538,3.1585518102372037,4.962546816479401,4.737827715355805,7.0536828963795255,1.7852684144818978,3.6142322097378274,3.3021223470661676,4.019975031210986,7.17852684144819,2.565543071161049,6.491885143570538,5.842696629213483,5.436953807740325, +5.355805243445693,6.928838951310862,3.9887640449438204,6.866416978776529,5.0,5.0,1.941323345817728,4.775280898876405,2.565543071161049,4.188514357053683,4.856429463171036,2.8776529338327093,1.6292134831460674,1.9225967540574282,3.027465667915106,7.49063670411985,6.217228464419476,4.488139825218477,3.3333333333333335,2.865168539325843,5.524344569288389,6.991260923845194,4.332084893882647,7.240948813982522,6.429463171036204,2.578027465667915,2.303370786516854,2.0599250936329585,3.5393258426966296,5.443196004993759,1.6354556803995006,2.7715355805243447,6.30461922596754,5.249687890137328,2.578027465667915,3.888888888888889,2.6466916354556806,7.865168539325843,5.66167290886392,1.8601747815230962,2.0411985018726595,6.192259675405743,5.305867665418227,3.0711610486891385,2.3845193508114857,2.5905118601747814,7.49063670411985,4.575530586766542,2.977528089887641,6.104868913857677,4.581772784019975,5.074906367041199,5.599250936329588,7.8027465667915115,3.1335830212234708,4.800249687890138,5.493133583021224,6.991260923845194,7.428214731585518,4.750312109862672,3.495630461922597,4.525593008739076,4.762796504369538,3.058676654182272,7.365792759051186,4.843945068664169,3.6641697877652937,7.0536828963795255,3.183520599250936,4.787765293383271,5.399500624219725,5.786516853932584,6.991260923845194,5.118601747815231,7.303370786516854,7.240948813982522,5.312109862671661,4.213483146067416,2.340823970037453,3.227215980024969,7.927590511860175,5.087390761548065,4.406991260923846,2.1910112359550564,7.677902621722847,5.474406991260924,6.554307116104869,3.1897627965043696,4.987515605493134,4.769038701622971,7.0536828963795255,1.8102372034956304,3.6454431960049942,3.3270911360799,4.051186017478152,7.240948813982522,2.596754057428215,6.554307116104869,5.867665418227216,5.461922596754057, +5.3870162297128585,6.991260923845194,4.02621722846442,6.928838951310862,5.024968789013733,5.0187265917602994,1.9662921348314608,4.800249687890138,2.596754057428215,4.213483146067416,4.881398252184769,2.908863920099875,1.6541822721598003,1.9538077403245941,3.0524344569288386,7.553058676654182,6.242197253433209,4.519350811485642,3.3583021223470664,2.8901373283395753,5.549313358302123,7.0536828963795255,4.3508114856429465,7.240948813982522,6.491885143570538,2.6092384519350813,2.33458177278402,2.084893882646692,3.5705368289637955,5.468164794007491,1.6541822721598003,2.808988764044944,6.30461922596754,5.274656679151062,2.602996254681648,3.9138576779026217,2.6779026217228465,7.927590511860175,5.686641697877653,1.8851435705368291,2.066167290886392,6.217228464419476,5.337078651685393,3.108614232209738,2.4157303370786516,2.6154806491885143,7.49063670411985,4.612983770287141,3.0087390761548067,6.1360799001248445,4.606741573033708,5.1123595505617985,5.6242197253433215,7.865168539325843,3.15230961298377,4.825218476903871,5.524344569288389,6.991260923845194,7.49063670411985,4.781523096129837,3.5143570536828963,4.55056179775281,4.794007490636704,3.0836454431960054,7.428214731585518,4.8626716604244695,3.689138576779026,7.116104868913857,3.2084893882646695,4.812734082397004,5.430711610486892,5.81772784019975,7.0536828963795255,5.149812734082397,7.365792759051186,7.303370786516854,5.33083645443196,4.244694132334582,2.3657927590511862,3.2646691635455682,7.927590511860175,5.118601747815231,4.438202247191011,2.215980024968789,7.740324594257178,5.499375780274657,6.554307116104869,3.2209737827715355,5.012484394506866,4.800249687890138,7.116104868913857,1.8352059925093633,3.6766541822721597,3.352059925093633,4.082397003745319,7.240948813982522,2.634207240948814,6.554307116104869,5.892634207240949,5.48689138576779, +5.418227215980025,6.991260923845194,4.057428214731585,6.928838951310862,5.049937578027466,5.043695380774032,1.9850187265917605,4.825218476903871,2.6217228464419473,4.238451935081149,4.900124843945068,2.933832709113608,1.6791510611735332,1.9850187265917605,3.077403245942572,7.553058676654182,6.30461922596754,4.55056179775281,3.383270911360799,2.908863920099875,5.580524344569288,7.0536828963795255,4.375780274656679,7.303370786516854,6.491885143570538,2.640449438202247,2.3657927590511862,2.1098626716604243,3.6017478152309614,5.493133583021224,1.6791510611735332,2.84019975031211,6.367041198501872,5.293383270911361,2.6217228464419473,3.938826466916354,2.715355805243446,7.927590511860175,5.711610486891385,1.9038701622971288,2.091136079900125,6.235955056179775,5.3620474406991265,3.139825218476904,2.4406991260923845,2.640449438202247,7.553058676654182,4.644194756554308,3.0399500624219726,6.167290886392011,4.637952559300874,5.143570536828964,5.655430711610487,7.865168539325843,3.1772784019975036,4.843945068664169,5.555555555555556,7.0536828963795255,7.49063670411985,4.806491885143571,3.533083645443196,4.569288389513109,4.831460674157303,3.102372034956305,7.428214731585518,4.887640449438202,3.7078651685393256,7.116104868913857,3.233458177278402,4.837702871410737,5.461922596754057,5.855181023720349,7.0536828963795255,5.174781523096129,7.365792759051186,7.303370786516854,5.355805243445693,4.282147315855181,2.3907615480649187,3.295880149812734,7.990012484394507,5.149812734082397,4.475655430711611,2.2347066167290888,7.740324594257178,5.524344569288389,6.616729088639201,3.2521847690387014,5.0374531835206,4.831460674157303,7.116104868913857,1.8601747815230962,3.701622971285893,3.3770287141073654,4.119850187265917,7.303370786516854,2.66541822721598,6.616729088639201,5.917602996254682,5.511860174781523, +5.449438202247191,7.0536828963795255,4.094881398252185,6.928838951310862,5.074906367041199,5.068664169787765,2.009987515605493,4.850187265917603,2.6529338327091136,4.257178526841448,4.925093632958801,2.965043695380774,1.6978776529338326,2.016229712858926,3.102372034956305,7.615480649188515,6.30461922596754,4.581772784019975,3.408239700374532,2.933832709113608,5.611735330836455,7.116104868913857,4.400749063670412,7.303370786516854,6.554307116104869,2.66541822721598,2.397003745318352,2.134831460674157,3.6329588014981273,5.5181023720349565,1.704119850187266,2.8776529338327093,6.367041198501872,5.318352059925093,2.6466916354556806,3.9637952559300875,2.752808988764045,7.990012484394507,5.730337078651686,1.9225967540574282,2.1161048689138577,6.242197253433209,5.3870162297128585,3.17103620474407,2.471910112359551,2.671660424469413,7.553058676654182,4.675405742821473,3.077403245942572,6.198501872659176,4.66916354556804,5.174781523096129,5.68039950062422,7.927590511860175,3.202247191011236,4.868913857677903,5.580524344569288,7.0536828963795255,7.553058676654182,4.831460674157303,3.5518102372034956,4.588014981273409,4.8626716604244695,3.1273408239700373,7.428214731585518,4.906367041198502,3.732833957553059,7.116104868913857,3.258426966292135,4.8626716604244695,5.493133583021224,5.8863920099875156,7.0536828963795255,5.199750312109863,7.428214731585518,7.303370786516854,5.3745318352059925,4.313358302122348,2.4157303370786516,3.3333333333333335,7.990012484394507,5.181023720349563,4.506866416978776,2.259675405742821,7.8027465667915115,5.543071161048689,6.616729088639201,3.2833957553058677,5.062421972534332,4.868913857677903,7.17852684144819,1.8851435705368291,3.732833957553059,3.408239700374532,4.151061173533084,7.365792759051186,2.696629213483146,6.616729088639201,5.942571785268415,5.5305867665418225, +5.480649188514358,7.0536828963795255,4.1260923845193505,6.991260923845194,5.099875156054932,5.087390761548065,2.034956304619226,4.881398252184769,2.68414481897628,4.282147315855181,4.943820224719102,2.9962546816479403,1.7228464419475658,2.0474406991260925,3.1210986267166043,7.615480649188515,6.367041198501872,4.612983770287141,3.4332084893882646,2.9525593008739075,5.636704119850187,7.116104868913857,4.425717852684145,7.365792759051186,6.554307116104869,2.696629213483146,2.4219725343320846,2.15980024968789,3.6641697877652937,5.543071161048689,1.7290886392009988,2.908863920099875,6.367041198501872,5.337078651685393,2.671660424469413,3.982521847690387,2.7840199750312107,7.990012484394507,5.7553058676654185,1.9475655430711611,2.134831460674157,6.30461922596754,5.411985018726591,3.202247191011236,2.5031210986267167,2.696629213483146,7.615480649188515,4.712858926342073,3.108614232209738,6.223470661672909,4.694132334581773,5.212234706616729,5.705368289637952,7.927590511860175,3.227215980024969,4.887640449438202,5.611735330836455,7.116104868913857,7.553058676654182,4.8626716604244695,3.5705368289637955,4.612983770287141,4.893882646691636,3.1460674157303368,7.49063670411985,4.931335830212235,3.7515605493133584,7.17852684144819,3.2771535580524347,4.887640449438202,5.5181023720349565,5.917602996254682,7.116104868913857,5.230961298377029,7.428214731585518,7.365792759051186,5.393258426966292,4.3508114856429465,2.4406991260923845,3.3645443196004994,8.05243445692884,5.212234706616729,4.538077403245943,2.278401997503121,7.8027465667915115,5.568039950062421,6.616729088639201,3.3146067415730336,5.087390761548065,4.900124843945068,7.17852684144819,1.9101123595505618,3.764044943820225,3.4332084893882646,4.18227215980025,7.365792759051186,2.7340823970037453,6.679151061173534,5.967540574282147,5.555555555555556, +5.511860174781523,7.116104868913857,4.157303370786517,6.991260923845194,5.1248439450686645,5.1123595505617985,2.0536828963795255,4.906367041198502,2.715355805243446,4.307116104868914,4.9687890137328345,3.027465667915106,1.7478152309612984,2.0724094881398254,3.1460674157303368,7.677902621722847,6.367041198501872,4.644194756554308,3.4581772784019975,2.977528089887641,5.667915106117353,7.17852684144819,4.450686641697877,7.365792759051186,6.616729088639201,2.727840199750312,2.453183520599251,2.184769038701623,3.6953807740324596,5.568039950062421,1.7540574282147314,2.9400749063670415,6.429463171036204,5.3620474406991265,2.690387016229713,4.00749063670412,2.82147315855181,8.05243445692884,5.7802746566791505,1.9662921348314608,2.15980024968789,6.30461922596754,5.443196004993759,3.2397003745318353,2.5280898876404496,2.7215980024968793,7.615480649188515,4.7440699126092385,3.1460674157303368,6.242197253433209,4.725343320848939,5.243445692883895,5.730337078651686,7.990012484394507,3.2521847690387014,4.906367041198502,5.636704119850187,7.17852684144819,7.553058676654182,4.887640449438202,3.589263420724095,4.631710362047441,4.925093632958801,3.17103620474407,7.49063670411985,4.956304619225968,3.776529338327091,7.17852684144819,3.3021223470661676,4.912609238451935,5.549313358302123,5.948813982521848,7.116104868913857,5.2559300873907615,7.49063670411985,7.365792759051186,5.418227215980025,4.382022471910113,2.4656679151061174,3.4019975031210987,8.11485642946317,5.243445692883895,4.575530586766542,2.303370786516854,7.865168539325843,5.593008739076155,6.679151061173534,3.3458177278401995,5.118601747815231,4.931335830212235,7.240948813982522,1.9288389513108615,3.7952559300873907,3.4581772784019975,4.219725343320849,7.428214731585518,2.7652933832709112,6.679151061173534,5.998751560549313,5.580524344569288, +5.543071161048689,7.116104868913857,4.194756554307116,7.0536828963795255,5.149812734082397,5.1373283395755305,2.0786516853932584,4.931335830212235,2.740324594257179,4.325842696629214,4.987515605493134,3.0524344569288386,1.766541822721598,2.1036204744069913,3.17103620474407,7.677902621722847,6.429463171036204,4.675405742821473,3.4831460674157304,2.9962546816479403,5.69912609238452,7.17852684144819,4.475655430711611,7.428214731585518,6.616729088639201,2.752808988764045,2.4843945068664173,2.209737827715356,3.732833957553059,5.593008739076155,1.7790262172284643,2.977528089887641,6.429463171036204,5.380774032459426,2.715355805243446,4.032459425717852,2.852684144818976,8.05243445692884,5.805243445692884,1.9850187265917605,2.184769038701623,6.30461922596754,5.468164794007491,3.2709113607990012,2.5593008739076155,2.752808988764045,7.677902621722847,4.781523096129837,3.1772784019975036,6.30461922596754,4.750312109862672,5.280898876404494,5.7553058676654185,8.05243445692884,3.2709113607990012,4.931335830212235,5.667915106117353,7.17852684144819,7.615480649188515,4.912609238451935,3.607990012484395,4.65043695380774,4.956304619225968,3.1960049937578026,7.553058676654182,4.975031210986267,3.7952559300873907,7.17852684144819,3.3270911360799,4.937578027465668,5.580524344569288,5.980024968789014,7.17852684144819,5.280898876404494,7.49063670411985,7.365792759051186,5.436953807740325,4.419475655430712,2.4906367041198503,3.439450686641698,8.11485642946317,5.274656679151062,4.606741573033708,2.322097378277154,7.865168539325843,5.617977528089888,6.679151061173534,3.3770287141073654,5.143570536828964,4.962546816479401,7.240948813982522,1.9538077403245941,3.826466916354557,3.4831460674157304,4.250936329588015,7.49063670411985,2.8027465667915106,6.741573033707866,6.023720349563047,5.605493133583021, +5.574282147315855,7.17852684144819,4.225967540574282,7.0536828963795255,5.174781523096129,5.15605493133583,2.1036204744069913,4.956304619225968,2.7715355805243447,4.3508114856429465,5.0062421972534334,3.0836454431960054,1.7915106117353308,2.134831460674157,3.1960049937578026,7.677902621722847,6.429463171036204,4.70661672908864,3.508114856429463,3.0212234706616727,5.724094881398252,7.240948813982522,4.500624219725343,7.428214731585518,6.616729088639201,2.7840199750312107,2.515605493133583,2.2347066167290888,3.764044943820225,5.617977528089888,1.8039950062421974,3.0087390761548067,6.429463171036204,5.405742821473158,2.7340823970037453,4.051186017478152,2.8901373283395753,8.11485642946317,5.830212234706617,2.00374531835206,2.209737827715356,6.367041198501872,5.493133583021224,3.3021223470661676,2.5905118601747814,2.777777777777778,7.677902621722847,4.812734082397004,3.2084893882646695,6.30461922596754,4.781523096129837,5.312109862671661,5.786516853932584,8.05243445692884,3.295880149812734,4.950062421972534,5.692883895131087,7.240948813982522,7.615480649188515,4.943820224719102,3.6267166042446943,4.675405742821473,4.987515605493134,3.214731585518102,7.553058676654182,5.0,3.8202247191011236,7.240948813982522,3.352059925093633,4.962546816479401,5.611735330836455,6.0174781523096135,7.17852684144819,5.312109862671661,7.553058676654182,7.428214731585518,5.455680399500624,4.450686641697877,2.515605493133583,3.470661672908864,8.177278401997503,5.305867665418227,4.637952559300874,2.340823970037453,7.927590511860175,5.64294631710362,6.741573033707866,3.408239700374532,5.168539325842697,4.9937578027465666,7.303370786516854,1.978776529338327,3.857677902621723,3.5143570536828963,4.282147315855181,7.49063670411985,2.8339575530586765,6.741573033707866,6.048689138576779,5.6242197253433215, +5.599250936329588,7.17852684144819,4.257178526841448,7.116104868913857,5.199750312109863,5.181023720349563,2.122347066167291,4.987515605493134,2.8027465667915106,4.375780274656679,5.031210986267166,3.114856429463171,1.8102372034956304,2.1660424469413235,3.2209737827715355,7.740324594257178,6.491885143570538,4.737827715355805,3.5268414481897628,3.0399500624219726,5.7553058676654185,7.240948813982522,4.525593008739076,7.49063670411985,6.679151061173534,2.8152309612983775,2.546816479400749,2.259675405742821,3.7952559300873907,5.64294631710362,1.8289637952559301,3.0399500624219726,6.491885143570538,5.430711610486892,2.7590511860174782,4.0761548064918856,2.9213483146067416,8.11485642946317,5.855181023720349,2.0287141073657926,2.2347066167290888,6.367041198501872,5.524344569288389,3.3333333333333335,2.6217228464419473,2.8027465667915106,7.740324594257178,4.843945068664169,3.245942571785269,6.367041198501872,4.806491885143571,5.343320848938826,5.811485642946318,8.11485642946317,3.320848938826467,4.9687890137328345,5.724094881398252,7.240948813982522,7.677902621722847,4.9687890137328345,3.651685393258427,4.694132334581773,5.0187265917602994,3.2397003745318353,7.615480649188515,5.0187265917602994,3.8389513108614235,7.240948813982522,3.3770287141073654,4.987515605493134,5.64294631710362,6.048689138576779,7.17852684144819,5.337078651685393,7.553058676654182,7.428214731585518,5.480649188514358,4.488139825218477,2.5405742821473156,3.508114856429463,8.239700374531834,5.337078651685393,4.675405742821473,2.3657927590511862,7.927590511860175,5.667915106117353,6.741573033707866,3.439450686641698,5.19350811485643,5.031210986267166,7.303370786516854,2.00374531835206,3.888888888888889,3.5393258426966296,4.31960049937578,7.553058676654182,2.871410736579276,6.803995006242197,6.073657927590512,5.6491885143570535, +5.630461922596755,7.240948813982522,4.294631710362047,7.116104868913857,5.224719101123595,5.205992509363296,2.1473158551810236,5.012484394506866,2.8339575530586765,4.394506866416979,5.049937578027466,3.139825218476904,1.8352059925093633,2.1910112359550564,3.245942571785269,7.740324594257178,6.491885143570538,4.769038701622971,3.5518102372034956,3.0649188514357055,5.786516853932584,7.303370786516854,4.55056179775281,7.49063670411985,6.679151061173534,2.84019975031211,2.578027465667915,2.2846441947565546,3.826466916354557,5.667915106117353,1.8539325842696628,3.077403245942572,6.491885143570538,5.449438202247191,2.7840199750312107,4.1011235955056184,2.958801498127341,8.177278401997503,5.8739076154806495,2.0474406991260925,2.259675405742821,6.367041198501872,5.549313358302123,3.370786516853933,2.6466916354556806,2.8339575530586765,7.740324594257178,4.881398252184769,3.2771535580524347,6.367041198501872,4.837702871410737,5.380774032459426,5.836454431960051,8.11485642946317,3.3458177278401995,4.9937578027465666,5.749063670411985,7.303370786516854,7.677902621722847,4.9937578027465666,3.6704119850187267,4.712858926342073,5.049937578027466,3.258426966292135,7.615480649188515,5.043695380774032,3.8639200998751564,7.240948813982522,3.4019975031210987,5.012484394506866,5.674157303370786,6.079900124843945,7.240948813982522,5.3620474406991265,7.615480649188515,7.428214731585518,5.499375780274657,4.519350811485642,2.565543071161049,3.5393258426966296,8.239700374531834,5.36828963795256,4.70661672908864,2.3845193508114857,7.990012484394507,5.692883895131087,6.741573033707866,3.470661672908864,5.218476903870163,5.062421972534332,7.365792759051186,2.0287141073657926,3.920099875156055,3.564294631710362,4.3508114856429465,7.553058676654182,2.902621722846442,6.803995006242197,6.098626716604246,5.674157303370786, +5.66167290886392,7.303370786516854,4.325842696629214,7.17852684144819,5.249687890137328,5.224719101123595,2.1722846441947565,5.0374531835206,2.8589263420724094,4.419475655430712,5.074906367041199,3.17103620474407,1.8601747815230962,2.2222222222222223,3.2709113607990012,7.8027465667915115,6.554307116104869,4.800249687890138,3.576779026217228,3.0836454431960054,5.811485642946318,7.303370786516854,4.569288389513109,7.553058676654182,6.741573033707866,2.871410736579276,2.602996254681648,2.309612983770287,3.857677902621723,5.692883895131087,1.8789013732833957,3.108614232209738,6.491885143570538,5.474406991260924,2.8027465667915106,4.1260923845193505,2.990012484394507,8.177278401997503,5.8988764044943816,2.066167290886392,2.278401997503121,6.429463171036204,5.574282147315855,3.4019975031210987,2.6779026217228465,2.8589263420724094,7.8027465667915115,4.912609238451935,3.3146067415730336,6.429463171036204,4.868913857677903,5.411985018726591,5.861423220973783,8.177278401997503,3.370786516853933,5.012484394506866,5.7802746566791505,7.365792759051186,7.677902621722847,5.024968789013733,3.689138576779026,4.737827715355805,5.081148564294631,3.2833957553058677,7.677902621722847,5.068664169787765,3.882646691635456,7.303370786516854,3.4269662921348316,5.0374531835206,5.705368289637952,6.111111111111111,7.240948813982522,5.393258426966292,7.615480649188515,7.49063670411985,5.524344569288389,4.55056179775281,2.5905118601747814,3.576779026217228,8.302122347066168,5.399500624219725,4.737827715355805,2.4094881398252186,7.990012484394507,5.711610486891385,6.803995006242197,3.5018726591760303,5.243445692883895,5.093632958801498,7.365792759051186,2.0536828963795255,3.951310861423221,3.595505617977528,4.382022471910113,7.615480649188515,2.9400749063670415,6.866416978776529,6.123595505617978,5.69912609238452, +5.692883895131087,7.303370786516854,4.357053682896379,7.17852684144819,5.274656679151062,5.249687890137328,2.1910112359550564,5.062421972534332,2.8901373283395753,4.444444444444445,5.093632958801498,3.202247191011236,1.8789013732833957,2.253433208489388,3.295880149812734,7.8027465667915115,6.554307116104869,4.831460674157303,3.6017478152309614,3.102372034956305,5.842696629213483,7.365792759051186,4.594257178526841,7.553058676654182,6.741573033707866,2.902621722846442,2.634207240948814,2.33458177278402,3.888888888888889,5.711610486891385,1.9038701622971288,3.1460674157303368,6.554307116104869,5.493133583021224,2.8277153558052435,4.144818976279651,3.027465667915106,8.239700374531834,5.9238451935081144,2.091136079900125,2.303370786516854,6.429463171036204,5.599250936329588,3.4332084893882646,2.7091136079900124,2.8838951310861427,7.8027465667915115,4.943820224719102,3.3458177278401995,6.429463171036204,4.893882646691636,5.449438202247191,5.8863920099875156,8.177278401997503,3.3957553058676653,5.031210986267166,5.805243445692884,7.365792759051186,7.740324594257178,5.049937578027466,3.7078651685393256,4.7565543071161045,5.1123595505617985,3.3021223470661676,7.677902621722847,5.087390761548065,3.9076154806491883,7.303370786516854,3.451935081148564,5.062421972534332,5.736579275905119,6.1485642946317105,7.240948813982522,5.418227215980025,7.677902621722847,7.49063670411985,5.543071161048689,4.588014981273409,2.6154806491885143,3.6142322097378274,8.302122347066168,5.430711610486892,4.775280898876405,2.428214731585518,8.05243445692884,5.736579275905119,6.803995006242197,3.533083645443196,5.268414481897628,5.1248439450686645,7.365792759051186,2.0724094881398254,3.982521847690387,3.620474406991261,4.413233458177278,7.677902621722847,2.9712858926342074,6.866416978776529,6.1485642946317105,5.717852684144819, +5.724094881398252,7.365792759051186,4.394506866416979,7.240948813982522,5.299625468164794,5.274656679151062,2.215980024968789,5.087390761548065,2.9213483146067416,4.463171036204744,5.118601747815231,3.233458177278402,1.9038701622971288,2.2846441947565546,3.320848938826467,7.865168539325843,6.616729088639201,4.8626716604244695,3.6267166042446943,3.1273408239700373,5.8739076154806495,7.365792759051186,4.619225967540574,7.615480649188515,6.803995006242197,2.9275905118601746,2.66541822721598,2.359550561797753,3.920099875156055,5.736579275905119,1.9288389513108615,3.1772784019975036,6.554307116104869,5.5181023720349565,2.8464419475655434,4.169787765293384,3.058676654182272,8.239700374531834,5.948813982521848,2.1098626716604243,2.328339575530587,6.429463171036204,5.630461922596755,3.464419475655431,2.7340823970037453,2.9151061173533086,7.865168539325843,4.9812734082397006,3.3770287141073654,6.491885143570538,4.925093632958801,5.480649188514358,5.917602996254682,8.239700374531834,3.4144818976279647,5.056179775280899,5.836454431960051,7.428214731585518,7.740324594257178,5.074906367041199,3.7265917602996255,4.775280898876405,5.143570536828964,3.3270911360799,7.740324594257178,5.1123595505617985,3.926342072409488,7.303370786516854,3.4769038701622974,5.081148564294631,5.767790262172285,6.179775280898876,7.303370786516854,5.449438202247191,7.677902621722847,7.49063670411985,5.561797752808988,4.619225967540574,2.640449438202247,3.6454431960049942,8.3645443196005,5.461922596754057,4.806491885143571,2.453183520599251,8.05243445692884,5.761548064918852,6.866416978776529,3.564294631710362,5.293383270911361,5.15605493133583,7.428214731585518,2.097378277153558,4.013732833957553,3.6454431960049942,4.450686641697877,7.677902621722847,3.0024968789013733,6.928838951310862,6.173533083645444,5.742821473158552, +5.7553058676654185,7.365792759051186,4.425717852684145,7.240948813982522,5.324594257178527,5.293383270911361,2.2409488139825218,5.118601747815231,2.9525593008739075,4.488139825218477,5.1373283395755305,3.258426966292135,1.9288389513108615,2.3158551810237205,3.3458177278401995,7.865168539325843,6.616729088639201,4.893882646691636,3.651685393258427,3.1460674157303368,5.8988764044943816,7.428214731585518,4.644194756554308,7.615480649188515,6.803995006242197,2.958801498127341,2.696629213483146,2.3845193508114857,3.951310861423221,5.761548064918852,1.9538077403245941,3.2084893882646695,6.616729088639201,5.536828963795256,2.871410736579276,4.194756554307116,3.0961298377028714,8.302122347066168,5.97378277153558,2.128589263420724,2.35330836454432,6.491885143570538,5.655430711610487,3.5018726591760303,2.7652933832709112,2.9400749063670415,7.865168539325843,5.012484394506866,3.4144818976279647,6.491885143570538,4.950062421972534,5.5181023720349565,5.942571785268415,8.302122347066168,3.439450686641698,5.074906367041199,5.867665418227216,7.428214731585518,7.8027465667915115,5.106117353308365,3.745318352059925,4.800249687890138,5.181023720349563,3.352059925093633,7.740324594257178,5.131086142322098,3.951310861423221,7.365792759051186,3.5018726591760303,5.106117353308365,5.799001248439451,6.210986267166042,7.303370786516854,5.474406991260924,7.740324594257178,7.553058676654182,5.586766541822722,4.656679151061174,2.6591760299625467,3.682896379525593,8.426966292134832,5.493133583021224,4.837702871410737,2.471910112359551,8.11485642946317,5.786516853932584,6.866416978776529,3.595505617977528,5.318352059925093,5.19350811485643,7.428214731585518,2.122347066167291,4.044943820224719,3.6704119850187267,4.4818976279650435,7.740324594257178,3.0399500624219726,6.928838951310862,6.20474406991261,5.767790262172285, +5.786516853932584,7.428214731585518,4.463171036204744,7.240948813982522,5.34956304619226,5.318352059925093,2.259675405742821,5.143570536828964,2.977528089887641,4.51310861423221,5.15605493133583,3.2896379525593007,1.9475655430711611,2.340823970037453,3.370786516853933,7.927590511860175,6.679151061173534,4.925093632958801,3.6766541822721597,3.17103620474407,5.930087390761548,7.428214731585518,4.66916354556804,7.677902621722847,6.866416978776529,2.990012484394507,2.727840199750312,2.4094881398252186,3.982521847690387,5.786516853932584,1.978776529338327,3.245942571785269,6.616729088639201,5.561797752808988,2.8963795255930087,4.219725343320849,3.1273408239700373,8.302122347066168,5.998751560549313,2.1473158551810236,2.3782771535580522,6.491885143570538,5.68039950062422,3.533083645443196,2.7965043695380776,2.965043695380774,7.927590511860175,5.049937578027466,3.4456928838951315,6.491885143570538,4.9812734082397006,5.549313358302123,5.967540574282147,8.302122347066168,3.464419475655431,5.093632958801498,5.892634207240949,7.49063670411985,7.8027465667915115,5.131086142322098,3.764044943820225,4.818976279650437,5.212234706616729,3.370786516853933,7.8027465667915115,5.15605493133583,3.970037453183521,7.365792759051186,3.5205992509363297,5.131086142322098,5.830212234706617,6.242197253433209,7.365792759051186,5.499375780274657,7.740324594257178,7.553058676654182,5.605493133583021,4.687890137328339,2.68414481897628,3.714107365792759,8.426966292134832,5.524344569288389,4.875156054931336,2.4968789013732833,8.11485642946317,5.811485642946318,6.866416978776529,3.6267166042446943,5.343320848938826,5.224719101123595,7.49063670411985,2.1473158551810236,4.0761548064918856,3.701622971285893,4.51310861423221,7.8027465667915115,3.0711610486891385,6.991260923845194,6.229712858926342,5.786516853932584, +5.81772784019975,7.428214731585518,4.49438202247191,7.303370786516854,5.3745318352059925,5.337078651685393,2.2846441947565546,5.168539325842697,3.0087390761548067,4.531835205992509,5.181023720349563,3.320848938826467,1.9725343320848938,2.3720349563046192,3.3957553058676653,7.927590511860175,6.679151061173534,4.950062421972534,3.701622971285893,3.1897627965043696,5.961298377028713,7.49063670411985,4.694132334581773,7.677902621722847,6.866416978776529,3.0149812734082393,2.7590511860174782,2.4344569288389515,4.013732833957553,5.811485642946318,2.00374531835206,3.2771535580524347,6.616729088639201,5.586766541822722,2.9151061173533086,4.238451935081149,3.1647940074906367,8.3645443196005,6.023720349563047,2.1722846441947565,2.4032459425717856,6.554307116104869,5.711610486891385,3.564294631710362,2.8277153558052435,2.9962546816479403,7.927590511860175,5.081148564294631,3.4769038701622974,6.554307116104869,5.0062421972534334,5.580524344569288,5.992509363295881,8.3645443196005,3.4893882646691634,5.118601747815231,5.9238451935081144,7.553058676654182,7.8027465667915115,5.15605493133583,3.7827715355805243,4.837702871410737,5.243445692883895,3.3957553058676653,7.8027465667915115,5.181023720349563,3.9950062421972534,7.365792759051186,3.545568039950062,5.15605493133583,5.861423220973783,6.30461922596754,7.365792759051186,5.5305867665418225,7.8027465667915115,7.553058676654182,5.6242197253433215,4.725343320848939,2.7091136079900124,3.7515605493133584,8.489388264669165,5.555555555555556,4.906367041198502,2.515605493133583,8.177278401997503,5.836454431960051,6.928838951310862,3.6579275905118602,5.36828963795256,5.2559300873907615,7.49063670411985,2.1722846441947565,4.107365792759051,3.7265917602996255,4.55056179775281,7.8027465667915115,3.108614232209738,6.991260923845194,6.242197253433209,5.811485642946318, +5.842696629213483,7.49063670411985,4.525593008739076,7.303370786516854,5.405742821473158,5.3620474406991265,2.309612983770287,5.19350811485643,3.0399500624219726,4.556803995006242,5.199750312109863,3.352059925093633,1.9975031210986267,2.4032459425717856,3.420724094881398,7.990012484394507,6.741573033707866,4.9812734082397006,3.7265917602996255,3.214731585518102,5.986267166042447,7.49063670411985,4.719101123595506,7.740324594257178,6.928838951310862,3.046192259675406,2.7840199750312107,2.459425717852684,4.044943820224719,5.836454431960051,2.0287141073657926,3.3083645443196006,6.679151061173534,5.605493133583021,2.9400749063670415,4.263420724094882,3.1960049937578026,8.3645443196005,6.0424469413233455,2.1910112359550564,2.428214731585518,6.554307116104869,5.736579275905119,3.595505617977528,2.852684144818976,3.0212234706616727,7.990012484394507,5.1123595505617985,3.5143570536828963,6.554307116104869,5.0374531835206,5.617977528089888,6.0174781523096135,8.3645443196005,3.5143570536828963,5.1373283395755305,5.948813982521848,7.553058676654182,7.865168539325843,5.187265917602996,3.801498127340824,4.8626716604244695,5.274656679151062,3.4144818976279647,7.865168539325843,5.199750312109863,4.013732833957553,7.428214731585518,3.5705368289637955,5.181023720349563,5.8863920099875156,6.30461922596754,7.365792759051186,5.555555555555556,7.8027465667915115,7.615480649188515,5.6491885143570535,4.7565543071161045,2.7340823970037453,3.7827715355805243,8.551810237203496,5.586766541822722,4.937578027465668,2.5405742821473156,8.177278401997503,5.855181023720349,6.928838951310862,3.689138576779026,5.393258426966292,5.287141073657928,7.553058676654182,2.1972534332084894,4.138576779026217,3.7515605493133584,4.581772784019975,7.865168539325843,3.139825218476904,7.0536828963795255,6.30461922596754,5.836454431960051, +5.8739076154806495,7.49063670411985,4.563046192259676,7.365792759051186,5.430711610486892,5.3870162297128585,2.328339575530587,5.218476903870163,3.0711610486891385,4.581772784019975,5.224719101123595,3.3770287141073654,2.016229712858926,2.4344569288389515,3.4456928838951315,7.990012484394507,6.741573033707866,5.012484394506866,3.7515605493133584,3.233458177278402,6.0174781523096135,7.553058676654182,4.7440699126092385,7.740324594257178,6.928838951310862,3.077403245942572,2.8152309612983775,2.4843945068664173,4.082397003745319,5.861423220973783,2.0536828963795255,3.3458177278401995,6.679151061173534,5.630461922596755,2.958801498127341,4.288389513108614,3.233458177278402,8.426966292134832,6.067415730337078,2.209737827715356,2.446941323345818,6.554307116104869,5.761548064918852,3.6329588014981273,2.8838951310861427,3.046192259675406,7.990012484394507,5.149812734082397,3.545568039950062,6.616729088639201,5.068664169787765,5.6491885143570535,6.048689138576779,8.426966292134832,3.533083645443196,5.162297128589263,5.980024968789014,7.615480649188515,7.865168539325843,5.212234706616729,3.826466916354557,4.881398252184769,5.305867665418227,3.439450686641698,7.865168539325843,5.224719101123595,4.038701622971286,7.428214731585518,3.595505617977528,5.205992509363296,5.917602996254682,6.367041198501872,7.428214731585518,5.580524344569288,7.865168539325843,7.615480649188515,5.667915106117353,4.794007490636704,2.7590511860174782,3.8202247191011236,8.551810237203496,5.617977528089888,4.975031210986267,2.5593008739076155,8.239700374531834,5.880149812734083,6.991260923845194,3.7203495630461925,5.418227215980025,5.318352059925093,7.553058676654182,2.2222222222222223,4.169787765293384,3.776529338327091,4.612983770287141,7.865168539325843,3.1772784019975036,7.0536828963795255,6.30461922596754,5.861423220973783, +5.905118601747815,7.553058676654182,4.594257178526841,7.365792759051186,5.455680399500624,5.405742821473158,2.35330836454432,5.249687890137328,3.0961298377028714,4.600499375780275,5.243445692883895,3.408239700374532,2.0411985018726595,2.4656679151061174,3.470661672908864,8.05243445692884,6.803995006242197,5.043695380774032,3.776529338327091,3.258426966292135,6.048689138576779,7.553058676654182,4.769038701622971,7.8027465667915115,6.991260923845194,3.102372034956305,2.8464419475655434,2.5093632958801497,4.1136079900124844,5.8863920099875156,2.0786516853932584,3.3770287141073654,6.679151061173534,5.6491885143570535,2.9837702871410734,4.313358302122348,3.2646691635455682,8.426966292134832,6.092384519350812,2.2347066167290888,2.471910112359551,6.616729088639201,5.786516853932584,3.6641697877652937,2.9151061173533086,3.077403245942572,8.05243445692884,5.181023720349563,3.5830212234706615,6.616729088639201,5.093632958801498,5.686641697877653,6.073657927590512,8.426966292134832,3.5580524344569286,5.181023720349563,6.004993757802747,7.615480649188515,7.927590511860175,5.237203495630462,3.8451935081148565,4.900124843945068,5.337078651685393,3.464419475655431,7.927590511860175,5.243445692883895,4.057428214731585,7.428214731585518,3.620474406991261,5.230961298377029,5.948813982521848,6.367041198501872,7.428214731585518,5.611735330836455,7.865168539325843,7.615480649188515,5.686641697877653,4.825218476903871,2.7840199750312107,3.857677902621723,8.614232209737828,5.64294631710362,5.0062421972534334,2.5842696629213484,8.239700374531834,5.905118601747815,6.991260923845194,3.7515605493133584,5.443196004993759,5.34956304619226,7.615480649188515,2.2409488139825218,4.200998751560549,3.8077403245942576,4.65043695380774,7.927590511860175,3.2084893882646695,7.116104868913857,6.30461922596754,5.880149812734083, +5.936329588014981,7.553058676654182,4.6254681647940075,7.428214731585518,5.480649188514358,5.430711610486892,2.3782771535580522,5.274656679151062,3.1273408239700373,4.6254681647940075,5.268414481897628,3.439450686641698,2.066167290886392,2.4906367041198503,3.495630461922597,8.05243445692884,6.803995006242197,5.074906367041199,3.801498127340824,3.2771535580524347,6.073657927590512,7.615480649188515,4.787765293383271,7.8027465667915115,6.991260923845194,3.1335830212234708,2.8776529338327093,2.5343320848938826,4.144818976279651,5.9113607990012484,2.1036204744069913,3.4144818976279647,6.741573033707866,5.674157303370786,3.0087390761548067,4.332084893882647,3.3021223470661676,8.489388264669165,6.117353308364544,2.253433208489388,2.4968789013732833,6.616729088639201,5.81772784019975,3.6953807740324596,2.9400749063670415,3.102372034956305,8.05243445692884,5.212234706616729,3.6142322097378274,6.679151061173534,5.1248439450686645,5.717852684144819,6.098626716604246,8.489388264669165,3.5830212234706615,5.199750312109863,6.036204744069912,7.677902621722847,7.927590511860175,5.268414481897628,3.8639200998751564,4.925093632958801,5.36828963795256,3.4831460674157304,7.927590511860175,5.268414481897628,4.082397003745319,7.49063670411985,3.6454431960049942,5.2559300873907615,5.980024968789014,6.429463171036204,7.428214731585518,5.636704119850187,7.927590511860175,7.677902621722847,5.711610486891385,4.8626716604244695,2.808988764044944,3.888888888888889,8.614232209737828,5.674157303370786,5.043695380774032,2.602996254681648,8.302122347066168,5.930087390761548,6.991260923845194,3.7827715355805243,5.468164794007491,5.3870162297128585,7.615480649188515,2.2659176029962547,4.2322097378277155,3.83270911360799,4.681647940074906,7.990012484394507,3.245942571785269,7.116104868913857,6.367041198501872,5.905118601747815, +5.967540574282147,7.615480649188515,4.662921348314606,7.428214731585518,5.50561797752809,5.455680399500624,2.397003745318352,5.299625468164794,3.1585518102372037,4.65043695380774,5.287141073657928,3.464419475655431,2.084893882646692,2.521847690387016,3.5205992509363297,8.11485642946317,6.866416978776529,5.106117353308365,3.826466916354557,3.3021223470661676,6.104868913857677,7.615480649188515,4.812734082397004,7.8027465667915115,7.0536828963795255,3.1647940074906367,2.908863920099875,2.5593008739076155,4.176029962546816,5.936329588014981,2.128589263420724,3.4456928838951315,6.741573033707866,5.692883895131087,3.027465667915106,4.357053682896379,3.3333333333333335,8.489388264669165,6.142322097378277,2.272159800249688,2.521847690387016,6.616729088639201,5.842696629213483,3.732833957553059,2.9712858926342074,3.1273408239700373,8.11485642946317,5.249687890137328,3.6454431960049942,6.679151061173534,5.149812734082397,5.7553058676654185,6.123595505617978,8.551810237203496,3.607990012484395,5.224719101123595,6.061173533083646,7.740324594257178,7.927590511860175,5.293383270911361,3.882646691635456,4.943820224719102,5.399500624219725,3.508114856429463,7.990012484394507,5.293383270911361,4.1011235955056184,7.49063670411985,3.6704119850187267,5.280898876404494,6.01123595505618,6.429463171036204,7.49063670411985,5.66167290886392,7.927590511860175,7.677902621722847,5.730337078651686,4.893882646691636,2.8339575530586765,3.926342072409488,8.67665418227216,5.705368289637952,5.074906367041199,2.6279650436953808,8.302122347066168,5.955056179775282,7.0536828963795255,3.81398252184769,5.493133583021224,5.418227215980025,7.677902621722847,2.2908863920099876,4.263420724094882,3.857677902621723,4.712858926342073,7.990012484394507,3.2771535580524347,7.17852684144819,6.367041198501872,5.930087390761548, +5.998751560549313,7.615480649188515,4.694132334581773,7.49063670411985,5.5305867665418225,5.474406991260924,2.4219725343320846,5.324594257178527,3.183520599250936,4.66916354556804,5.305867665418227,3.495630461922597,2.1098626716604243,2.5530586766541825,3.545568039950062,8.11485642946317,6.866416978776529,5.1373283395755305,3.8514357053682895,3.320848938826467,6.1360799001248445,7.677902621722847,4.837702871410737,7.865168539325843,7.0536828963795255,3.1897627965043696,2.933832709113608,2.5842696629213484,4.207240948813983,5.961298377028713,2.153558052434457,3.4769038701622974,6.741573033707866,5.717852684144819,3.0524344569288386,4.382022471910113,3.370786516853933,8.551810237203496,6.167290886392011,2.2908863920099876,2.546816479400749,6.679151061173534,5.867665418227216,3.764044943820225,3.0024968789013733,3.1585518102372037,8.11485642946317,5.280898876404494,3.682896379525593,6.741573033707866,5.181023720349563,5.786516853932584,6.1485642946317105,8.551810237203496,3.6329588014981273,5.243445692883895,6.092384519350812,7.740324594257178,7.990012484394507,5.318352059925093,3.9013732833957557,4.962546816479401,5.430711610486892,3.5268414481897628,7.990012484394507,5.312109862671661,4.1260923845193505,7.553058676654182,3.6953807740324596,5.305867665418227,6.0424469413233455,6.491885143570538,7.49063670411985,5.692883895131087,7.990012484394507,7.677902621722847,5.749063670411985,4.931335830212235,2.8589263420724094,3.957553058676654,8.739076154806492,5.736579275905119,5.106117353308365,2.6466916354556806,8.3645443196005,5.980024968789014,7.0536828963795255,3.8451935081148565,5.5181023720349565,5.449438202247191,7.677902621722847,2.3158551810237205,4.294631710362047,3.888888888888889,4.7440699126092385,8.05243445692884,3.3083645443196006,7.17852684144819,6.429463171036204,5.955056179775282, +6.029962546816479,7.677902621722847,4.725343320848939,7.49063670411985,5.555555555555556,5.499375780274657,2.446941323345818,5.34956304619226,3.214731585518102,4.694132334581773,5.33083645443196,3.5268414481897628,2.134831460674157,2.5842696629213484,3.5705368289637955,8.177278401997503,6.928838951310862,5.168539325842697,3.870162297128589,3.3458177278401995,6.161048689138577,7.677902621722847,4.8626716604244695,7.865168539325843,7.0536828963795255,3.2209737827715355,2.965043695380774,2.6092384519350813,4.238451935081149,5.986267166042447,2.1785268414481895,3.5143570536828963,6.803995006242197,5.742821473158552,3.0711610486891385,4.400749063670412,3.4019975031210987,8.551810237203496,6.186017478152309,2.3158551810237205,2.571785268414482,6.679151061173534,5.8988764044943816,3.7952559300873907,3.033707865168539,3.183520599250936,8.177278401997503,5.312109862671661,3.714107365792759,6.741573033707866,5.212234706616729,5.81772784019975,6.179775280898876,8.614232209737828,3.6579275905118602,5.262172284644195,6.117353308364544,7.8027465667915115,7.990012484394507,5.34956304619226,3.920099875156055,4.987515605493134,5.461922596754057,3.5518102372034956,8.05243445692884,5.337078651685393,4.144818976279651,7.553058676654182,3.7203495630461925,5.33083645443196,6.073657927590512,6.491885143570538,7.553058676654182,5.717852684144819,7.990012484394507,7.740324594257178,5.774032459425719,4.962546816479401,2.8838951310861427,3.9950062421972534,8.739076154806492,5.767790262172285,5.143570536828964,2.671660424469413,8.3645443196005,6.004993757802747,7.116104868913857,3.8764044943820224,5.543071161048689,5.480649188514358,7.740324594257178,2.340823970037453,4.31960049937578,3.9138576779026217,4.781523096129837,8.11485642946317,3.3458177278401995,7.240948813982522,6.429463171036204,5.97378277153558, +6.061173533083646,7.677902621722847,4.762796504369538,7.49063670411985,5.580524344569288,5.524344569288389,2.4656679151061174,5.380774032459426,3.245942571785269,4.719101123595506,5.34956304619226,3.5580524344569286,2.153558052434457,2.6154806491885143,3.589263420724095,8.177278401997503,6.928838951310862,5.199750312109863,3.8951310861423223,3.3645443196004994,6.192259675405743,7.740324594257178,4.887640449438202,7.927590511860175,7.116104868913857,3.2521847690387014,2.9962546816479403,2.634207240948814,4.269662921348314,6.01123595505618,2.203495630461923,3.545568039950062,6.803995006242197,5.761548064918852,3.0961298377028714,4.425717852684145,3.439450686641698,8.614232209737828,6.210986267166042,2.33458177278402,2.596754057428215,6.679151061173534,5.9238451935081144,3.826466916354557,3.058676654182272,3.2084893882646695,8.177278401997503,5.34956304619226,3.7515605493133584,6.803995006242197,5.237203495630462,5.855181023720349,6.20474406991261,8.614232209737828,3.6766541822721597,5.287141073657928,6.1485642946317105,7.8027465667915115,8.05243445692884,5.3745318352059925,3.938826466916354,5.0062421972534334,5.493133583021224,3.5705368289637955,8.05243445692884,5.355805243445693,4.169787765293384,7.553058676654182,3.745318352059925,5.355805243445693,6.104868913857677,6.554307116104869,7.553058676654182,5.742821473158552,8.05243445692884,7.740324594257178,5.792759051186017,4.9937578027465666,2.908863920099875,4.02621722846442,8.801498127340825,5.799001248439451,5.174781523096129,2.690387016229713,8.426966292134832,6.023720349563047,7.116104868913857,3.9076154806491883,5.568039950062421,5.511860174781523,7.740324594257178,2.3657927590511862,4.3508114856429465,3.938826466916354,4.812734082397004,8.11485642946317,3.3770287141073654,7.240948813982522,6.429463171036204,5.998751560549313, +6.086142322097379,7.740324594257178,4.794007490636704,7.553058676654182,5.605493133583021,5.543071161048689,2.4906367041198503,5.405742821473158,3.2771535580524347,4.737827715355805,5.3745318352059925,3.5830212234706615,2.1785268414481895,2.640449438202247,3.6142322097378274,8.177278401997503,,,3.920099875156055,3.3895131086142323,6.223470661672909,7.740324594257178,4.912609238451935,7.927590511860175,7.116104868913857,3.2771535580524347,3.027465667915106,2.6591760299625467,4.300873907615481,6.036204744069912,2.2284644194756553,3.576779026217228,6.803995006242197,5.786516853932584,3.1210986267166043,4.450686641697877,3.470661672908864,8.614232209737828,6.235955056179775,2.35330836454432,2.6154806491885143,6.741573033707866,5.948813982521848,3.8639200998751564,3.089887640449438,3.2397003745318353,8.239700374531834,,3.7827715355805243,6.803995006242197,5.268414481897628,5.8863920099875156,,8.67665418227216,3.701622971285893,5.305867665418227,6.179775280898876,,8.05243445692884,5.399500624219725,3.957553058676654,5.024968789013733,5.5305867665418225,3.595505617977528,8.11485642946317,5.380774032459426,4.188514357053683,7.615480649188515,3.764044943820225,5.380774032459426,6.1360799001248445,6.554307116104869,7.553058676654182,5.774032459425719,8.05243445692884,7.740324594257178,5.811485642946318,5.031210986267166,2.933832709113608,4.063670411985019,,5.830212234706617,5.205992509363296,2.7091136079900124,,6.048689138576779,7.116104868913857,3.938826466916354,5.593008739076155,5.549313358302123,,2.3907615480649187,4.382022471910113,3.9637952559300875,4.843945068664169,,3.4144818976279647,7.240948813982522,6.491885143570538,6.023720349563047, +6.117353308364544,7.8027465667915115,4.831460674157303,7.553058676654182,5.630461922596755,5.568039950062421,2.515605493133583,5.430711610486892,3.3021223470661676,4.762796504369538,5.393258426966292,3.6142322097378274,2.203495630461923,2.671660424469413,3.639200998751561,8.239700374531834,,,3.9450686641697876,3.408239700374532,6.242197253433209,7.8027465667915115,4.937578027465668,7.990012484394507,7.17852684144819,3.3083645443196006,3.058676654182272,2.68414481897628,4.332084893882647,6.061173533083646,2.253433208489388,3.6142322097378274,6.866416978776529,5.805243445692884,3.139825218476904,4.475655430711611,3.508114856429463,8.67665418227216,6.242197253433209,2.3782771535580522,2.640449438202247,6.741573033707866,5.97378277153558,3.8951310861423223,3.1210986267166043,3.2646691635455682,8.239700374531834,,3.81398252184769,6.866416978776529,5.293383270911361,5.9238451935081144,,8.67665418227216,,5.324594257178527,6.20474406991261,,8.05243445692884,5.430711610486892,3.9762796504369535,5.049937578027466,5.561797752808988,3.620474406991261,8.11485642946317,5.405742821473158,4.213483146067416,7.615480649188515,3.7890137328339577,5.405742821473158,6.167290886392011,6.616729088639201,7.615480649188515,5.799001248439451,8.11485642946317,7.8027465667915115,5.836454431960051,5.062421972534332,,4.1011235955056184,,5.861423220973783,5.243445692883895,2.7340823970037453,,6.073657927590512,7.17852684144819,3.970037453183521,5.617977528089888,5.580524344569288,,2.4094881398252186,4.413233458177278,3.9950062421972534,4.881398252184769,,3.4456928838951315,7.303370786516854,6.491885143570538,6.048689138576779, +6.1485642946317105,7.8027465667915115,4.8626716604244695,7.615480649188515,5.655430711610487,5.593008739076155,2.5343320848938826,5.455680399500624,3.3333333333333335,4.787765293383271,5.418227215980025,3.6454431960049942,2.2222222222222223,2.702871410736579,3.6641697877652937,8.239700374531834,,,3.970037453183521,3.4269662921348316,6.30461922596754,7.8027465667915115,4.962546816479401,7.990012484394507,7.17852684144819,3.339575530586767,3.089887640449438,2.7091136079900124,4.3632958801498125,6.086142322097379,2.272159800249688,3.6454431960049942,6.866416978776529,5.830212234706617,3.1647940074906367,4.49438202247191,3.545568039950062,8.67665418227216,6.30461922596754,2.397003745318352,2.66541822721598,6.741573033707866,6.004993757802747,3.926342072409488,3.1460674157303368,3.2896379525593007,8.302122347066168,,,6.866416978776529,5.324594257178527,5.955056179775282,,8.739076154806492,,5.34956304619226,6.235955056179775,,8.11485642946317,5.455680399500624,4.001248439450687,5.068664169787765,5.593008739076155,3.639200998751561,8.177278401997503,5.424469413233458,4.2322097378277155,7.615480649188515,3.81398252184769,5.430711610486892,6.198501872659176,6.616729088639201,7.615480649188515,5.830212234706617,8.11485642946317,7.8027465667915115,5.855181023720349,5.099875156054932,,4.132334581772784,,5.892634207240949,5.274656679151062,2.752808988764045,,6.098626716604246,7.17852684144819,4.001248439450687,5.6491885143570535,5.611735330836455,,2.4344569288389515,4.444444444444445,4.019975031210986,4.912609238451935,,3.4831460674157304,7.303370786516854,6.554307116104869,6.067415730337078, +,7.865168539325843,4.893882646691636,,5.68039950062422,5.611735330836455,2.5593008739076155,,3.3645443196004994,4.806491885143571,5.436953807740325,3.6766541822721597,2.247191011235955,2.7340823970037453,3.689138576779026,8.302122347066168,,,3.9950062421972534,3.451935081148564,6.30461922596754,7.865168539325843,4.987515605493134,8.05243445692884,7.240948813982522,3.3645443196004994,3.114856429463171,2.7340823970037453,4.400749063670412,6.111111111111111,2.2971285892634206,3.682896379525593,6.866416978776529,5.848938826466916,3.183520599250936,4.519350811485642,3.576779026217228,8.739076154806492,6.30461922596754,2.4157303370786516,2.690387016229713,6.803995006242197,6.029962546816479,3.957553058676654,3.1772784019975036,3.3146067415730336,8.302122347066168,,,6.928838951310862,5.34956304619226,5.986267166042447,,8.801498127340825,,5.36828963795256,6.242197253433209,,8.11485642946317,5.480649188514358,4.019975031210986,5.087390761548065,5.6242197253433215,3.6641697877652937,8.177278401997503,5.449438202247191,4.257178526841448,7.677902621722847,3.8389513108614235,5.455680399500624,6.229712858926342,6.679151061173534,7.615480649188515,5.855181023720349,8.177278401997503,7.8027465667915115,5.880149812734083,5.131086142322098,,4.169787765293384,,5.9238451935081144,5.305867665418227,2.777777777777778,,6.123595505617978,7.240948813982522,4.032459425717852,5.674157303370786,5.64294631710362,,2.459425717852684,4.475655430711611,4.044943820224719,4.943820224719102,,3.5143570536828963,7.365792759051186,6.554307116104869,6.092384519350812, +,7.865168539325843,4.931335830212235,,5.705368289637952,5.636704119850187,2.5842696629213484,,3.3957553058676653,4.831460674157303,5.455680399500624,3.701622971285893,2.272159800249688,2.7652933832709112,3.714107365792759,,,,4.019975031210986,3.470661672908864,6.367041198501872,7.865168539325843,5.0062421972534334,,7.240948813982522,3.3957553058676653,3.1460674157303368,2.7590511860174782,4.431960049937578,6.1360799001248445,,3.714107365792759,6.928838951310862,5.8739076154806495,3.2084893882646695,4.544319600499376,3.6142322097378274,8.739076154806492,6.30461922596754,2.4406991260923845,2.715355805243446,6.803995006242197,6.054931335830212,3.9950062421972534,3.2084893882646695,3.3458177278401995,8.3645443196005,,,6.928838951310862,5.380774032459426,6.023720349563047,,8.801498127340825,,5.3870162297128585,6.30461922596754,,8.177278401997503,5.50561797752809,4.038701622971286,5.1123595505617985,5.655430711610487,3.682896379525593,8.239700374531834,5.468164794007491,4.275905118601748,7.677902621722847,3.8639200998751564,5.480649188514358,6.242197253433209,6.679151061173534,7.677902621722847,5.880149812734083,8.177278401997503,7.865168539325843,5.8988764044943816,5.168539325842697,,,,5.955056179775282,5.343320848938826,2.7965043695380776,,6.1485642946317105,7.240948813982522,4.063670411985019,5.69912609238452,5.674157303370786,,2.4843945068664173,4.506866416978776,4.069912609238452,4.9812734082397006,,3.5518102372034956,7.365792759051186,6.616729088639201,6.117353308364544, +,7.927590511860175,4.962546816479401,,5.730337078651686,5.655430711610487,2.602996254681648,,3.420724094881398,4.850187265917603,5.480649188514358,3.732833957553059,2.2908863920099876,2.790262172284644,3.7390761548064915,,,,4.044943820224719,3.495630461922597,6.367041198501872,7.927590511860175,5.031210986267166,,7.303370786516854,3.4269662921348316,3.1772784019975036,2.7840199750312107,4.463171036204744,,,3.745318352059925,6.928838951310862,5.8988764044943816,3.233458177278402,4.569288389513109,3.6454431960049942,8.801498127340825,6.367041198501872,2.459425717852684,2.740324594257179,6.866416978776529,6.086142322097379,4.02621722846442,3.2397003745318353,3.370786516853933,8.3645443196005,,,6.991260923845194,5.411985018726591,6.054931335830212,,8.863920099875156,,5.411985018726591,6.30461922596754,,8.177278401997503,5.536828963795256,4.057428214731585,5.131086142322098,5.686641697877653,3.7078651685393256,8.239700374531834,5.493133583021224,4.294631710362047,7.677902621722847,3.888888888888889,5.50561797752809,6.30461922596754,6.741573033707866,7.677902621722847,5.9113607990012484,8.239700374531834,7.865168539325843,5.917602996254682,5.199750312109863,,,,5.986267166042447,5.3745318352059925,2.82147315855181,,6.173533083645444,7.240948813982522,4.094881398252185,5.724094881398252,5.705368289637952,,2.5093632958801497,4.538077403245943,4.1011235955056184,5.012484394506866,,3.5830212234706615,7.428214731585518,,6.1360799001248445, +,7.927590511860175,4.9937578027465666,,5.7553058676654185,5.68039950062422,2.6279650436953808,,3.451935081148564,4.875156054931336,5.499375780274657,3.764044943820225,2.3158551810237205,2.82147315855181,3.764044943820225,,,,4.069912609238452,3.5143570536828963,6.367041198501872,7.990012484394507,5.056179775280899,,7.303370786516854,3.4581772784019975,3.2084893882646695,2.808988764044944,4.49438202247191,,,3.7827715355805243,6.928838951310862,5.917602996254682,3.2521847690387014,,3.682896379525593,8.801498127340825,6.367041198501872,2.478152309612984,2.7590511860174782,6.866416978776529,6.111111111111111,4.057428214731585,3.2646691635455682,3.3957553058676653,8.426966292134832,,,6.991260923845194,5.436953807740325,6.092384519350812,,8.863920099875156,,5.430711610486892,6.367041198501872,,8.239700374531834,5.561797752808988,4.0761548064918856,5.149812734082397,5.717852684144819,3.7265917602996255,8.302122347066168,5.5181023720349565,4.31960049937578,7.740324594257178,3.9138576779026217,5.5305867665418225,6.30461922596754,6.741573033707866,7.740324594257178,5.936329588014981,8.239700374531834,7.865168539325843,5.942571785268415,5.237203495630462,,,,6.0174781523096135,5.405742821473158,2.84019975031211,,6.192259675405743,7.303370786516854,4.1260923845193505,5.749063670411985,5.742821473158552,,2.5343320848938826,4.569288389513109,4.1260923845193505,5.043695380774032,,3.6142322097378274,7.428214731585518,,6.161048689138577, +,7.990012484394507,5.031210986267166,,5.7802746566791505,5.705368289637952,,,3.4831460674157304,4.900124843945068,5.524344569288389,3.7952559300873907,2.340823970037453,2.852684144818976,3.7890137328339577,,,,4.094881398252185,3.5393258426966296,6.429463171036204,7.990012484394507,5.081148564294631,,7.365792759051186,3.4831460674157304,3.2397003745318353,2.8339575530586765,4.525593008739076,,,3.81398252184769,6.991260923845194,,3.2771535580524347,,3.714107365792759,8.863920099875156,6.429463171036204,2.4968789013732833,2.7840199750312107,6.866416978776529,6.1360799001248445,4.0886392009987516,3.295880149812734,,8.426966292134832,,,7.0536828963795255,5.468164794007491,6.123595505617978,,8.926342072409488,,5.455680399500624,6.367041198501872,,8.239700374531834,,4.094881398252185,5.174781523096129,5.749063670411985,3.7515605493133584,8.302122347066168,5.536828963795256,4.33832709113608,7.740324594257178,3.938826466916354,5.555555555555556,,6.803995006242197,7.740324594257178,5.961298377028713,8.302122347066168,7.927590511860175,5.961298377028713,5.268414481897628,,,,6.048689138576779,5.443196004993759,2.865168539325843,,6.217228464419476,7.303370786516854,4.157303370786517,5.774032459425719,5.774032459425719,,2.5530586766541825,4.600499375780275,4.151061173533084,5.081148564294631,,3.651685393258427,,,6.186017478152309, +,,5.062421972534332,,5.805243445692884,,,,3.5143570536828963,4.918851435705368,5.543071161048689,3.8202247191011236,2.359550561797753,2.8838951310861427,3.81398252184769,,,,4.119850187265917,3.5580524344569286,6.429463171036204,8.05243445692884,5.106117353308365,,7.365792759051186,3.5143570536828963,3.2709113607990012,2.8589263420724094,4.556803995006242,,,3.8451935081148565,6.991260923845194,,3.295880149812734,,3.7515605493133584,8.863920099875156,6.429463171036204,2.521847690387016,2.808988764044944,6.928838951310862,6.161048689138577,4.1260923845193505,3.3270911360799,,8.489388264669165,,,7.0536828963795255,5.493133583021224,6.161048689138577,,,,5.474406991260924,6.429463171036204,,8.239700374531834,,4.1136079900124844,5.19350811485643,5.7802746566791505,3.776529338327091,8.3645443196005,5.561797752808988,4.3632958801498125,7.740324594257178,3.9637952559300875,5.580524344569288,,6.803995006242197,,5.992509363295881,8.302122347066168,7.927590511860175,5.980024968789014,5.305867665418227,,,,6.079900124843945,5.474406991260924,2.8838951310861427,,6.242197253433209,7.365792759051186,4.18227215980025,5.799001248439451,5.805243445692884,,2.578027465667915,4.631710362047441,4.18227215980025,5.1123595505617985,,3.682896379525593,,,6.210986267166042, +,,5.093632958801498,,5.830212234706617,,,,3.5393258426966296,4.943820224719102,5.568039950062421,3.8514357053682895,2.3845193508114857,2.908863920099875,3.8389513108614235,,,,4.144818976279651,3.5830212234706615,6.491885143570538,,5.131086142322098,,7.428214731585518,3.545568039950062,3.295880149812734,2.8838951310861427,4.588014981273409,,,3.882646691635456,6.991260923845194,,3.320848938826467,,,8.926342072409488,6.429463171036204,2.5405742821473156,2.8339575530586765,6.928838951310862,,,3.352059925093633,,8.489388264669165,,,7.116104868913857,5.524344569288389,6.192259675405743,,,,5.493133583021224,6.429463171036204,,8.302122347066168,,4.132334581772784,5.212234706616729,5.811485642946318,3.7952559300873907,8.3645443196005,5.580524344569288,4.382022471910113,7.8027465667915115,3.9887640449438204,5.605493133583021,,6.866416978776529,,6.0174781523096135,8.3645443196005,7.927590511860175,6.004993757802747,5.337078651685393,,,,6.111111111111111,5.50561797752809,2.908863920099875,,6.242197253433209,7.365792759051186,4.213483146067416,5.823970037453184,5.836454431960051,,2.602996254681648,4.662921348314606,4.207240948813983,5.143570536828964,,3.7203495630461925,,,6.229712858926342, +,,5.131086142322098,,5.855181023720349,,,,3.5705368289637955,4.9687890137328345,5.586766541822722,3.882646691635456,2.4094881398252186,2.9400749063670415,3.8639200998751564,,,,4.169787765293384,3.6017478152309614,6.491885143570538,,5.15605493133583,,7.428214731585518,3.5705368289637955,3.3270911360799,2.908863920099875,4.619225967540574,,,3.9138576779026217,7.0536828963795255,,3.3458177278401995,,,8.926342072409488,6.491885143570538,2.5593008739076155,2.8589263420724094,6.928838951310862,,,3.383270911360799,,8.551810237203496,,,7.116104868913857,,,,,,5.5181023720349565,6.491885143570538,,8.302122347066168,,4.151061173533084,5.237203495630462,5.842696629213483,3.8202247191011236,8.426966292134832,5.605493133583021,4.406991260923846,7.8027465667915115,4.00749063670412,5.630461922596755,,,,6.0424469413233455,8.3645443196005,7.990012484394507,6.023720349563047,5.3745318352059925,,,,,5.543071161048689,2.9275905118601746,,6.30461922596754,7.428214731585518,4.244694132334582,5.848938826466916,5.867665418227216,,2.6279650436953808,4.694132334581773,4.2322097378277155,5.174781523096129,,3.7515605493133584,,,6.242197253433209, +,,5.162297128589263,,,,,,3.6017478152309614,4.987515605493134,5.605493133583021,3.9076154806491883,2.428214731585518,2.9712858926342074,,,,,4.194756554307116,3.6267166042446943,6.554307116104869,,5.181023720349563,,7.49063670411985,3.6017478152309614,3.3583021223470664,2.933832709113608,4.65043695380774,,,,7.0536828963795255,,3.3645443196004994,,,8.98876404494382,,2.5842696629213484,2.8838951310861427,6.991260923845194,,,3.4144818976279647,,8.551810237203496,,,7.116104868913857,,,,,,5.536828963795256,6.491885143570538,,8.3645443196005,,4.176029962546816,5.2559300873907615,5.880149812734083,3.8389513108614235,8.426966292134832,5.6242197253433215,4.425717852684145,7.8027465667915115,4.032459425717852,,,,,6.073657927590512,8.426966292134832,7.990012484394507,6.0424469413233455,5.405742821473158,,,,,,2.9525593008739075,,,7.428214731585518,,5.8739076154806495,5.905118601747815,,,,4.257178526841448,5.212234706616729,,,,,6.30461922596754, +,,,,,,,,3.6329588014981273,5.012484394506866,5.630461922596755,3.938826466916354,2.453183520599251,3.0024968789013733,,,,,4.213483146067416,3.6454431960049942,6.554307116104869,,5.205992509363296,,7.49063670411985,3.6329588014981273,,2.958801498127341,4.681647940074906,,,,7.0536828963795255,,3.3895131086142323,,,8.98876404494382,,2.602996254681648,2.908863920099875,6.991260923845194,,,,,,,,7.17852684144819,,,,,,5.555555555555556,6.491885143570538,,8.3645443196005,,4.194756554307116,5.274656679151062,5.9113607990012484,3.8639200998751564,8.489388264669165,5.6491885143570535,4.450686641697877,,4.057428214731585,,,,,6.098626716604246,8.426966292134832,7.990012484394507,6.067415730337078,,,,,,,2.9712858926342074,,,7.428214731585518,,5.8988764044943816,5.936329588014981,,,,4.288389513108614,5.243445692883895,,,,,6.30461922596754, +,,,,,,,,3.6579275905118602,5.0374531835206,5.6491885143570535,,2.471910112359551,3.033707865168539,,,,,,3.6704119850187267,6.616729088639201,,5.224719101123595,,7.553058676654182,,,2.9837702871410734,4.712858926342073,,,,7.116104868913857,,3.408239700374532,,,9.051186017478152,,,2.9275905118601746,6.991260923845194,,,,,,,,7.17852684144819,,,,,,5.580524344569288,6.554307116104869,,,,4.213483146067416,5.299625468164794,5.942571785268415,3.888888888888889,8.489388264669165,,4.4694132334581775,,4.082397003745319,,,,,6.123595505617978,8.489388264669165,8.05243445692884,6.086142322097379,,,,,,,2.9962546816479403,,,7.49063670411985,,5.9238451935081144,5.967540574282147,,,,,5.274656679151062,,,,,6.30461922596754, +,,,,,,,,3.689138576779026,5.056179775280899,,,2.4968789013732833,3.058676654182272,,,,,,3.689138576779026,6.616729088639201,,5.249687890137328,,7.553058676654182,,,3.0087390761548067,,,,,7.116104868913857,,3.4332084893882646,,,9.051186017478152,,,2.9525593008739075,7.0536828963795255,,,,,,,,7.240948813982522,,,,,,,,,,,4.2322097378277155,5.318352059925093,5.97378277153558,3.9076154806491883,8.551810237203496,,4.49438202247191,,4.107365792759051,,,,,6.154806491885144,8.489388264669165,8.05243445692884,6.104868913857677,,,,,,,3.0149812734082393,,,7.49063670411985,,5.948813982521848,5.998751560549313,,,,,,,,,,6.367041198501872, +,,,,,,,,3.7203495630461925,,,,,3.089887640449438,,,,,,3.714107365792759,6.679151061173534,,5.274656679151062,,7.553058676654182,,,3.033707865168539,,,,,,,3.4581772784019975,,,9.113607990012484,,,2.977528089887641,,,,,,,,,7.240948813982522,,,,,,,,,,,4.250936329588015,5.337078651685393,6.004993757802747,3.9325842696629216,8.551810237203496,,,,4.132334581772784,,,,,6.179775280898876,8.551810237203496,8.05243445692884,6.129837702871411,,,,,,,3.0399500624219726,,,7.553058676654182,,5.97378277153558,6.029962546816479,,,,,,,,,,6.367041198501872, +,,,,,,,,,,,,,3.1210986267166043,,,,,,3.732833957553059,6.679151061173534,,5.299625468164794,,,,,3.058676654182272,,,,,,,,,,9.113607990012484,,,,,,,,,,,,7.303370786516854,,,,,,,,,,,4.269662921348314,5.3620474406991265,6.036204744069912,3.951310861423221,8.614232209737828,,,,,,,,,6.210986267166042,8.551810237203496,8.11485642946317,6.1485642946317105,,,,,,,3.058676654182272,,,7.553058676654182,,,,,,,,,,,,,6.367041198501872, +,,,,,,,,,,,,,3.15230961298377,,,,,,3.7515605493133584,6.741573033707866,,5.324594257178527,,,,,3.0836454431960054,,,,,,,,,,9.176029962546817,,,,,,,,,,,,7.303370786516854,,,,,,,,,,,4.288389513108614,5.380774032459426,6.067415730337078,3.9762796504369535,8.614232209737828,,,,,,,,,6.235955056179775,,8.11485642946317,6.167290886392011,,,,,,,3.077403245942572,,,7.553058676654182,,,,,,,,,,,,,6.429463171036204, +,,,,,,,,,,,,,,,,,,,,6.741573033707866,,,,,,,,,,,,,,,,,9.176029962546817,,,,,,,,,,,,,,,,,,,,,,,,5.399500624219725,6.098626716604246,,8.67665418227216,,,,,,,,,6.242197253433209,,8.11485642946317,6.192259675405743,,,,,,,3.102372034956305,,,7.615480649188515,,,,,,,,,,,,,6.429463171036204, +,,,,,,,,,,,,,,,,,,,,6.803995006242197,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5.424469413233458,,,,,,,,,,,,6.30461922596754,,,6.210986267166042,,,,,,,3.1210986267166043,,,7.615480649188515,,,,,,,,,,,,,, +3.651685393258427,5.074906367041199,2.1161048689138577,5.305867665418227,3.589263420724095,3.7265917602996255,0.6554307116104868,3.3021223470661676,0.9051186017478152,2.908863920099875,3.6641697877652937,1.223470661672909,0.35268414481897625,0.24968789013732834,1.647940074906367,5.855181023720349,4.4818976279650435,2.7590511860174782,1.9600499375780276,1.6541822721598003,3.8951310861423223,5.224719101123595,2.9712858926342074,5.474406991260924,4.800249687890138,0.9488139825218477,0.6173533083645443,0.6616729088639202,1.7602996254681649,4.057428214731585,0.24781523096129837,0.8926342072409489,5.099875156054932,4.001248439450687,1.317103620474407,2.5842696629213484,0.717852684144819,6.179775280898876,4.313358302122348,0.7116104868913858,0.6928838951310862,4.956304619225968,3.8077403245942576,1.2359550561797754,0.7365792759051186,1.079900124843945,5.724094881398252,2.702871410736579,1.0923845193508115,4.444444444444445,2.9837702871410734,3.183520599250936,4.132334581772784,5.81772784019975,1.797752808988764,3.6267166042446943,3.9076154806491883,4.875156054931336,6.029962546816479,3.2397003745318353,2.4032459425717856,3.3645443196004994,2.9837702871410734,1.8102372034956304,5.6491885143570535,3.5830212234706615,2.446941323345818,5.855181023720349,1.8164794007490637,3.3957553058676653,3.6766541822721597,3.957553058676654,5.705368289637952,3.595505617977528,5.593008739076155,6.104868913857677,4.138576779026217,2.303370786516854,0.9550561797752809,1.2796504369538078,5.730337078651686,3.3645443196004994,2.5343320848938826,0.9800249687890138,5.930087390761548,4.1260923845193505,5.1248439450686645,1.4544319600499376,3.576779026217228,2.958801498127341,5.436953807740325,0.466916354556804,1.9101123595505618,1.8352059925093633,2.1972534332084894,5.031210986267166,0.6928838951310862,4.856429463171036,4.425717852684145,4.157303370786517, +3.682896379525593,5.1123595505617985,2.153558052434457,5.33083645443196,3.6142322097378274,3.745318352059925,0.6803995006242198,3.3270911360799,0.9363295880149812,2.933832709113608,3.682896379525593,1.2546816479400749,0.3757802746566792,0.27965043695380776,1.6729088639200997,5.880149812734083,4.51310861423221,2.790262172284644,1.9850187265917605,1.6791510611735332,3.920099875156055,5.262172284644195,2.9962546816479403,5.50561797752809,4.831460674157303,0.9737827715355806,0.6491885143570537,0.686641697877653,1.7915106117353308,4.082397003745319,0.2727840199750312,0.9300873907615481,5.1248439450686645,4.019975031210986,1.34207240948814,2.6092384519350813,0.7490636704119851,6.210986267166042,4.33832709113608,0.7303370786516854,0.717852684144819,4.975031210986267,3.8389513108614235,1.2671660424469413,0.7677902621722846,1.104868913857678,5.7553058676654185,2.7340823970037453,1.1235955056179776,4.475655430711611,3.0087390761548067,3.214731585518102,4.157303370786517,5.855181023720349,1.8164794007490637,3.651685393258427,3.9325842696629216,4.912609238451935,6.054931335830212,3.2709113607990012,2.4219725343320846,3.383270911360799,3.0149812734082393,1.8289637952559301,5.68039950062422,3.607990012484395,2.4656679151061174,5.880149812734083,1.8414481897627966,3.420724094881398,3.7078651685393256,3.9887640449438204,5.730337078651686,3.6267166042446943,5.6242197253433215,6.129837702871411,4.16354556803995,2.340823970037453,0.9800249687890138,1.3108614232209737,5.767790262172285,3.3895131086142323,2.571785268414482,0.9987515605493134,5.961298377028713,4.151061173533084,5.149812734082397,1.4856429463171037,3.6017478152309614,2.990012484394507,5.468164794007491,0.49063670411985016,1.941323345817728,1.8601747815230962,2.2347066167290888,5.068664169787765,0.7303370786516854,4.887640449438202,4.450686641697877,4.18227215980025, +3.714107365792759,5.143570536828964,2.184769038701623,5.3620474406991265,3.639200998751561,3.7702871410736583,0.7053682896379525,3.3583021223470664,0.9675405742821472,2.958801498127341,3.7078651685393256,1.2796504369538078,0.39825218476903873,0.3096129837702871,1.6978776529338326,5.9113607990012484,4.544319600499376,2.82147315855181,2.009987515605493,1.6978776529338326,3.951310861423221,5.293383270911361,3.0149812734082393,5.536828963795256,4.856429463171036,1.0049937578027466,0.6803995006242198,0.7116104868913858,1.8227215980024971,4.107365792759051,0.29712858926342073,0.9612983770287141,5.143570536828964,4.044943820224719,1.3670411985018727,2.634207240948814,0.7865168539325842,6.242197253433209,4.3632958801498125,0.7553058676654182,0.7428214731585518,5.0,3.8639200998751564,1.2983770287141074,0.7927590511860175,1.1298377028714106,5.786516853932584,2.7715355805243447,1.161048689138577,4.506866416978776,3.0399500624219726,3.245942571785269,4.188514357053683,5.892634207240949,1.8414481897627966,3.6704119850187267,3.9637952559300875,4.950062421972534,6.086142322097379,3.295880149812734,2.446941323345818,3.4019975031210987,3.046192259675406,1.8539325842696628,5.711610486891385,3.6329588014981273,2.4906367041198503,5.8988764044943816,1.8664169787765295,3.4456928838951315,3.7390761548064915,4.019975031210986,5.7553058676654185,3.651685393258427,5.655430711610487,6.1485642946317105,4.18227215980025,2.3720349563046192,1.0049937578027466,1.348314606741573,5.805243445692884,3.420724094881398,2.602996254681648,1.0237203495630463,5.992509363295881,4.176029962546816,5.174781523096129,1.5168539325842696,3.6267166042446943,3.0212234706616727,5.499375780274657,0.5149812734082396,1.9725343320848938,1.8851435705368291,2.2659176029962547,5.106117353308365,0.7615480649188515,4.918851435705368,4.475655430711611,4.207240948813983, +3.745318352059925,5.174781523096129,2.215980024968789,5.3870162297128585,3.6641697877652937,3.7952559300873907,0.7240948813982522,3.383270911360799,0.9987515605493134,2.977528089887641,3.7265917602996255,1.3108614232209737,0.4213483146067416,0.33957553058676654,1.7228464419475658,5.942571785268415,4.575530586766542,2.8464419475655434,2.034956304619226,1.7228464419475658,3.982521847690387,5.324594257178527,3.0399500624219726,5.568039950062421,4.887640449438202,1.0362047440699127,0.7053682896379525,0.7365792759051186,1.8539325842696628,4.132334581772784,0.32209737827715357,0.9987515605493134,5.168539325842697,4.069912609238452,1.3857677902621723,2.6591760299625467,0.8177278401997503,6.30461922596754,4.388264669163545,0.7740324594257179,0.7677902621722846,5.0187265917602994,3.888888888888889,1.3358302122347065,0.8239700374531835,1.161048689138577,5.81772784019975,2.8027465667915106,1.1922596754057428,4.538077403245943,3.0649188514357055,3.2833957553058677,4.213483146067416,5.930087390761548,1.8664169787765295,3.6953807740324596,3.9887640449438204,4.987515605493134,6.111111111111111,3.320848938826467,2.4656679151061174,3.4269662921348316,3.0836454431960054,1.8726591760299625,5.736579275905119,3.651685393258427,2.5093632958801497,5.9238451935081144,1.8913857677902621,3.470661672908864,3.7702871410736583,4.057428214731585,5.774032459425719,3.6766541822721597,5.686641697877653,6.167290886392011,4.200998751560549,2.4032459425717856,1.0299625468164793,1.3795255930087391,5.848938826466916,3.451935081148564,2.634207240948814,1.042446941323346,6.023720349563047,4.200998751560549,5.199750312109863,1.5480649188514357,3.651685393258427,3.0524344569288386,5.524344569288389,0.5387016229712859,2.00374531835206,1.9101123595505618,2.2971285892634206,5.149812734082397,0.7990012484394506,4.950062421972534,4.500624219725343,4.225967540574282, +3.776529338327091,5.212234706616729,2.253433208489388,5.418227215980025,3.689138576779026,3.81398252184769,0.7490636704119851,3.408239700374532,1.0237203495630463,3.0024968789013733,3.745318352059925,1.34207240948814,0.44382022471910115,0.36953807740324596,1.7415730337078652,5.97378277153558,4.606741573033708,2.8776529338327093,2.0599250936329585,1.7415730337078652,4.00749063670412,5.355805243445693,3.0649188514357055,5.599250936329588,4.918851435705368,1.0611735330836456,0.7365792759051186,0.7615480649188515,1.8851435705368291,4.157303370786517,0.3464419475655431,1.0299625468164793,5.187265917602996,4.0886392009987516,1.410736579275905,2.6779026217228465,0.8551810237203495,6.30461922596754,4.413233458177278,0.7927590511860175,0.7927590511860175,5.043695380774032,3.920099875156055,1.3670411985018727,0.8551810237203495,1.1860174781523096,5.848938826466916,2.8339575530586765,1.229712858926342,4.563046192259676,3.0961298377028714,3.3146067415730336,4.238451935081149,5.961298377028713,1.8913857677902621,3.714107365792759,4.019975031210986,5.024968789013733,6.1360799001248445,3.352059925093633,2.4843945068664173,3.4456928838951315,3.114856429463171,1.8976279650436954,5.767790262172285,3.6766541822721597,2.5343320848938826,5.942571785268415,1.916354556803995,3.495630461922597,3.801498127340824,4.0886392009987516,5.799001248439451,3.7078651685393256,5.717852684144819,6.192259675405743,4.225967540574282,2.4406991260923845,1.0549313358302121,1.4169787765293382,5.8863920099875156,3.4831460674157304,2.671660424469413,1.0674157303370786,6.054931335830212,4.225967540574282,5.224719101123595,1.5792759051186018,3.6766541822721597,3.089887640449438,5.555555555555556,0.5630461922596754,2.034956304619226,1.941323345817728,2.328339575530587,5.187265917602996,0.8302122347066168,4.975031210986267,4.531835205992509,4.250936329588015, +3.801498127340824,5.243445692883895,2.2846441947565546,5.443196004993759,3.714107365792759,3.8389513108614235,0.7740324594257179,3.4332084893882646,1.0549313358302121,3.027465667915106,3.7702871410736583,1.373283395755306,0.466916354556804,0.3995006242197253,1.766541822721598,5.998751560549313,4.637952559300874,2.908863920099875,2.084893882646692,1.766541822721598,4.038701622971286,5.3870162297128585,3.089887640449438,5.630461922596755,4.943820224719102,1.0923845193508115,0.7677902621722846,0.7865168539325842,1.916354556803995,4.18227215980025,0.3714107365792759,1.0611735330836456,5.212234706616729,4.1136079900124844,1.4294631710362047,2.702871410736579,0.8863920099875156,6.30461922596754,4.438202247191011,0.8114856429463172,0.8177278401997503,5.062421972534332,3.9450686641697876,1.3982521847690388,0.8801498127340824,1.2109862671660423,5.880149812734083,2.871410736579276,1.260923845193508,4.594257178526841,3.1210986267166043,3.352059925093633,4.263420724094882,5.998751560549313,1.916354556803995,3.732833957553059,4.051186017478152,5.062421972534332,6.161048689138577,3.3770287141073654,2.5031210986267167,3.464419475655431,3.1460674157303368,1.916354556803995,5.799001248439451,3.6953807740324596,2.5530586766541825,5.967540574282147,1.941323345817728,3.5205992509363297,3.83270911360799,4.119850187265917,5.823970037453184,3.732833957553059,5.749063670411985,6.210986267166042,4.244694132334582,2.471910112359551,1.079900124843945,1.4544319600499376,5.9238451935081144,3.5143570536828963,2.702871410736579,1.0861423220973783,6.086142322097379,4.244694132334582,5.249687890137328,1.6104868913857677,3.701622971285893,3.1210986267166043,5.586766541822722,0.5867665418227216,2.066167290886392,1.9662921348314608,2.3657927590511862,5.224719101123595,0.867665418227216,5.0062421972534334,4.556803995006242,4.275905118601748, +3.83270911360799,5.274656679151062,2.3158551810237205,5.474406991260924,3.7390761548064915,3.857677902621723,0.7927590511860175,3.4581772784019975,1.0861423220973783,3.046192259675406,3.7890137328339577,1.3982521847690388,0.4893882646691636,0.42946317103620474,1.7915106117353308,6.029962546816479,4.66916354556804,2.9400749063670415,2.1098626716604243,1.7852684144818978,4.069912609238452,5.418227215980025,3.114856429463171,5.66167290886392,4.975031210986267,1.1235955056179776,0.7990012484394506,0.8114856429463172,1.9475655430711611,4.207240948813983,0.39637952559300876,1.0986267166042447,5.230961298377029,4.132334581772784,1.4544319600499376,2.727840199750312,0.9238451935081149,6.367041198501872,4.456928838951311,0.8364544319600499,0.8426966292134832,5.087390761548065,3.970037453183521,1.4294631710362047,0.9113607990012486,1.2421972534332086,5.9113607990012484,2.902621722846442,1.2921348314606742,4.6254681647940075,3.15230961298377,3.383270911360799,4.288389513108614,6.036204744069912,1.9350811485642945,3.7578027465667914,4.0761548064918856,5.099875156054932,6.186017478152309,3.4019975031210987,2.521847690387016,3.4893882646691634,3.1772784019975036,1.941323345817728,5.830212234706617,3.7203495630461925,2.578027465667915,5.986267166042447,1.9662921348314608,3.545568039950062,3.8639200998751564,4.151061173533084,5.848938826466916,3.7578027465667914,5.7802746566791505,6.229712858926342,4.263420724094882,2.5093632958801497,1.104868913857678,1.4856429463171037,5.961298377028713,3.545568039950062,2.7340823970037453,1.1111111111111112,6.117353308364544,4.269662921348314,5.274656679151062,1.6416978776529338,3.7265917602996255,3.15230961298377,5.611735330836455,0.6104868913857677,2.097378277153558,1.9912609238451935,2.397003745318352,5.262172284644195,0.898876404494382,5.0374531835206,4.581772784019975,4.294631710362047, +3.8639200998751564,5.312109862671661,2.35330836454432,5.499375780274657,3.764044943820225,3.882646691635456,0.8177278401997503,3.4893882646691634,1.1173533083645444,3.0711610486891385,3.81398252184769,1.4294631710362047,0.5124843945068664,0.45942571785268416,1.8164794007490637,6.061173533083646,4.700374531835206,2.9712858926342074,2.128589263420724,1.8102372034956304,4.094881398252185,5.449438202247191,3.139825218476904,5.692883895131087,5.0062421972534334,1.1485642946317103,0.8302122347066168,0.8364544319600499,1.978776529338327,4.2322097378277155,0.4207240948813982,1.1298377028714106,5.2559300873907615,4.157303370786517,1.4794007490636705,2.746566791510612,0.9550561797752809,6.367041198501872,4.4818976279650435,0.8551810237203495,0.8614232209737829,5.106117353308365,3.9950062421972534,1.466916354556804,0.9425717852684146,1.2671660424469413,5.942571785268415,2.9400749063670415,1.3295880149812733,4.656679151061174,3.183520599250936,3.4144818976279647,4.31960049937578,6.067415730337078,1.9600499375780276,3.776529338327091,4.107365792759051,5.1373283395755305,6.210986267166042,3.4332084893882646,2.5405742821473156,3.508114856429463,3.2084893882646695,1.9662921348314608,5.861423220973783,3.745318352059925,2.596754057428215,6.01123595505618,1.9912609238451935,3.5705368289637955,3.8951310861423223,4.188514357053683,5.867665418227216,3.7890137328339577,5.811485642946318,6.242197253433209,4.288389513108614,2.5405742821473156,1.1298377028714106,1.523096129837703,6.004993757802747,3.576779026217228,2.7715355805243447,1.1298377028714106,6.1485642946317105,4.294631710362047,5.299625468164794,1.6729088639200997,3.7515605493133584,3.183520599250936,5.64294631710362,0.6367041198501873,2.128589263420724,2.0224719101123596,2.428214731585518,5.305867665418227,0.9363295880149812,5.068664169787765,4.606741573033708,4.31960049937578, +3.8951310861423223,5.343320848938826,2.3845193508114857,5.5305867665418225,3.7890137328339577,3.9076154806491883,0.8426966292134832,3.5143570536828963,1.1423220973782773,3.0961298377028714,3.83270911360799,1.4606741573033708,0.534956304619226,0.4893882646691636,1.8414481897627966,6.086142322097379,4.7315855181023725,3.0024968789013733,2.153558052434457,1.8289637952559301,4.1260923845193505,5.480649188514358,3.1647940074906367,5.724094881398252,5.0374531835206,1.1797752808988764,0.8614232209737829,0.8614232209737829,2.016229712858926,4.257178526841448,0.44569288389513106,1.161048689138577,5.274656679151062,4.176029962546816,1.4981273408239701,2.7715355805243447,0.9925093632958802,6.429463171036204,4.506866416978776,0.8739076154806492,0.8863920099875156,5.131086142322098,4.02621722846442,1.4981273408239701,0.9737827715355806,1.2921348314606742,5.97378277153558,2.9712858926342074,1.3607990012484397,4.681647940074906,3.2084893882646695,3.451935081148564,4.344569288389513,6.104868913857677,1.9850187265917605,3.7952559300873907,4.132334581772784,5.174781523096129,6.235955056179775,3.4581772784019975,2.5593008739076155,3.5268414481897628,3.2397003745318353,1.9850187265917605,5.892634207240949,3.764044943820225,2.6217228464419473,6.029962546816479,2.016229712858926,3.595505617977528,3.926342072409488,4.219725343320849,5.892634207240949,3.81398252184769,5.842696629213483,6.242197253433209,4.307116104868914,2.578027465667915,1.1548064918851435,1.554307116104869,6.0424469413233455,3.607990012484395,2.8027465667915106,1.1548064918851435,6.179775280898876,4.31960049937578,5.324594257178527,1.704119850187266,3.776529338327091,3.214731585518102,5.674157303370786,0.6616729088639202,2.15980024968789,2.0474406991260925,2.4656679151061174,5.343320848938826,0.9675405742821472,5.099875156054932,4.631710362047441,4.344569288389513, +3.926342072409488,5.3745318352059925,2.4157303370786516,5.555555555555556,3.81398252184769,3.926342072409488,0.8614232209737829,3.5393258426966296,1.1735330836454432,3.114856429463171,3.857677902621723,1.4918851435705367,0.5580524344569288,0.519350811485643,1.8664169787765295,6.117353308364544,4.762796504369538,3.033707865168539,2.1785268414481895,1.8476903870162298,4.157303370786517,5.511860174781523,3.1897627965043696,5.7553058676654185,5.062421972534332,1.2109862671660423,0.8863920099875156,0.8863920099875156,2.0474406991260925,4.282147315855181,0.4700374531835206,1.198501872659176,5.299625468164794,4.200998751560549,1.523096129837703,2.7965043695380776,1.0237203495630463,6.429463171036204,4.531835205992509,0.898876404494382,0.9113607990012486,5.149812734082397,4.051186017478152,1.529338327091136,0.9987515605493134,1.3233458177278403,6.004993757802747,3.0024968789013733,1.3982521847690388,4.712858926342073,3.2397003745318353,3.4831460674157304,4.369538077403246,6.142322097378277,2.009987515605493,3.8202247191011236,4.16354556803995,5.212234706616729,6.242197253433209,3.4831460674157304,2.578027465667915,3.5518102372034956,3.2709113607990012,2.009987515605493,5.9238451935081144,3.7890137328339577,2.640449438202247,6.054931335830212,2.0411985018726595,3.620474406991261,3.957553058676654,4.250936329588015,5.917602996254682,3.8451935081148565,5.8739076154806495,6.30461922596754,4.325842696629214,2.6092384519350813,1.1797752808988764,1.591760299625468,6.079900124843945,3.639200998751561,2.8339575530586765,1.1735330836454432,6.210986267166042,4.344569288389513,5.34956304619226,1.735330836454432,3.801498127340824,3.245942571785269,5.705368289637952,0.6803995006242198,2.1910112359550564,2.0724094881398254,2.4968789013732833,5.380774032459426,0.9987515605493134,5.131086142322098,4.656679151061174,4.369538077403246, +3.957553058676654,5.411985018726591,2.453183520599251,5.586766541822722,3.8389513108614235,3.951310861423221,0.8863920099875156,3.564294631710362,1.2047440699126093,3.139825218476904,3.8764044943820224,1.5168539325842696,0.5811485642946317,0.548689138576779,1.8913857677902621,6.1485642946317105,4.794007490636704,3.0649188514357055,2.203495630461923,1.8726591760299625,4.18227215980025,5.543071161048689,3.214731585518102,5.786516853932584,5.093632958801498,1.2359550561797754,0.9176029962546817,0.9113607990012486,2.0786516853932584,4.307116104868914,0.4950062421972534,1.229712858926342,5.318352059925093,4.225967540574282,1.5418227215980027,2.82147315855181,1.0611735330836456,6.491885143570538,4.556803995006242,0.9176029962546817,0.9363295880149812,5.174781523096129,4.0761548064918856,1.5605493133583022,1.0299625468164793,1.348314606741573,6.036204744069912,3.0399500624219726,1.4294631710362047,4.7440699126092385,3.2646691635455682,3.5205992509363297,4.394506866416979,6.173533083645444,2.034956304619226,3.8389513108614235,4.188514357053683,5.249687890137328,6.30461922596754,3.5143570536828963,2.596754057428215,3.5705368289637955,3.3021223470661676,2.0287141073657926,5.955056179775282,3.8077403245942576,2.66541822721598,6.073657927590512,2.0599250936329585,3.6454431960049942,3.982521847690387,4.282147315855181,5.942571785268415,3.870162297128589,5.905118601747815,6.30461922596754,4.3508114856429465,2.6466916354556806,1.2047440699126093,1.6229712858926344,6.117353308364544,3.6704119850187267,2.871410736579276,1.198501872659176,6.242197253433209,4.369538077403246,5.3745318352059925,1.766541822721598,3.826466916354557,3.2833957553058677,5.730337078651686,0.7053682896379525,2.2222222222222223,2.097378277153558,2.5280898876404496,5.424469413233458,1.0362047440699127,5.15605493133583,4.681647940074906,4.388264669163545, +3.9887640449438204,5.443196004993759,2.4843945068664173,5.611735330836455,3.8639200998751564,3.9762796504369535,0.9113607990012486,3.589263420724095,1.2359550561797754,3.1647940074906367,3.8951310861423223,1.5480649188514357,0.6036204744069913,0.5786516853932584,1.916354556803995,6.179775280898876,4.825218476903871,3.0961298377028714,2.2284644194756553,1.8913857677902621,4.213483146067416,5.574282147315855,3.233458177278402,5.81772784019975,5.1248439450686645,1.2671660424469413,0.9488139825218477,0.9363295880149812,2.1098626716604243,4.332084893882647,0.5199750312109862,1.2671660424469413,5.337078651685393,4.244694132334582,1.5667915106117354,2.84019975031211,1.0923845193508115,6.491885143570538,4.581772784019975,0.9363295880149812,0.9612983770287141,5.199750312109863,4.1011235955056184,1.5980024968789013,1.0611735330836456,1.373283395755306,6.067415730337078,3.0711610486891385,1.4606741573033708,4.775280898876405,3.295880149812734,3.5518102372034956,4.419475655430712,6.210986267166042,2.0599250936329585,3.857677902621723,4.219725343320849,5.287141073657928,6.30461922596754,3.5393258426966296,2.6217228464419473,3.589263420724095,3.3333333333333335,2.0536828963795255,5.986267166042447,3.83270911360799,2.68414481897628,6.098626716604246,2.084893882646692,3.6704119850187267,4.013732833957553,4.31960049937578,5.961298377028713,3.8951310861423223,5.936329588014981,6.30461922596754,4.369538077403246,2.6779026217228465,1.229712858926342,1.6604244694132335,6.154806491885144,3.701622971285893,2.902621722846442,1.2172284644194757,6.30461922596754,4.394506866416979,5.399500624219725,1.797752808988764,3.8514357053682895,3.3146067415730336,5.761548064918852,0.7303370786516854,2.253433208489388,2.128589263420724,2.565543071161049,5.461922596754057,1.0674157303370786,5.187265917602996,4.70661672908864,4.413233458177278, +4.019975031210986,5.474406991260924,2.521847690387016,5.64294631710362,3.888888888888889,3.9950062421972534,0.9300873907615481,3.620474406991261,1.260923845193508,3.183520599250936,3.920099875156055,1.5792759051186018,0.6242197253433208,0.6086142322097379,1.941323345817728,6.20474406991261,4.856429463171036,3.1273408239700373,2.253433208489388,1.916354556803995,4.244694132334582,5.605493133583021,3.258426966292135,5.848938826466916,5.149812734082397,1.2983770287141074,0.9800249687890138,0.9612983770287141,2.1410736579275906,4.357053682896379,0.5443196004993758,1.2983770287141074,5.3620474406991265,4.269662921348314,1.591760299625468,2.865168539325843,1.1298377028714106,6.554307116104869,4.606741573033708,0.9550561797752809,0.9862671660424469,5.218476903870163,4.132334581772784,1.6292134831460674,1.0861423220973783,1.404494382022472,6.098626716604246,3.102372034956305,1.4981273408239701,4.800249687890138,3.3270911360799,3.589263420724095,4.450686641697877,6.242197253433209,2.0786516853932584,3.882646691635456,4.244694132334582,5.324594257178527,6.367041198501872,3.564294631710362,2.640449438202247,3.6142322097378274,3.3645443196004994,2.0786516853932584,6.0174781523096135,3.857677902621723,2.7091136079900124,6.117353308364544,2.1098626716604243,3.6953807740324596,4.044943820224719,4.3508114856429465,5.986267166042447,3.926342072409488,5.967540574282147,6.367041198501872,4.388264669163545,2.715355805243446,1.2484394506866416,1.6978776529338326,6.198501872659176,3.732833957553059,2.933832709113608,1.2359550561797754,6.30461922596754,4.413233458177278,5.424469413233458,1.8227215980024971,3.8764044943820224,3.3458177278401995,5.792759051186017,0.7553058676654182,2.2846441947565546,2.153558052434457,2.596754057428215,5.499375780274657,1.104868913857678,5.218476903870163,4.737827715355805,4.438202247191011, +4.044943820224719,5.511860174781523,2.5530586766541825,5.667915106117353,3.9138576779026217,4.019975031210986,0.9550561797752809,3.6454431960049942,1.2921348314606742,3.2084893882646695,3.938826466916354,1.6042446941323347,0.6491885143570537,0.6367041198501873,1.9662921348314608,6.235955056179775,4.887640449438202,3.1585518102372037,2.278401997503121,1.9350811485642945,4.269662921348314,5.64294631710362,3.2833957553058677,5.880149812734083,5.181023720349563,1.3233458177278403,1.0112359550561798,0.9862671660424469,2.1722846441947565,4.382022471910113,0.5692883895131086,1.3295880149812733,5.380774032459426,4.288389513108614,1.6104868913857677,2.8901373283395753,1.16729088639201,6.554307116104869,4.6254681647940075,0.9800249687890138,1.0112359550561798,5.243445692883895,4.157303370786517,1.6604244694132335,1.1173533083645444,1.4294631710362047,6.129837702871411,3.139825218476904,1.529338327091136,4.831460674157303,3.352059925093633,3.620474406991261,4.475655430711611,6.30461922596754,2.1036204744069913,3.9013732833957557,4.275905118601748,5.3620474406991265,6.367041198501872,3.595505617977528,2.6591760299625467,3.6329588014981273,3.3957553058676653,2.097378277153558,6.048689138576779,3.8764044943820224,2.727840199750312,6.1360799001248445,2.134831460674157,3.7203495630461925,4.0761548064918856,4.382022471910113,6.01123595505618,3.951310861423221,5.998751560549313,6.367041198501872,4.413233458177278,2.746566791510612,1.2734082397003745,1.7290886392009988,6.235955056179775,3.764044943820225,2.9712858926342074,1.260923845193508,6.367041198501872,4.438202247191011,5.449438202247191,1.8539325842696628,3.9013732833957557,3.3770287141073654,5.81772784019975,0.7802746566791511,2.3158551810237205,2.1785268414481895,2.6279650436953808,5.536828963795256,1.136079900124844,5.249687890137328,4.762796504369538,4.463171036204744, +4.0761548064918856,5.543071161048689,2.5842696629213484,5.69912609238452,3.938826466916354,4.044943820224719,0.9800249687890138,3.6704119850187267,1.3233458177278403,3.233458177278402,3.9637952559300875,1.6354556803995006,0.6741573033707865,0.6679151061173533,1.9912609238451935,6.242197253433209,4.918851435705368,3.1897627965043696,2.303370786516854,1.9600499375780276,4.300873907615481,5.674157303370786,3.3083645443196006,5.9113607990012484,5.212234706616729,1.3545568039950062,1.0362047440699127,1.0112359550561798,2.203495630461923,4.406991260923846,0.5942571785268415,1.3670411985018727,5.405742821473158,4.313358302122348,1.6354556803995006,2.9151061173533086,1.198501872659176,6.616729088639201,4.65043695380774,0.9987515605493134,1.0299625468164793,5.262172284644195,4.18227215980025,1.6978776529338326,1.1485642946317103,1.4544319600499376,6.161048689138577,3.17103620474407,1.5605493133583022,4.8626716604244695,3.383270911360799,3.651685393258427,4.500624219725343,6.30461922596754,2.128589263420724,3.920099875156055,4.300873907615481,5.399500624219725,6.367041198501872,3.620474406991261,2.6779026217228465,3.651685393258427,3.4332084893882646,2.122347066167291,6.079900124843945,3.9013732833957557,2.752808988764045,6.161048689138577,2.15980024968789,3.745318352059925,4.107365792759051,4.413233458177278,6.036204744069912,3.9762796504369535,6.029962546816479,6.367041198501872,4.431960049937578,2.7840199750312107,1.2983770287141074,1.766541822721598,6.30461922596754,3.7952559300873907,3.0024968789013733,1.2796504369538078,6.367041198501872,4.463171036204744,5.480649188514358,1.8851435705368291,3.926342072409488,3.408239700374532,5.848938826466916,0.8052434456928839,2.3470661672908864,2.203495630461923,2.66541822721598,5.580524344569288,1.1735330836454432,5.280898876404494,4.787765293383271,4.4818976279650435, +4.107365792759051,5.574282147315855,2.6217228464419473,5.724094881398252,3.9637952559300875,4.063670411985019,0.9987515605493134,3.6953807740324596,1.3545568039950062,3.2521847690387014,3.982521847690387,1.6666666666666667,0.6928838951310862,0.6991260923845194,2.016229712858926,6.30461922596754,4.950062421972534,3.2209737827715355,2.328339575530587,1.978776529338327,4.332084893882647,5.705368289637952,3.3333333333333335,5.942571785268415,5.237203495630462,1.3857677902621723,1.0674157303370786,1.0362047440699127,2.2347066167290888,4.431960049937578,0.618601747815231,1.3982521847690388,5.424469413233458,4.332084893882647,1.6541822721598003,2.933832709113608,1.2359550561797754,6.616729088639201,4.675405742821473,1.017478152309613,1.0549313358302121,5.287141073657928,4.213483146067416,1.7290886392009988,1.1797752808988764,1.4856429463171037,6.192259675405743,3.202247191011236,1.5980024968789013,4.893882646691636,3.408239700374532,3.689138576779026,4.525593008739076,6.367041198501872,2.153558052434457,3.9450686641697876,4.332084893882647,5.436953807740325,6.429463171036204,3.6454431960049942,2.696629213483146,3.6766541822721597,3.464419475655431,2.1410736579275906,6.111111111111111,3.920099875156055,2.7715355805243447,6.179775280898876,2.184769038701623,3.7702871410736583,4.138576779026217,4.444444444444445,6.054931335830212,4.00749063670412,6.061173533083646,6.429463171036204,4.450686641697877,2.8152309612983775,1.3233458177278403,1.797752808988764,6.30461922596754,3.826466916354557,3.0399500624219726,1.3046192259675407,6.429463171036204,4.488139825218477,5.50561797752809,1.916354556803995,3.951310861423221,3.4456928838951315,5.880149812734083,0.8239700374531835,2.3782771535580522,2.2347066167290888,2.696629213483146,5.617977528089888,1.2047440699126093,5.312109862671661,4.812734082397004,4.506866416978776, +4.138576779026217,5.611735330836455,2.6529338327091136,5.7553058676654185,3.9887640449438204,4.0886392009987516,1.0237203495630463,3.7265917602996255,1.3795255930087391,3.2771535580524347,4.00749063670412,1.6978776529338326,0.717852684144819,0.7303370786516854,2.0411985018726595,6.30461922596754,4.9812734082397006,3.2521847690387014,2.35330836454432,2.00374531835206,4.357053682896379,5.736579275905119,3.3583021223470664,5.967540574282147,5.268414481897628,1.410736579275905,1.0986267166042447,1.0611735330836456,2.2659176029962547,4.456928838951311,0.6429463171036205,1.4294631710362047,5.449438202247191,4.357053682896379,1.6791510611735332,2.958801498127341,1.2671660424469413,6.679151061173534,4.700374531835206,1.042446941323346,1.079900124843945,5.305867665418227,4.238451935081149,1.7602996254681649,1.2047440699126093,1.5106117353308364,6.223470661672909,3.2397003745318353,1.6292134831460674,4.918851435705368,3.439450686641698,3.7203495630461925,4.55056179775281,6.367041198501872,2.1785268414481895,3.9637952559300875,4.3632958801498125,5.474406991260924,6.429463171036204,3.6766541822721597,2.715355805243446,3.6953807740324596,3.495630461922597,2.1660424469413235,6.1360799001248445,3.9450686641697876,2.7965043695380776,6.20474406991261,2.209737827715356,3.7952559300873907,4.169787765293384,4.4818976279650435,6.079900124843945,4.032459425717852,6.092384519350812,6.429463171036204,4.475655430711611,2.8464419475655434,1.348314606741573,1.8352059925093633,6.367041198501872,3.857677902621723,3.0711610486891385,1.3233458177278403,6.429463171036204,4.51310861423221,5.5305867665418225,1.9475655430711611,3.9762796504369535,3.4769038701622974,5.905118601747815,0.8489388264669163,2.4094881398252186,2.259675405742821,2.727840199750312,5.655430711610487,1.2359550561797754,5.337078651685393,4.837702871410737,4.531835205992509, +4.169787765293384,5.64294631710362,2.68414481897628,5.7802746566791505,4.013732833957553,4.1136079900124844,1.048689138576779,3.7515605493133584,1.410736579275905,3.3021223470661676,4.02621722846442,1.7228464419475658,0.7428214731585518,0.7553058676654182,2.066167290886392,6.367041198501872,5.012484394506866,3.2833957553058677,2.3782771535580522,2.0224719101123596,4.388264669163545,5.767790262172285,3.383270911360799,5.998751560549313,5.299625468164794,1.4419475655430714,1.1298377028714106,1.0861423220973783,2.2971285892634206,4.4818976279650435,0.6679151061173533,1.466916354556804,5.468164794007491,4.382022471910113,1.704119850187266,2.9837702871410734,1.3046192259675407,6.679151061173534,4.725343320848939,1.0611735330836456,1.104868913857678,5.33083645443196,4.263420724094882,1.7915106117353308,1.2359550561797754,1.5355805243445693,6.242197253433209,3.2709113607990012,1.6666666666666667,4.950062421972534,3.464419475655431,3.7578027465667914,4.581772784019975,6.429463171036204,2.1972534332084894,3.9887640449438204,4.388264669163545,5.511860174781523,6.491885143570538,3.701622971285893,2.7340823970037453,3.714107365792759,3.5268414481897628,2.184769038701623,6.167290886392011,3.9637952559300875,2.8152309612983775,6.223470661672909,2.2347066167290888,3.8202247191011236,4.200998751560549,4.51310861423221,6.104868913857677,4.057428214731585,6.123595505617978,6.429463171036204,4.49438202247191,2.8838951310861427,1.373283395755306,1.8726591760299625,6.367041198501872,3.888888888888889,3.102372034956305,1.348314606741573,6.491885143570538,4.538077403245943,5.555555555555556,1.978776529338327,4.001248439450687,3.508114856429463,5.936329588014981,0.8739076154806492,2.4406991260923845,2.2846441947565546,2.7590511860174782,5.69912609238452,1.2734082397003745,5.36828963795256,4.8626716604244695,4.556803995006242, +4.200998751560549,5.674157303370786,2.7215980024968793,5.811485642946318,4.038701622971286,4.132334581772784,1.0674157303370786,3.776529338327091,1.4419475655430714,3.320848938826467,4.044943820224719,1.7540574282147314,0.7615480649188515,0.7865168539325842,2.091136079900125,6.367041198501872,5.043695380774032,3.3146067415730336,2.4032459425717856,2.0474406991260925,4.419475655430712,5.799001248439451,3.408239700374532,6.029962546816479,5.324594257178527,1.4731585518102372,1.161048689138577,1.1111111111111112,2.328339575530587,4.506866416978776,0.6928838951310862,1.4981273408239701,5.493133583021224,4.400749063670412,1.7228464419475658,3.0087390761548067,1.3358302122347065,6.741573033707866,4.750312109862672,1.079900124843945,1.1298377028714106,5.34956304619226,4.288389513108614,1.8289637952559301,1.2671660424469413,1.5605493133583022,6.30461922596754,3.3083645443196006,1.6978776529338326,4.9812734082397006,3.495630461922597,3.7890137328339577,4.606741573033708,6.429463171036204,2.2222222222222223,4.00749063670412,4.419475655430712,5.549313358302123,6.491885143570538,3.7265917602996255,2.752808988764045,3.7390761548064915,3.5580524344569286,2.209737827715356,6.198501872659176,3.9887640449438204,2.84019975031211,6.242197253433209,2.259675405742821,3.8451935081148565,4.2322097378277155,4.544319600499376,6.123595505617978,4.0886392009987516,6.1485642946317105,6.491885143570538,4.519350811485642,2.9151061173533086,1.3982521847690388,1.9038701622971288,6.429463171036204,3.920099875156055,3.139825218476904,1.3670411985018727,6.491885143570538,4.563046192259676,5.580524344569288,2.009987515605493,4.02621722846442,3.5393258426966296,5.967540574282147,0.898876404494382,2.4656679151061174,2.3158551810237205,2.7965043695380776,5.736579275905119,1.3046192259675407,5.399500624219725,4.887640449438202,4.575530586766542, +4.2322097378277155,5.711610486891385,2.752808988764045,5.836454431960051,4.063670411985019,4.157303370786517,1.0923845193508115,3.801498127340824,1.4731585518102372,3.3458177278401995,4.069912609238452,1.7852684144818978,0.7865168539325842,0.8177278401997503,2.1161048689138577,6.429463171036204,5.074906367041199,3.3458177278401995,2.428214731585518,2.066167290886392,4.444444444444445,5.830212234706617,3.4332084893882646,6.061173533083646,5.355805243445693,1.4981273408239701,1.1922596754057428,1.136079900124844,2.3657927590511862,4.525593008739076,0.717852684144819,1.5355805243445693,5.511860174781523,4.425717852684145,1.7478152309612984,3.027465667915106,1.373283395755306,6.741573033707866,4.769038701622971,1.104868913857678,1.1548064918851435,5.3745318352059925,4.31960049937578,1.8601747815230962,1.2921348314606742,1.591760299625468,6.30461922596754,3.339575530586767,1.7290886392009988,5.012484394506866,3.5268414481897628,3.826466916354557,4.631710362047441,6.491885143570538,2.247191011235955,4.02621722846442,4.444444444444445,5.586766541822722,6.491885143570538,3.7578027465667914,2.7715355805243447,3.7578027465667914,3.589263420724095,2.2347066167290888,6.229712858926342,4.013732833957553,2.8589263420724094,6.242197253433209,2.2846441947565546,3.870162297128589,4.263420724094882,4.575530586766542,6.1485642946317105,4.1136079900124844,6.179775280898876,6.491885143570538,4.538077403245943,2.9525593008739075,1.4232209737827717,1.941323345817728,6.491885143570538,3.9450686641697876,3.17103620474407,1.3920099875156053,6.554307116104869,4.581772784019975,5.605493133583021,2.0411985018726595,4.057428214731585,3.5705368289637955,5.992509363295881,0.9238451935081149,2.4968789013732833,2.340823970037453,2.8277153558052435,5.774032459425719,1.34207240948814,5.430711610486892,4.912609238451935,4.600499375780275, +4.263420724094882,5.742821473158552,2.7840199750312107,5.867665418227216,4.0886392009987516,4.18227215980025,1.1173533083645444,3.826466916354557,1.4981273408239701,3.370786516853933,4.0886392009987516,1.8164794007490637,0.8114856429463172,0.8489388264669163,2.1410736579275906,6.429463171036204,5.106117353308365,3.3770287141073654,2.453183520599251,2.091136079900125,4.475655430711611,5.861423220973783,3.4581772784019975,6.092384519350812,5.3870162297128585,1.529338327091136,1.2172284644194757,1.161048689138577,2.397003745318352,4.55056179775281,0.7428214731585518,1.5667915106117354,5.5305867665418225,4.444444444444445,1.766541822721598,3.0524344569288386,1.404494382022472,6.803995006242197,4.794007490636704,1.1235955056179776,1.1735330836454432,5.393258426966292,4.344569288389513,1.8913857677902621,1.3233458177278403,1.616729088639201,6.367041198501872,3.370786516853933,1.766541822721598,5.0374531835206,3.5518102372034956,3.857677902621723,4.656679151061174,6.554307116104869,2.272159800249688,4.051186017478152,4.475655430711611,5.6242197253433215,6.554307116104869,3.7827715355805243,2.7965043695380776,3.776529338327091,3.620474406991261,2.253433208489388,6.242197253433209,4.032459425717852,2.8838951310861427,6.30461922596754,2.303370786516854,3.8951310861423223,4.294631710362047,4.612983770287141,6.173533083645444,4.138576779026217,6.210986267166042,6.491885143570538,4.556803995006242,2.9837702871410734,1.4481897627965044,1.9725343320848938,6.491885143570538,3.9762796504369535,3.202247191011236,1.410736579275905,6.554307116104869,4.606741573033708,5.630461922596755,2.0724094881398254,4.082397003745319,3.6017478152309614,6.023720349563047,0.9488139825218477,2.5280898876404496,2.3657927590511862,2.8589263420724094,5.811485642946318,1.373283395755306,5.461922596754057,4.943820224719102,4.6254681647940075, +4.288389513108614,5.774032459425719,2.82147315855181,5.892634207240949,4.1136079900124844,4.200998751560549,1.136079900124844,3.857677902621723,1.529338327091136,3.3895131086142323,4.1136079900124844,1.8414481897627966,0.8302122347066168,0.8801498127340824,2.1660424469413235,6.491885143570538,5.1373283395755305,3.408239700374532,2.471910112359551,2.1098626716604243,4.500624219725343,5.892634207240949,3.4769038701622974,6.123595505617978,5.418227215980025,1.5605493133583022,1.2484394506866416,1.1860174781523096,2.428214731585518,4.575530586766542,0.7677902621722846,1.5980024968789013,5.555555555555556,4.4694132334581775,1.7915106117353308,3.077403245942572,1.4419475655430714,6.803995006242197,4.818976279650437,1.1423220973782773,1.198501872659176,5.418227215980025,4.369538077403246,1.9225967540574282,1.3545568039950062,1.6416978776529338,6.367041198501872,3.408239700374532,1.797752808988764,5.068664169787765,3.5830212234706615,3.888888888888889,4.681647940074906,6.554307116104869,2.2971285892634206,4.069912609238452,4.500624219725343,5.66167290886392,6.554307116104869,3.8077403245942576,2.8152309612983775,3.801498127340824,3.651685393258427,2.278401997503121,6.30461922596754,4.057428214731585,2.902621722846442,6.30461922596754,2.328339575530587,3.920099875156055,4.325842696629214,4.644194756554308,6.198501872659176,4.169787765293384,6.242197253433209,6.554307116104869,4.581772784019975,3.0212234706616727,1.4731585518102372,2.009987515605493,6.554307116104869,4.00749063670412,3.2397003745318353,1.435705368289638,6.616729088639201,4.631710362047441,5.655430711610487,2.1036204744069913,4.107365792759051,3.639200998751561,6.054931335830212,0.9737827715355806,2.5593008739076155,2.3907615480649187,2.8963795255930087,5.855181023720349,1.410736579275905,5.493133583021224,4.9687890137328345,4.644194756554308, +4.31960049937578,5.805243445692884,2.852684144818976,5.9238451935081144,4.144818976279651,4.225967540574282,1.161048689138577,3.882646691635456,1.5605493133583022,3.4144818976279647,4.132334581772784,1.8726591760299625,0.8551810237203495,0.9051186017478152,2.1910112359550564,6.491885143570538,5.162297128589263,3.439450686641698,2.4968789013732833,2.128589263420724,4.531835205992509,5.9238451935081144,3.5018726591760303,6.154806491885144,5.443196004993759,1.585518102372035,1.2796504369538078,1.2109862671660423,2.459425717852684,4.600499375780275,0.7927590511860175,1.6354556803995006,5.574282147315855,4.488139825218477,1.8164794007490637,3.0961298377028714,1.4731585518102372,6.866416978776529,4.843945068664169,1.161048689138577,1.223470661672909,5.443196004993759,4.400749063670412,1.9600499375780276,1.3857677902621723,1.6729088639200997,6.429463171036204,3.439450686641698,1.8352059925093633,5.099875156054932,3.607990012484395,3.926342072409488,4.712858926342073,6.616729088639201,2.322097378277154,4.0886392009987516,4.531835205992509,5.69912609238452,6.616729088639201,3.8389513108614235,2.8339575530586765,3.8202247191011236,3.682896379525593,2.2971285892634206,6.30461922596754,4.0761548064918856,2.9275905118601746,6.30461922596754,2.35330836454432,3.9450686641697876,4.357053682896379,4.675405742821473,6.217228464419476,4.194756554307116,6.30461922596754,6.554307116104869,4.600499375780275,3.0524344569288386,1.4981273408239701,2.0411985018726595,6.554307116104869,4.038701622971286,3.2709113607990012,1.4544319600499376,6.616729088639201,4.656679151061174,5.68039950062422,2.134831460674157,4.132334581772784,3.6704119850187267,6.079900124843945,0.9925093632958802,2.5905118601747814,2.4219725343320846,2.9275905118601746,5.892634207240949,1.4419475655430714,5.5181023720349565,4.9937578027465666,4.66916354556804, +4.3508114856429465,5.842696629213483,2.8901373283395753,5.948813982521848,4.169787765293384,4.244694132334582,1.1860174781523096,3.9076154806491883,1.585518102372035,3.439450686641698,4.151061173533084,1.9038701622971288,0.8801498127340824,0.9363295880149812,2.209737827715356,6.554307116104869,5.19350811485643,3.470661672908864,2.521847690387016,2.153558052434457,4.563046192259676,5.955056179775282,3.5268414481897628,6.186017478152309,5.474406991260924,1.616729088639201,1.3108614232209737,1.2359550561797754,2.4906367041198503,4.6254681647940075,0.8177278401997503,1.6666666666666667,5.599250936329588,4.51310861423221,1.8352059925093633,3.1210986267166043,1.5106117353308364,6.866416978776529,4.868913857677903,1.1860174781523096,1.2484394506866416,5.461922596754057,4.425717852684145,1.9912609238451935,1.410736579275905,1.6978776529338326,6.429463171036204,3.470661672908864,1.8664169787765295,5.131086142322098,3.639200998751561,3.957553058676654,4.737827715355805,6.616729088639201,2.340823970037453,4.1136079900124844,4.556803995006242,5.736579275905119,6.616729088639201,3.8639200998751564,2.852684144818976,3.8389513108614235,3.714107365792759,2.322097378277154,6.367041198501872,4.1011235955056184,2.9463171036204745,6.367041198501872,2.3782771535580522,3.970037453183521,4.382022471910113,4.70661672908864,6.242197253433209,4.225967540574282,6.30461922596754,6.554307116104869,4.619225967540574,3.089887640449438,1.523096129837703,2.0786516853932584,6.616729088639201,4.069912609238452,3.3021223470661676,1.4794007490636705,6.679151061173534,4.681647940074906,5.705368289637952,2.1660424469413235,4.157303370786517,3.701622971285893,6.111111111111111,1.017478152309613,2.6217228464419473,2.446941323345818,2.958801498127341,5.930087390761548,1.4794007490636705,5.549313358302123,5.0187265917602994,4.694132334581773, +4.382022471910113,5.8739076154806495,2.9213483146067416,5.980024968789014,4.194756554307116,4.269662921348314,1.2047440699126093,3.9325842696629216,1.616729088639201,3.4581772784019975,4.176029962546816,1.9350811485642945,0.898876404494382,0.9675405742821472,2.2347066167290888,6.554307116104869,5.224719101123595,3.5018726591760303,2.546816479400749,2.1722846441947565,4.588014981273409,5.992509363295881,3.5518102372034956,6.217228464419476,5.50561797752809,1.647940074906367,1.34207240948814,1.260923845193508,2.521847690387016,4.65043695380774,0.8426966292134832,1.6978776529338326,5.617977528089888,4.538077403245943,1.8601747815230962,3.1460674157303368,1.5418227215980027,6.928838951310862,4.893882646691636,1.2047440699126093,1.2734082397003745,5.48689138576779,4.450686641697877,2.0224719101123596,1.4419475655430714,1.7228464419475658,6.491885143570538,3.508114856429463,1.8976279650436954,5.15605493133583,3.6641697877652937,3.9950062421972534,4.762796504369538,6.679151061173534,2.3657927590511862,4.132334581772784,4.588014981273409,5.774032459425719,6.616729088639201,3.888888888888889,2.871410736579276,3.8639200998751564,3.745318352059925,2.3470661672908864,6.367041198501872,4.1260923845193505,2.9712858926342074,6.367041198501872,2.4032459425717856,3.9950062421972534,4.413233458177278,4.7440699126092385,6.242197253433209,4.250936329588015,6.367041198501872,6.616729088639201,4.644194756554308,3.1210986267166043,1.5480649188514357,2.1161048689138577,6.679151061173534,4.1011235955056184,3.339575530586767,1.4981273408239701,6.679151061173534,4.70661672908864,5.730337078651686,2.1972534332084894,4.18227215980025,3.732833957553059,6.142322097378277,1.042446941323346,2.6529338327091136,2.471910112359551,2.9962546816479403,5.97378277153558,1.5106117353308364,5.580524344569288,5.043695380774032,4.719101123595506, +4.413233458177278,5.905118601747815,2.9525593008739075,6.004993757802747,4.219725343320849,4.294631710362047,1.229712858926342,3.957553058676654,1.647940074906367,3.4831460674157304,4.194756554307116,1.9600499375780276,0.9238451935081149,0.9987515605493134,2.259675405742821,6.616729088639201,5.2559300873907615,3.5268414481897628,2.571785268414482,2.1972534332084894,4.619225967540574,6.023720349563047,3.576779026217228,6.242197253433209,5.5305867665418225,1.6729088639200997,1.373283395755306,1.285892634207241,2.5530586766541825,4.675405742821473,0.867665418227216,1.735330836454432,5.64294631710362,4.556803995006242,1.8789013732833957,3.17103620474407,1.5792759051186018,6.928838951310862,4.918851435705368,1.223470661672909,1.2983770287141074,5.50561797752809,4.475655430711611,2.0536828963795255,1.4731585518102372,1.7540574282147314,6.491885143570538,3.5393258426966296,1.9350811485642945,5.187265917602996,3.6953807740324596,4.02621722846442,4.787765293383271,6.679151061173534,2.3907615480649187,4.151061173533084,4.612983770287141,5.811485642946318,6.679151061173534,3.920099875156055,2.8901373283395753,3.882646691635456,3.7827715355805243,2.3657927590511862,6.429463171036204,4.144818976279651,2.990012484394507,6.429463171036204,2.428214731585518,4.019975031210986,4.444444444444445,4.775280898876405,6.30461922596754,4.275905118601748,6.367041198501872,6.616729088639201,4.662921348314606,3.1585518102372037,1.5730337078651684,2.1473158551810236,6.679151061173534,4.132334581772784,3.370786516853933,1.523096129837703,6.741573033707866,4.7315855181023725,5.7553058676654185,2.2284644194756553,4.207240948813983,3.764044943820225,6.167290886392011,1.0674157303370786,2.68414481897628,2.4968789013732833,3.027465667915106,6.01123595505618,1.5418227215980027,5.611735330836455,5.068664169787765,4.737827715355805, +4.444444444444445,5.942571785268415,2.990012484394507,6.036204744069912,4.244694132334582,4.313358302122348,1.2546816479400749,3.9887640449438204,1.6791510611735332,3.508114856429463,4.219725343320849,1.9912609238451935,0.9488139825218477,1.0299625468164793,2.2846441947565546,6.616729088639201,5.287141073657928,3.5580524344569286,2.596754057428215,2.215980024968789,4.65043695380774,6.054931335830212,3.6017478152309614,6.30461922596754,5.561797752808988,1.704119850187266,1.3982521847690388,1.3108614232209737,2.5842696629213484,4.700374531835206,0.8926342072409489,1.766541822721598,5.66167290886392,4.581772784019975,1.9038701622971288,3.1897627965043696,1.6104868913857677,6.991260923845194,4.937578027465668,1.2484394506866416,1.3233458177278403,5.5305867665418225,4.506866416978776,2.091136079900125,1.4981273408239701,1.7790262172284643,6.554307116104869,3.5705368289637955,1.9662921348314608,5.218476903870163,3.7265917602996255,4.057428214731585,4.812734082397004,6.741573033707866,2.4157303370786516,4.176029962546816,4.644194756554308,5.848938826466916,6.679151061173534,3.9450686641697876,2.908863920099875,3.9013732833957557,3.81398252184769,2.3907615480649187,6.429463171036204,4.169787765293384,3.0149812734082393,6.429463171036204,2.453183520599251,4.044943820224719,4.475655430711611,4.806491885143571,6.30461922596754,4.307116104868914,6.429463171036204,6.616729088639201,4.681647940074906,3.1897627965043696,1.5980024968789013,2.184769038701623,6.741573033707866,4.16354556803995,3.4019975031210987,1.5418227215980027,6.741573033707866,4.750312109862672,5.7802746566791505,2.259675405742821,4.2322097378277155,3.801498127340824,6.198501872659176,1.0923845193508115,2.715355805243446,2.5280898876404496,3.058676654182272,6.048689138576779,1.5792759051186018,5.64294631710362,5.093632958801498,4.762796504369538, +4.475655430711611,5.97378277153558,3.0212234706616727,6.061173533083646,4.269662921348314,4.33832709113608,1.2734082397003745,4.013732833957553,1.704119850187266,3.5268414481897628,4.238451935081149,2.0224719101123596,0.9675405742821472,1.0549313358302121,2.309612983770287,6.616729088639201,5.318352059925093,3.589263420724095,2.6217228464419473,2.2409488139825218,4.675405742821473,6.086142322097379,3.6267166042446943,6.30461922596754,5.593008739076155,1.735330836454432,1.4294631710362047,1.3358302122347065,2.6154806491885143,4.725343320848939,0.9176029962546817,1.8039950062421974,5.686641697877653,4.600499375780275,1.9288389513108615,3.214731585518102,1.647940074906367,6.991260923845194,4.962546816479401,1.2671660424469413,1.34207240948814,5.549313358302123,4.531835205992509,2.122347066167291,1.529338327091136,1.8039950062421974,6.554307116104869,3.607990012484395,1.9975031210986267,5.249687890137328,3.7515605493133584,4.094881398252185,4.843945068664169,6.803995006242197,2.4406991260923845,4.194756554307116,4.675405742821473,5.8863920099875156,6.741573033707866,3.970037453183521,2.9275905118601746,3.926342072409488,3.8451935081148565,2.4094881398252186,6.491885143570538,4.188514357053683,3.033707865168539,6.429463171036204,2.478152309612984,4.069912609238452,4.506866416978776,4.837702871410737,6.367041198501872,4.332084893882647,6.429463171036204,6.679151061173534,4.70661672908864,3.227215980024969,1.6229712858926344,2.215980024968789,6.803995006242197,4.194756554307116,3.439450686641698,1.5667915106117354,6.803995006242197,4.775280898876405,5.805243445692884,2.2908863920099876,4.257178526841448,3.83270911360799,6.229712858926342,1.1173533083645444,2.746566791510612,2.5530586766541825,3.089887640449438,6.086142322097379,1.6104868913857677,5.674157303370786,5.118601747815231,4.787765293383271, +4.506866416978776,6.004993757802747,3.0524344569288386,6.092384519350812,4.294631710362047,4.3632958801498125,1.2983770287141074,4.038701622971286,1.735330836454432,3.5518102372034956,4.263420724094882,2.0474406991260925,0.9925093632958802,1.0861423220973783,2.33458177278402,6.679151061173534,5.34956304619226,3.620474406991261,2.6466916354556806,2.259675405742821,4.70661672908864,6.117353308364544,3.651685393258427,6.367041198501872,5.617977528089888,1.7602996254681649,1.4606741573033708,1.3607990012484397,2.6466916354556806,4.750312109862672,0.9425717852684146,1.8352059925093633,5.705368289637952,4.6254681647940075,1.9475655430711611,3.2397003745318353,1.6791510611735332,7.0536828963795255,4.987515605493134,1.285892634207241,1.3670411985018727,5.574282147315855,4.556803995006242,2.153558052434457,1.5605493133583022,1.8352059925093633,6.616729088639201,3.639200998751561,2.034956304619226,5.274656679151062,3.7827715355805243,4.1260923845193505,4.868913857677903,6.803995006242197,2.4656679151061174,4.213483146067416,4.700374531835206,5.9238451935081144,6.741573033707866,3.9950062421972534,2.9463171036204745,3.9450686641697876,3.8764044943820224,2.4344569288389515,6.491885143570538,4.213483146067416,3.058676654182272,6.491885143570538,2.5031210986267167,4.094881398252185,4.538077403245943,4.868913857677903,6.367041198501872,4.357053682896379,6.491885143570538,6.679151061173534,4.725343320848939,3.258426966292135,1.647940074906367,2.253433208489388,6.803995006242197,4.225967540574282,3.470661672908864,1.585518102372035,6.803995006242197,4.800249687890138,5.830212234706617,2.322097378277154,4.282147315855181,3.8639200998751564,6.242197253433209,1.136079900124844,2.777777777777778,2.578027465667915,3.1273408239700373,6.129837702871411,1.647940074906367,5.69912609238452,5.149812734082397,4.812734082397004, +4.538077403245943,6.0424469413233455,3.089887640449438,6.117353308364544,4.31960049937578,4.382022471910113,1.3233458177278403,4.063670411985019,1.766541822721598,3.576779026217228,4.282147315855181,2.0786516853932584,1.017478152309613,1.1173533083645444,2.359550561797753,6.679151061173534,5.380774032459426,3.651685393258427,2.671660424469413,2.2846441947565546,4.737827715355805,6.1485642946317105,3.6766541822721597,6.367041198501872,5.6491885143570535,1.7915106117353308,1.4918851435705367,1.3857677902621723,2.68414481897628,4.775280898876405,0.9675405742821472,1.8664169787765295,5.724094881398252,4.65043695380774,1.9725343320848938,3.2646691635455682,1.7166042446941323,7.0536828963795255,5.012484394506866,1.3046192259675407,1.3920099875156053,5.593008739076155,4.588014981273409,2.184769038701623,1.591760299625468,1.8601747815230962,6.616729088639201,3.6766541822721597,2.066167290886392,5.305867665418227,3.8077403245942576,4.16354556803995,4.893882646691636,6.866416978776529,2.4843945068664173,4.238451935081149,4.7315855181023725,5.961298377028713,6.741573033707866,4.02621722846442,2.9712858926342074,3.9637952559300875,3.9076154806491883,2.453183520599251,6.554307116104869,4.238451935081149,3.077403245942572,6.491885143570538,2.5280898876404496,4.1136079900124844,4.569288389513109,4.906367041198502,6.367041198501872,4.388264669163545,6.491885143570538,6.679151061173534,4.7440699126092385,3.2896379525593007,1.6729088639200997,2.2846441947565546,6.866416978776529,4.257178526841448,3.5018726591760303,1.6042446941323347,6.866416978776529,4.825218476903871,5.855181023720349,2.35330836454432,4.307116104868914,3.8951310861423223,6.30461922596754,1.161048689138577,2.808988764044944,2.6092384519350813,3.1585518102372037,6.167290886392011,1.6791510611735332,5.730337078651686,5.174781523096129,4.831460674157303, +4.563046192259676,6.073657927590512,3.1210986267166043,6.1485642946317105,4.344569288389513,4.406991260923846,1.348314606741573,4.0886392009987516,1.797752808988764,3.595505617977528,4.300873907615481,2.1098626716604243,1.0362047440699127,1.1485642946317103,2.3845193508114857,6.741573033707866,5.411985018726591,3.682896379525593,2.696629213483146,2.303370786516854,4.762796504369538,6.179775280898876,3.6953807740324596,6.429463171036204,5.68039950062422,1.8227215980024971,1.523096129837703,1.410736579275905,2.715355805243446,4.800249687890138,0.9925093632958802,1.9038701622971288,5.749063670411985,4.66916354556804,1.9975031210986267,3.2833957553058677,1.7478152309612984,7.116104868913857,5.0374531835206,1.3295880149812733,1.4169787765293382,5.617977528089888,4.612983770287141,2.2222222222222223,1.616729088639201,1.8851435705368291,6.679151061173534,3.7078651685393256,2.1036204744069913,5.337078651685393,3.8389513108614235,4.194756554307116,4.918851435705368,6.866416978776529,2.5093632958801497,4.257178526841448,4.7565543071161045,5.998751560549313,6.803995006242197,4.051186017478152,2.990012484394507,3.9887640449438204,3.938826466916354,2.478152309612984,6.554307116104869,4.257178526841448,3.102372034956305,6.491885143570538,2.546816479400749,4.138576779026217,4.600499375780275,4.937578027465668,6.429463171036204,4.413233458177278,6.554307116104869,6.741573033707866,4.769038701622971,3.3270911360799,1.6978776529338326,2.322097378277154,6.866416978776529,4.288389513108614,3.5393258426966296,1.6292134831460674,6.866416978776529,4.850187265917603,5.880149812734083,2.3845193508114857,4.332084893882647,3.926342072409488,6.30461922596754,1.1860174781523096,2.84019975031211,2.634207240948814,3.1897627965043696,6.20474406991261,1.7166042446941323,5.761548064918852,5.199750312109863,4.856429463171036, +4.594257178526841,6.104868913857677,3.15230961298377,6.173533083645444,4.369538077403246,4.431960049937578,1.3670411985018727,4.119850187265917,1.8227215980024971,3.620474406991261,4.325842696629214,2.1410736579275906,1.0611735330836456,1.1797752808988764,2.4094881398252186,6.741573033707866,5.443196004993759,3.714107365792759,2.7215980024968793,2.328339575530587,4.794007490636704,6.210986267166042,3.7203495630461925,6.429463171036204,5.705368289637952,1.8476903870162298,1.554307116104869,1.435705368289638,2.746566791510612,4.825218476903871,1.0112359550561798,1.9350811485642945,5.767790262172285,4.694132334581773,2.016229712858926,3.3083645443196006,1.7852684144818978,7.116104868913857,5.062421972534332,1.348314606741573,1.4419475655430714,5.636704119850187,4.637952559300874,2.253433208489388,1.647940074906367,1.916354556803995,6.679151061173534,3.7390761548064915,2.134831460674157,5.36828963795256,3.8639200998751564,4.2322097378277155,4.943820224719102,6.928838951310862,2.5343320848938826,4.282147315855181,4.787765293383271,6.036204744069912,6.803995006242197,4.0761548064918856,3.0087390761548067,4.00749063670412,3.970037453183521,2.5031210986267167,6.616729088639201,4.282147315855181,3.1210986267166043,6.554307116104869,2.571785268414482,4.16354556803995,4.631710362047441,4.9687890137328345,6.429463171036204,4.438202247191011,6.554307116104869,6.741573033707866,4.787765293383271,3.3583021223470664,1.7228464419475658,2.359550561797753,6.928838951310862,4.31960049937578,3.5705368289637955,1.647940074906367,6.928838951310862,4.875156054931336,5.905118601747815,2.4157303370786516,4.357053682896379,3.9637952559300875,6.367041198501872,1.2109862671660423,2.871410736579276,2.6591760299625467,3.227215980024969,6.242197253433209,1.7478152309612984,5.792759051186017,5.224719101123595,4.881398252184769, +4.6254681647940075,6.142322097378277,3.1897627965043696,6.20474406991261,4.394506866416979,4.450686641697877,1.3920099875156053,4.144818976279651,1.8539325842696628,3.6454431960049942,4.344569288389513,2.1660424469413235,1.079900124843945,1.2047440699126093,2.4344569288389515,6.803995006242197,5.474406991260924,3.745318352059925,2.746566791510612,2.3470661672908864,4.825218476903871,6.242197253433209,3.745318352059925,6.491885143570538,5.736579275905119,1.8789013732833957,1.5792759051186018,1.4606741573033708,2.777777777777778,4.850187265917603,1.0362047440699127,1.9662921348314608,5.792759051186017,4.712858926342073,2.0411985018726595,3.3333333333333335,1.8164794007490637,7.17852684144819,5.081148564294631,1.3670411985018727,1.466916354556804,5.66167290886392,4.662921348314606,2.2846441947565546,1.6791510611735332,1.941323345817728,6.741573033707866,3.776529338327091,2.1660424469413235,5.393258426966292,3.8951310861423223,4.263420724094882,4.9687890137328345,6.928838951310862,2.5593008739076155,4.300873907615481,4.812734082397004,6.073657927590512,6.866416978776529,4.107365792759051,3.027465667915106,4.02621722846442,4.001248439450687,2.521847690387016,6.616729088639201,4.300873907615481,3.1460674157303368,6.554307116104869,2.596754057428215,4.188514357053683,4.662921348314606,5.0,6.429463171036204,4.4694132334581775,6.616729088639201,6.741573033707866,4.812734082397004,3.3957553058676653,1.7478152309612984,2.3907615480649187,6.991260923845194,4.3508114856429465,3.6017478152309614,1.6729088639200997,6.928838951310862,4.893882646691636,5.930087390761548,2.446941323345818,4.382022471910113,3.9950062421972534,6.367041198501872,1.2359550561797754,2.902621722846442,2.68414481897628,3.258426966292135,6.30461922596754,1.7852684144818978,5.823970037453184,5.249687890137328,4.906367041198502, +4.656679151061174,6.173533083645444,3.2209737827715355,6.229712858926342,4.419475655430712,4.475655430711611,1.4169787765293382,4.169787765293384,1.8851435705368291,3.6641697877652937,4.369538077403246,2.1972534332084894,1.104868913857678,1.2359550561797754,2.459425717852684,6.803995006242197,5.50561797752809,3.776529338327091,2.7715355805243447,2.3720349563046192,4.850187265917603,6.30461922596754,3.7702871410736583,6.491885143570538,5.767790262172285,1.9101123595505618,1.6104868913857677,1.4856429463171037,2.808988764044944,4.875156054931336,1.0611735330836456,2.00374531835206,5.811485642946318,4.737827715355805,2.0599250936329585,3.3583021223470664,1.8539325842696628,7.17852684144819,5.106117353308365,1.3920099875156053,1.4856429463171037,5.686641697877653,4.694132334581773,2.3158551810237205,1.704119850187266,1.9662921348314608,6.741573033707866,3.8077403245942576,2.203495630461923,5.424469413233458,3.926342072409488,4.294631710362047,5.0,6.991260923845194,2.5842696629213484,4.31960049937578,4.843945068664169,6.111111111111111,6.866416978776529,4.132334581772784,3.046192259675406,4.051186017478152,4.032459425717852,2.546816479400749,6.679151061173534,4.325842696629214,3.1647940074906367,6.554307116104869,2.6217228464419473,4.213483146067416,4.694132334581773,5.0374531835206,6.491885143570538,4.49438202247191,6.616729088639201,6.803995006242197,4.831460674157303,3.4269662921348316,1.772784019975031,2.428214731585518,6.991260923845194,4.382022471910113,3.639200998751561,1.6916354556803994,6.991260923845194,4.918851435705368,5.955056179775282,2.478152309612984,4.406991260923846,4.02621722846442,6.429463171036204,1.260923845193508,2.933832709113608,2.715355805243446,3.2896379525593007,6.30461922596754,1.8164794007490637,5.855181023720349,5.274656679151062,4.925093632958801, +4.687890137328339,6.20474406991261,3.258426966292135,6.242197253433209,4.444444444444445,4.500624219725343,1.435705368289638,4.194756554307116,1.916354556803995,3.689138576779026,4.388264669163545,2.2284644194756553,1.1298377028714106,1.2671660424469413,2.4843945068664173,6.866416978776529,5.536828963795256,3.8077403245942576,2.7965043695380776,2.3907615480649187,4.881398252184769,6.30461922596754,3.7952559300873907,6.554307116104869,5.799001248439451,1.9350811485642945,1.6416978776529338,1.5106117353308364,2.84019975031211,4.900124843945068,1.0861423220973783,2.034956304619226,5.836454431960051,4.7565543071161045,2.084893882646692,3.3770287141073654,1.8851435705368291,7.240948813982522,5.131086142322098,1.410736579275905,1.5106117353308364,5.705368289637952,4.719101123595506,2.35330836454432,1.735330836454432,1.9975031210986267,6.803995006242197,3.8389513108614235,2.2347066167290888,5.455680399500624,3.951310861423221,4.332084893882647,5.024968789013733,7.0536828963795255,2.602996254681648,4.344569288389513,4.868913857677903,6.1485642946317105,6.866416978776529,4.157303370786517,3.0649188514357055,4.069912609238452,4.063670411985019,2.565543071161049,6.679151061173534,4.3508114856429465,3.1897627965043696,6.616729088639201,2.6466916354556806,4.238451935081149,4.725343320848939,5.068664169787765,6.491885143570538,4.519350811485642,6.679151061173534,6.803995006242197,4.850187265917603,3.464419475655431,1.797752808988764,2.459425717852684,7.0536828963795255,4.413233458177278,3.6704119850187267,1.7166042446941323,6.991260923845194,4.943820224719102,5.980024968789014,2.5093632958801497,4.431960049937578,4.057428214731585,6.429463171036204,1.285892634207241,2.965043695380774,2.740324594257179,3.3270911360799,6.367041198501872,1.8476903870162298,5.880149812734083,5.299625468164794,4.950062421972534, +4.719101123595506,6.242197253433209,3.2896379525593007,6.30461922596754,4.4694132334581775,4.519350811485642,1.4606741573033708,4.219725343320849,1.941323345817728,3.714107365792759,4.413233458177278,2.259675405742821,1.1485642946317103,1.2983770287141074,2.5093632958801497,6.866416978776529,5.568039950062421,3.8389513108614235,2.82147315855181,2.4157303370786516,4.912609238451935,6.367041198501872,3.8202247191011236,6.554307116104869,5.823970037453184,1.9662921348314608,1.6729088639200997,1.5355805243445693,2.871410736579276,4.925093632958801,1.1111111111111112,2.0724094881398254,5.855181023720349,4.781523096129837,2.1098626716604243,3.4019975031210987,1.9225967540574282,7.240948813982522,5.15605493133583,1.4294631710362047,1.5355805243445693,5.730337078651686,4.7440699126092385,2.3845193508114857,1.766541822721598,2.0224719101123596,6.803995006242197,3.8764044943820224,2.272159800249688,5.48689138576779,3.982521847690387,4.3632958801498125,5.049937578027466,7.0536828963795255,2.6279650436953808,4.3632958801498125,4.900124843945068,6.186017478152309,6.928838951310862,4.188514357053683,3.0836454431960054,4.0886392009987516,4.094881398252185,2.5905118601747814,6.741573033707866,4.369538077403246,3.2084893882646695,6.616729088639201,2.671660424469413,4.263420724094882,4.750312109862672,5.099875156054932,6.491885143570538,4.55056179775281,6.679151061173534,6.803995006242197,4.875156054931336,3.495630461922597,1.8227215980024971,2.4968789013732833,7.116104868913857,4.444444444444445,3.7078651685393256,1.735330836454432,7.0536828963795255,4.9687890137328345,6.01123595505618,2.5405742821473156,4.456928838951311,4.0886392009987516,6.491885143570538,1.3046192259675407,2.9962546816479403,2.7652933832709112,3.3583021223470664,6.429463171036204,1.8851435705368291,5.9113607990012484,5.324594257178527,4.975031210986267, +4.750312109862672,6.30461922596754,3.320848938826467,6.30461922596754,4.49438202247191,4.544319600499376,1.4856429463171037,4.250936329588015,1.9725343320848938,3.732833957553059,4.431960049937578,2.2846441947565546,1.1735330836454432,1.3295880149812733,2.5343320848938826,6.928838951310862,5.599250936329588,3.870162297128589,2.84019975031211,2.4344569288389515,4.937578027465668,6.367041198501872,3.8451935081148565,6.616729088639201,5.855181023720349,1.9975031210986267,1.704119850187266,1.5605493133583022,2.902621722846442,4.950062421972534,1.136079900124844,2.1036204744069913,5.880149812734083,4.806491885143571,2.128589263420724,3.4269662921348316,1.9600499375780276,7.303370786516854,5.181023720349563,1.4544319600499376,1.5605493133583022,5.749063670411985,4.775280898876405,2.4157303370786516,1.797752808988764,2.0474406991260925,6.866416978776529,3.9076154806491883,2.303370786516854,5.511860174781523,4.00749063670412,4.400749063670412,5.074906367041199,7.116104868913857,2.6529338327091136,4.382022471910113,4.931335830212235,6.223470661672909,6.928838951310862,4.213483146067416,3.102372034956305,4.1136079900124844,4.132334581772784,2.6092384519350813,6.741573033707866,4.394506866416979,3.227215980024969,6.616729088639201,2.696629213483146,4.288389513108614,4.781523096129837,5.131086142322098,6.554307116104869,4.575530586766542,6.741573033707866,6.866416978776529,4.893882646691636,3.533083645443196,1.8476903870162298,2.5343320848938826,7.116104868913857,4.475655430711611,3.7390761548064915,1.7602996254681649,7.0536828963795255,4.9937578027465666,6.036204744069912,2.571785268414482,4.4818976279650435,4.119850187265917,6.491885143570538,1.3295880149812733,3.027465667915106,2.790262172284644,3.3895131086142323,6.429463171036204,1.916354556803995,5.942571785268415,5.355805243445693,4.9937578027465666, +4.781523096129837,6.30461922596754,3.3583021223470664,6.367041198501872,4.519350811485642,4.563046192259676,1.5043695380774034,4.275905118601748,2.00374531835206,3.7578027465667914,4.450686641697877,2.3158551810237205,1.198501872659176,1.3545568039950062,2.5593008739076155,6.928838951310862,5.630461922596755,3.9013732833957557,2.865168539325843,2.453183520599251,4.9687890137328345,6.429463171036204,3.870162297128589,6.616729088639201,5.8863920099875156,2.0287141073657926,1.7290886392009988,1.585518102372035,2.933832709113608,4.975031210986267,1.161048689138577,2.134831460674157,5.8988764044943816,4.825218476903871,2.153558052434457,3.4456928838951315,1.9912609238451935,7.303370786516854,5.205992509363296,1.4731585518102372,1.585518102372035,5.774032459425719,4.800249687890138,2.446941323345818,1.8227215980024971,2.0786516853932584,6.866416978776529,3.938826466916354,2.33458177278402,5.543071161048689,4.038701622971286,4.431960049937578,5.099875156054932,7.116104868913857,2.6779026217228465,4.406991260923846,4.956304619225968,6.242197253433209,6.991260923845194,4.238451935081149,3.1273408239700373,4.132334581772784,4.16354556803995,2.634207240948814,6.803995006242197,4.413233458177278,3.2521847690387014,6.679151061173534,2.7215980024968793,4.313358302122348,4.812734082397004,5.168539325842697,6.554307116104869,4.606741573033708,6.741573033707866,6.866416978776529,4.912609238451935,3.564294631710362,1.8726591760299625,2.565543071161049,7.17852684144819,4.500624219725343,3.7702871410736583,1.7790262172284643,7.116104868913857,5.0187265917602994,6.061173533083646,2.602996254681648,4.506866416978776,4.157303370786517,6.491885143570538,1.3545568039950062,3.058676654182272,2.82147315855181,3.420724094881398,6.491885143570538,1.9538077403245941,5.97378277153558,5.380774032459426,5.0187265917602994, +4.806491885143571,6.367041198501872,3.3895131086142323,6.367041198501872,4.544319600499376,4.588014981273409,1.529338327091136,4.300873907615481,2.034956304619226,3.7827715355805243,4.475655430711611,2.3470661672908864,1.2172284644194757,1.3857677902621723,2.5842696629213484,6.991260923845194,5.66167290886392,3.9325842696629216,2.8901373283395753,2.478152309612984,5.0,6.429463171036204,3.8951310861423223,6.679151061173534,5.9113607990012484,2.0536828963795255,1.7602996254681649,1.6104868913857677,2.965043695380774,5.0,1.1860174781523096,2.1722846441947565,5.917602996254682,4.850187265917603,2.1722846441947565,3.470661672908864,2.0287141073657926,7.365792759051186,5.230961298377029,1.4918851435705367,1.6104868913857677,5.792759051186017,4.825218476903871,2.4843945068664173,1.8539325842696628,2.1036204744069913,6.928838951310862,3.9762796504369535,2.3720349563046192,5.574282147315855,4.063670411985019,4.4694132334581775,5.131086142322098,7.17852684144819,2.702871410736579,4.425717852684145,4.987515605493134,6.30461922596754,6.991260923845194,4.269662921348314,3.1460674157303368,4.151061173533084,4.194756554307116,2.6591760299625467,6.803995006242197,4.438202247191011,3.2709113607990012,6.679151061173534,2.746566791510612,4.33832709113608,4.843945068664169,5.199750312109863,6.616729088639201,4.631710362047441,6.803995006242197,6.866416978776529,4.937578027465668,3.6017478152309614,1.8976279650436954,2.602996254681648,7.17852684144819,4.531835205992509,3.8077403245942576,1.8039950062421974,7.116104868913857,5.043695380774032,6.086142322097379,2.634207240948814,4.531835205992509,4.188514357053683,6.554307116104869,1.3795255930087391,3.0836454431960054,2.8464419475655434,3.4581772784019975,6.491885143570538,1.9850187265917605,6.004993757802747,5.405742821473158,5.043695380774032, +4.837702871410737,6.367041198501872,3.420724094881398,6.367041198501872,4.569288389513109,4.612983770287141,1.554307116104869,4.325842696629214,2.0599250936329585,3.801498127340824,4.49438202247191,2.3720349563046192,1.2421972534332086,1.4169787765293382,2.6092384519350813,6.991260923845194,5.692883895131087,3.9637952559300875,2.9151061173533086,2.4968789013732833,5.024968789013733,6.491885143570538,3.9138576779026217,6.679151061173534,5.942571785268415,2.084893882646692,1.7915106117353308,1.6354556803995006,2.9962546816479403,5.024968789013733,1.2109862671660423,2.203495630461923,5.942571785268415,4.868913857677903,2.1972534332084894,3.495630461922597,2.0599250936329585,7.365792759051186,5.249687890137328,1.5106117353308364,1.6354556803995006,5.81772784019975,4.850187265917603,2.515605493133583,1.8851435705368291,2.128589263420724,6.928838951310862,4.00749063670412,2.4032459425717856,5.605493133583021,4.094881398252185,4.500624219725343,5.15605493133583,7.17852684144819,2.727840199750312,4.444444444444445,5.012484394506866,6.30461922596754,6.991260923845194,4.294631710362047,3.1647940074906367,4.176029962546816,4.225967540574282,2.6779026217228465,6.866416978776529,4.463171036204744,3.295880149812734,6.679151061173534,2.7715355805243447,4.3632958801498125,4.875156054931336,5.230961298377029,6.616729088639201,4.656679151061174,6.803995006242197,6.928838951310862,4.956304619225968,3.6329588014981273,1.9225967540574282,2.634207240948814,7.240948813982522,4.563046192259676,3.8389513108614235,1.8227215980024971,7.17852684144819,5.062421972534332,6.111111111111111,2.66541822721598,4.556803995006242,4.219725343320849,6.554307116104869,1.404494382022472,3.114856429463171,2.871410736579276,3.4893882646691634,6.554307116104869,2.0224719101123596,6.036204744069912,5.430711610486892,5.068664169787765, +4.868913857677903,6.429463171036204,3.4581772784019975,6.429463171036204,4.594257178526841,4.631710362047441,1.5730337078651684,4.357053682896379,2.091136079900125,3.826466916354557,4.519350811485642,2.4032459425717856,1.2671660424469413,1.4481897627965044,2.634207240948814,7.0536828963795255,5.724094881398252,3.9950062421972534,2.9400749063670415,2.521847690387016,5.056179775280899,6.491885143570538,3.938826466916354,6.741573033707866,5.97378277153558,2.1161048689138577,1.8227215980024971,1.6604244694132335,3.033707865168539,5.049937578027466,1.2359550561797754,2.2347066167290888,5.961298377028713,4.893882646691636,2.2222222222222223,3.5205992509363297,2.097378277153558,7.428214731585518,5.274656679151062,1.5355805243445693,1.6541822721598003,5.836454431960051,4.881398252184769,2.546816479400749,1.9101123595505618,2.15980024968789,6.991260923845194,4.044943820224719,2.4344569288389515,5.630461922596755,4.1260923845193505,4.531835205992509,5.181023720349563,7.240948813982522,2.746566791510612,4.4694132334581775,5.043695380774032,6.367041198501872,7.0536828963795255,4.31960049937578,3.183520599250936,4.194756554307116,4.257178526841448,2.702871410736579,6.866416978776529,4.4818976279650435,3.3146067415730336,6.741573033707866,2.790262172284644,4.388264669163545,4.906367041198502,5.262172284644195,6.616729088639201,4.687890137328339,6.803995006242197,6.928838951310862,4.975031210986267,3.6704119850187267,1.941323345817728,2.671660424469413,7.303370786516854,4.594257178526841,3.870162297128589,1.8476903870162298,7.17852684144819,5.087390761548065,6.1360799001248445,2.696629213483146,4.588014981273409,4.250936329588015,6.616729088639201,1.4294631710362047,3.1460674157303368,2.8963795255930087,3.5205992509363297,6.616729088639201,2.0536828963795255,6.061173533083646,5.455680399500624,5.087390761548065, +4.900124843945068,6.429463171036204,3.4893882646691634,6.429463171036204,4.619225967540574,4.656679151061174,1.5980024968789013,4.382022471910113,2.122347066167291,3.8451935081148565,4.538077403245943,2.4344569288389515,1.285892634207241,1.4731585518102372,2.6529338327091136,7.0536828963795255,5.7553058676654185,4.02621722846442,2.965043695380774,2.5405742821473156,5.087390761548065,6.554307116104869,3.9637952559300875,6.741573033707866,5.998751560549313,2.1410736579275906,1.8539325842696628,1.6853932584269664,3.0649188514357055,5.074906367041199,1.260923845193508,2.272159800249688,5.986267166042447,4.912609238451935,2.2409488139825218,3.5393258426966296,2.128589263420724,7.428214731585518,5.299625468164794,1.554307116104869,1.6791510611735332,5.861423220973783,4.906367041198502,2.578027465667915,1.941323345817728,2.184769038701623,6.991260923845194,4.0761548064918856,2.471910112359551,5.66167290886392,4.151061173533084,4.569288389513109,5.205992509363296,7.303370786516854,2.7715355805243447,4.488139825218477,5.068664169787765,6.429463171036204,7.0536828963795255,4.3508114856429465,3.202247191011236,4.213483146067416,4.288389513108614,2.7215980024968793,6.928838951310862,4.506866416978776,3.339575530586767,6.741573033707866,2.8152309612983775,4.413233458177278,4.937578027465668,5.299625468164794,6.679151061173534,4.712858926342073,6.866416978776529,6.928838951310862,5.0,3.701622971285893,1.9662921348314608,2.702871410736579,7.303370786516854,4.6254681647940075,3.9076154806491883,1.8664169787765295,7.240948813982522,5.1123595505617985,6.161048689138577,2.727840199750312,4.612983770287141,4.282147315855181,6.616729088639201,1.4481897627965044,3.1772784019975036,2.9275905118601746,3.5580524344569286,6.616729088639201,2.091136079900125,6.092384519350812,5.480649188514358,5.1123595505617985, +4.931335830212235,6.491885143570538,3.5205992509363297,6.491885143570538,4.644194756554308,4.681647940074906,1.6229712858926344,4.406991260923846,2.153558052434457,3.870162297128589,4.563046192259676,2.4656679151061174,1.3108614232209737,1.5043695380774034,2.6779026217228465,7.116104868913857,5.786516853932584,4.057428214731585,2.990012484394507,2.565543071161049,5.1123595505617985,6.554307116104869,3.9887640449438204,6.803995006242197,6.029962546816479,2.1722846441947565,1.8851435705368291,1.710362047440699,3.0961298377028714,5.099875156054932,1.285892634207241,2.303370786516854,6.004993757802747,4.937578027465668,2.2659176029962547,3.564294631710362,2.1660424469413235,7.49063670411985,5.324594257178527,1.5730337078651684,1.704119850187266,5.8863920099875156,4.931335830212235,2.6154806491885143,1.9725343320848938,2.209737827715356,7.0536828963795255,4.107365792759051,2.5031210986267167,5.692883895131087,4.18227215980025,4.600499375780275,5.230961298377029,7.303370786516854,2.7965043695380776,4.506866416978776,5.099875156054932,6.429463171036204,7.116104868913857,4.375780274656679,3.2209737827715355,4.238451935081149,4.31960049937578,2.746566791510612,6.928838951310862,4.525593008739076,3.3583021223470664,6.741573033707866,2.84019975031211,4.438202247191011,4.9687890137328345,5.33083645443196,6.679151061173534,4.737827715355805,6.866416978776529,6.991260923845194,5.0187265917602994,3.732833957553059,1.9912609238451935,2.740324594257179,7.365792759051186,4.656679151061174,3.938826466916354,1.8913857677902621,7.240948813982522,5.1373283395755305,6.186017478152309,2.7590511860174782,4.637952559300874,4.31960049937578,6.679151061173534,1.4731585518102372,3.2084893882646695,2.9525593008739075,3.589263420724095,6.679151061173534,2.122347066167291,6.123595505617978,5.50561797752809,5.1373283395755305, +4.962546816479401,6.491885143570538,3.5580524344569286,6.491885143570538,4.66916354556804,4.700374531835206,1.6416978776529338,4.431960049937578,2.1785268414481895,3.8951310861423223,4.581772784019975,2.4906367041198503,1.3358302122347065,1.5355805243445693,2.702871410736579,7.116104868913857,5.81772784019975,4.0886392009987516,3.0149812734082393,2.5842696629213484,5.143570536828964,6.616729088639201,4.013732833957553,6.803995006242197,6.061173533083646,2.203495630461923,1.9101123595505618,1.735330836454432,3.1273408239700373,5.118601747815231,1.3108614232209737,2.340823970037453,6.029962546816479,4.962546816479401,2.2846441947565546,3.589263420724095,2.1972534332084894,7.49063670411985,5.34956304619226,1.5980024968789013,1.7290886392009988,5.905118601747815,4.962546816479401,2.6466916354556806,2.00374531835206,2.2409488139825218,7.0536828963795255,4.144818976279651,2.5405742821473156,5.724094881398252,4.207240948813983,4.637952559300874,5.262172284644195,7.365792759051186,2.82147315855181,4.531835205992509,5.1248439450686645,6.491885143570538,7.116104868913857,4.400749063670412,3.2397003745318353,4.257178526841448,4.3508114856429465,2.7715355805243447,6.991260923845194,4.55056179775281,3.383270911360799,6.803995006242197,2.865168539325843,4.463171036204744,5.0,5.3620474406991265,6.679151061173534,4.769038701622971,6.928838951310862,6.991260923845194,5.0374531835206,3.7702871410736583,2.016229712858926,2.777777777777778,7.428214731585518,4.687890137328339,3.970037453183521,1.9101123595505618,7.303370786516854,5.162297128589263,6.210986267166042,2.790262172284644,4.662921348314606,4.3508114856429465,6.679151061173534,1.4981273408239701,3.2397003745318353,2.977528089887641,3.620474406991261,6.741573033707866,2.153558052434457,6.154806491885144,5.5305867665418225,5.162297128589263, +4.9937578027465666,6.554307116104869,3.589263420724095,6.554307116104869,4.694132334581773,4.725343320848939,1.6666666666666667,4.456928838951311,2.209737827715356,3.9138576779026217,4.600499375780275,2.521847690387016,1.3545568039950062,1.5667915106117354,2.727840199750312,7.17852684144819,5.848938826466916,4.119850187265917,3.0399500624219726,2.6092384519350813,5.174781523096129,6.616729088639201,4.038701622971286,6.866416978776529,6.086142322097379,2.2284644194756553,1.941323345817728,1.7602996254681649,3.1585518102372037,5.143570536828964,1.3358302122347065,2.3720349563046192,6.048689138576779,4.9812734082397006,2.309612983770287,3.6142322097378274,2.2347066167290888,7.553058676654182,5.3745318352059925,1.616729088639201,1.7540574282147314,5.930087390761548,4.987515605493134,2.6779026217228465,2.0287141073657926,2.2659176029962547,7.116104868913857,4.176029962546816,2.571785268414482,5.749063670411985,4.238451935081149,4.66916354556804,5.287141073657928,7.365792759051186,2.8464419475655434,4.55056179775281,5.15605493133583,6.491885143570538,7.116104868913857,4.431960049937578,3.258426966292135,4.275905118601748,4.382022471910113,2.790262172284644,6.991260923845194,4.575530586766542,3.4019975031210987,6.803995006242197,2.8901373283395753,4.488139825218477,5.031210986267166,5.393258426966292,6.741573033707866,4.794007490636704,6.928838951310862,6.991260923845194,5.062421972534332,3.801498127340824,2.0411985018726595,2.808988764044944,7.428214731585518,4.719101123595506,4.00749063670412,1.9350811485642945,7.303370786516854,5.187265917602996,6.235955056179775,2.82147315855181,4.687890137328339,4.382022471910113,6.741573033707866,1.523096129837703,3.2709113607990012,3.0087390761548067,3.6579275905118602,6.741573033707866,2.1910112359550564,6.186017478152309,5.561797752808988,5.181023720349563, +5.024968789013733,6.554307116104869,3.6267166042446943,6.554307116104869,4.719101123595506,4.750312109862672,1.6916354556803994,4.488139825218477,2.2409488139825218,3.938826466916354,4.6254681647940075,2.5530586766541825,1.3795255930087391,1.5980024968789013,2.752808988764045,7.17852684144819,5.880149812734083,4.151061173533084,3.0649188514357055,2.6279650436953808,5.199750312109863,6.679151061173534,4.063670411985019,6.866416978776529,6.117353308364544,2.259675405742821,1.9725343320848938,1.7852684144818978,3.1897627965043696,5.168539325842697,1.3607990012484397,2.4032459425717856,6.073657927590512,5.0062421972534334,2.33458177278402,3.6329588014981273,2.2659176029962547,7.553058676654182,5.393258426966292,1.6354556803995006,1.7790262172284643,5.948813982521848,5.012484394506866,2.715355805243446,2.0599250936329585,2.2908863920099876,7.116104868913857,4.207240948813983,2.602996254681648,5.7802746566791505,4.269662921348314,4.700374531835206,5.312109862671661,7.428214731585518,2.865168539325843,4.575530586766542,5.181023720349563,6.554307116104869,7.17852684144819,4.456928838951311,3.2771535580524347,4.300873907615481,4.413233458177278,2.8152309612983775,7.0536828963795255,4.594257178526841,3.4269662921348316,6.803995006242197,2.9151061173533086,4.51310861423221,5.062421972534332,5.424469413233458,6.741573033707866,4.818976279650437,6.991260923845194,7.0536828963795255,5.081148564294631,3.8389513108614235,2.066167290886392,2.8464419475655434,7.49063670411985,4.750312109862672,4.038701622971286,1.9538077403245941,7.365792759051186,5.212234706616729,6.242197253433209,2.852684144818976,4.712858926342073,4.413233458177278,6.741573033707866,1.5480649188514357,3.3021223470661676,3.033707865168539,3.689138576779026,6.803995006242197,2.2222222222222223,6.217228464419476,5.586766541822722,5.205992509363296, +5.056179775280899,6.616729088639201,3.6579275905118602,6.616729088639201,4.7440699126092385,4.769038701622971,1.710362047440699,4.51310861423221,2.272159800249688,3.9637952559300875,4.644194756554308,2.5842696629213484,1.404494382022472,1.6229712858926344,2.777777777777778,7.17852684144819,5.9113607990012484,4.18227215980025,3.089887640449438,2.6529338327091136,5.230961298377029,6.679151061173534,4.0886392009987516,6.928838951310862,6.1485642946317105,2.2908863920099876,2.00374531835206,1.8102372034956304,3.2209737827715355,5.19350811485643,1.3857677902621723,2.4406991260923845,6.092384519350812,5.024968789013733,2.35330836454432,3.6579275905118602,2.303370786516854,7.615480649188515,5.418227215980025,1.6541822721598003,1.8039950062421974,5.97378277153558,5.0374531835206,2.746566791510612,2.091136079900125,2.322097378277154,7.17852684144819,4.244694132334582,2.640449438202247,5.811485642946318,4.294631710362047,4.737827715355805,5.337078651685393,7.428214731585518,2.8901373283395753,4.594257178526841,5.212234706616729,6.616729088639201,7.17852684144819,4.4818976279650435,3.3021223470661676,4.31960049937578,4.444444444444445,2.8339575530586765,7.0536828963795255,4.619225967540574,3.4456928838951315,6.866416978776529,2.9400749063670415,4.538077403245943,5.093632958801498,5.461922596754057,6.803995006242197,4.850187265917603,6.991260923845194,7.0536828963795255,5.099875156054932,3.870162297128589,2.091136079900125,2.8776529338327093,7.49063670411985,4.781523096129837,4.069912609238452,1.9725343320848938,7.365792759051186,5.230961298377029,6.30461922596754,2.8838951310861427,4.737827715355805,4.444444444444445,6.803995006242197,1.5730337078651684,3.3333333333333335,3.058676654182272,3.7203495630461925,6.803995006242197,2.259675405742821,6.242197253433209,5.611735330836455,5.230961298377029, +5.081148564294631,6.616729088639201,3.689138576779026,6.616729088639201,4.775280898876405,4.794007490636704,1.735330836454432,4.538077403245943,2.2971285892634206,3.982521847690387,4.66916354556804,2.6092384519350813,1.4232209737827717,1.6541822721598003,2.8027465667915106,7.240948813982522,5.942571785268415,4.213483146067416,3.114856429463171,2.671660424469413,5.262172284644195,6.741573033707866,4.1136079900124844,6.928838951310862,6.179775280898876,2.3158551810237205,2.034956304619226,1.8352059925093633,3.2521847690387014,5.218476903870163,1.410736579275905,2.471910112359551,6.111111111111111,5.049937578027466,2.3782771535580522,3.682896379525593,2.33458177278402,7.615480649188515,5.443196004993759,1.6791510611735332,1.8227215980024971,5.992509363295881,5.068664169787765,2.777777777777778,2.1161048689138577,2.3470661672908864,7.17852684144819,4.275905118601748,2.671660424469413,5.842696629213483,4.325842696629214,4.769038701622971,5.3620474406991265,7.49063670411985,2.9151061173533086,4.612983770287141,5.243445692883895,6.616729088639201,7.240948813982522,4.51310861423221,3.320848938826467,4.33832709113608,4.4818976279650435,2.8589263420724094,7.116104868913857,4.637952559300874,3.470661672908864,6.866416978776529,2.965043695380774,4.563046192259676,5.118601747815231,5.493133583021224,6.803995006242197,4.875156054931336,7.0536828963795255,7.0536828963795255,5.1248439450686645,3.9076154806491883,2.1161048689138577,2.9151061173533086,7.553058676654182,4.812734082397004,4.107365792759051,1.9975031210986267,7.428214731585518,5.2559300873907615,6.30461922596754,2.9151061173533086,4.762796504369538,4.475655430711611,6.803995006242197,1.5980024968789013,3.3645443196004994,3.0836454431960054,3.7515605493133584,6.866416978776529,2.2908863920099876,6.30461922596754,5.636704119850187,5.2559300873907615, +5.1123595505617985,6.679151061173534,3.7265917602996255,6.679151061173534,4.800249687890138,4.818976279650437,1.7602996254681649,4.563046192259676,2.328339575530587,4.00749063670412,4.687890137328339,2.640449438202247,1.4481897627965044,1.6853932584269664,2.8277153558052435,7.240948813982522,5.97378277153558,4.238451935081149,3.139825218476904,2.696629213483146,5.287141073657928,6.741573033707866,4.132334581772784,6.991260923845194,6.20474406991261,2.3470661672908864,2.066167290886392,1.8601747815230962,3.2833957553058677,5.243445692883895,1.435705368289638,2.5031210986267167,6.1360799001248445,5.068664169787765,2.397003745318352,3.7078651685393256,2.3720349563046192,7.677902621722847,5.468164794007491,1.6978776529338326,1.8476903870162298,6.0174781523096135,5.093632958801498,2.808988764044944,2.1473158551810236,2.3720349563046192,7.240948813982522,4.307116104868914,2.7091136079900124,5.867665418227216,4.3508114856429465,4.806491885143571,5.393258426966292,7.553058676654182,2.9400749063670415,4.637952559300874,5.268414481897628,6.679151061173534,7.240948813982522,4.538077403245943,3.339575530586767,4.3632958801498125,4.51310861423221,2.8776529338327093,7.116104868913857,4.662921348314606,3.4893882646691634,6.866416978776529,2.990012484394507,4.588014981273409,5.149812734082397,5.524344569288389,6.803995006242197,4.900124843945068,7.0536828963795255,7.116104868913857,5.143570536828964,3.938826466916354,2.1410736579275906,2.9463171036204745,7.615480649188515,4.843945068664169,4.138576779026217,2.016229712858926,7.428214731585518,5.280898876404494,6.367041198501872,2.9463171036204745,4.787765293383271,4.51310861423221,6.866416978776529,1.616729088639201,3.3957553058676653,3.114856429463171,3.7890137328339577,6.928838951310862,2.328339575530587,6.30461922596754,5.66167290886392,5.274656679151062, +5.143570536828964,6.679151061173534,3.7578027465667914,6.679151061173534,4.825218476903871,4.837702871410737,1.7790262172284643,4.588014981273409,2.359550561797753,4.032459425717852,4.712858926342073,2.671660424469413,1.4731585518102372,1.7166042446941323,2.852684144818976,7.303370786516854,6.004993757802747,4.269662921348314,3.1647940074906367,2.715355805243446,5.318352059925093,6.803995006242197,4.157303370786517,6.991260923845194,6.235955056179775,2.3782771535580522,2.091136079900125,1.8851435705368291,3.3146067415730336,5.268414481897628,1.4606741573033708,2.5405742821473156,6.154806491885144,5.093632958801498,2.4219725343320846,3.7265917602996255,2.4032459425717856,7.677902621722847,5.493133583021224,1.7166042446941323,1.8726591760299625,6.036204744069912,5.118601747815231,2.8464419475655434,2.1785268414481895,2.4032459425717856,7.240948813982522,4.344569288389513,2.740324594257179,5.8988764044943816,4.382022471910113,4.837702871410737,5.418227215980025,7.553058676654182,2.965043695380774,4.656679151061174,5.299625468164794,6.679151061173534,7.303370786516854,4.563046192259676,3.3583021223470664,4.382022471910113,4.544319600499376,2.902621722846442,7.17852684144819,4.687890137328339,3.5143570536828963,6.928838951310862,3.0149812734082393,4.612983770287141,5.181023720349563,5.555555555555556,6.866416978776529,4.931335830212235,7.116104868913857,7.116104868913857,5.168539325842697,3.9762796504369535,2.1660424469413235,2.9837702871410734,7.615480649188515,4.875156054931336,4.169787765293384,2.0411985018726595,7.49063670411985,5.305867665418227,6.367041198501872,2.977528089887641,4.812734082397004,4.544319600499376,6.866416978776529,1.6416978776529338,3.4269662921348316,3.139825218476904,3.8202247191011236,6.928838951310862,2.359550561797753,6.367041198501872,5.686641697877653,5.299625468164794, +5.174781523096129,6.741573033707866,3.7890137328339577,6.679151061173534,4.850187265917603,4.8626716604244695,1.8039950062421974,4.619225967540574,2.3845193508114857,4.051186017478152,4.7315855181023725,2.702871410736579,1.4918851435705367,1.7478152309612984,2.8776529338327093,7.303370786516854,6.036204744069912,4.300873907615481,3.183520599250936,2.740324594257179,5.34956304619226,6.803995006242197,4.18227215980025,7.0536828963795255,6.242197253433209,2.4032459425717856,2.122347066167291,1.9101123595505618,3.3458177278401995,5.293383270911361,1.4856429463171037,2.571785268414482,6.179775280898876,5.118601747815231,2.446941323345818,3.7515605493133584,2.4406991260923845,7.740324594257178,5.5181023720349565,1.7415730337078652,1.8976279650436954,6.061173533083646,5.149812734082397,2.8776529338327093,2.209737827715356,2.428214731585518,7.303370786516854,4.375780274656679,2.7715355805243447,5.930087390761548,4.406991260923846,4.875156054931336,5.443196004993759,7.615480649188515,2.990012484394507,4.675405742821473,5.324594257178527,6.741573033707866,7.303370786516854,4.594257178526841,3.3770287141073654,4.400749063670412,4.575530586766542,2.9275905118601746,7.17852684144819,4.70661672908864,3.533083645443196,6.928838951310862,3.033707865168539,4.637952559300874,5.212234706616729,5.593008739076155,6.866416978776529,4.956304619225968,7.116104868913857,7.116104868913857,5.187265917602996,4.00749063670412,2.1910112359550564,3.0212234706616727,7.677902621722847,4.906367041198502,4.207240948813983,2.0599250936329585,7.49063670411985,5.33083645443196,6.367041198501872,3.0024968789013733,4.837702871410737,4.575530586766542,6.928838951310862,1.6666666666666667,3.4581772784019975,3.1647940074906367,3.8514357053682895,6.991260923845194,2.397003745318352,6.367041198501872,5.711610486891385,5.324594257178527, +5.205992509363296,6.803995006242197,3.826466916354557,6.741573033707866,4.875156054931336,4.887640449438202,1.8289637952559301,4.644194756554308,2.4157303370786516,4.0761548064918856,4.750312109862672,2.727840199750312,1.5168539325842696,1.772784019975031,2.902621722846442,7.365792759051186,6.067415730337078,4.332084893882647,3.2084893882646695,2.7590511860174782,5.3745318352059925,6.866416978776529,4.207240948813983,7.0536828963795255,6.30461922596754,2.4344569288389515,2.153558052434457,1.9350811485642945,3.383270911360799,5.318352059925093,1.5106117353308364,2.6092384519350813,6.198501872659176,5.1373283395755305,2.4656679151061174,3.776529338327091,2.471910112359551,7.740324594257178,5.543071161048689,1.7602996254681649,1.9225967540574282,6.079900124843945,5.174781523096129,2.908863920099875,2.2347066167290888,2.453183520599251,7.303370786516854,4.413233458177278,2.808988764044944,5.961298377028713,4.438202247191011,4.906367041198502,5.468164794007491,7.615480649188515,3.0087390761548067,4.700374531835206,5.355805243445693,6.803995006242197,7.303370786516854,4.619225967540574,3.3957553058676653,4.425717852684145,4.606741573033708,2.9463171036204745,7.240948813982522,4.7315855181023725,3.5580524344569286,6.991260923845194,3.058676654182272,4.662921348314606,5.243445692883895,5.6242197253433215,6.866416978776529,4.987515605493134,7.17852684144819,7.17852684144819,5.205992509363296,4.044943820224719,2.215980024968789,3.0524344569288386,7.740324594257178,4.937578027465668,4.238451935081149,2.084893882646692,7.553058676654182,5.355805243445693,6.429463171036204,3.033707865168539,4.8626716604244695,4.606741573033708,6.928838951310862,1.6916354556803994,3.4893882646691634,3.1897627965043696,3.888888888888889,7.0536828963795255,2.428214731585518,6.367041198501872,5.736579275905119,5.34956304619226, +5.237203495630462,6.803995006242197,3.857677902621723,6.741573033707866,4.900124843945068,4.906367041198502,1.8476903870162298,4.66916354556804,2.446941323345818,4.1011235955056184,4.775280898876405,2.7590511860174782,1.5418227215980027,1.8039950062421974,2.9275905118601746,7.365792759051186,6.092384519350812,4.3632958801498125,3.233458177278402,2.777777777777778,5.405742821473158,6.866416978776529,4.2322097378277155,7.116104868913857,6.30461922596754,2.4656679151061174,2.184769038701623,1.9600499375780276,3.4144818976279647,5.343320848938826,1.5355805243445693,2.640449438202247,6.223470661672909,5.162297128589263,2.4906367041198503,3.7952559300873907,2.5093632958801497,7.740324594257178,5.561797752808988,1.7790262172284643,1.9475655430711611,6.104868913857677,5.199750312109863,2.9400749063670415,2.2659176029962547,2.478152309612984,7.365792759051186,4.444444444444445,2.84019975031211,5.986267166042447,4.4694132334581775,4.937578027465668,5.493133583021224,7.677902621722847,3.033707865168539,4.719101123595506,5.380774032459426,6.803995006242197,7.365792759051186,4.644194756554308,3.4144818976279647,4.444444444444445,4.637952559300874,2.9712858926342074,7.240948813982522,4.750312109862672,3.576779026217228,6.991260923845194,3.0836454431960054,4.687890137328339,5.274656679151062,5.655430711610487,6.928838951310862,5.012484394506866,7.17852684144819,7.17852684144819,5.230961298377029,4.0761548064918856,2.2409488139825218,3.089887640449438,7.740324594257178,4.9687890137328345,4.269662921348314,2.1036204744069913,7.553058676654182,5.3745318352059925,6.429463171036204,3.0649188514357055,4.887640449438202,4.637952559300874,6.928838951310862,1.7166042446941323,3.5205992509363297,3.2209737827715355,3.920099875156055,7.0536828963795255,2.459425717852684,6.429463171036204,5.761548064918852,5.36828963795256, +5.268414481897628,6.866416978776529,3.888888888888889,6.803995006242197,4.925093632958801,4.931335830212235,1.8726591760299625,4.694132334581773,2.478152309612984,4.119850187265917,4.794007490636704,2.790262172284644,1.5605493133583022,1.8352059925093633,2.9525593008739075,7.428214731585518,6.123595505617978,4.394506866416979,3.258426966292135,2.8027465667915106,5.436953807740325,6.928838951310862,4.257178526841448,7.116104868913857,6.367041198501872,2.4906367041198503,2.215980024968789,1.9850187265917605,3.4456928838951315,5.36828963795256,1.5605493133583022,2.671660424469413,6.242197253433209,5.181023720349563,2.5093632958801497,3.8202247191011236,2.5405742821473156,7.8027465667915115,5.586766541822722,1.797752808988764,1.9662921348314608,6.129837702871411,5.224719101123595,2.977528089887641,2.2971285892634206,2.5093632958801497,7.365792759051186,4.475655430711611,2.871410736579276,6.0174781523096135,4.49438202247191,4.975031210986267,5.524344569288389,7.677902621722847,3.058676654182272,4.737827715355805,5.411985018726591,6.866416978776529,7.365792759051186,4.675405742821473,3.4332084893882646,4.463171036204744,4.66916354556804,2.990012484394507,7.303370786516854,4.775280898876405,3.6017478152309614,6.991260923845194,3.108614232209738,4.712858926342073,5.305867665418227,5.686641697877653,6.928838951310862,5.0374531835206,7.240948813982522,7.17852684144819,5.249687890137328,4.107365792759051,2.2659176029962547,3.1210986267166043,7.8027465667915115,5.0,4.307116104868914,2.128589263420724,7.615480649188515,5.399500624219725,6.491885143570538,3.0961298377028714,4.912609238451935,4.675405742821473,6.991260923845194,1.7415730337078652,3.5518102372034956,3.245942571785269,3.951310861423221,7.116104868913857,2.4968789013732833,6.429463171036204,5.792759051186017,5.393258426966292, +5.299625468164794,6.866416978776529,3.926342072409488,6.803995006242197,4.950062421972534,4.950062421972534,1.8976279650436954,4.719101123595506,2.5031210986267167,4.144818976279651,4.818976279650437,2.8152309612983775,1.585518102372035,1.8664169787765295,2.977528089887641,7.428214731585518,6.154806491885144,4.425717852684145,3.2833957553058677,2.82147315855181,5.461922596754057,6.928838951310862,4.282147315855181,7.17852684144819,6.367041198501872,2.521847690387016,2.2409488139825218,2.009987515605493,3.4769038701622974,5.393258426966292,1.585518102372035,2.7091136079900124,6.242197253433209,5.205992509363296,2.5343320848938826,3.8451935081148565,2.578027465667915,7.8027465667915115,5.611735330836455,1.8227215980024971,1.9912609238451935,6.1485642946317105,5.2559300873907615,3.0087390761548067,2.322097378277154,2.5343320848938826,7.428214731585518,4.51310861423221,2.908863920099875,6.048689138576779,4.525593008739076,5.0062421972534334,5.549313358302123,7.740324594257178,3.0836454431960054,4.762796504369538,5.436953807740325,6.866416978776529,7.428214731585518,4.700374531835206,3.451935081148564,4.488139825218477,4.700374531835206,3.0149812734082393,7.303370786516854,4.794007490636704,3.620474406991261,7.0536828963795255,3.1335830212234708,4.737827715355805,5.337078651685393,5.724094881398252,6.991260923845194,5.068664169787765,7.240948813982522,7.240948813982522,5.268414481897628,4.144818976279651,2.2908863920099876,3.1585518102372037,7.8027465667915115,5.031210986267166,4.33832709113608,2.1473158551810236,7.615480649188515,5.424469413233458,6.491885143570538,3.1273408239700373,4.937578027465668,4.70661672908864,6.991260923845194,1.7602996254681649,3.5830212234706615,3.2709113607990012,3.9887640449438204,7.17852684144819,2.5280898876404496,6.491885143570538,5.81772784019975,5.418227215980025, +5.324594257178527,6.928838951310862,3.957553058676654,6.866416978776529,4.975031210986267,4.975031210986267,1.916354556803995,4.750312109862672,2.5343320848938826,4.169787765293384,4.837702871410737,2.8464419475655434,1.6104868913857677,1.8976279650436954,3.0024968789013733,7.49063670411985,6.186017478152309,4.456928838951311,3.3083645443196006,2.8464419475655434,5.493133583021224,6.991260923845194,4.307116104868914,7.17852684144819,6.429463171036204,2.5530586766541825,2.272159800249688,2.034956304619226,3.508114856429463,5.418227215980025,1.6104868913857677,2.740324594257179,6.30461922596754,5.224719101123595,2.5593008739076155,3.870162297128589,2.6092384519350813,7.865168539325843,5.636704119850187,1.8414481897627966,2.016229712858926,6.173533083645444,5.280898876404494,3.0399500624219726,2.35330836454432,2.5593008739076155,7.428214731585518,4.544319600499376,2.9400749063670415,6.079900124843945,4.55056179775281,5.043695380774032,5.574282147315855,7.8027465667915115,3.108614232209738,4.781523096129837,5.468164794007491,6.928838951310862,7.428214731585518,4.725343320848939,3.4769038701622974,4.506866416978776,4.7315855181023725,3.033707865168539,7.365792759051186,4.818976279650437,3.6454431960049942,7.0536828963795255,3.1585518102372037,4.762796504369538,5.36828963795256,5.7553058676654185,6.991260923845194,5.093632958801498,7.303370786516854,7.240948813982522,5.293383270911361,4.176029962546816,2.3158551810237205,3.1960049937578026,7.865168539325843,5.062421972534332,4.375780274656679,2.1722846441947565,7.677902621722847,5.449438202247191,6.491885143570538,3.1585518102372037,4.962546816479401,4.737827715355805,7.0536828963795255,1.7852684144818978,3.6142322097378274,3.3021223470661676,4.019975031210986,7.17852684144819,2.565543071161049,6.491885143570538,5.842696629213483,5.436953807740325, +5.355805243445693,6.928838951310862,3.9887640449438204,6.866416978776529,5.0,5.0,1.941323345817728,4.775280898876405,2.565543071161049,4.188514357053683,4.856429463171036,2.8776529338327093,1.6292134831460674,1.9225967540574282,3.027465667915106,7.49063670411985,6.217228464419476,4.488139825218477,3.3333333333333335,2.865168539325843,5.524344569288389,6.991260923845194,4.332084893882647,7.240948813982522,6.429463171036204,2.578027465667915,2.303370786516854,2.0599250936329585,3.5393258426966296,5.443196004993759,1.6354556803995006,2.7715355805243447,6.30461922596754,5.249687890137328,2.578027465667915,3.888888888888889,2.6466916354556806,7.865168539325843,5.66167290886392,1.8601747815230962,2.0411985018726595,6.192259675405743,5.305867665418227,3.0711610486891385,2.3845193508114857,2.5905118601747814,7.49063670411985,4.575530586766542,2.977528089887641,6.104868913857677,4.581772784019975,5.074906367041199,5.599250936329588,7.8027465667915115,3.1335830212234708,4.800249687890138,5.493133583021224,6.991260923845194,7.428214731585518,4.750312109862672,3.495630461922597,4.525593008739076,4.762796504369538,3.058676654182272,7.365792759051186,4.843945068664169,3.6641697877652937,7.0536828963795255,3.183520599250936,4.787765293383271,5.399500624219725,5.786516853932584,6.991260923845194,5.118601747815231,7.303370786516854,7.240948813982522,5.312109862671661,4.213483146067416,2.340823970037453,3.227215980024969,7.927590511860175,5.087390761548065,4.406991260923846,2.1910112359550564,7.677902621722847,5.474406991260924,6.554307116104869,3.1897627965043696,4.987515605493134,4.769038701622971,7.0536828963795255,1.8102372034956304,3.6454431960049942,3.3270911360799,4.051186017478152,7.240948813982522,2.596754057428215,6.554307116104869,5.867665418227216,5.461922596754057, +5.3870162297128585,6.991260923845194,4.02621722846442,6.928838951310862,5.024968789013733,5.0187265917602994,1.9662921348314608,4.800249687890138,2.596754057428215,4.213483146067416,4.881398252184769,2.908863920099875,1.6541822721598003,1.9538077403245941,3.0524344569288386,7.553058676654182,6.242197253433209,4.519350811485642,3.3583021223470664,2.8901373283395753,5.549313358302123,7.0536828963795255,4.3508114856429465,7.240948813982522,6.491885143570538,2.6092384519350813,2.33458177278402,2.084893882646692,3.5705368289637955,5.468164794007491,1.6541822721598003,2.808988764044944,6.30461922596754,5.274656679151062,2.602996254681648,3.9138576779026217,2.6779026217228465,7.927590511860175,5.686641697877653,1.8851435705368291,2.066167290886392,6.217228464419476,5.337078651685393,3.108614232209738,2.4157303370786516,2.6154806491885143,7.49063670411985,4.612983770287141,3.0087390761548067,6.1360799001248445,4.606741573033708,5.1123595505617985,5.6242197253433215,7.865168539325843,3.15230961298377,4.825218476903871,5.524344569288389,6.991260923845194,7.49063670411985,4.781523096129837,3.5143570536828963,4.55056179775281,4.794007490636704,3.0836454431960054,7.428214731585518,4.8626716604244695,3.689138576779026,7.116104868913857,3.2084893882646695,4.812734082397004,5.430711610486892,5.81772784019975,7.0536828963795255,5.149812734082397,7.365792759051186,7.303370786516854,5.33083645443196,4.244694132334582,2.3657927590511862,3.2646691635455682,7.927590511860175,5.118601747815231,4.438202247191011,2.215980024968789,7.740324594257178,5.499375780274657,6.554307116104869,3.2209737827715355,5.012484394506866,4.800249687890138,7.116104868913857,1.8352059925093633,3.6766541822721597,3.352059925093633,4.082397003745319,7.240948813982522,2.634207240948814,6.554307116104869,5.892634207240949,5.48689138576779, +5.418227215980025,6.991260923845194,4.057428214731585,6.928838951310862,5.049937578027466,5.043695380774032,1.9850187265917605,4.825218476903871,2.6217228464419473,4.238451935081149,4.900124843945068,2.933832709113608,1.6791510611735332,1.9850187265917605,3.077403245942572,7.553058676654182,6.30461922596754,4.55056179775281,3.383270911360799,2.908863920099875,5.580524344569288,7.0536828963795255,4.375780274656679,7.303370786516854,6.491885143570538,2.640449438202247,2.3657927590511862,2.1098626716604243,3.6017478152309614,5.493133583021224,1.6791510611735332,2.84019975031211,6.367041198501872,5.293383270911361,2.6217228464419473,3.938826466916354,2.715355805243446,7.927590511860175,5.711610486891385,1.9038701622971288,2.091136079900125,6.235955056179775,5.3620474406991265,3.139825218476904,2.4406991260923845,2.640449438202247,7.553058676654182,4.644194756554308,3.0399500624219726,6.167290886392011,4.637952559300874,5.143570536828964,5.655430711610487,7.865168539325843,3.1772784019975036,4.843945068664169,5.555555555555556,7.0536828963795255,7.49063670411985,4.806491885143571,3.533083645443196,4.569288389513109,4.831460674157303,3.102372034956305,7.428214731585518,4.887640449438202,3.7078651685393256,7.116104868913857,3.233458177278402,4.837702871410737,5.461922596754057,5.855181023720349,7.0536828963795255,5.174781523096129,7.365792759051186,7.303370786516854,5.355805243445693,4.282147315855181,2.3907615480649187,3.295880149812734,7.990012484394507,5.149812734082397,4.475655430711611,2.2347066167290888,7.740324594257178,5.524344569288389,6.616729088639201,3.2521847690387014,5.0374531835206,4.831460674157303,7.116104868913857,1.8601747815230962,3.701622971285893,3.3770287141073654,4.119850187265917,7.303370786516854,2.66541822721598,6.616729088639201,5.917602996254682,5.511860174781523, +5.449438202247191,7.0536828963795255,4.094881398252185,6.928838951310862,5.074906367041199,5.068664169787765,2.009987515605493,4.850187265917603,2.6529338327091136,4.257178526841448,4.925093632958801,2.965043695380774,1.6978776529338326,2.016229712858926,3.102372034956305,7.615480649188515,6.30461922596754,4.581772784019975,3.408239700374532,2.933832709113608,5.611735330836455,7.116104868913857,4.400749063670412,7.303370786516854,6.554307116104869,2.66541822721598,2.397003745318352,2.134831460674157,3.6329588014981273,5.5181023720349565,1.704119850187266,2.8776529338327093,6.367041198501872,5.318352059925093,2.6466916354556806,3.9637952559300875,2.752808988764045,7.990012484394507,5.730337078651686,1.9225967540574282,2.1161048689138577,6.242197253433209,5.3870162297128585,3.17103620474407,2.471910112359551,2.671660424469413,7.553058676654182,4.675405742821473,3.077403245942572,6.198501872659176,4.66916354556804,5.174781523096129,5.68039950062422,7.927590511860175,3.202247191011236,4.868913857677903,5.580524344569288,7.0536828963795255,7.553058676654182,4.831460674157303,3.5518102372034956,4.588014981273409,4.8626716604244695,3.1273408239700373,7.428214731585518,4.906367041198502,3.732833957553059,7.116104868913857,3.258426966292135,4.8626716604244695,5.493133583021224,5.8863920099875156,7.0536828963795255,5.199750312109863,7.428214731585518,7.303370786516854,5.3745318352059925,4.313358302122348,2.4157303370786516,3.3333333333333335,7.990012484394507,5.181023720349563,4.506866416978776,2.259675405742821,7.8027465667915115,5.543071161048689,6.616729088639201,3.2833957553058677,5.062421972534332,4.868913857677903,7.17852684144819,1.8851435705368291,3.732833957553059,3.408239700374532,4.151061173533084,7.365792759051186,2.696629213483146,6.616729088639201,5.942571785268415,5.5305867665418225, +5.480649188514358,7.0536828963795255,4.1260923845193505,6.991260923845194,5.099875156054932,5.087390761548065,2.034956304619226,4.881398252184769,2.68414481897628,4.282147315855181,4.943820224719102,2.9962546816479403,1.7228464419475658,2.0474406991260925,3.1210986267166043,7.615480649188515,6.367041198501872,4.612983770287141,3.4332084893882646,2.9525593008739075,5.636704119850187,7.116104868913857,4.425717852684145,7.365792759051186,6.554307116104869,2.696629213483146,2.4219725343320846,2.15980024968789,3.6641697877652937,5.543071161048689,1.7290886392009988,2.908863920099875,6.367041198501872,5.337078651685393,2.671660424469413,3.982521847690387,2.7840199750312107,7.990012484394507,5.7553058676654185,1.9475655430711611,2.134831460674157,6.30461922596754,5.411985018726591,3.202247191011236,2.5031210986267167,2.696629213483146,7.615480649188515,4.712858926342073,3.108614232209738,6.223470661672909,4.694132334581773,5.212234706616729,5.705368289637952,7.927590511860175,3.227215980024969,4.887640449438202,5.611735330836455,7.116104868913857,7.553058676654182,4.8626716604244695,3.5705368289637955,4.612983770287141,4.893882646691636,3.1460674157303368,7.49063670411985,4.931335830212235,3.7515605493133584,7.17852684144819,3.2771535580524347,4.887640449438202,5.5181023720349565,5.917602996254682,7.116104868913857,5.230961298377029,7.428214731585518,7.365792759051186,5.393258426966292,4.3508114856429465,2.4406991260923845,3.3645443196004994,8.05243445692884,5.212234706616729,4.538077403245943,2.278401997503121,7.8027465667915115,5.568039950062421,6.616729088639201,3.3146067415730336,5.087390761548065,4.900124843945068,7.17852684144819,1.9101123595505618,3.764044943820225,3.4332084893882646,4.18227215980025,7.365792759051186,2.7340823970037453,6.679151061173534,5.967540574282147,5.555555555555556, +5.511860174781523,7.116104868913857,4.157303370786517,6.991260923845194,5.1248439450686645,5.1123595505617985,2.0536828963795255,4.906367041198502,2.715355805243446,4.307116104868914,4.9687890137328345,3.027465667915106,1.7478152309612984,2.0724094881398254,3.1460674157303368,7.677902621722847,6.367041198501872,4.644194756554308,3.4581772784019975,2.977528089887641,5.667915106117353,7.17852684144819,4.450686641697877,7.365792759051186,6.616729088639201,2.727840199750312,2.453183520599251,2.184769038701623,3.6953807740324596,5.568039950062421,1.7540574282147314,2.9400749063670415,6.429463171036204,5.3620474406991265,2.690387016229713,4.00749063670412,2.82147315855181,8.05243445692884,5.7802746566791505,1.9662921348314608,2.15980024968789,6.30461922596754,5.443196004993759,3.2397003745318353,2.5280898876404496,2.7215980024968793,7.615480649188515,4.7440699126092385,3.1460674157303368,6.242197253433209,4.725343320848939,5.243445692883895,5.730337078651686,7.990012484394507,3.2521847690387014,4.906367041198502,5.636704119850187,7.17852684144819,7.553058676654182,4.887640449438202,3.589263420724095,4.631710362047441,4.925093632958801,3.17103620474407,7.49063670411985,4.956304619225968,3.776529338327091,7.17852684144819,3.3021223470661676,4.912609238451935,5.549313358302123,5.948813982521848,7.116104868913857,5.2559300873907615,7.49063670411985,7.365792759051186,5.418227215980025,4.382022471910113,2.4656679151061174,3.4019975031210987,8.11485642946317,5.243445692883895,4.575530586766542,2.303370786516854,7.865168539325843,5.593008739076155,6.679151061173534,3.3458177278401995,5.118601747815231,4.931335830212235,7.240948813982522,1.9288389513108615,3.7952559300873907,3.4581772784019975,4.219725343320849,7.428214731585518,2.7652933832709112,6.679151061173534,5.998751560549313,5.580524344569288, +5.543071161048689,7.116104868913857,4.194756554307116,7.0536828963795255,5.149812734082397,5.1373283395755305,2.0786516853932584,4.931335830212235,2.740324594257179,4.325842696629214,4.987515605493134,3.0524344569288386,1.766541822721598,2.1036204744069913,3.17103620474407,7.677902621722847,6.429463171036204,4.675405742821473,3.4831460674157304,2.9962546816479403,5.69912609238452,7.17852684144819,4.475655430711611,7.428214731585518,6.616729088639201,2.752808988764045,2.4843945068664173,2.209737827715356,3.732833957553059,5.593008739076155,1.7790262172284643,2.977528089887641,6.429463171036204,5.380774032459426,2.715355805243446,4.032459425717852,2.852684144818976,8.05243445692884,5.805243445692884,1.9850187265917605,2.184769038701623,6.30461922596754,5.468164794007491,3.2709113607990012,2.5593008739076155,2.752808988764045,7.677902621722847,4.781523096129837,3.1772784019975036,6.30461922596754,4.750312109862672,5.280898876404494,5.7553058676654185,8.05243445692884,3.2709113607990012,4.931335830212235,5.667915106117353,7.17852684144819,7.615480649188515,4.912609238451935,3.607990012484395,4.65043695380774,4.956304619225968,3.1960049937578026,7.553058676654182,4.975031210986267,3.7952559300873907,7.17852684144819,3.3270911360799,4.937578027465668,5.580524344569288,5.980024968789014,7.17852684144819,5.280898876404494,7.49063670411985,7.365792759051186,5.436953807740325,4.419475655430712,2.4906367041198503,3.439450686641698,8.11485642946317,5.274656679151062,4.606741573033708,2.322097378277154,7.865168539325843,5.617977528089888,6.679151061173534,3.3770287141073654,5.143570536828964,4.962546816479401,7.240948813982522,1.9538077403245941,3.826466916354557,3.4831460674157304,4.250936329588015,7.49063670411985,2.8027465667915106,6.741573033707866,6.023720349563047,5.605493133583021, +5.574282147315855,7.17852684144819,4.225967540574282,7.0536828963795255,5.174781523096129,5.15605493133583,2.1036204744069913,4.956304619225968,2.7715355805243447,4.3508114856429465,5.0062421972534334,3.0836454431960054,1.7915106117353308,2.134831460674157,3.1960049937578026,7.677902621722847,6.429463171036204,4.70661672908864,3.508114856429463,3.0212234706616727,5.724094881398252,7.240948813982522,4.500624219725343,7.428214731585518,6.616729088639201,2.7840199750312107,2.515605493133583,2.2347066167290888,3.764044943820225,5.617977528089888,1.8039950062421974,3.0087390761548067,6.429463171036204,5.405742821473158,2.7340823970037453,4.051186017478152,2.8901373283395753,8.11485642946317,5.830212234706617,2.00374531835206,2.209737827715356,6.367041198501872,5.493133583021224,3.3021223470661676,2.5905118601747814,2.777777777777778,7.677902621722847,4.812734082397004,3.2084893882646695,6.30461922596754,4.781523096129837,5.312109862671661,5.786516853932584,8.05243445692884,3.295880149812734,4.950062421972534,5.692883895131087,7.240948813982522,7.615480649188515,4.943820224719102,3.6267166042446943,4.675405742821473,4.987515605493134,3.214731585518102,7.553058676654182,5.0,3.8202247191011236,7.240948813982522,3.352059925093633,4.962546816479401,5.611735330836455,6.0174781523096135,7.17852684144819,5.312109862671661,7.553058676654182,7.428214731585518,5.455680399500624,4.450686641697877,2.515605493133583,3.470661672908864,8.177278401997503,5.305867665418227,4.637952559300874,2.340823970037453,7.927590511860175,5.64294631710362,6.741573033707866,3.408239700374532,5.168539325842697,4.9937578027465666,7.303370786516854,1.978776529338327,3.857677902621723,3.5143570536828963,4.282147315855181,7.49063670411985,2.8339575530586765,6.741573033707866,6.048689138576779,5.6242197253433215, +5.599250936329588,7.17852684144819,4.257178526841448,7.116104868913857,5.199750312109863,5.181023720349563,2.122347066167291,4.987515605493134,2.8027465667915106,4.375780274656679,5.031210986267166,3.114856429463171,1.8102372034956304,2.1660424469413235,3.2209737827715355,7.740324594257178,6.491885143570538,4.737827715355805,3.5268414481897628,3.0399500624219726,5.7553058676654185,7.240948813982522,4.525593008739076,7.49063670411985,6.679151061173534,2.8152309612983775,2.546816479400749,2.259675405742821,3.7952559300873907,5.64294631710362,1.8289637952559301,3.0399500624219726,6.491885143570538,5.430711610486892,2.7590511860174782,4.0761548064918856,2.9213483146067416,8.11485642946317,5.855181023720349,2.0287141073657926,2.2347066167290888,6.367041198501872,5.524344569288389,3.3333333333333335,2.6217228464419473,2.8027465667915106,7.740324594257178,4.843945068664169,3.245942571785269,6.367041198501872,4.806491885143571,5.343320848938826,5.811485642946318,8.11485642946317,3.320848938826467,4.9687890137328345,5.724094881398252,7.240948813982522,7.677902621722847,4.9687890137328345,3.651685393258427,4.694132334581773,5.0187265917602994,3.2397003745318353,7.615480649188515,5.0187265917602994,3.8389513108614235,7.240948813982522,3.3770287141073654,4.987515605493134,5.64294631710362,6.048689138576779,7.17852684144819,5.337078651685393,7.553058676654182,7.428214731585518,5.480649188514358,4.488139825218477,2.5405742821473156,3.508114856429463,8.239700374531834,5.337078651685393,4.675405742821473,2.3657927590511862,7.927590511860175,5.667915106117353,6.741573033707866,3.439450686641698,5.19350811485643,5.031210986267166,7.303370786516854,2.00374531835206,3.888888888888889,3.5393258426966296,4.31960049937578,7.553058676654182,2.871410736579276,6.803995006242197,6.073657927590512,5.6491885143570535, +5.630461922596755,7.240948813982522,4.294631710362047,7.116104868913857,5.224719101123595,5.205992509363296,2.1473158551810236,5.012484394506866,2.8339575530586765,4.394506866416979,5.049937578027466,3.139825218476904,1.8352059925093633,2.1910112359550564,3.245942571785269,7.740324594257178,6.491885143570538,4.769038701622971,3.5518102372034956,3.0649188514357055,5.786516853932584,7.303370786516854,4.55056179775281,7.49063670411985,6.679151061173534,2.84019975031211,2.578027465667915,2.2846441947565546,3.826466916354557,5.667915106117353,1.8539325842696628,3.077403245942572,6.491885143570538,5.449438202247191,2.7840199750312107,4.1011235955056184,2.958801498127341,8.177278401997503,5.8739076154806495,2.0474406991260925,2.259675405742821,6.367041198501872,5.549313358302123,3.370786516853933,2.6466916354556806,2.8339575530586765,7.740324594257178,4.881398252184769,3.2771535580524347,6.367041198501872,4.837702871410737,5.380774032459426,5.836454431960051,8.11485642946317,3.3458177278401995,4.9937578027465666,5.749063670411985,7.303370786516854,7.677902621722847,4.9937578027465666,3.6704119850187267,4.712858926342073,5.049937578027466,3.258426966292135,7.615480649188515,5.043695380774032,3.8639200998751564,7.240948813982522,3.4019975031210987,5.012484394506866,5.674157303370786,6.079900124843945,7.240948813982522,5.3620474406991265,7.615480649188515,7.428214731585518,5.499375780274657,4.519350811485642,2.565543071161049,3.5393258426966296,8.239700374531834,5.36828963795256,4.70661672908864,2.3845193508114857,7.990012484394507,5.692883895131087,6.741573033707866,3.470661672908864,5.218476903870163,5.062421972534332,7.365792759051186,2.0287141073657926,3.920099875156055,3.564294631710362,4.3508114856429465,7.553058676654182,2.902621722846442,6.803995006242197,6.098626716604246,5.674157303370786, +5.66167290886392,7.303370786516854,4.325842696629214,7.17852684144819,5.249687890137328,5.224719101123595,2.1722846441947565,5.0374531835206,2.8589263420724094,4.419475655430712,5.074906367041199,3.17103620474407,1.8601747815230962,2.2222222222222223,3.2709113607990012,7.8027465667915115,6.554307116104869,4.800249687890138,3.576779026217228,3.0836454431960054,5.811485642946318,7.303370786516854,4.569288389513109,7.553058676654182,6.741573033707866,2.871410736579276,2.602996254681648,2.309612983770287,3.857677902621723,5.692883895131087,1.8789013732833957,3.108614232209738,6.491885143570538,5.474406991260924,2.8027465667915106,4.1260923845193505,2.990012484394507,8.177278401997503,5.8988764044943816,2.066167290886392,2.278401997503121,6.429463171036204,5.574282147315855,3.4019975031210987,2.6779026217228465,2.8589263420724094,7.8027465667915115,4.912609238451935,3.3146067415730336,6.429463171036204,4.868913857677903,5.411985018726591,5.861423220973783,8.177278401997503,3.370786516853933,5.012484394506866,5.7802746566791505,7.365792759051186,7.677902621722847,5.024968789013733,3.689138576779026,4.737827715355805,5.081148564294631,3.2833957553058677,7.677902621722847,5.068664169787765,3.882646691635456,7.303370786516854,3.4269662921348316,5.0374531835206,5.705368289637952,6.111111111111111,7.240948813982522,5.393258426966292,7.615480649188515,7.49063670411985,5.524344569288389,4.55056179775281,2.5905118601747814,3.576779026217228,8.302122347066168,5.399500624219725,4.737827715355805,2.4094881398252186,7.990012484394507,5.711610486891385,6.803995006242197,3.5018726591760303,5.243445692883895,5.093632958801498,7.365792759051186,2.0536828963795255,3.951310861423221,3.595505617977528,4.382022471910113,7.615480649188515,2.9400749063670415,6.866416978776529,6.123595505617978,5.69912609238452, +5.692883895131087,7.303370786516854,4.357053682896379,7.17852684144819,5.274656679151062,5.249687890137328,2.1910112359550564,5.062421972534332,2.8901373283395753,4.444444444444445,5.093632958801498,3.202247191011236,1.8789013732833957,2.253433208489388,3.295880149812734,7.8027465667915115,6.554307116104869,4.831460674157303,3.6017478152309614,3.102372034956305,5.842696629213483,7.365792759051186,4.594257178526841,7.553058676654182,6.741573033707866,2.902621722846442,2.634207240948814,2.33458177278402,3.888888888888889,5.711610486891385,1.9038701622971288,3.1460674157303368,6.554307116104869,5.493133583021224,2.8277153558052435,4.144818976279651,3.027465667915106,8.239700374531834,5.9238451935081144,2.091136079900125,2.303370786516854,6.429463171036204,5.599250936329588,3.4332084893882646,2.7091136079900124,2.8838951310861427,7.8027465667915115,4.943820224719102,3.3458177278401995,6.429463171036204,4.893882646691636,5.449438202247191,5.8863920099875156,8.177278401997503,3.3957553058676653,5.031210986267166,5.805243445692884,7.365792759051186,7.740324594257178,5.049937578027466,3.7078651685393256,4.7565543071161045,5.1123595505617985,3.3021223470661676,7.677902621722847,5.087390761548065,3.9076154806491883,7.303370786516854,3.451935081148564,5.062421972534332,5.736579275905119,6.1485642946317105,7.240948813982522,5.418227215980025,7.677902621722847,7.49063670411985,5.543071161048689,4.588014981273409,2.6154806491885143,3.6142322097378274,8.302122347066168,5.430711610486892,4.775280898876405,2.428214731585518,8.05243445692884,5.736579275905119,6.803995006242197,3.533083645443196,5.268414481897628,5.1248439450686645,7.365792759051186,2.0724094881398254,3.982521847690387,3.620474406991261,4.413233458177278,7.677902621722847,2.9712858926342074,6.866416978776529,6.1485642946317105,5.717852684144819, +5.724094881398252,7.365792759051186,4.394506866416979,7.240948813982522,5.299625468164794,5.274656679151062,2.215980024968789,5.087390761548065,2.9213483146067416,4.463171036204744,5.118601747815231,3.233458177278402,1.9038701622971288,2.2846441947565546,3.320848938826467,7.865168539325843,6.616729088639201,4.8626716604244695,3.6267166042446943,3.1273408239700373,5.8739076154806495,7.365792759051186,4.619225967540574,7.615480649188515,6.803995006242197,2.9275905118601746,2.66541822721598,2.359550561797753,3.920099875156055,5.736579275905119,1.9288389513108615,3.1772784019975036,6.554307116104869,5.5181023720349565,2.8464419475655434,4.169787765293384,3.058676654182272,8.239700374531834,5.948813982521848,2.1098626716604243,2.328339575530587,6.429463171036204,5.630461922596755,3.464419475655431,2.7340823970037453,2.9151061173533086,7.865168539325843,4.9812734082397006,3.3770287141073654,6.491885143570538,4.925093632958801,5.480649188514358,5.917602996254682,8.239700374531834,3.4144818976279647,5.056179775280899,5.836454431960051,7.428214731585518,7.740324594257178,5.074906367041199,3.7265917602996255,4.775280898876405,5.143570536828964,3.3270911360799,7.740324594257178,5.1123595505617985,3.926342072409488,7.303370786516854,3.4769038701622974,5.081148564294631,5.767790262172285,6.179775280898876,7.303370786516854,5.449438202247191,7.677902621722847,7.49063670411985,5.561797752808988,4.619225967540574,2.640449438202247,3.6454431960049942,8.3645443196005,5.461922596754057,4.806491885143571,2.453183520599251,8.05243445692884,5.761548064918852,6.866416978776529,3.564294631710362,5.293383270911361,5.15605493133583,7.428214731585518,2.097378277153558,4.013732833957553,3.6454431960049942,4.450686641697877,7.677902621722847,3.0024968789013733,6.928838951310862,6.173533083645444,5.742821473158552, +5.7553058676654185,7.365792759051186,4.425717852684145,7.240948813982522,5.324594257178527,5.293383270911361,2.2409488139825218,5.118601747815231,2.9525593008739075,4.488139825218477,5.1373283395755305,3.258426966292135,1.9288389513108615,2.3158551810237205,3.3458177278401995,7.865168539325843,6.616729088639201,4.893882646691636,3.651685393258427,3.1460674157303368,5.8988764044943816,7.428214731585518,4.644194756554308,7.615480649188515,6.803995006242197,2.958801498127341,2.696629213483146,2.3845193508114857,3.951310861423221,5.761548064918852,1.9538077403245941,3.2084893882646695,6.616729088639201,5.536828963795256,2.871410736579276,4.194756554307116,3.0961298377028714,8.302122347066168,5.97378277153558,2.128589263420724,2.35330836454432,6.491885143570538,5.655430711610487,3.5018726591760303,2.7652933832709112,2.9400749063670415,7.865168539325843,5.012484394506866,3.4144818976279647,6.491885143570538,4.950062421972534,5.5181023720349565,5.942571785268415,8.302122347066168,3.439450686641698,5.074906367041199,5.867665418227216,7.428214731585518,7.8027465667915115,5.106117353308365,3.745318352059925,4.800249687890138,5.181023720349563,3.352059925093633,7.740324594257178,5.131086142322098,3.951310861423221,7.365792759051186,3.5018726591760303,5.106117353308365,5.799001248439451,6.210986267166042,7.303370786516854,5.474406991260924,7.740324594257178,7.553058676654182,5.586766541822722,4.656679151061174,2.6591760299625467,3.682896379525593,8.426966292134832,5.493133583021224,4.837702871410737,2.471910112359551,8.11485642946317,5.786516853932584,6.866416978776529,3.595505617977528,5.318352059925093,5.19350811485643,7.428214731585518,2.122347066167291,4.044943820224719,3.6704119850187267,4.4818976279650435,7.740324594257178,3.0399500624219726,6.928838951310862,6.20474406991261,5.767790262172285, +5.786516853932584,7.428214731585518,4.463171036204744,7.240948813982522,5.34956304619226,5.318352059925093,2.259675405742821,5.143570536828964,2.977528089887641,4.51310861423221,5.15605493133583,3.2896379525593007,1.9475655430711611,2.340823970037453,3.370786516853933,7.927590511860175,6.679151061173534,4.925093632958801,3.6766541822721597,3.17103620474407,5.930087390761548,7.428214731585518,4.66916354556804,7.677902621722847,6.866416978776529,2.990012484394507,2.727840199750312,2.4094881398252186,3.982521847690387,5.786516853932584,1.978776529338327,3.245942571785269,6.616729088639201,5.561797752808988,2.8963795255930087,4.219725343320849,3.1273408239700373,8.302122347066168,5.998751560549313,2.1473158551810236,2.3782771535580522,6.491885143570538,5.68039950062422,3.533083645443196,2.7965043695380776,2.965043695380774,7.927590511860175,5.049937578027466,3.4456928838951315,6.491885143570538,4.9812734082397006,5.549313358302123,5.967540574282147,8.302122347066168,3.464419475655431,5.093632958801498,5.892634207240949,7.49063670411985,7.8027465667915115,5.131086142322098,3.764044943820225,4.818976279650437,5.212234706616729,3.370786516853933,7.8027465667915115,5.15605493133583,3.970037453183521,7.365792759051186,3.5205992509363297,5.131086142322098,5.830212234706617,6.242197253433209,7.365792759051186,5.499375780274657,7.740324594257178,7.553058676654182,5.605493133583021,4.687890137328339,2.68414481897628,3.714107365792759,8.426966292134832,5.524344569288389,4.875156054931336,2.4968789013732833,8.11485642946317,5.811485642946318,6.866416978776529,3.6267166042446943,5.343320848938826,5.224719101123595,7.49063670411985,2.1473158551810236,4.0761548064918856,3.701622971285893,4.51310861423221,7.8027465667915115,3.0711610486891385,6.991260923845194,6.229712858926342,5.786516853932584, +5.81772784019975,7.428214731585518,4.49438202247191,7.303370786516854,5.3745318352059925,5.337078651685393,2.2846441947565546,5.168539325842697,3.0087390761548067,4.531835205992509,5.181023720349563,3.320848938826467,1.9725343320848938,2.3720349563046192,3.3957553058676653,7.927590511860175,6.679151061173534,4.950062421972534,3.701622971285893,3.1897627965043696,5.961298377028713,7.49063670411985,4.694132334581773,7.677902621722847,6.866416978776529,3.0149812734082393,2.7590511860174782,2.4344569288389515,4.013732833957553,5.811485642946318,2.00374531835206,3.2771535580524347,6.616729088639201,5.586766541822722,2.9151061173533086,4.238451935081149,3.1647940074906367,8.3645443196005,6.023720349563047,2.1722846441947565,2.4032459425717856,6.554307116104869,5.711610486891385,3.564294631710362,2.8277153558052435,2.9962546816479403,7.927590511860175,5.081148564294631,3.4769038701622974,6.554307116104869,5.0062421972534334,5.580524344569288,5.992509363295881,8.3645443196005,3.4893882646691634,5.118601747815231,5.9238451935081144,7.553058676654182,7.8027465667915115,5.15605493133583,3.7827715355805243,4.837702871410737,5.243445692883895,3.3957553058676653,7.8027465667915115,5.181023720349563,3.9950062421972534,7.365792759051186,3.545568039950062,5.15605493133583,5.861423220973783,6.30461922596754,7.365792759051186,5.5305867665418225,7.8027465667915115,7.553058676654182,5.6242197253433215,4.725343320848939,2.7091136079900124,3.7515605493133584,8.489388264669165,5.555555555555556,4.906367041198502,2.515605493133583,8.177278401997503,5.836454431960051,6.928838951310862,3.6579275905118602,5.36828963795256,5.2559300873907615,7.49063670411985,2.1722846441947565,4.107365792759051,3.7265917602996255,4.55056179775281,7.8027465667915115,3.108614232209738,6.991260923845194,6.242197253433209,5.811485642946318, +5.842696629213483,7.49063670411985,4.525593008739076,7.303370786516854,5.405742821473158,5.3620474406991265,2.309612983770287,5.19350811485643,3.0399500624219726,4.556803995006242,5.199750312109863,3.352059925093633,1.9975031210986267,2.4032459425717856,3.420724094881398,7.990012484394507,6.741573033707866,4.9812734082397006,3.7265917602996255,3.214731585518102,5.986267166042447,7.49063670411985,4.719101123595506,7.740324594257178,6.928838951310862,3.046192259675406,2.7840199750312107,2.459425717852684,4.044943820224719,5.836454431960051,2.0287141073657926,3.3083645443196006,6.679151061173534,5.605493133583021,2.9400749063670415,4.263420724094882,3.1960049937578026,8.3645443196005,6.0424469413233455,2.1910112359550564,2.428214731585518,6.554307116104869,5.736579275905119,3.595505617977528,2.852684144818976,3.0212234706616727,7.990012484394507,5.1123595505617985,3.5143570536828963,6.554307116104869,5.0374531835206,5.617977528089888,6.0174781523096135,8.3645443196005,3.5143570536828963,5.1373283395755305,5.948813982521848,7.553058676654182,7.865168539325843,5.187265917602996,3.801498127340824,4.8626716604244695,5.274656679151062,3.4144818976279647,7.865168539325843,5.199750312109863,4.013732833957553,7.428214731585518,3.5705368289637955,5.181023720349563,5.8863920099875156,6.30461922596754,7.365792759051186,5.555555555555556,7.8027465667915115,7.615480649188515,5.6491885143570535,4.7565543071161045,2.7340823970037453,3.7827715355805243,8.551810237203496,5.586766541822722,4.937578027465668,2.5405742821473156,8.177278401997503,5.855181023720349,6.928838951310862,3.689138576779026,5.393258426966292,5.287141073657928,7.553058676654182,2.1972534332084894,4.138576779026217,3.7515605493133584,4.581772784019975,7.865168539325843,3.139825218476904,7.0536828963795255,6.30461922596754,5.836454431960051, +5.8739076154806495,7.49063670411985,4.563046192259676,7.365792759051186,5.430711610486892,5.3870162297128585,2.328339575530587,5.218476903870163,3.0711610486891385,4.581772784019975,5.224719101123595,3.3770287141073654,2.016229712858926,2.4344569288389515,3.4456928838951315,7.990012484394507,6.741573033707866,5.012484394506866,3.7515605493133584,3.233458177278402,6.0174781523096135,7.553058676654182,4.7440699126092385,7.740324594257178,6.928838951310862,3.077403245942572,2.8152309612983775,2.4843945068664173,4.082397003745319,5.861423220973783,2.0536828963795255,3.3458177278401995,6.679151061173534,5.630461922596755,2.958801498127341,4.288389513108614,3.233458177278402,8.426966292134832,6.067415730337078,2.209737827715356,2.446941323345818,6.554307116104869,5.761548064918852,3.6329588014981273,2.8838951310861427,3.046192259675406,7.990012484394507,5.149812734082397,3.545568039950062,6.616729088639201,5.068664169787765,5.6491885143570535,6.048689138576779,8.426966292134832,3.533083645443196,5.162297128589263,5.980024968789014,7.615480649188515,7.865168539325843,5.212234706616729,3.826466916354557,4.881398252184769,5.305867665418227,3.439450686641698,7.865168539325843,5.224719101123595,4.038701622971286,7.428214731585518,3.595505617977528,5.205992509363296,5.917602996254682,6.367041198501872,7.428214731585518,5.580524344569288,7.865168539325843,7.615480649188515,5.667915106117353,4.794007490636704,2.7590511860174782,3.8202247191011236,8.551810237203496,5.617977528089888,4.975031210986267,2.5593008739076155,8.239700374531834,5.880149812734083,6.991260923845194,3.7203495630461925,5.418227215980025,5.318352059925093,7.553058676654182,2.2222222222222223,4.169787765293384,3.776529338327091,4.612983770287141,7.865168539325843,3.1772784019975036,7.0536828963795255,6.30461922596754,5.861423220973783, +5.905118601747815,7.553058676654182,4.594257178526841,7.365792759051186,5.455680399500624,5.405742821473158,2.35330836454432,5.249687890137328,3.0961298377028714,4.600499375780275,5.243445692883895,3.408239700374532,2.0411985018726595,2.4656679151061174,3.470661672908864,8.05243445692884,6.803995006242197,5.043695380774032,3.776529338327091,3.258426966292135,6.048689138576779,7.553058676654182,4.769038701622971,7.8027465667915115,6.991260923845194,3.102372034956305,2.8464419475655434,2.5093632958801497,4.1136079900124844,5.8863920099875156,2.0786516853932584,3.3770287141073654,6.679151061173534,5.6491885143570535,2.9837702871410734,4.313358302122348,3.2646691635455682,8.426966292134832,6.092384519350812,2.2347066167290888,2.471910112359551,6.616729088639201,5.786516853932584,3.6641697877652937,2.9151061173533086,3.077403245942572,8.05243445692884,5.181023720349563,3.5830212234706615,6.616729088639201,5.093632958801498,5.686641697877653,6.073657927590512,8.426966292134832,3.5580524344569286,5.181023720349563,6.004993757802747,7.615480649188515,7.927590511860175,5.237203495630462,3.8451935081148565,4.900124843945068,5.337078651685393,3.464419475655431,7.927590511860175,5.243445692883895,4.057428214731585,7.428214731585518,3.620474406991261,5.230961298377029,5.948813982521848,6.367041198501872,7.428214731585518,5.611735330836455,7.865168539325843,7.615480649188515,5.686641697877653,4.825218476903871,2.7840199750312107,3.857677902621723,8.614232209737828,5.64294631710362,5.0062421972534334,2.5842696629213484,8.239700374531834,5.905118601747815,6.991260923845194,3.7515605493133584,5.443196004993759,5.34956304619226,7.615480649188515,2.2409488139825218,4.200998751560549,3.8077403245942576,4.65043695380774,7.927590511860175,3.2084893882646695,7.116104868913857,6.30461922596754,5.880149812734083, +5.936329588014981,7.553058676654182,4.6254681647940075,7.428214731585518,5.480649188514358,5.430711610486892,2.3782771535580522,5.274656679151062,3.1273408239700373,4.6254681647940075,5.268414481897628,3.439450686641698,2.066167290886392,2.4906367041198503,3.495630461922597,8.05243445692884,6.803995006242197,5.074906367041199,3.801498127340824,3.2771535580524347,6.073657927590512,7.615480649188515,4.787765293383271,7.8027465667915115,6.991260923845194,3.1335830212234708,2.8776529338327093,2.5343320848938826,4.144818976279651,5.9113607990012484,2.1036204744069913,3.4144818976279647,6.741573033707866,5.674157303370786,3.0087390761548067,4.332084893882647,3.3021223470661676,8.489388264669165,6.117353308364544,2.253433208489388,2.4968789013732833,6.616729088639201,5.81772784019975,3.6953807740324596,2.9400749063670415,3.102372034956305,8.05243445692884,5.212234706616729,3.6142322097378274,6.679151061173534,5.1248439450686645,5.717852684144819,6.098626716604246,8.489388264669165,3.5830212234706615,5.199750312109863,6.036204744069912,7.677902621722847,7.927590511860175,5.268414481897628,3.8639200998751564,4.925093632958801,5.36828963795256,3.4831460674157304,7.927590511860175,5.268414481897628,4.082397003745319,7.49063670411985,3.6454431960049942,5.2559300873907615,5.980024968789014,6.429463171036204,7.428214731585518,5.636704119850187,7.927590511860175,7.677902621722847,5.711610486891385,4.8626716604244695,2.808988764044944,3.888888888888889,8.614232209737828,5.674157303370786,5.043695380774032,2.602996254681648,8.302122347066168,5.930087390761548,6.991260923845194,3.7827715355805243,5.468164794007491,5.3870162297128585,7.615480649188515,2.2659176029962547,4.2322097378277155,3.83270911360799,4.681647940074906,7.990012484394507,3.245942571785269,7.116104868913857,6.367041198501872,5.905118601747815, +5.967540574282147,7.615480649188515,4.662921348314606,7.428214731585518,5.50561797752809,5.455680399500624,2.397003745318352,5.299625468164794,3.1585518102372037,4.65043695380774,5.287141073657928,3.464419475655431,2.084893882646692,2.521847690387016,3.5205992509363297,8.11485642946317,6.866416978776529,5.106117353308365,3.826466916354557,3.3021223470661676,6.104868913857677,7.615480649188515,4.812734082397004,7.8027465667915115,7.0536828963795255,3.1647940074906367,2.908863920099875,2.5593008739076155,4.176029962546816,5.936329588014981,2.128589263420724,3.4456928838951315,6.741573033707866,5.692883895131087,3.027465667915106,4.357053682896379,3.3333333333333335,8.489388264669165,6.142322097378277,2.272159800249688,2.521847690387016,6.616729088639201,5.842696629213483,3.732833957553059,2.9712858926342074,3.1273408239700373,8.11485642946317,5.249687890137328,3.6454431960049942,6.679151061173534,5.149812734082397,5.7553058676654185,6.123595505617978,8.551810237203496,3.607990012484395,5.224719101123595,6.061173533083646,7.740324594257178,7.927590511860175,5.293383270911361,3.882646691635456,4.943820224719102,5.399500624219725,3.508114856429463,7.990012484394507,5.293383270911361,4.1011235955056184,7.49063670411985,3.6704119850187267,5.280898876404494,6.01123595505618,6.429463171036204,7.49063670411985,5.66167290886392,7.927590511860175,7.677902621722847,5.730337078651686,4.893882646691636,2.8339575530586765,3.926342072409488,8.67665418227216,5.705368289637952,5.074906367041199,2.6279650436953808,8.302122347066168,5.955056179775282,7.0536828963795255,3.81398252184769,5.493133583021224,5.418227215980025,7.677902621722847,2.2908863920099876,4.263420724094882,3.857677902621723,4.712858926342073,7.990012484394507,3.2771535580524347,7.17852684144819,6.367041198501872,5.930087390761548, +5.998751560549313,7.615480649188515,4.694132334581773,7.49063670411985,5.5305867665418225,5.474406991260924,2.4219725343320846,5.324594257178527,3.183520599250936,4.66916354556804,5.305867665418227,3.495630461922597,2.1098626716604243,2.5530586766541825,3.545568039950062,8.11485642946317,6.866416978776529,5.1373283395755305,3.8514357053682895,3.320848938826467,6.1360799001248445,7.677902621722847,4.837702871410737,7.865168539325843,7.0536828963795255,3.1897627965043696,2.933832709113608,2.5842696629213484,4.207240948813983,5.961298377028713,2.153558052434457,3.4769038701622974,6.741573033707866,5.717852684144819,3.0524344569288386,4.382022471910113,3.370786516853933,8.551810237203496,6.167290886392011,2.2908863920099876,2.546816479400749,6.679151061173534,5.867665418227216,3.764044943820225,3.0024968789013733,3.1585518102372037,8.11485642946317,5.280898876404494,3.682896379525593,6.741573033707866,5.181023720349563,5.786516853932584,6.1485642946317105,8.551810237203496,3.6329588014981273,5.243445692883895,6.092384519350812,7.740324594257178,7.990012484394507,5.318352059925093,3.9013732833957557,4.962546816479401,5.430711610486892,3.5268414481897628,7.990012484394507,5.312109862671661,4.1260923845193505,7.553058676654182,3.6953807740324596,5.305867665418227,6.0424469413233455,6.491885143570538,7.49063670411985,5.692883895131087,7.990012484394507,7.677902621722847,5.749063670411985,4.931335830212235,2.8589263420724094,3.957553058676654,8.739076154806492,5.736579275905119,5.106117353308365,2.6466916354556806,8.3645443196005,5.980024968789014,7.0536828963795255,3.8451935081148565,5.5181023720349565,5.449438202247191,7.677902621722847,2.3158551810237205,4.294631710362047,3.888888888888889,4.7440699126092385,8.05243445692884,3.3083645443196006,7.17852684144819,6.429463171036204,5.955056179775282, +6.029962546816479,7.677902621722847,4.725343320848939,7.49063670411985,5.555555555555556,5.499375780274657,2.446941323345818,5.34956304619226,3.214731585518102,4.694132334581773,5.33083645443196,3.5268414481897628,2.134831460674157,2.5842696629213484,3.5705368289637955,8.177278401997503,6.928838951310862,5.168539325842697,3.870162297128589,3.3458177278401995,6.161048689138577,7.677902621722847,4.8626716604244695,7.865168539325843,7.0536828963795255,3.2209737827715355,2.965043695380774,2.6092384519350813,4.238451935081149,5.986267166042447,2.1785268414481895,3.5143570536828963,6.803995006242197,5.742821473158552,3.0711610486891385,4.400749063670412,3.4019975031210987,8.551810237203496,6.186017478152309,2.3158551810237205,2.571785268414482,6.679151061173534,5.8988764044943816,3.7952559300873907,3.033707865168539,3.183520599250936,8.177278401997503,5.312109862671661,3.714107365792759,6.741573033707866,5.212234706616729,5.81772784019975,6.179775280898876,8.614232209737828,3.6579275905118602,5.262172284644195,6.117353308364544,7.8027465667915115,7.990012484394507,5.34956304619226,3.920099875156055,4.987515605493134,5.461922596754057,3.5518102372034956,8.05243445692884,5.337078651685393,4.144818976279651,7.553058676654182,3.7203495630461925,5.33083645443196,6.073657927590512,6.491885143570538,7.553058676654182,5.717852684144819,7.990012484394507,7.740324594257178,5.774032459425719,4.962546816479401,2.8838951310861427,3.9950062421972534,8.739076154806492,5.767790262172285,5.143570536828964,2.671660424469413,8.3645443196005,6.004993757802747,7.116104868913857,3.8764044943820224,5.543071161048689,5.480649188514358,7.740324594257178,2.340823970037453,4.31960049937578,3.9138576779026217,4.781523096129837,8.11485642946317,3.3458177278401995,7.240948813982522,6.429463171036204,5.97378277153558, +6.061173533083646,7.677902621722847,4.762796504369538,7.49063670411985,5.580524344569288,5.524344569288389,2.4656679151061174,5.380774032459426,3.245942571785269,4.719101123595506,5.34956304619226,3.5580524344569286,2.153558052434457,2.6154806491885143,3.589263420724095,8.177278401997503,6.928838951310862,5.199750312109863,3.8951310861423223,3.3645443196004994,6.192259675405743,7.740324594257178,4.887640449438202,7.927590511860175,7.116104868913857,3.2521847690387014,2.9962546816479403,2.634207240948814,4.269662921348314,6.01123595505618,2.203495630461923,3.545568039950062,6.803995006242197,5.761548064918852,3.0961298377028714,4.425717852684145,3.439450686641698,8.614232209737828,6.210986267166042,2.33458177278402,2.596754057428215,6.679151061173534,5.9238451935081144,3.826466916354557,3.058676654182272,3.2084893882646695,8.177278401997503,5.34956304619226,3.7515605493133584,6.803995006242197,5.237203495630462,5.855181023720349,6.20474406991261,8.614232209737828,3.6766541822721597,5.287141073657928,6.1485642946317105,7.8027465667915115,8.05243445692884,5.3745318352059925,3.938826466916354,5.0062421972534334,5.493133583021224,3.5705368289637955,8.05243445692884,5.355805243445693,4.169787765293384,7.553058676654182,3.745318352059925,5.355805243445693,6.104868913857677,6.554307116104869,7.553058676654182,5.742821473158552,8.05243445692884,7.740324594257178,5.792759051186017,4.9937578027465666,2.908863920099875,4.02621722846442,8.801498127340825,5.799001248439451,5.174781523096129,2.690387016229713,8.426966292134832,6.023720349563047,7.116104868913857,3.9076154806491883,5.568039950062421,5.511860174781523,7.740324594257178,2.3657927590511862,4.3508114856429465,3.938826466916354,4.812734082397004,8.11485642946317,3.3770287141073654,7.240948813982522,6.429463171036204,5.998751560549313, +6.086142322097379,7.740324594257178,4.794007490636704,7.553058676654182,5.605493133583021,5.543071161048689,2.4906367041198503,5.405742821473158,3.2771535580524347,4.737827715355805,5.3745318352059925,3.5830212234706615,2.1785268414481895,2.640449438202247,3.6142322097378274,8.177278401997503,,,3.920099875156055,3.3895131086142323,6.223470661672909,7.740324594257178,4.912609238451935,7.927590511860175,7.116104868913857,3.2771535580524347,3.027465667915106,2.6591760299625467,4.300873907615481,6.036204744069912,2.2284644194756553,3.576779026217228,6.803995006242197,5.786516853932584,3.1210986267166043,4.450686641697877,3.470661672908864,8.614232209737828,6.235955056179775,2.35330836454432,2.6154806491885143,6.741573033707866,5.948813982521848,3.8639200998751564,3.089887640449438,3.2397003745318353,8.239700374531834,,3.7827715355805243,6.803995006242197,5.268414481897628,5.8863920099875156,,8.67665418227216,3.701622971285893,5.305867665418227,6.179775280898876,,8.05243445692884,5.399500624219725,3.957553058676654,5.024968789013733,5.5305867665418225,3.595505617977528,8.11485642946317,5.380774032459426,4.188514357053683,7.615480649188515,3.764044943820225,5.380774032459426,6.1360799001248445,6.554307116104869,7.553058676654182,5.774032459425719,8.05243445692884,7.740324594257178,5.811485642946318,5.031210986267166,2.933832709113608,4.063670411985019,,5.830212234706617,5.205992509363296,2.7091136079900124,,6.048689138576779,7.116104868913857,3.938826466916354,5.593008739076155,5.549313358302123,,2.3907615480649187,4.382022471910113,3.9637952559300875,4.843945068664169,,3.4144818976279647,7.240948813982522,6.491885143570538,6.023720349563047, +6.117353308364544,7.8027465667915115,4.831460674157303,7.553058676654182,5.630461922596755,5.568039950062421,2.515605493133583,5.430711610486892,3.3021223470661676,4.762796504369538,5.393258426966292,3.6142322097378274,2.203495630461923,2.671660424469413,3.639200998751561,8.239700374531834,,,3.9450686641697876,3.408239700374532,6.242197253433209,7.8027465667915115,4.937578027465668,7.990012484394507,7.17852684144819,3.3083645443196006,3.058676654182272,2.68414481897628,4.332084893882647,6.061173533083646,2.253433208489388,3.6142322097378274,6.866416978776529,5.805243445692884,3.139825218476904,4.475655430711611,3.508114856429463,8.67665418227216,6.242197253433209,2.3782771535580522,2.640449438202247,6.741573033707866,5.97378277153558,3.8951310861423223,3.1210986267166043,3.2646691635455682,8.239700374531834,,3.81398252184769,6.866416978776529,5.293383270911361,5.9238451935081144,,8.67665418227216,,5.324594257178527,6.20474406991261,,8.05243445692884,5.430711610486892,3.9762796504369535,5.049937578027466,5.561797752808988,3.620474406991261,8.11485642946317,5.405742821473158,4.213483146067416,7.615480649188515,3.7890137328339577,5.405742821473158,6.167290886392011,6.616729088639201,7.615480649188515,5.799001248439451,8.11485642946317,7.8027465667915115,5.836454431960051,5.062421972534332,,4.1011235955056184,,5.861423220973783,5.243445692883895,2.7340823970037453,,6.073657927590512,7.17852684144819,3.970037453183521,5.617977528089888,5.580524344569288,,2.4094881398252186,4.413233458177278,3.9950062421972534,4.881398252184769,,3.4456928838951315,7.303370786516854,6.491885143570538,6.048689138576779, +6.1485642946317105,7.8027465667915115,4.8626716604244695,7.615480649188515,5.655430711610487,5.593008739076155,2.5343320848938826,5.455680399500624,3.3333333333333335,4.787765293383271,5.418227215980025,3.6454431960049942,2.2222222222222223,2.702871410736579,3.6641697877652937,8.239700374531834,,,3.970037453183521,3.4269662921348316,6.30461922596754,7.8027465667915115,4.962546816479401,7.990012484394507,7.17852684144819,3.339575530586767,3.089887640449438,2.7091136079900124,4.3632958801498125,6.086142322097379,2.272159800249688,3.6454431960049942,6.866416978776529,5.830212234706617,3.1647940074906367,4.49438202247191,3.545568039950062,8.67665418227216,6.30461922596754,2.397003745318352,2.66541822721598,6.741573033707866,6.004993757802747,3.926342072409488,3.1460674157303368,3.2896379525593007,8.302122347066168,,,6.866416978776529,5.324594257178527,5.955056179775282,,8.739076154806492,,5.34956304619226,6.235955056179775,,8.11485642946317,5.455680399500624,4.001248439450687,5.068664169787765,5.593008739076155,3.639200998751561,8.177278401997503,5.424469413233458,4.2322097378277155,7.615480649188515,3.81398252184769,5.430711610486892,6.198501872659176,6.616729088639201,7.615480649188515,5.830212234706617,8.11485642946317,7.8027465667915115,5.855181023720349,5.099875156054932,,4.132334581772784,,5.892634207240949,5.274656679151062,2.752808988764045,,6.098626716604246,7.17852684144819,4.001248439450687,5.6491885143570535,5.611735330836455,,2.4344569288389515,4.444444444444445,4.019975031210986,4.912609238451935,,3.4831460674157304,7.303370786516854,6.554307116104869,6.067415730337078, +,7.865168539325843,4.893882646691636,,5.68039950062422,5.611735330836455,2.5593008739076155,,3.3645443196004994,4.806491885143571,5.436953807740325,3.6766541822721597,2.247191011235955,2.7340823970037453,3.689138576779026,8.302122347066168,,,3.9950062421972534,3.451935081148564,6.30461922596754,7.865168539325843,4.987515605493134,8.05243445692884,7.240948813982522,3.3645443196004994,3.114856429463171,2.7340823970037453,4.400749063670412,6.111111111111111,2.2971285892634206,3.682896379525593,6.866416978776529,5.848938826466916,3.183520599250936,4.519350811485642,3.576779026217228,8.739076154806492,6.30461922596754,2.4157303370786516,2.690387016229713,6.803995006242197,6.029962546816479,3.957553058676654,3.1772784019975036,3.3146067415730336,8.302122347066168,,,6.928838951310862,5.34956304619226,5.986267166042447,,8.801498127340825,,5.36828963795256,6.242197253433209,,8.11485642946317,5.480649188514358,4.019975031210986,5.087390761548065,5.6242197253433215,3.6641697877652937,8.177278401997503,5.449438202247191,4.257178526841448,7.677902621722847,3.8389513108614235,5.455680399500624,6.229712858926342,6.679151061173534,7.615480649188515,5.855181023720349,8.177278401997503,7.8027465667915115,5.880149812734083,5.131086142322098,,4.169787765293384,,5.9238451935081144,5.305867665418227,2.777777777777778,,6.123595505617978,7.240948813982522,4.032459425717852,5.674157303370786,5.64294631710362,,2.459425717852684,4.475655430711611,4.044943820224719,4.943820224719102,,3.5143570536828963,7.365792759051186,6.554307116104869,6.092384519350812, +,7.865168539325843,4.931335830212235,,5.705368289637952,5.636704119850187,2.5842696629213484,,3.3957553058676653,4.831460674157303,5.455680399500624,3.701622971285893,2.272159800249688,2.7652933832709112,3.714107365792759,,,,4.019975031210986,3.470661672908864,6.367041198501872,7.865168539325843,5.0062421972534334,,7.240948813982522,3.3957553058676653,3.1460674157303368,2.7590511860174782,4.431960049937578,6.1360799001248445,,3.714107365792759,6.928838951310862,5.8739076154806495,3.2084893882646695,4.544319600499376,3.6142322097378274,8.739076154806492,6.30461922596754,2.4406991260923845,2.715355805243446,6.803995006242197,6.054931335830212,3.9950062421972534,3.2084893882646695,3.3458177278401995,8.3645443196005,,,6.928838951310862,5.380774032459426,6.023720349563047,,8.801498127340825,,5.3870162297128585,6.30461922596754,,8.177278401997503,5.50561797752809,4.038701622971286,5.1123595505617985,5.655430711610487,3.682896379525593,8.239700374531834,5.468164794007491,4.275905118601748,7.677902621722847,3.8639200998751564,5.480649188514358,6.242197253433209,6.679151061173534,7.677902621722847,5.880149812734083,8.177278401997503,7.865168539325843,5.8988764044943816,5.168539325842697,,,,5.955056179775282,5.343320848938826,2.7965043695380776,,6.1485642946317105,7.240948813982522,4.063670411985019,5.69912609238452,5.674157303370786,,2.4843945068664173,4.506866416978776,4.069912609238452,4.9812734082397006,,3.5518102372034956,7.365792759051186,6.616729088639201,6.117353308364544, +,7.927590511860175,4.962546816479401,,5.730337078651686,5.655430711610487,2.602996254681648,,3.420724094881398,4.850187265917603,5.480649188514358,3.732833957553059,2.2908863920099876,2.790262172284644,3.7390761548064915,,,,4.044943820224719,3.495630461922597,6.367041198501872,7.927590511860175,5.031210986267166,,7.303370786516854,3.4269662921348316,3.1772784019975036,2.7840199750312107,4.463171036204744,,,3.745318352059925,6.928838951310862,5.8988764044943816,3.233458177278402,4.569288389513109,3.6454431960049942,8.801498127340825,6.367041198501872,2.459425717852684,2.740324594257179,6.866416978776529,6.086142322097379,4.02621722846442,3.2397003745318353,3.370786516853933,8.3645443196005,,,6.991260923845194,5.411985018726591,6.054931335830212,,8.863920099875156,,5.411985018726591,6.30461922596754,,8.177278401997503,5.536828963795256,4.057428214731585,5.131086142322098,5.686641697877653,3.7078651685393256,8.239700374531834,5.493133583021224,4.294631710362047,7.677902621722847,3.888888888888889,5.50561797752809,6.30461922596754,6.741573033707866,7.677902621722847,5.9113607990012484,8.239700374531834,7.865168539325843,5.917602996254682,5.199750312109863,,,,5.986267166042447,5.3745318352059925,2.82147315855181,,6.173533083645444,7.240948813982522,4.094881398252185,5.724094881398252,5.705368289637952,,2.5093632958801497,4.538077403245943,4.1011235955056184,5.012484394506866,,3.5830212234706615,7.428214731585518,,6.1360799001248445, +,7.927590511860175,4.9937578027465666,,5.7553058676654185,5.68039950062422,2.6279650436953808,,3.451935081148564,4.875156054931336,5.499375780274657,3.764044943820225,2.3158551810237205,2.82147315855181,3.764044943820225,,,,4.069912609238452,3.5143570536828963,6.367041198501872,7.990012484394507,5.056179775280899,,7.303370786516854,3.4581772784019975,3.2084893882646695,2.808988764044944,4.49438202247191,,,3.7827715355805243,6.928838951310862,5.917602996254682,3.2521847690387014,,3.682896379525593,8.801498127340825,6.367041198501872,2.478152309612984,2.7590511860174782,6.866416978776529,6.111111111111111,4.057428214731585,3.2646691635455682,3.3957553058676653,8.426966292134832,,,6.991260923845194,5.436953807740325,6.092384519350812,,8.863920099875156,,5.430711610486892,6.367041198501872,,8.239700374531834,5.561797752808988,4.0761548064918856,5.149812734082397,5.717852684144819,3.7265917602996255,8.302122347066168,5.5181023720349565,4.31960049937578,7.740324594257178,3.9138576779026217,5.5305867665418225,6.30461922596754,6.741573033707866,7.740324594257178,5.936329588014981,8.239700374531834,7.865168539325843,5.942571785268415,5.237203495630462,,,,6.0174781523096135,5.405742821473158,2.84019975031211,,6.192259675405743,7.303370786516854,4.1260923845193505,5.749063670411985,5.742821473158552,,2.5343320848938826,4.569288389513109,4.1260923845193505,5.043695380774032,,3.6142322097378274,7.428214731585518,,6.161048689138577, +,7.990012484394507,5.031210986267166,,5.7802746566791505,5.705368289637952,,,3.4831460674157304,4.900124843945068,5.524344569288389,3.7952559300873907,2.340823970037453,2.852684144818976,3.7890137328339577,,,,4.094881398252185,3.5393258426966296,6.429463171036204,7.990012484394507,5.081148564294631,,7.365792759051186,3.4831460674157304,3.2397003745318353,2.8339575530586765,4.525593008739076,,,3.81398252184769,6.991260923845194,,3.2771535580524347,,3.714107365792759,8.863920099875156,6.429463171036204,2.4968789013732833,2.7840199750312107,6.866416978776529,6.1360799001248445,4.0886392009987516,3.295880149812734,,8.426966292134832,,,7.0536828963795255,5.468164794007491,6.123595505617978,,8.926342072409488,,5.455680399500624,6.367041198501872,,8.239700374531834,,4.094881398252185,5.174781523096129,5.749063670411985,3.7515605493133584,8.302122347066168,5.536828963795256,4.33832709113608,7.740324594257178,3.938826466916354,5.555555555555556,,6.803995006242197,7.740324594257178,5.961298377028713,8.302122347066168,7.927590511860175,5.961298377028713,5.268414481897628,,,,6.048689138576779,5.443196004993759,2.865168539325843,,6.217228464419476,7.303370786516854,4.157303370786517,5.774032459425719,5.774032459425719,,2.5530586766541825,4.600499375780275,4.151061173533084,5.081148564294631,,3.651685393258427,,,6.186017478152309, +,,5.062421972534332,,5.805243445692884,,,,3.5143570536828963,4.918851435705368,5.543071161048689,3.8202247191011236,2.359550561797753,2.8838951310861427,3.81398252184769,,,,4.119850187265917,3.5580524344569286,6.429463171036204,8.05243445692884,5.106117353308365,,7.365792759051186,3.5143570536828963,3.2709113607990012,2.8589263420724094,4.556803995006242,,,3.8451935081148565,6.991260923845194,,3.295880149812734,,3.7515605493133584,8.863920099875156,6.429463171036204,2.521847690387016,2.808988764044944,6.928838951310862,6.161048689138577,4.1260923845193505,3.3270911360799,,8.489388264669165,,,7.0536828963795255,5.493133583021224,6.161048689138577,,,,5.474406991260924,6.429463171036204,,8.239700374531834,,4.1136079900124844,5.19350811485643,5.7802746566791505,3.776529338327091,8.3645443196005,5.561797752808988,4.3632958801498125,7.740324594257178,3.9637952559300875,5.580524344569288,,6.803995006242197,,5.992509363295881,8.302122347066168,7.927590511860175,5.980024968789014,5.305867665418227,,,,6.079900124843945,5.474406991260924,2.8838951310861427,,6.242197253433209,7.365792759051186,4.18227215980025,5.799001248439451,5.805243445692884,,2.578027465667915,4.631710362047441,4.18227215980025,5.1123595505617985,,3.682896379525593,,,6.210986267166042, +,,5.093632958801498,,5.830212234706617,,,,3.5393258426966296,4.943820224719102,5.568039950062421,3.8514357053682895,2.3845193508114857,2.908863920099875,3.8389513108614235,,,,4.144818976279651,3.5830212234706615,6.491885143570538,,5.131086142322098,,7.428214731585518,3.545568039950062,3.295880149812734,2.8838951310861427,4.588014981273409,,,3.882646691635456,6.991260923845194,,3.320848938826467,,,8.926342072409488,6.429463171036204,2.5405742821473156,2.8339575530586765,6.928838951310862,,,3.352059925093633,,8.489388264669165,,,7.116104868913857,5.524344569288389,6.192259675405743,,,,5.493133583021224,6.429463171036204,,8.302122347066168,,4.132334581772784,5.212234706616729,5.811485642946318,3.7952559300873907,8.3645443196005,5.580524344569288,4.382022471910113,7.8027465667915115,3.9887640449438204,5.605493133583021,,6.866416978776529,,6.0174781523096135,8.3645443196005,7.927590511860175,6.004993757802747,5.337078651685393,,,,6.111111111111111,5.50561797752809,2.908863920099875,,6.242197253433209,7.365792759051186,4.213483146067416,5.823970037453184,5.836454431960051,,2.602996254681648,4.662921348314606,4.207240948813983,5.143570536828964,,3.7203495630461925,,,6.229712858926342, +,,5.131086142322098,,5.855181023720349,,,,3.5705368289637955,4.9687890137328345,5.586766541822722,3.882646691635456,2.4094881398252186,2.9400749063670415,3.8639200998751564,,,,4.169787765293384,3.6017478152309614,6.491885143570538,,5.15605493133583,,7.428214731585518,3.5705368289637955,3.3270911360799,2.908863920099875,4.619225967540574,,,3.9138576779026217,7.0536828963795255,,3.3458177278401995,,,8.926342072409488,6.491885143570538,2.5593008739076155,2.8589263420724094,6.928838951310862,,,3.383270911360799,,8.551810237203496,,,7.116104868913857,,,,,,5.5181023720349565,6.491885143570538,,8.302122347066168,,4.151061173533084,5.237203495630462,5.842696629213483,3.8202247191011236,8.426966292134832,5.605493133583021,4.406991260923846,7.8027465667915115,4.00749063670412,5.630461922596755,,,,6.0424469413233455,8.3645443196005,7.990012484394507,6.023720349563047,5.3745318352059925,,,,,5.543071161048689,2.9275905118601746,,6.30461922596754,7.428214731585518,4.244694132334582,5.848938826466916,5.867665418227216,,2.6279650436953808,4.694132334581773,4.2322097378277155,5.174781523096129,,3.7515605493133584,,,6.242197253433209, +,,5.162297128589263,,,,,,3.6017478152309614,4.987515605493134,5.605493133583021,3.9076154806491883,2.428214731585518,2.9712858926342074,,,,,4.194756554307116,3.6267166042446943,6.554307116104869,,5.181023720349563,,7.49063670411985,3.6017478152309614,3.3583021223470664,2.933832709113608,4.65043695380774,,,,7.0536828963795255,,3.3645443196004994,,,8.98876404494382,,2.5842696629213484,2.8838951310861427,6.991260923845194,,,3.4144818976279647,,8.551810237203496,,,7.116104868913857,,,,,,5.536828963795256,6.491885143570538,,8.3645443196005,,4.176029962546816,5.2559300873907615,5.880149812734083,3.8389513108614235,8.426966292134832,5.6242197253433215,4.425717852684145,7.8027465667915115,4.032459425717852,,,,,6.073657927590512,8.426966292134832,7.990012484394507,6.0424469413233455,5.405742821473158,,,,,,2.9525593008739075,,,7.428214731585518,,5.8739076154806495,5.905118601747815,,,,4.257178526841448,5.212234706616729,,,,,6.30461922596754, +,,,,,,,,3.6329588014981273,5.012484394506866,5.630461922596755,3.938826466916354,2.453183520599251,3.0024968789013733,,,,,4.213483146067416,3.6454431960049942,6.554307116104869,,5.205992509363296,,7.49063670411985,3.6329588014981273,,2.958801498127341,4.681647940074906,,,,7.0536828963795255,,3.3895131086142323,,,8.98876404494382,,2.602996254681648,2.908863920099875,6.991260923845194,,,,,,,,7.17852684144819,,,,,,5.555555555555556,6.491885143570538,,8.3645443196005,,4.194756554307116,5.274656679151062,5.9113607990012484,3.8639200998751564,8.489388264669165,5.6491885143570535,4.450686641697877,,4.057428214731585,,,,,6.098626716604246,8.426966292134832,7.990012484394507,6.067415730337078,,,,,,,2.9712858926342074,,,7.428214731585518,,5.8988764044943816,5.936329588014981,,,,4.288389513108614,5.243445692883895,,,,,6.30461922596754, +,,,,,,,,3.6579275905118602,5.0374531835206,5.6491885143570535,,2.471910112359551,3.033707865168539,,,,,,3.6704119850187267,6.616729088639201,,5.224719101123595,,7.553058676654182,,,2.9837702871410734,4.712858926342073,,,,7.116104868913857,,3.408239700374532,,,9.051186017478152,,,2.9275905118601746,6.991260923845194,,,,,,,,7.17852684144819,,,,,,5.580524344569288,6.554307116104869,,,,4.213483146067416,5.299625468164794,5.942571785268415,3.888888888888889,8.489388264669165,,4.4694132334581775,,4.082397003745319,,,,,6.123595505617978,8.489388264669165,8.05243445692884,6.086142322097379,,,,,,,2.9962546816479403,,,7.49063670411985,,5.9238451935081144,5.967540574282147,,,,,5.274656679151062,,,,,6.30461922596754, +,,,,,,,,3.689138576779026,5.056179775280899,,,2.4968789013732833,3.058676654182272,,,,,,3.689138576779026,6.616729088639201,,5.249687890137328,,7.553058676654182,,,3.0087390761548067,,,,,7.116104868913857,,3.4332084893882646,,,9.051186017478152,,,2.9525593008739075,7.0536828963795255,,,,,,,,7.240948813982522,,,,,,,,,,,4.2322097378277155,5.318352059925093,5.97378277153558,3.9076154806491883,8.551810237203496,,4.49438202247191,,4.107365792759051,,,,,6.154806491885144,8.489388264669165,8.05243445692884,6.104868913857677,,,,,,,3.0149812734082393,,,7.49063670411985,,5.948813982521848,5.998751560549313,,,,,,,,,,6.367041198501872, +,,,,,,,,3.7203495630461925,,,,,3.089887640449438,,,,,,3.714107365792759,6.679151061173534,,5.274656679151062,,7.553058676654182,,,3.033707865168539,,,,,,,3.4581772784019975,,,9.113607990012484,,,2.977528089887641,,,,,,,,,7.240948813982522,,,,,,,,,,,4.250936329588015,5.337078651685393,6.004993757802747,3.9325842696629216,8.551810237203496,,,,4.132334581772784,,,,,6.179775280898876,8.551810237203496,8.05243445692884,6.129837702871411,,,,,,,3.0399500624219726,,,7.553058676654182,,5.97378277153558,6.029962546816479,,,,,,,,,,6.367041198501872, +,,,,,,,,,,,,,3.1210986267166043,,,,,,3.732833957553059,6.679151061173534,,5.299625468164794,,,,,3.058676654182272,,,,,,,,,,9.113607990012484,,,,,,,,,,,,7.303370786516854,,,,,,,,,,,4.269662921348314,5.3620474406991265,6.036204744069912,3.951310861423221,8.614232209737828,,,,,,,,,6.210986267166042,8.551810237203496,8.11485642946317,6.1485642946317105,,,,,,,3.058676654182272,,,7.553058676654182,,,,,,,,,,,,,6.367041198501872, +,,,,,,,,,,,,,3.15230961298377,,,,,,3.7515605493133584,6.741573033707866,,5.324594257178527,,,,,3.0836454431960054,,,,,,,,,,9.176029962546817,,,,,,,,,,,,7.303370786516854,,,,,,,,,,,4.288389513108614,5.380774032459426,6.067415730337078,3.9762796504369535,8.614232209737828,,,,,,,,,6.235955056179775,,8.11485642946317,6.167290886392011,,,,,,,3.077403245942572,,,7.553058676654182,,,,,,,,,,,,,6.429463171036204, +,,,,,,,,,,,,,,,,,,,,6.741573033707866,,,,,,,,,,,,,,,,,9.176029962546817,,,,,,,,,,,,,,,,,,,,,,,,5.399500624219725,6.098626716604246,,8.67665418227216,,,,,,,,,6.242197253433209,,8.11485642946317,6.192259675405743,,,,,,,3.102372034956305,,,7.615480649188515,,,,,,,,,,,,,6.429463171036204, +,,,,,,,,,,,,,,,,,,,,6.803995006242197,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5.424469413233458,,,,,,,,,,,,6.30461922596754,,,6.210986267166042,,,,,,,3.1210986267166043,,,7.615480649188515,,,,,,,,,,,,,, diff --git a/lessons/files/elements.csv b/lessons/files/elements.csv deleted file mode 100644 index 7eafedb8..00000000 --- a/lessons/files/elements.csv +++ /dev/null @@ -1,4 +0,0 @@ -Name,Symbol,Number -Hydrogen,H,1 -Helium,He,2 -Lithium,Li,3 diff --git a/lessons/files/files.md b/lessons/files/files.md new file mode 100644 index 00000000..2acf993a --- /dev/null +++ b/lessons/files/files.md @@ -0,0 +1,5 @@ +# Using Files + +This section will teach you how to read and write files using Python. + +To work through the examples practice files can be {download}`downloaded here<./practice_files/practice_files.zip>` diff --git a/lessons/files/files_file_types.ipynb b/lessons/files/files_file_types.ipynb new file mode 100644 index 00000000..f77b8647 --- /dev/null +++ b/lessons/files/files_file_types.ipynb @@ -0,0 +1,331 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "52531b2c", + "metadata": {}, + "source": [ + "# Files and File Types" + ] + }, + { + "cell_type": "markdown", + "id": "e6f7959c", + "metadata": {}, + "source": [ + "## Prerequisites\n", + "- None" + ] + }, + { + "cell_type": "markdown", + "id": "f3748d53", + "metadata": {}, + "source": [ + "## Learning Outcomes\n", + "- File Types\n", + "- Organising your files" + ] + }, + { + "cell_type": "markdown", + "id": "18776e1c", + "metadata": {}, + "source": [ + "## Organising files" + ] + }, + { + "cell_type": "markdown", + "id": "6df4db19", + "metadata": {}, + "source": [ + "Files are organised using directories. These will often appear on your computer as folder symbols. \n", + "\n", + "Directories branch downwards from the root directory, and can contain both files and subdirectories. For example, you may have a directory called 'Lab Documents', which might contain a subdirectory 'Module A Practical B', in which you hold all your results, risk assessments, and writeups for Practical B of Module A. The directory 'Lab Documents', is itself a subdirectory of something else, stemming back until you reach the root directory, often called ``C:\\`` on a Windows operating system, or ``/var/root/`` on a Apple mac. This way, we can cluster together groups of related files to keep ourselves better organised. \n", + "\n", + "When you are programming, it is important to know which directory you are in for a number of reasons. \n", + "\n", + "- To use libraries like NumPy and MatPlotLib, they need to be accessible to the directory you are working in. If you are using an environment like Anaconda, you only need to import the library once. Explanation on downloading libraries can be found in the [importing modules lesson](../loops_functions/tut_import_mod.ipynb).\n", + "\n", + "- If you are running code from the command line (more information in another lesson), you need to be able to change directories forwards and backwards to find your code. \n", + "- If you want to read or write to another file, that file must be in the same directory as your code file. " + ] + }, + { + "cell_type": "markdown", + "id": "901f4f44", + "metadata": {}, + "source": [ + "
\n", + " Visualising Directories with a tree diagram \n", + "\n", + "One way of visualising directories is with a tree or branch diagram, like below.\n", + "\n", + "Each black box is a directory, represented by folders on your computer. Each blue box is a Python file, and each green box is a data file. \n", + "\n", + "When we say \"the files are in the same directory\", the two files are like `final_project.py` and `my_functions.py` in the diagram below, both in the directory `Project`. Going up one directory is going towards `Python_files`, and this file is down from the directory `Tara`. \n", + "\n", + "\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "07a8fb8e", + "metadata": {}, + "source": [ + "## Filepaths" + ] + }, + { + "cell_type": "markdown", + "id": "8bdb8e36", + "metadata": {}, + "source": [ + "To access a file from a Python program, or to run a program from the command line, you need to specify a **filepath**. This tells the computer where specifically to look for a certain file. Otherwise, there might be files in different directories with the same name, and the computer would not know where to look. " + ] + }, + { + "cell_type": "markdown", + "id": "1ac8b624", + "metadata": {}, + "source": [ + "### Absolute (full) Filepath" + ] + }, + { + "cell_type": "markdown", + "id": "dda8a465", + "metadata": {}, + "source": [ + "An **absolute** or **full** filepath specifies the complete address of a file or directory in a system, starting from the root directory and including all directories leading to the specific file or folder. \n", + "\n", + "Directories are separated by a forward slash, /, or a backslash, \\ (both are supported on most operating systems). \n", + "\n", + "For example, the filepath of my CSV data might be:\n", + "\n", + "``C:\\Users\\Tara\\Data_Files\\my_data.csv``\n", + "\n", + "Sometimes, your filepaths might get very long. To access a data file from a Year 3 lab your filepath might be: \n", + "\n", + "``C:\\Users\\Bella\\OneDrive\\Documents\\University\\Year_3\\Labs\\Synthesis\\Module0020\\Part_1\\results.CSV``\n", + "\n", + "Firstly, giving your directories and files sensible names and locations will help reduce the amount of time you spend figuring out where your files are located. Secondly, you might want to consider using a **relative** filepath instead." + ] + }, + { + "cell_type": "markdown", + "id": "31632279", + "metadata": {}, + "source": [ + "### Relative Filepaths" + ] + }, + { + "cell_type": "markdown", + "id": "41f8ff23", + "metadata": {}, + "source": [ + "Sometimes, we may be very deep, within multiple directories, and it would become very long to specify the full filepath. This is where **relative filepaths** become useful. These allow you to specify a filepath *relative* to the directory you are already in.\n", + "\n", + "There are two main commands to specify a relative directory. \n", + "\n", + "- **`.`** indicates that we are going to go forward (down) a directory.\n", + "\n", + "- **`..`** indicates that we are going to go backwards (up) a directory.\n", + "\n", + "For example, using our tree diagram as a reference: \n", + "\n", + "\n", + "\n", + "If you were writing code in the file `my_code.py` and you wanted to access the file `my_functions.py`, you would first have to go forward into the directory \"Project\". The relative filepath would be: `./Project/my_functions.py`.\n", + "\n", + "If you were instead writing code in the file `final_project.py` and wanted to access the file `my_code.py`, you would have to go backwards up to the directory \"Python_Files\". The relative filepath would be: `../my_code.py`. \n", + "\n", + "If you were writing code in the file `final_project.py`, and wanted to access the file `my_data.CSV`, you would have to go backwards and then forwards. The relative filepath would be: `../../Data_Files/my_data.csv`. The first set of dots takes you backwards into \"Python_Files\", the second backwards into \"Tara\", then you move forwards into \"Data_Files\", and finally access the file \"my_data.csv\"." + ] + }, + { + "cell_type": "markdown", + "id": "16b44217", + "metadata": {}, + "source": [ + "## File types" + ] + }, + { + "cell_type": "markdown", + "id": "552398b0", + "metadata": {}, + "source": [ + "If you are running a practical in the lab, you might take a measurement once a minute or multiple times a second, for example if you are running cyclic voltammetry. You then need somewhere to store all those data points. Different file types are marked by the extension at the end of the name, for example ``.txt``, ``.dat``, ``.cif``, or ``.xyz``. If you have used Excel for data processing in the past, you might have noticed that Excel files are often stored as ``.csv``. Each has a purpose, and each has their own formatting depending on that purpose. \n", + "\n", + "| Name | Extension | Uses |\n", + "| -----| ----- | ----- |\n", + "| Text file | ``.txt`` | Can take any values, stores plain text |\n", + "| Comma-separated values (CSV) | ``.csv`` | Data storage, delimiter is a comma |\n", + "| Data file (DAT) | ``.dat`` | Can contain any file type (plain text, PDF, audio, etc.). Often not human-readable. | \n", + "| Crystallographic Information File (CIF) | ``.cif`` | Standard format for storing crystallographic structural data |\n", + "| XYZ file | ``.xyz`` | Standard format for storing atomic coordinates |\n", + "| Python file (PY) | ``.py`` | Text file containing Python code, to be opened and used by a Python IDE | \n", + "| Jupyter Notebook (IPYNB) | ``.ipynb`` | Text-based file used by Jupyter Notebook |\n", + "\n", + "Each file type serves a different purpose. Try opening the files with different editors. For example, open a ``.py`` file in both your Python IDE (e.g. Spyder, IDLE, or VSCode), and then open it in a text editor (e.g. Word or Notepad) and look at the difference. The Python IDE is able to interpret the data in a useful way, and then save any changes you make. Open one of the data files. You will be able to extract data from a file (e.g. a .xyz file) and make it useable by your program.\n", + "\n", + "If you want to use information from a file in your program, the file must be in the same directory as your pam." + ] + }, + { + "cell_type": "markdown", + "id": "eb06d9d4", + "metadata": {}, + "source": [ + "### Delimiters" + ] + }, + { + "cell_type": "markdown", + "id": "93e37644", + "metadata": {}, + "source": [ + "Objects in different kinds of files are separated in different ways. In text files, words are separated by spaces. In .csv files, cells are separated with a comma, or sometimes a semicolon. The delimiter is that character or sequence of characters used to specify the boundary between separate, independent values. \n", + "\n", + "Other kinds of delimiter might be new lines, appearing as \"\\n\", a tab (standardly made up of 4 spaces), or occasionally a series of characters, such as \"&#&#\", used when items may contain the delimiter within them (for example, commas inside Excel cells in a CSV file would cause an error).\n", + "\n", + "You will see these appear in the files below." + ] + }, + { + "cell_type": "markdown", + "id": "1efe054d", + "metadata": {}, + "source": [ + "### Common file type structures" + ] + }, + { + "cell_type": "markdown", + "id": "566f8938", + "metadata": {}, + "source": [ + "Different file types look different when opened. You can view your files using an IDE (like VSCode or Spyder), or a text editor (your computer may have a built-in one called 'Notepad' or similar). \n", + "\n", + "If you are reading data from a file, you should always open up your file and check that the data looks correct, whether there are any headers, and that it has been arranged in the format you are expecting. \n", + "\n", + "Common formats are shown below:" + ] + }, + { + "cell_type": "markdown", + "id": "1b7aa359", + "metadata": {}, + "source": [ + "
\n", + " Text files \n", + "\n", + "Text files can contain lots of types of content, but always in plain text. Any data extracted into Python will be as a `string` data type, not an `integer` or `float`. \n", + "\n", + "\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "3a639dbd", + "metadata": {}, + "source": [ + "
\n", + " CSV files \n", + "\n", + ".csv files are some of the more common file types. You will often see Excel documents saved in this format. \n", + "\n", + "\n", + "\n", + "As you can see, each cell is separated by a comma to its sides, and a new line above and below. The delimiter is a comma. Empty cells are marked by just a comma with no contents.\n", + "\n", + "If you want to take data values from an Excel sheet, you need to make sure it is saved with the .csv format. If it isn't, you can simply click \"save as\" and change the file type to .csv. However, make sure you do not save it as \"CSV UTF-8\", or you will get unexpected formatting when you try to extract information from your file.\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "3d292c7b", + "metadata": {}, + "source": [ + "
\n", + " XYZ file\n", + "\n", + "XYZ files store atomic coordinates. \n", + "\n", + "The first line indicates how many atomic coordinates are in the file. \n", + "\n", + "The second line describes the molecule or collection or molecules. \n", + "\n", + "Successive lines first contain the element, then it's x, y, z coordinates in Angstroms. The delimiter is a tab, although you can also separate with just whitespace. \n", + "\n", + "\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "ce29725a", + "metadata": {}, + "source": [ + "
\n", + " Python file\n", + "\n", + "Python files have the extension .py. If opened with an IDE, text will be automatically highlighted. Otherwise, it will be in plain text, like a text file. \n", + "\n", + "\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "4ad745c9", + "metadata": {}, + "source": [ + "## Summary" + ] + }, + { + "cell_type": "markdown", + "id": "ba419a5e", + "metadata": {}, + "source": [ + "- Files are grouped in directories to make navigation more convenient. \n", + "\n", + "- Directories branch down from a root directory.\n", + "\n", + "- Absolute filepaths indicate every directory and step from the root to the file you are indicating. \n", + "\n", + "- Relative filepaths use `.` and `..` to indicate a relative path. \n", + " - `.` indicates to go forward (down) a directory.\n", + " - `..` indicates to go backwards (up) a directory. \n", + "\n", + "- Different file types have different extensions. These include, but are not limited to:\n", + " - .py for Python files\n", + " - .txt for text files\n", + " - .csv for CSV files\n", + " - .xyz for XYZ files\n", + " - .ipynb for Jupyter Notebooks files\n", + " - .cif for CIF files\n", + " - .dat for a DAT file" + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/lessons/files/images/CSV_file.png b/lessons/files/images/CSV_file.png new file mode 100644 index 00000000..e079c1d6 Binary files /dev/null and b/lessons/files/images/CSV_file.png differ diff --git a/lessons/files/images/XYZ_file.png b/lessons/files/images/XYZ_file.png new file mode 100644 index 00000000..80e95b68 Binary files /dev/null and b/lessons/files/images/XYZ_file.png differ diff --git a/lessons/files/images/directory_visualisation.png b/lessons/files/images/directory_visualisation.png new file mode 100644 index 00000000..806b31c1 Binary files /dev/null and b/lessons/files/images/directory_visualisation.png differ diff --git a/lessons/files/images/py_file.png b/lessons/files/images/py_file.png new file mode 100644 index 00000000..9738c876 Binary files /dev/null and b/lessons/files/images/py_file.png differ diff --git a/lessons/files/images/text_file.png b/lessons/files/images/text_file.png new file mode 100644 index 00000000..9be3a242 Binary files /dev/null and b/lessons/files/images/text_file.png differ diff --git a/lessons/files/molecule.txt b/lessons/files/molecule.txt deleted file mode 100644 index 0e186915..00000000 --- a/lessons/files/molecule.txt +++ /dev/null @@ -1 +0,0 @@ -C2H6 diff --git a/lessons/files/practice_files/README.md b/lessons/files/practice_files/README.md new file mode 100644 index 00000000..6752d7fd --- /dev/null +++ b/lessons/files/practice_files/README.md @@ -0,0 +1,3 @@ +# Practise Files + +If adding more files please also add them into the compressed zip folder to allow easy downloading \ No newline at end of file diff --git a/lessons/files/practice_files/alkanes_alkenes_alkynes.csv b/lessons/files/practice_files/alkanes_alkenes_alkynes.csv new file mode 100644 index 00000000..ea7b39da --- /dev/null +++ b/lessons/files/practice_files/alkanes_alkenes_alkynes.csv @@ -0,0 +1,14 @@ +C2H6,C2H4,C2H2 +C3H8,C3H6,C3H4 +C4H10,C4H8,C4H6 +C5H12,C5H10,C5H8 +C6H14,C6H12,C6H10 +C7H16,C7H14,C7H12 +C8H18,C8H16,C8H14 +C9H20,C9H18,C9H16 +C10H22,C10H20,C10H18 +C11H24,C11H22,C11H20 +C12H26,C12H24,C12H22 +C13H28,C13H26,C13H24 +C14H30,C14H28,C14H26 +C15H32,C15H30,C15H28 \ No newline at end of file diff --git a/lessons/files/practice_files/energy_data_large.csv b/lessons/files/practice_files/energy_data_large.csv new file mode 100644 index 00000000..065f932d --- /dev/null +++ b/lessons/files/practice_files/energy_data_large.csv @@ -0,0 +1,100 @@ +5.85E-19,8.13E-19,3.39E-19,8.50E-19,5.75E-19,5.97E-19,1.05E-19,5.29E-19,1.45E-19,4.66E-19,5.87E-19,1.96E-19,5.65E-20,4.00E-20,2.64E-19,9.38E-19,7.18E-19,4.42E-19,3.14E-19,2.65E-19,6.24E-19,8.37E-19,4.76E-19,8.77E-19,7.69E-19,1.52E-19,9.89E-20,1.06E-19,2.82E-19,6.50E-19,3.97E-20,1.43E-19,8.17E-19,6.41E-19,2.11E-19,4.14E-19,1.15E-19,9.90E-19,6.91E-19,1.14E-19,1.11E-19,7.94E-19,6.10E-19,1.98E-19,1.18E-19,1.73E-19,9.17E-19,4.33E-19,1.75E-19,7.12E-19,4.78E-19,5.10E-19,6.62E-19,9.32E-19,2.88E-19,5.81E-19,6.26E-19,7.81E-19,9.66E-19,5.19E-19,3.85E-19,5.39E-19,4.78E-19,2.90E-19,9.05E-19,5.74E-19,3.92E-19,9.38E-19,2.91E-19,5.44E-19,5.89E-19,6.34E-19,9.14E-19,5.76E-19,8.96E-19,9.78E-19,6.63E-19,3.69E-19,1.53E-19,2.05E-19,9.18E-19,5.39E-19,4.06E-19,1.57E-19,9.50E-19,6.61E-19,8.21E-19,2.33E-19,5.73E-19,4.74E-19,8.71E-19,7.48E-20,3.06E-19,2.94E-19,3.52E-19,8.06E-19,1.11E-19,7.78E-19,7.09E-19,6.66E-19 +5.90E-19,8.19E-19,3.45E-19,8.54E-19,5.79E-19,6.00E-19,1.09E-19,5.33E-19,1.50E-19,4.70E-19,5.90E-19,2.01E-19,6.02E-20,4.48E-20,2.68E-19,9.42E-19,7.23E-19,4.47E-19,3.18E-19,2.69E-19,6.28E-19,8.43E-19,4.80E-19,8.82E-19,7.74E-19,1.56E-19,1.04E-19,1.10E-19,2.87E-19,6.54E-19,4.37E-20,1.49E-19,8.21E-19,6.44E-19,2.15E-19,4.18E-19,1.20E-19,9.95E-19,6.95E-19,1.17E-19,1.15E-19,7.97E-19,6.15E-19,2.03E-19,1.23E-19,1.77E-19,9.22E-19,4.38E-19,1.80E-19,7.17E-19,4.82E-19,5.15E-19,6.66E-19,9.38E-19,2.91E-19,5.85E-19,6.30E-19,7.87E-19,9.70E-19,5.24E-19,3.88E-19,5.42E-19,4.83E-19,2.93E-19,9.10E-19,5.78E-19,3.95E-19,9.42E-19,2.95E-19,5.48E-19,5.94E-19,6.39E-19,9.18E-19,5.81E-19,9.01E-19,9.82E-19,6.67E-19,3.75E-19,1.57E-19,2.10E-19,9.24E-19,5.43E-19,4.12E-19,1.60E-19,9.55E-19,6.65E-19,8.25E-19,2.38E-19,5.77E-19,4.79E-19,8.76E-19,7.86E-20,3.11E-19,2.98E-19,3.58E-19,8.12E-19,1.17E-19,7.83E-19,7.13E-19,6.70E-19 +5.95E-19,8.24E-19,3.50E-19,8.59E-19,5.83E-19,6.04E-19,1.13E-19,5.38E-19,1.55E-19,4.74E-19,5.94E-19,2.05E-19,6.38E-20,4.96E-20,2.72E-19,9.47E-19,7.28E-19,4.52E-19,3.22E-19,2.72E-19,6.33E-19,8.48E-19,4.83E-19,8.87E-19,7.78E-19,1.61E-19,1.09E-19,1.14E-19,2.92E-19,6.58E-19,4.76E-20,1.54E-19,8.24E-19,6.48E-19,2.19E-19,4.22E-19,1.26E-19,1.00E-18,6.99E-19,1.21E-19,1.19E-19,8.01E-19,6.19E-19,2.08E-19,1.27E-19,1.81E-19,9.27E-19,4.44E-19,1.86E-19,7.22E-19,4.87E-19,5.20E-19,6.71E-19,9.44E-19,2.95E-19,5.88E-19,6.35E-19,7.93E-19,9.75E-19,5.28E-19,3.92E-19,5.45E-19,4.88E-19,2.97E-19,9.15E-19,5.82E-19,3.99E-19,9.45E-19,2.99E-19,5.52E-19,5.99E-19,6.44E-19,9.22E-19,5.85E-19,9.06E-19,9.85E-19,6.70E-19,3.80E-19,1.61E-19,2.16E-19,9.30E-19,5.48E-19,4.17E-19,1.64E-19,9.60E-19,6.69E-19,8.29E-19,2.43E-19,5.81E-19,4.84E-19,8.81E-19,8.25E-20,3.16E-19,3.02E-19,3.63E-19,8.18E-19,1.22E-19,7.88E-19,7.17E-19,6.74E-19 +6.00E-19,8.29E-19,3.55E-19,8.63E-19,5.87E-19,6.08E-19,1.16E-19,5.42E-19,1.60E-19,4.77E-19,5.97E-19,2.10E-19,6.75E-20,5.44E-20,2.76E-19,9.52E-19,7.33E-19,4.56E-19,3.26E-19,2.76E-19,6.38E-19,8.53E-19,4.87E-19,8.92E-19,7.83E-19,1.66E-19,1.13E-19,1.18E-19,2.97E-19,6.62E-19,5.16E-20,1.60E-19,8.28E-19,6.52E-19,2.22E-19,4.26E-19,1.31E-19,1.01E-18,7.03E-19,1.24E-19,1.23E-19,8.04E-19,6.23E-19,2.14E-19,1.32E-19,1.86E-19,9.32E-19,4.49E-19,1.91E-19,7.27E-19,4.91E-19,5.26E-19,6.75E-19,9.50E-19,2.99E-19,5.92E-19,6.39E-19,7.99E-19,9.79E-19,5.32E-19,3.95E-19,5.49E-19,4.94E-19,3.00E-19,9.19E-19,5.85E-19,4.02E-19,9.49E-19,3.03E-19,5.56E-19,6.04E-19,6.50E-19,9.25E-19,5.89E-19,9.11E-19,9.88E-19,6.73E-19,3.85E-19,1.65E-19,2.21E-19,9.37E-19,5.53E-19,4.22E-19,1.67E-19,9.65E-19,6.73E-19,8.33E-19,2.48E-19,5.85E-19,4.89E-19,8.85E-19,8.63E-20,3.21E-19,3.06E-19,3.68E-19,8.25E-19,1.28E-19,7.93E-19,7.21E-19,6.77E-19 +6.05E-19,8.35E-19,3.61E-19,8.68E-19,5.91E-19,6.11E-19,1.20E-19,5.46E-19,1.64E-19,4.81E-19,6.00E-19,2.15E-19,7.11E-20,5.92E-20,2.79E-19,9.57E-19,7.38E-19,4.61E-19,3.30E-19,2.79E-19,6.42E-19,8.58E-19,4.91E-19,8.97E-19,7.88E-19,1.70E-19,1.18E-19,1.22E-19,3.02E-19,6.66E-19,5.55E-20,1.65E-19,8.31E-19,6.55E-19,2.26E-19,4.29E-19,1.37E-19,1.01E-18,7.07E-19,1.27E-19,1.27E-19,8.08E-19,6.28E-19,2.19E-19,1.37E-19,1.90E-19,9.37E-19,4.54E-19,1.97E-19,7.31E-19,4.96E-19,5.31E-19,6.79E-19,9.55E-19,3.03E-19,5.95E-19,6.44E-19,8.05E-19,9.83E-19,5.37E-19,3.98E-19,5.52E-19,4.99E-19,3.04E-19,9.24E-19,5.89E-19,4.06E-19,9.52E-19,3.07E-19,5.60E-19,6.09E-19,6.55E-19,9.29E-19,5.94E-19,9.16E-19,9.92E-19,6.77E-19,3.91E-19,1.69E-19,2.27E-19,9.43E-19,5.58E-19,4.28E-19,1.71E-19,9.70E-19,6.77E-19,8.37E-19,2.53E-19,5.89E-19,4.95E-19,8.90E-19,9.02E-20,3.26E-19,3.11E-19,3.73E-19,8.31E-19,1.33E-19,7.97E-19,7.26E-19,6.81E-19 +6.09E-19,8.40E-19,3.66E-19,8.72E-19,5.95E-19,6.15E-19,1.24E-19,5.50E-19,1.69E-19,4.85E-19,6.04E-19,2.20E-19,7.48E-20,6.40E-20,2.83E-19,9.61E-19,7.43E-19,4.66E-19,3.34E-19,2.83E-19,6.47E-19,8.63E-19,4.95E-19,9.02E-19,7.92E-19,1.75E-19,1.23E-19,1.26E-19,3.07E-19,6.70E-19,5.95E-20,1.70E-19,8.35E-19,6.59E-19,2.29E-19,4.33E-19,1.42E-19,1.01E-18,7.11E-19,1.30E-19,1.31E-19,8.11E-19,6.32E-19,2.24E-19,1.41E-19,1.94E-19,9.42E-19,4.60E-19,2.02E-19,7.36E-19,5.00E-19,5.37E-19,6.83E-19,9.61E-19,3.07E-19,5.98E-19,6.49E-19,8.11E-19,9.87E-19,5.41E-19,4.01E-19,5.55E-19,5.04E-19,3.07E-19,9.29E-19,5.92E-19,4.09E-19,9.56E-19,3.11E-19,5.64E-19,6.14E-19,6.60E-19,9.33E-19,5.98E-19,9.21E-19,9.95E-19,6.80E-19,3.96E-19,1.73E-19,2.33E-19,9.49E-19,5.63E-19,4.33E-19,1.74E-19,9.75E-19,6.80E-19,8.41E-19,2.58E-19,5.93E-19,5.00E-19,8.95E-19,9.40E-20,3.31E-19,3.15E-19,3.79E-19,8.37E-19,1.39E-19,8.02E-19,7.30E-19,6.85E-19 +6.14E-19,8.45E-19,3.71E-19,8.77E-19,5.99E-19,6.18E-19,1.27E-19,5.54E-19,1.74E-19,4.88E-19,6.07E-19,2.24E-19,7.84E-20,6.88E-20,2.87E-19,9.66E-19,7.48E-19,4.71E-19,3.38E-19,2.86E-19,6.52E-19,8.68E-19,4.99E-19,9.07E-19,7.97E-19,1.80E-19,1.28E-19,1.30E-19,3.12E-19,6.74E-19,6.35E-20,1.76E-19,8.38E-19,6.62E-19,2.33E-19,4.37E-19,1.48E-19,1.02E-18,7.14E-19,1.34E-19,1.35E-19,8.15E-19,6.36E-19,2.29E-19,1.46E-19,1.99E-19,9.47E-19,4.65E-19,2.07E-19,7.41E-19,5.05E-19,5.42E-19,6.87E-19,9.67E-19,3.10E-19,6.02E-19,6.53E-19,8.17E-19,9.91E-19,5.45E-19,4.04E-19,5.59E-19,5.09E-19,3.11E-19,9.34E-19,5.96E-19,4.13E-19,9.59E-19,3.15E-19,5.68E-19,6.19E-19,6.65E-19,9.37E-19,6.02E-19,9.26E-19,9.98E-19,6.83E-19,4.02E-19,1.77E-19,2.38E-19,9.55E-19,5.68E-19,4.38E-19,1.78E-19,9.80E-19,6.84E-19,8.45E-19,2.63E-19,5.97E-19,5.05E-19,8.99E-19,9.78E-20,3.36E-19,3.19E-19,3.84E-19,8.43E-19,1.44E-19,8.07E-19,7.34E-19,6.88E-19 +6.19E-19,8.51E-19,3.77E-19,8.81E-19,6.03E-19,6.22E-19,1.31E-19,5.59E-19,1.79E-19,4.92E-19,6.11E-19,2.29E-19,8.21E-20,7.36E-20,2.91E-19,9.71E-19,7.53E-19,4.76E-19,3.41E-19,2.90E-19,6.56E-19,8.73E-19,5.03E-19,9.12E-19,8.02E-19,1.84E-19,1.33E-19,1.34E-19,3.17E-19,6.78E-19,6.74E-20,1.81E-19,8.42E-19,6.66E-19,2.37E-19,4.40E-19,1.53E-19,1.02E-18,7.18E-19,1.37E-19,1.38E-19,8.18E-19,6.40E-19,2.35E-19,1.51E-19,2.03E-19,9.52E-19,4.71E-19,2.13E-19,7.46E-19,5.10E-19,5.47E-19,6.92E-19,9.72E-19,3.14E-19,6.05E-19,6.58E-19,8.23E-19,9.95E-19,5.50E-19,4.07E-19,5.62E-19,5.14E-19,3.15E-19,9.39E-19,6.00E-19,4.16E-19,9.63E-19,3.19E-19,5.72E-19,6.24E-19,6.71E-19,9.40E-19,6.07E-19,9.31E-19,1.00E-18,6.87E-19,4.07E-19,1.81E-19,2.44E-19,9.62E-19,5.73E-19,4.44E-19,1.81E-19,9.85E-19,6.88E-19,8.49E-19,2.68E-19,6.01E-19,5.10E-19,9.04E-19,1.02E-19,3.41E-19,3.24E-19,3.89E-19,8.50E-19,1.50E-19,8.12E-19,7.38E-19,6.92E-19 +6.24E-19,8.56E-19,3.82E-19,8.86E-19,6.07E-19,6.26E-19,1.35E-19,5.63E-19,1.83E-19,4.96E-19,6.14E-19,2.34E-19,8.57E-20,7.84E-20,2.95E-19,9.75E-19,7.58E-19,4.81E-19,3.45E-19,2.93E-19,6.61E-19,8.78E-19,5.07E-19,9.17E-19,8.07E-19,1.89E-19,1.38E-19,1.38E-19,3.23E-19,6.82E-19,7.14E-20,1.86E-19,8.45E-19,6.69E-19,2.40E-19,4.44E-19,1.59E-19,1.03E-18,7.22E-19,1.40E-19,1.42E-19,8.22E-19,6.45E-19,2.40E-19,1.56E-19,2.07E-19,9.57E-19,4.76E-19,2.18E-19,7.50E-19,5.14E-19,5.53E-19,6.96E-19,9.78E-19,3.18E-19,6.08E-19,6.62E-19,8.29E-19,9.99E-19,5.54E-19,4.10E-19,5.65E-19,5.19E-19,3.18E-19,9.44E-19,6.03E-19,4.20E-19,9.66E-19,3.23E-19,5.76E-19,6.29E-19,6.76E-19,9.44E-19,6.11E-19,9.36E-19,1.00E-18,6.90E-19,4.13E-19,1.85E-19,2.49E-19,9.68E-19,5.78E-19,4.49E-19,1.85E-19,9.90E-19,6.92E-19,8.53E-19,2.73E-19,6.05E-19,5.15E-19,9.09E-19,1.06E-19,3.46E-19,3.28E-19,3.95E-19,8.56E-19,1.55E-19,8.17E-19,7.42E-19,6.96E-19 +6.29E-19,8.61E-19,3.87E-19,8.90E-19,6.11E-19,6.29E-19,1.38E-19,5.67E-19,1.88E-19,4.99E-19,6.18E-19,2.39E-19,8.94E-20,8.32E-20,2.99E-19,9.80E-19,7.63E-19,4.86E-19,3.49E-19,2.96E-19,6.66E-19,8.83E-19,5.11E-19,9.22E-19,8.11E-19,1.94E-19,1.42E-19,1.42E-19,3.28E-19,6.86E-19,7.53E-20,1.92E-19,8.49E-19,6.73E-19,2.44E-19,4.48E-19,1.64E-19,1.03E-18,7.26E-19,1.44E-19,1.46E-19,8.25E-19,6.49E-19,2.45E-19,1.60E-19,2.12E-19,9.62E-19,4.81E-19,2.24E-19,7.55E-19,5.19E-19,5.58E-19,7.00E-19,9.84E-19,3.22E-19,6.12E-19,6.67E-19,8.35E-19,1.00E-18,5.58E-19,4.13E-19,5.69E-19,5.24E-19,3.22E-19,9.49E-19,6.07E-19,4.23E-19,9.70E-19,3.27E-19,5.80E-19,6.34E-19,6.81E-19,9.48E-19,6.16E-19,9.41E-19,1.01E-18,6.93E-19,4.18E-19,1.89E-19,2.55E-19,9.74E-19,5.83E-19,4.54E-19,1.88E-19,9.95E-19,6.96E-19,8.57E-19,2.78E-19,6.09E-19,5.20E-19,9.14E-19,1.09E-19,3.51E-19,3.32E-19,4.00E-19,8.62E-19,1.60E-19,8.22E-19,7.46E-19,7.00E-19 +6.34E-19,8.67E-19,3.93E-19,8.95E-19,6.15E-19,6.33E-19,1.42E-19,5.71E-19,1.93E-19,5.03E-19,6.21E-19,2.43E-19,9.31E-20,8.79E-20,3.03E-19,9.85E-19,7.68E-19,4.91E-19,3.53E-19,3.00E-19,6.70E-19,8.88E-19,5.15E-19,9.27E-19,8.16E-19,1.98E-19,1.47E-19,1.46E-19,3.33E-19,6.90E-19,7.93E-20,1.97E-19,8.52E-19,6.77E-19,2.47E-19,4.52E-19,1.70E-19,1.04E-18,7.30E-19,1.47E-19,1.50E-19,8.29E-19,6.53E-19,2.50E-19,1.65E-19,2.16E-19,9.67E-19,4.87E-19,2.29E-19,7.60E-19,5.23E-19,5.64E-19,7.04E-19,9.89E-19,3.26E-19,6.15E-19,6.71E-19,8.41E-19,1.01E-18,5.63E-19,4.16E-19,5.72E-19,5.29E-19,3.25E-19,9.54E-19,6.10E-19,4.27E-19,9.73E-19,3.30E-19,5.84E-19,6.38E-19,6.86E-19,9.52E-19,6.20E-19,9.46E-19,1.01E-18,6.97E-19,4.24E-19,1.93E-19,2.60E-19,9.80E-19,5.88E-19,4.60E-19,1.92E-19,1.00E-18,7.00E-19,8.61E-19,2.83E-19,6.13E-19,5.26E-19,9.18E-19,1.13E-19,3.56E-19,3.36E-19,4.05E-19,8.69E-19,1.66E-19,8.26E-19,7.50E-19,7.03E-19 +6.39E-19,8.72E-19,3.98E-19,8.99E-19,6.19E-19,6.37E-19,1.46E-19,5.75E-19,1.98E-19,5.07E-19,6.24E-19,2.48E-19,9.67E-20,9.27E-20,3.07E-19,9.90E-19,7.73E-19,4.96E-19,3.57E-19,3.03E-19,6.75E-19,8.93E-19,5.18E-19,9.32E-19,8.21E-19,2.03E-19,1.52E-19,1.50E-19,3.38E-19,6.94E-19,8.33E-20,2.03E-19,8.55E-19,6.80E-19,2.51E-19,4.55E-19,1.75E-19,1.04E-18,7.34E-19,1.50E-19,1.54E-19,8.33E-19,6.57E-19,2.56E-19,1.70E-19,2.20E-19,9.72E-19,4.92E-19,2.34E-19,7.65E-19,5.28E-19,5.69E-19,7.08E-19,9.95E-19,3.30E-19,6.18E-19,6.76E-19,8.47E-19,1.01E-18,5.67E-19,4.20E-19,5.75E-19,5.34E-19,3.29E-19,9.59E-19,6.14E-19,4.30E-19,9.77E-19,3.34E-19,5.88E-19,6.43E-19,6.92E-19,9.55E-19,6.24E-19,9.51E-19,1.01E-18,7.00E-19,4.29E-19,1.97E-19,2.66E-19,9.86E-19,5.93E-19,4.65E-19,1.95E-19,1.01E-18,7.04E-19,8.65E-19,2.88E-19,6.17E-19,5.31E-19,9.23E-19,1.17E-19,3.61E-19,3.41E-19,4.11E-19,8.75E-19,1.71E-19,8.31E-19,7.54E-19,7.07E-19 +6.44E-19,8.77E-19,4.04E-19,9.04E-19,6.23E-19,6.40E-19,1.49E-19,5.80E-19,2.02E-19,5.10E-19,6.28E-19,2.53E-19,1.00E-19,9.75E-20,3.11E-19,9.94E-19,7.78E-19,5.01E-19,3.61E-19,3.07E-19,6.80E-19,8.98E-19,5.22E-19,9.37E-19,8.25E-19,2.08E-19,1.57E-19,1.54E-19,3.43E-19,6.98E-19,8.72E-20,2.08E-19,8.59E-19,6.84E-19,2.55E-19,4.59E-19,1.81E-19,1.05E-18,7.38E-19,1.53E-19,1.58E-19,8.36E-19,6.62E-19,2.61E-19,1.74E-19,2.25E-19,9.77E-19,4.97E-19,2.40E-19,7.69E-19,5.33E-19,5.75E-19,7.13E-19,1.00E-18,3.33E-19,6.22E-19,6.80E-19,8.53E-19,1.02E-18,5.71E-19,4.23E-19,5.79E-19,5.39E-19,3.33E-19,9.64E-19,6.18E-19,4.34E-19,9.80E-19,3.38E-19,5.92E-19,6.48E-19,6.97E-19,9.59E-19,6.29E-19,9.56E-19,1.02E-18,7.03E-19,4.35E-19,2.00E-19,2.72E-19,9.93E-19,5.98E-19,4.70E-19,1.98E-19,1.01E-18,7.07E-19,8.69E-19,2.92E-19,6.21E-19,5.36E-19,9.28E-19,1.21E-19,3.66E-19,3.45E-19,4.16E-19,8.81E-19,1.77E-19,8.36E-19,7.59E-19,7.11E-19 +6.48E-19,8.83E-19,4.09E-19,9.08E-19,6.27E-19,6.44E-19,1.53E-19,5.84E-19,2.07E-19,5.14E-19,6.31E-19,2.57E-19,1.04E-19,1.02E-19,3.15E-19,9.99E-19,7.83E-19,5.06E-19,3.65E-19,3.10E-19,6.84E-19,9.04E-19,5.26E-19,9.42E-19,8.30E-19,2.12E-19,1.62E-19,1.58E-19,3.48E-19,7.02E-19,9.12E-20,2.13E-19,8.62E-19,6.87E-19,2.58E-19,4.63E-19,1.87E-19,1.05E-18,7.41E-19,1.57E-19,1.62E-19,8.40E-19,6.66E-19,2.66E-19,1.79E-19,2.29E-19,9.82E-19,5.03E-19,2.45E-19,7.74E-19,5.37E-19,5.80E-19,7.17E-19,1.01E-18,3.37E-19,6.25E-19,6.85E-19,8.59E-19,1.02E-18,5.76E-19,4.26E-19,5.82E-19,5.44E-19,3.36E-19,9.69E-19,6.21E-19,4.37E-19,9.83E-19,3.42E-19,5.96E-19,6.53E-19,7.02E-19,9.63E-19,6.33E-19,9.61E-19,1.02E-18,7.07E-19,4.40E-19,2.04E-19,2.77E-19,9.99E-19,6.03E-19,4.76E-19,2.02E-19,1.02E-18,7.11E-19,8.73E-19,2.97E-19,6.25E-19,5.41E-19,9.32E-19,1.25E-19,3.71E-19,3.49E-19,4.21E-19,8.87E-19,1.82E-19,8.41E-19,7.63E-19,7.15E-19 +6.53E-19,8.88E-19,4.14E-19,9.13E-19,6.31E-19,6.48E-19,1.57E-19,5.88E-19,2.12E-19,5.18E-19,6.35E-19,2.62E-19,1.08E-19,1.07E-19,3.19E-19,1.00E-18,7.88E-19,5.11E-19,3.69E-19,3.14E-19,6.89E-19,9.09E-19,5.30E-19,9.47E-19,8.35E-19,2.17E-19,1.66E-19,1.62E-19,3.53E-19,7.06E-19,9.52E-20,2.19E-19,8.66E-19,6.91E-19,2.62E-19,4.67E-19,1.92E-19,1.06E-18,7.45E-19,1.60E-19,1.65E-19,8.43E-19,6.70E-19,2.72E-19,1.84E-19,2.33E-19,9.87E-19,5.08E-19,2.50E-19,7.79E-19,5.42E-19,5.85E-19,7.21E-19,1.01E-18,3.41E-19,6.28E-19,6.89E-19,8.65E-19,1.02E-18,5.80E-19,4.29E-19,5.85E-19,5.50E-19,3.40E-19,9.74E-19,6.25E-19,4.41E-19,9.87E-19,3.46E-19,6.00E-19,6.58E-19,7.07E-19,9.67E-19,6.37E-19,9.66E-19,1.02E-18,7.10E-19,4.46E-19,2.08E-19,2.83E-19,1.01E-18,6.08E-19,4.81E-19,2.05E-19,1.02E-18,7.15E-19,8.78E-19,3.02E-19,6.29E-19,5.46E-19,9.37E-19,1.29E-19,3.76E-19,3.53E-19,4.27E-19,8.94E-19,1.88E-19,8.46E-19,7.67E-19,7.18E-19 +6.58E-19,8.93E-19,4.20E-19,9.17E-19,6.35E-19,6.51E-19,1.60E-19,5.92E-19,2.17E-19,5.21E-19,6.38E-19,2.67E-19,1.11E-19,1.12E-19,3.23E-19,1.01E-18,7.93E-19,5.16E-19,3.73E-19,3.17E-19,6.94E-19,9.14E-19,5.34E-19,9.52E-19,8.39E-19,2.22E-19,1.71E-19,1.66E-19,3.58E-19,7.10E-19,9.91E-20,2.24E-19,8.69E-19,6.94E-19,2.65E-19,4.70E-19,1.98E-19,1.06E-18,7.49E-19,1.63E-19,1.69E-19,8.47E-19,6.75E-19,2.77E-19,1.89E-19,2.38E-19,9.92E-19,5.13E-19,2.56E-19,7.84E-19,5.46E-19,5.91E-19,7.25E-19,1.02E-18,3.45E-19,6.32E-19,6.94E-19,8.71E-19,1.03E-18,5.84E-19,4.32E-19,5.89E-19,5.55E-19,3.43E-19,9.79E-19,6.28E-19,4.44E-19,9.90E-19,3.50E-19,6.04E-19,6.63E-19,7.12E-19,9.70E-19,6.42E-19,9.71E-19,1.03E-18,7.13E-19,4.51E-19,2.12E-19,2.88E-19,1.01E-18,6.13E-19,4.87E-19,2.09E-19,1.03E-18,7.19E-19,8.82E-19,3.07E-19,6.33E-19,5.52E-19,9.42E-19,1.32E-19,3.81E-19,3.58E-19,4.32E-19,9.00E-19,1.93E-19,8.51E-19,7.71E-19,7.22E-19 +6.63E-19,8.99E-19,4.25E-19,9.22E-19,6.39E-19,6.55E-19,1.64E-19,5.97E-19,2.21E-19,5.25E-19,6.42E-19,2.72E-19,1.15E-19,1.17E-19,3.27E-19,1.01E-18,7.98E-19,5.21E-19,3.77E-19,3.21E-19,6.98E-19,9.19E-19,5.38E-19,9.56E-19,8.44E-19,2.26E-19,1.76E-19,1.70E-19,3.63E-19,7.14E-19,1.03E-19,2.29E-19,8.73E-19,6.98E-19,2.69E-19,4.74E-19,2.03E-19,1.07E-18,7.53E-19,1.67E-19,1.73E-19,8.50E-19,6.79E-19,2.82E-19,1.93E-19,2.42E-19,9.97E-19,5.19E-19,2.61E-19,7.88E-19,5.51E-19,5.96E-19,7.29E-19,1.02E-18,3.49E-19,6.35E-19,6.99E-19,8.77E-19,1.03E-18,5.89E-19,4.35E-19,5.92E-19,5.60E-19,3.47E-19,9.83E-19,6.32E-19,4.48E-19,9.94E-19,3.54E-19,6.08E-19,6.68E-19,7.18E-19,9.74E-19,6.46E-19,9.76E-19,1.03E-18,7.17E-19,4.56E-19,2.16E-19,2.94E-19,1.02E-18,6.18E-19,4.92E-19,2.12E-19,1.03E-18,7.23E-19,8.86E-19,3.12E-19,6.37E-19,5.57E-19,9.46E-19,1.36E-19,3.86E-19,3.62E-19,4.37E-19,9.06E-19,1.98E-19,8.55E-19,7.75E-19,7.26E-19 +6.68E-19,9.04E-19,4.30E-19,9.26E-19,6.43E-19,6.59E-19,1.68E-19,6.01E-19,2.26E-19,5.29E-19,6.45E-19,2.76E-19,1.19E-19,1.21E-19,3.31E-19,1.02E-18,8.03E-19,5.26E-19,3.81E-19,3.24E-19,7.03E-19,9.24E-19,5.42E-19,9.61E-19,8.49E-19,2.31E-19,1.81E-19,1.74E-19,3.68E-19,7.18E-19,1.07E-19,2.35E-19,8.76E-19,7.02E-19,2.73E-19,4.78E-19,2.09E-19,1.07E-18,7.57E-19,1.70E-19,1.77E-19,8.54E-19,6.83E-19,2.87E-19,1.98E-19,2.46E-19,1.00E-18,5.24E-19,2.67E-19,7.93E-19,5.55E-19,6.02E-19,7.34E-19,1.03E-18,3.52E-19,6.39E-19,7.03E-19,8.83E-19,1.04E-18,5.93E-19,4.38E-19,5.95E-19,5.65E-19,3.50E-19,9.88E-19,6.35E-19,4.51E-19,9.97E-19,3.58E-19,6.12E-19,6.73E-19,7.23E-19,9.78E-19,6.50E-19,9.81E-19,1.03E-18,7.20E-19,4.62E-19,2.20E-19,3.00E-19,1.02E-18,6.23E-19,4.97E-19,2.16E-19,1.04E-18,7.27E-19,8.90E-19,3.17E-19,6.41E-19,5.62E-19,9.51E-19,1.40E-19,3.91E-19,3.66E-19,4.42E-19,9.13E-19,2.04E-19,8.60E-19,7.79E-19,7.30E-19 +6.73E-19,9.09E-19,4.36E-19,9.31E-19,6.47E-19,6.62E-19,1.71E-19,6.05E-19,2.31E-19,5.32E-19,6.48E-19,2.81E-19,1.22E-19,1.26E-19,3.35E-19,1.02E-18,8.08E-19,5.31E-19,3.85E-19,3.28E-19,7.08E-19,9.29E-19,5.46E-19,9.66E-19,8.53E-19,2.36E-19,1.86E-19,1.78E-19,3.73E-19,7.22E-19,1.11E-19,2.40E-19,8.80E-19,7.05E-19,2.76E-19,4.82E-19,2.14E-19,1.08E-18,7.61E-19,1.73E-19,1.81E-19,8.57E-19,6.87E-19,2.93E-19,2.03E-19,2.50E-19,1.01E-18,5.30E-19,2.72E-19,7.98E-19,5.60E-19,6.07E-19,7.38E-19,1.03E-18,3.56E-19,6.42E-19,7.08E-19,8.89E-19,1.04E-18,5.97E-19,4.41E-19,5.99E-19,5.70E-19,3.54E-19,9.93E-19,6.39E-19,4.55E-19,1.00E-18,3.62E-19,6.16E-19,6.78E-19,7.28E-19,9.81E-19,6.55E-19,9.85E-19,1.04E-18,7.24E-19,4.67E-19,2.24E-19,3.05E-19,1.03E-18,6.28E-19,5.03E-19,2.19E-19,1.04E-18,7.31E-19,8.94E-19,3.22E-19,6.45E-19,5.67E-19,9.56E-19,1.44E-19,3.95E-19,3.71E-19,4.48E-19,9.19E-19,2.09E-19,8.65E-19,7.83E-19,7.33E-19 +6.78E-19,9.15E-19,4.41E-19,9.35E-19,6.51E-19,6.66E-19,1.75E-19,6.09E-19,2.36E-19,5.36E-19,6.52E-19,2.86E-19,1.26E-19,1.31E-19,3.39E-19,1.03E-18,8.13E-19,5.36E-19,3.89E-19,3.31E-19,7.12E-19,9.34E-19,5.50E-19,9.71E-19,8.58E-19,2.40E-19,1.91E-19,1.82E-19,3.79E-19,7.25E-19,1.15E-19,2.46E-19,8.83E-19,7.09E-19,2.80E-19,4.85E-19,2.20E-19,1.08E-18,7.64E-19,1.77E-19,1.85E-19,8.61E-19,6.92E-19,2.98E-19,2.07E-19,2.55E-19,1.01E-18,5.35E-19,2.77E-19,8.03E-19,5.65E-19,6.13E-19,7.42E-19,1.04E-18,3.60E-19,6.45E-19,7.12E-19,8.95E-19,1.04E-18,6.02E-19,4.44E-19,6.02E-19,5.75E-19,3.58E-19,9.98E-19,6.43E-19,4.58E-19,1.00E-18,3.66E-19,6.20E-19,6.83E-19,7.33E-19,9.85E-19,6.59E-19,9.90E-19,1.04E-18,7.27E-19,4.73E-19,2.28E-19,3.11E-19,1.04E-18,6.32E-19,5.08E-19,2.23E-19,1.05E-18,7.34E-19,8.98E-19,3.27E-19,6.50E-19,5.72E-19,9.60E-19,1.48E-19,4.00E-19,3.75E-19,4.53E-19,9.25E-19,2.15E-19,8.70E-19,7.87E-19,7.37E-19 +6.83E-19,9.20E-19,4.46E-19,9.40E-19,6.55E-19,6.70E-19,1.79E-19,6.13E-19,2.40E-19,5.40E-19,6.55E-19,2.91E-19,1.30E-19,1.36E-19,3.43E-19,1.03E-18,8.18E-19,5.41E-19,3.93E-19,3.35E-19,7.17E-19,9.39E-19,5.54E-19,9.76E-19,8.63E-19,2.45E-19,1.95E-19,1.86E-19,3.84E-19,7.29E-19,1.19E-19,2.51E-19,8.86E-19,7.12E-19,2.83E-19,4.89E-19,2.25E-19,1.09E-18,7.68E-19,1.80E-19,1.88E-19,8.64E-19,6.96E-19,3.03E-19,2.12E-19,2.59E-19,1.02E-18,5.40E-19,2.83E-19,8.07E-19,5.69E-19,6.18E-19,7.46E-19,1.05E-18,3.64E-19,6.49E-19,7.17E-19,9.01E-19,1.05E-18,6.06E-19,4.48E-19,6.05E-19,5.80E-19,3.61E-19,1.00E-18,6.46E-19,4.62E-19,1.01E-18,3.69E-19,6.24E-19,6.88E-19,7.39E-19,9.89E-19,6.63E-19,9.95E-19,1.04E-18,7.30E-19,4.78E-19,2.32E-19,3.16E-19,1.04E-18,6.37E-19,5.13E-19,2.26E-19,1.05E-18,7.38E-19,9.02E-19,3.32E-19,6.54E-19,5.77E-19,9.65E-19,1.52E-19,4.05E-19,3.79E-19,4.58E-19,9.31E-19,2.20E-19,8.75E-19,7.92E-19,7.41E-19 +6.87E-19,9.25E-19,4.52E-19,9.44E-19,6.59E-19,6.73E-19,1.82E-19,6.18E-19,2.45E-19,5.43E-19,6.59E-19,2.95E-19,1.33E-19,1.41E-19,3.47E-19,1.04E-18,8.23E-19,5.46E-19,3.96E-19,3.38E-19,7.21E-19,9.44E-19,5.57E-19,9.81E-19,8.68E-19,2.50E-19,2.00E-19,1.90E-19,3.89E-19,7.33E-19,1.23E-19,2.56E-19,8.90E-19,7.16E-19,2.87E-19,4.93E-19,2.31E-19,1.09E-18,7.72E-19,1.83E-19,1.92E-19,8.68E-19,7.00E-19,3.08E-19,2.17E-19,2.63E-19,1.02E-18,5.46E-19,2.88E-19,8.12E-19,5.74E-19,6.23E-19,7.50E-19,1.05E-18,3.68E-19,6.52E-19,7.21E-19,9.07E-19,1.05E-18,6.10E-19,4.51E-19,6.09E-19,5.85E-19,3.65E-19,1.01E-18,6.50E-19,4.65E-19,1.01E-18,3.73E-19,6.28E-19,6.93E-19,7.44E-19,9.93E-19,6.68E-19,1.00E-18,1.05E-18,7.34E-19,4.84E-19,2.36E-19,3.22E-19,1.05E-18,6.42E-19,5.19E-19,2.30E-19,1.06E-18,7.42E-19,9.06E-19,3.37E-19,6.58E-19,5.83E-19,9.70E-19,1.56E-19,4.10E-19,3.83E-19,4.64E-19,9.38E-19,2.26E-19,8.80E-19,7.96E-19,7.44E-19 +6.92E-19,9.30E-19,4.57E-19,9.49E-19,6.64E-19,6.77E-19,1.86E-19,6.22E-19,2.50E-19,5.47E-19,6.62E-19,3.00E-19,1.37E-19,1.45E-19,3.51E-19,1.04E-18,8.27E-19,5.51E-19,4.00E-19,3.41E-19,7.26E-19,9.49E-19,5.61E-19,9.86E-19,8.72E-19,2.54E-19,2.05E-19,1.94E-19,3.94E-19,7.37E-19,1.27E-19,2.62E-19,8.93E-19,7.19E-19,2.91E-19,4.96E-19,2.36E-19,1.10E-18,7.76E-19,1.86E-19,1.96E-19,8.72E-19,7.05E-19,3.14E-19,2.22E-19,2.68E-19,1.03E-18,5.51E-19,2.94E-19,8.17E-19,5.78E-19,6.29E-19,7.55E-19,1.06E-18,3.72E-19,6.55E-19,7.26E-19,9.13E-19,1.06E-18,6.15E-19,4.54E-19,6.12E-19,5.90E-19,3.68E-19,1.01E-18,6.53E-19,4.69E-19,1.01E-18,3.77E-19,6.32E-19,6.98E-19,7.49E-19,9.96E-19,6.72E-19,1.01E-18,1.05E-18,7.37E-19,4.89E-19,2.40E-19,3.27E-19,1.05E-18,6.47E-19,5.24E-19,2.33E-19,1.06E-18,7.46E-19,9.10E-19,3.42E-19,6.62E-19,5.88E-19,9.74E-19,1.59E-19,4.15E-19,3.88E-19,4.69E-19,9.44E-19,2.31E-19,8.84E-19,8.00E-19,7.48E-19 +6.97E-19,9.36E-19,4.63E-19,9.53E-19,6.68E-19,6.80E-19,1.90E-19,6.26E-19,2.54E-19,5.51E-19,6.65E-19,3.05E-19,1.41E-19,1.50E-19,3.54E-19,1.05E-18,8.32E-19,5.56E-19,4.04E-19,3.45E-19,7.31E-19,9.54E-19,5.65E-19,9.91E-19,8.77E-19,2.59E-19,2.10E-19,1.98E-19,3.99E-19,7.41E-19,1.31E-19,2.67E-19,8.97E-19,7.23E-19,2.94E-19,5.00E-19,2.42E-19,1.10E-18,7.80E-19,1.90E-19,2.00E-19,8.75E-19,7.09E-19,3.19E-19,2.26E-19,2.72E-19,1.03E-18,5.56E-19,2.99E-19,8.22E-19,5.83E-19,6.34E-19,7.59E-19,1.06E-18,3.75E-19,6.59E-19,7.30E-19,9.19E-19,1.06E-18,6.19E-19,4.57E-19,6.15E-19,5.95E-19,3.72E-19,1.02E-18,6.57E-19,4.72E-19,1.02E-18,3.81E-19,6.36E-19,7.02E-19,7.54E-19,1.00E-18,6.77E-19,1.01E-18,1.05E-18,7.40E-19,4.95E-19,2.44E-19,3.33E-19,1.06E-18,6.52E-19,5.29E-19,2.37E-19,1.07E-18,7.50E-19,9.14E-19,3.47E-19,6.66E-19,5.93E-19,9.79E-19,1.63E-19,4.20E-19,3.92E-19,4.74E-19,9.50E-19,2.37E-19,8.89E-19,8.04E-19,7.52E-19 +7.02E-19,9.41E-19,4.68E-19,9.58E-19,6.72E-19,6.84E-19,1.93E-19,6.30E-19,2.59E-19,5.54E-19,6.69E-19,3.10E-19,1.44E-19,1.55E-19,3.58E-19,1.05E-18,8.37E-19,5.61E-19,4.08E-19,3.48E-19,7.35E-19,9.60E-19,5.69E-19,9.96E-19,8.82E-19,2.64E-19,2.15E-19,2.02E-19,4.04E-19,7.45E-19,1.35E-19,2.72E-19,9.00E-19,7.27E-19,2.98E-19,5.04E-19,2.47E-19,1.11E-18,7.84E-19,1.93E-19,2.04E-19,8.79E-19,7.13E-19,3.24E-19,2.31E-19,2.76E-19,1.04E-18,5.62E-19,3.04E-19,8.26E-19,5.87E-19,6.40E-19,7.63E-19,1.07E-18,3.79E-19,6.62E-19,7.35E-19,9.25E-19,1.06E-18,6.23E-19,4.60E-19,6.19E-19,6.00E-19,3.76E-19,1.02E-18,6.61E-19,4.76E-19,1.02E-18,3.85E-19,6.40E-19,7.07E-19,7.60E-19,1.00E-18,6.81E-19,1.02E-18,1.06E-18,7.44E-19,5.00E-19,2.48E-19,3.39E-19,1.07E-18,6.57E-19,5.35E-19,2.40E-19,1.07E-18,7.54E-19,9.18E-19,3.52E-19,6.70E-19,5.98E-19,9.84E-19,1.67E-19,4.25E-19,3.96E-19,4.80E-19,9.57E-19,2.42E-19,8.94E-19,8.08E-19,7.56E-19 +7.07E-19,9.46E-19,4.73E-19,9.62E-19,6.76E-19,6.88E-19,1.97E-19,6.34E-19,2.64E-19,5.58E-19,6.72E-19,3.14E-19,1.48E-19,1.60E-19,3.62E-19,1.06E-18,8.42E-19,5.65E-19,4.12E-19,3.52E-19,7.40E-19,9.65E-19,5.73E-19,1.00E-18,8.86E-19,2.68E-19,2.20E-19,2.06E-19,4.09E-19,7.49E-19,1.39E-19,2.78E-19,9.04E-19,7.30E-19,3.01E-19,5.08E-19,2.53E-19,1.11E-18,7.88E-19,1.96E-19,2.08E-19,8.82E-19,7.17E-19,3.29E-19,2.36E-19,2.81E-19,1.04E-18,5.67E-19,3.10E-19,8.31E-19,5.92E-19,6.45E-19,7.67E-19,1.07E-18,3.83E-19,6.65E-19,7.39E-19,9.31E-19,1.07E-18,6.28E-19,4.63E-19,6.22E-19,6.06E-19,3.79E-19,1.03E-18,6.64E-19,4.79E-19,1.03E-18,3.89E-19,6.44E-19,7.12E-19,7.65E-19,1.01E-18,6.85E-19,1.02E-18,1.06E-18,7.47E-19,5.06E-19,2.52E-19,3.44E-19,1.07E-18,6.62E-19,5.40E-19,2.44E-19,1.08E-18,7.58E-19,9.22E-19,3.57E-19,6.74E-19,6.03E-19,9.88E-19,1.71E-19,4.30E-19,4.00E-19,4.85E-19,9.63E-19,2.47E-19,8.99E-19,8.12E-19,7.59E-19 +7.12E-19,9.52E-19,4.79E-19,9.67E-19,6.80E-19,6.91E-19,2.01E-19,6.39E-19,2.69E-19,5.62E-19,6.76E-19,3.19E-19,1.52E-19,1.65E-19,3.66E-19,1.06E-18,8.47E-19,5.70E-19,4.16E-19,3.55E-19,7.45E-19,9.70E-19,5.77E-19,1.01E-18,8.91E-19,2.73E-19,2.24E-19,2.10E-19,4.14E-19,7.53E-19,1.43E-19,2.83E-19,9.07E-19,7.34E-19,3.05E-19,5.11E-19,2.58E-19,1.12E-18,7.91E-19,2.00E-19,2.12E-19,8.86E-19,7.22E-19,3.35E-19,2.40E-19,2.85E-19,1.05E-18,5.72E-19,3.15E-19,8.36E-19,5.97E-19,6.50E-19,7.71E-19,1.08E-18,3.87E-19,6.69E-19,7.44E-19,9.37E-19,1.07E-18,6.32E-19,4.66E-19,6.25E-19,6.11E-19,3.83E-19,1.03E-18,6.68E-19,4.83E-19,1.03E-18,3.93E-19,6.48E-19,7.17E-19,7.70E-19,1.01E-18,6.90E-19,1.03E-18,1.06E-18,7.50E-19,5.11E-19,2.56E-19,3.50E-19,1.08E-18,6.67E-19,5.45E-19,2.47E-19,1.08E-18,7.61E-19,9.26E-19,3.62E-19,6.78E-19,6.09E-19,9.93E-19,1.75E-19,4.35E-19,4.05E-19,4.90E-19,9.69E-19,2.53E-19,9.04E-19,8.16E-19,7.63E-19 +7.17E-19,9.57E-19,4.84E-19,9.71E-19,6.84E-19,6.95E-19,2.04E-19,6.43E-19,2.73E-19,5.65E-19,6.79E-19,3.24E-19,1.55E-19,1.69E-19,3.70E-19,1.06E-18,8.52E-19,5.75E-19,4.20E-19,3.59E-19,7.49E-19,9.75E-19,5.81E-19,1.01E-18,8.96E-19,2.78E-19,2.29E-19,2.14E-19,4.19E-19,7.57E-19,1.47E-19,2.89E-19,9.11E-19,7.37E-19,3.09E-19,5.15E-19,2.64E-19,1.12E-18,7.95E-19,2.03E-19,2.15E-19,8.89E-19,7.26E-19,3.40E-19,2.45E-19,2.89E-19,1.05E-18,5.78E-19,3.20E-19,8.41E-19,6.01E-19,6.56E-19,7.76E-19,1.09E-18,3.91E-19,6.72E-19,7.49E-19,9.43E-19,1.08E-18,6.36E-19,4.69E-19,6.29E-19,6.16E-19,3.86E-19,1.04E-18,6.71E-19,4.86E-19,1.03E-18,3.97E-19,6.52E-19,7.22E-19,7.75E-19,1.02E-18,6.94E-19,1.03E-18,1.07E-18,7.54E-19,5.17E-19,2.60E-19,3.55E-19,1.09E-18,6.72E-19,5.51E-19,2.51E-19,1.09E-18,7.65E-19,9.30E-19,3.67E-19,6.82E-19,6.14E-19,9.98E-19,1.79E-19,4.40E-19,4.09E-19,4.95E-19,9.75E-19,2.58E-19,9.09E-19,8.20E-19,7.67E-19 +7.22E-19,9.62E-19,4.89E-19,9.76E-19,6.88E-19,6.99E-19,2.08E-19,6.47E-19,2.78E-19,5.69E-19,6.83E-19,3.28E-19,1.59E-19,1.74E-19,3.74E-19,1.07E-18,8.57E-19,5.80E-19,4.24E-19,3.62E-19,7.54E-19,9.80E-19,5.85E-19,1.02E-18,9.00E-19,2.82E-19,2.34E-19,2.18E-19,4.24E-19,7.61E-19,1.51E-19,2.94E-19,9.14E-19,7.41E-19,3.12E-19,5.19E-19,2.69E-19,1.13E-18,7.99E-19,2.06E-19,2.19E-19,8.93E-19,7.30E-19,3.45E-19,2.50E-19,2.94E-19,1.06E-18,5.83E-19,3.26E-19,8.45E-19,6.06E-19,6.61E-19,7.80E-19,1.09E-18,3.95E-19,6.75E-19,7.53E-19,9.49E-19,1.08E-18,6.40E-19,4.72E-19,6.32E-19,6.21E-19,3.90E-19,1.04E-18,6.75E-19,4.90E-19,1.04E-18,4.01E-19,6.56E-19,7.27E-19,7.80E-19,1.02E-18,6.98E-19,1.04E-18,1.07E-18,7.57E-19,5.22E-19,2.64E-19,3.61E-19,1.09E-18,6.77E-19,5.56E-19,2.54E-19,1.09E-18,7.69E-19,9.34E-19,3.72E-19,6.86E-19,6.19E-19,1.00E-18,1.82E-19,4.45E-19,4.13E-19,5.01E-19,9.82E-19,2.64E-19,9.13E-19,8.25E-19,7.71E-19 +7.27E-19,9.68E-19,4.95E-19,9.80E-19,6.92E-19,7.02E-19,2.12E-19,6.51E-19,2.83E-19,5.73E-19,6.86E-19,3.33E-19,1.63E-19,1.79E-19,3.78E-19,1.07E-18,8.62E-19,5.85E-19,4.28E-19,3.66E-19,7.59E-19,9.85E-19,5.89E-19,1.02E-18,9.05E-19,2.87E-19,2.39E-19,2.22E-19,4.30E-19,7.65E-19,1.55E-19,2.99E-19,9.17E-19,7.45E-19,3.16E-19,5.23E-19,2.75E-19,1.13E-18,8.03E-19,2.09E-19,2.23E-19,8.96E-19,7.35E-19,3.50E-19,2.55E-19,2.98E-19,1.06E-18,5.89E-19,3.31E-19,8.50E-19,6.10E-19,6.67E-19,7.84E-19,1.10E-18,3.98E-19,6.79E-19,7.58E-19,9.55E-19,1.08E-18,6.45E-19,4.76E-19,6.35E-19,6.26E-19,3.93E-19,1.05E-18,6.79E-19,4.93E-19,1.04E-18,4.05E-19,6.59E-19,7.32E-19,7.86E-19,1.02E-18,7.03E-19,1.04E-18,1.07E-18,7.60E-19,5.27E-19,2.68E-19,3.66E-19,1.10E-18,6.82E-19,5.61E-19,2.57E-19,1.10E-18,7.73E-19,9.38E-19,3.77E-19,6.90E-19,6.24E-19,1.01E-18,1.86E-19,4.50E-19,4.18E-19,5.06E-19,9.88E-19,2.69E-19,9.18E-19,8.29E-19,7.74E-19 +7.31E-19,9.73E-19,5.00E-19,9.85E-19,6.96E-19,7.06E-19,2.16E-19,6.55E-19,2.88E-19,5.76E-19,6.89E-19,3.38E-19,1.66E-19,1.84E-19,3.82E-19,1.08E-18,8.67E-19,5.90E-19,4.32E-19,3.69E-19,7.63E-19,9.90E-19,5.92E-19,1.03E-18,9.10E-19,2.92E-19,2.44E-19,2.26E-19,4.35E-19,7.69E-19,1.59E-19,3.05E-19,9.21E-19,7.48E-19,3.20E-19,5.26E-19,2.80E-19,1.14E-18,8.07E-19,2.13E-19,2.27E-19,9.00E-19,7.39E-19,3.56E-19,2.59E-19,3.02E-19,1.07E-18,5.94E-19,3.37E-19,8.55E-19,6.15E-19,6.72E-19,7.88E-19,1.10E-18,4.02E-19,6.82E-19,7.62E-19,9.61E-19,1.09E-18,6.49E-19,4.79E-19,6.39E-19,6.31E-19,3.97E-19,1.05E-18,6.82E-19,4.97E-19,1.04E-18,4.08E-19,6.63E-19,7.37E-19,7.91E-19,1.03E-18,7.07E-19,1.05E-18,1.08E-18,7.64E-19,5.33E-19,2.72E-19,3.72E-19,1.10E-18,6.87E-19,5.67E-19,2.61E-19,1.10E-18,7.77E-19,9.42E-19,3.82E-19,6.94E-19,6.29E-19,1.01E-18,1.90E-19,4.55E-19,4.22E-19,5.11E-19,9.94E-19,2.75E-19,9.23E-19,8.33E-19,7.78E-19 +7.36E-19,9.78E-19,5.05E-19,9.89E-19,7.00E-19,7.10E-19,2.19E-19,6.60E-19,2.92E-19,5.80E-19,6.93E-19,3.43E-19,1.70E-19,1.89E-19,3.86E-19,1.08E-18,8.72E-19,5.95E-19,4.36E-19,3.73E-19,7.68E-19,9.95E-19,5.96E-19,1.03E-18,9.14E-19,2.96E-19,2.49E-19,2.30E-19,4.40E-19,7.73E-19,1.62E-19,3.10E-19,9.24E-19,7.52E-19,3.23E-19,5.30E-19,2.86E-19,1.14E-18,8.11E-19,2.16E-19,2.31E-19,9.03E-19,7.43E-19,3.61E-19,2.64E-19,3.07E-19,1.07E-18,5.99E-19,3.42E-19,8.60E-19,6.19E-19,6.78E-19,7.92E-19,1.11E-18,4.06E-19,6.86E-19,7.67E-19,9.67E-19,1.09E-18,6.53E-19,4.82E-19,6.42E-19,6.36E-19,4.01E-19,1.06E-18,6.86E-19,5.00E-19,1.05E-18,4.12E-19,6.67E-19,7.42E-19,7.96E-19,1.03E-18,7.11E-19,1.05E-18,1.08E-18,7.67E-19,5.38E-19,2.76E-19,3.78E-19,1.11E-18,6.92E-19,5.72E-19,2.64E-19,1.11E-18,7.81E-19,9.46E-19,3.87E-19,6.98E-19,6.35E-19,1.02E-18,1.94E-19,4.60E-19,4.26E-19,5.17E-19,1.00E-18,2.80E-19,9.28E-19,8.37E-19,7.82E-19 +7.41E-19,9.84E-19,5.11E-19,9.94E-19,7.04E-19,7.13E-19,2.23E-19,6.64E-19,2.97E-19,5.84E-19,6.96E-19,3.47E-19,1.73E-19,1.93E-19,3.90E-19,1.09E-18,8.77E-19,6.00E-19,4.40E-19,3.76E-19,7.73E-19,1.00E-18,6.00E-19,1.04E-18,9.19E-19,3.01E-19,2.53E-19,2.34E-19,4.45E-19,7.77E-19,1.66E-19,3.15E-19,9.28E-19,7.55E-19,3.27E-19,5.34E-19,2.91E-19,1.15E-18,8.14E-19,2.19E-19,2.35E-19,9.07E-19,7.47E-19,3.66E-19,2.69E-19,3.11E-19,1.08E-18,6.05E-19,3.47E-19,8.64E-19,6.24E-19,6.83E-19,7.96E-19,1.11E-18,4.10E-19,6.89E-19,7.71E-19,9.73E-19,1.10E-18,6.58E-19,4.85E-19,6.45E-19,6.41E-19,4.04E-19,1.06E-18,6.89E-19,5.04E-19,1.05E-18,4.16E-19,6.71E-19,7.47E-19,8.01E-19,1.03E-18,7.16E-19,1.06E-18,1.08E-18,7.71E-19,5.44E-19,2.80E-19,3.83E-19,1.12E-18,6.97E-19,5.77E-19,2.68E-19,1.11E-18,7.84E-19,9.50E-19,3.92E-19,7.02E-19,6.40E-19,1.02E-18,1.98E-19,4.65E-19,4.30E-19,5.22E-19,1.01E-18,2.86E-19,9.33E-19,8.41E-19,7.86E-19 +7.46E-19,9.89E-19,5.16E-19,9.98E-19,7.08E-19,7.17E-19,2.27E-19,6.68E-19,3.02E-19,5.87E-19,7.00E-19,3.52E-19,1.77E-19,1.98E-19,3.94E-19,1.09E-18,8.82E-19,6.05E-19,4.44E-19,3.80E-19,7.77E-19,1.01E-18,6.04E-19,1.04E-18,9.24E-19,3.06E-19,2.58E-19,2.38E-19,4.50E-19,7.81E-19,1.70E-19,3.21E-19,9.31E-19,7.59E-19,3.30E-19,5.38E-19,2.97E-19,1.15E-18,8.18E-19,2.23E-19,2.38E-19,9.11E-19,7.52E-19,3.71E-19,2.73E-19,3.15E-19,1.08E-18,6.10E-19,3.53E-19,8.69E-19,6.29E-19,6.88E-19,8.01E-19,1.12E-18,4.14E-19,6.92E-19,7.76E-19,9.79E-19,1.10E-18,6.62E-19,4.88E-19,6.49E-19,6.46E-19,4.08E-19,1.07E-18,6.93E-19,5.07E-19,1.05E-18,4.20E-19,6.75E-19,7.52E-19,8.07E-19,1.04E-18,7.20E-19,1.06E-18,1.09E-18,7.74E-19,5.49E-19,2.84E-19,3.89E-19,1.12E-18,7.02E-19,5.83E-19,2.71E-19,1.12E-18,7.88E-19,9.54E-19,3.97E-19,7.06E-19,6.45E-19,1.03E-18,2.02E-19,4.70E-19,4.35E-19,5.27E-19,1.01E-18,2.91E-19,9.38E-19,8.45E-19,7.89E-19 +7.51E-19,9.94E-19,5.22E-19,1.00E-18,7.12E-19,7.21E-19,2.30E-19,6.72E-19,3.07E-19,5.91E-19,7.03E-19,3.57E-19,1.81E-19,2.03E-19,3.98E-19,1.10E-18,8.87E-19,6.10E-19,4.48E-19,3.83E-19,7.82E-19,1.01E-18,6.08E-19,1.05E-18,9.29E-19,3.10E-19,2.63E-19,2.42E-19,4.55E-19,7.85E-19,1.74E-19,3.26E-19,9.35E-19,7.62E-19,3.34E-19,5.41E-19,3.02E-19,1.16E-18,8.22E-19,2.26E-19,2.42E-19,9.14E-19,7.56E-19,3.77E-19,2.78E-19,3.20E-19,1.09E-18,6.15E-19,3.58E-19,8.74E-19,6.33E-19,6.94E-19,8.05E-19,1.13E-18,4.17E-19,6.96E-19,7.80E-19,9.85E-19,1.10E-18,6.66E-19,4.91E-19,6.52E-19,6.51E-19,4.11E-19,1.07E-18,6.97E-19,5.11E-19,1.06E-18,4.24E-19,6.79E-19,7.57E-19,8.12E-19,1.04E-18,7.24E-19,1.07E-18,1.09E-18,7.77E-19,5.55E-19,2.88E-19,3.94E-19,1.13E-18,7.07E-19,5.88E-19,2.75E-19,1.12E-18,7.92E-19,9.58E-19,4.02E-19,7.10E-19,6.50E-19,1.03E-18,2.06E-19,4.75E-19,4.39E-19,5.33E-19,1.02E-18,2.96E-19,9.42E-19,8.49E-19,7.93E-19 +7.56E-19,1.00E-18,5.27E-19,1.01E-18,7.16E-19,7.24E-19,2.34E-19,6.76E-19,3.11E-19,5.95E-19,7.07E-19,3.62E-19,1.84E-19,2.08E-19,4.02E-19,1.10E-18,8.92E-19,6.15E-19,4.52E-19,3.87E-19,7.87E-19,1.02E-18,6.12E-19,1.05E-18,9.33E-19,3.15E-19,2.68E-19,2.46E-19,4.60E-19,7.89E-19,1.78E-19,3.32E-19,9.38E-19,7.66E-19,3.38E-19,5.45E-19,3.08E-19,1.16E-18,8.26E-19,2.29E-19,2.46E-19,9.18E-19,7.60E-19,3.82E-19,2.83E-19,3.24E-19,1.09E-18,6.21E-19,3.64E-19,8.79E-19,6.38E-19,6.99E-19,8.09E-19,1.13E-18,4.21E-19,6.99E-19,7.85E-19,9.91E-19,1.11E-18,6.71E-19,4.94E-19,6.55E-19,6.56E-19,4.15E-19,1.08E-18,7.00E-19,5.14E-19,1.06E-18,4.28E-19,6.83E-19,7.61E-19,8.17E-19,1.04E-18,7.29E-19,1.07E-18,1.09E-18,7.81E-19,5.60E-19,2.92E-19,4.00E-19,1.14E-18,7.12E-19,5.94E-19,2.78E-19,1.13E-18,7.96E-19,9.63E-19,4.07E-19,7.14E-19,6.55E-19,1.04E-18,2.09E-19,4.80E-19,4.43E-19,5.38E-19,1.03E-18,3.02E-19,9.47E-19,8.53E-19,7.97E-19 +7.61E-19,1.01E-18,5.32E-19,1.01E-18,7.20E-19,7.28E-19,2.38E-19,6.81E-19,3.16E-19,5.98E-19,7.10E-19,3.66E-19,1.88E-19,2.13E-19,4.06E-19,1.11E-18,8.97E-19,6.20E-19,4.55E-19,3.90E-19,7.91E-19,1.02E-18,6.16E-19,1.06E-18,9.38E-19,3.20E-19,2.73E-19,2.50E-19,4.65E-19,7.93E-19,1.82E-19,3.37E-19,9.42E-19,7.70E-19,3.41E-19,5.49E-19,3.14E-19,1.17E-18,8.30E-19,2.33E-19,2.50E-19,9.21E-19,7.65E-19,3.87E-19,2.88E-19,3.28E-19,1.10E-18,6.26E-19,3.69E-19,8.83E-19,6.42E-19,7.05E-19,8.13E-19,1.14E-18,4.25E-19,7.02E-19,7.90E-19,9.97E-19,1.11E-18,6.75E-19,4.97E-19,6.59E-19,6.62E-19,4.18E-19,1.08E-18,7.04E-19,5.17E-19,1.06E-18,4.32E-19,6.87E-19,7.66E-19,8.22E-19,1.05E-18,7.33E-19,1.08E-18,1.10E-18,7.84E-19,5.66E-19,2.96E-19,4.06E-19,1.14E-18,7.17E-19,5.99E-19,2.82E-19,1.13E-18,8.00E-19,9.67E-19,4.12E-19,7.18E-19,6.60E-19,1.04E-18,2.13E-19,4.85E-19,4.47E-19,5.43E-19,1.03E-18,3.07E-19,9.52E-19,8.58E-19,8.00E-19 +7.66E-19,1.01E-18,5.38E-19,1.02E-18,7.24E-19,7.31E-19,2.41E-19,6.85E-19,3.21E-19,6.02E-19,7.13E-19,3.71E-19,1.92E-19,2.17E-19,4.10E-19,1.11E-18,9.02E-19,6.25E-19,4.59E-19,3.93E-19,7.96E-19,1.03E-18,6.20E-19,1.06E-18,9.43E-19,3.25E-19,2.77E-19,2.54E-19,4.70E-19,7.97E-19,1.86E-19,3.42E-19,9.45E-19,7.73E-19,3.45E-19,5.52E-19,3.19E-19,1.17E-18,8.34E-19,2.36E-19,2.54E-19,9.25E-19,7.69E-19,3.92E-19,2.92E-19,3.33E-19,1.10E-18,6.31E-19,3.74E-19,8.88E-19,6.47E-19,7.10E-19,8.17E-19,1.14E-18,4.29E-19,7.06E-19,7.94E-19,1.00E-18,1.12E-18,6.79E-19,5.01E-19,6.62E-19,6.67E-19,4.22E-19,1.09E-18,7.07E-19,5.21E-19,1.07E-18,4.36E-19,6.91E-19,7.71E-19,8.28E-19,1.05E-18,7.38E-19,1.08E-18,1.10E-18,7.87E-19,5.71E-19,3.00E-19,4.11E-19,1.15E-18,7.21E-19,6.04E-19,2.85E-19,1.14E-18,8.04E-19,9.71E-19,4.17E-19,7.22E-19,6.66E-19,1.04E-18,2.17E-19,4.90E-19,4.52E-19,5.48E-19,1.04E-18,3.13E-19,9.57E-19,8.62E-19,8.04E-19 +7.70E-19,1.02E-18,5.43E-19,1.02E-18,7.28E-19,7.35E-19,2.45E-19,6.89E-19,3.26E-19,6.06E-19,7.17E-19,3.76E-19,1.95E-19,2.22E-19,4.14E-19,1.12E-18,9.07E-19,6.30E-19,4.63E-19,3.97E-19,8.01E-19,1.03E-18,6.24E-19,1.07E-18,9.47E-19,3.29E-19,2.82E-19,2.58E-19,4.75E-19,8.01E-19,1.90E-19,3.48E-19,9.48E-19,7.77E-19,3.48E-19,5.56E-19,3.25E-19,1.18E-18,8.38E-19,2.39E-19,2.58E-19,9.28E-19,7.73E-19,3.98E-19,2.97E-19,3.37E-19,1.11E-18,6.37E-19,3.80E-19,8.93E-19,6.51E-19,7.16E-19,8.22E-19,1.15E-18,4.33E-19,7.09E-19,7.99E-19,1.01E-18,1.12E-18,6.84E-19,5.04E-19,6.65E-19,6.72E-19,4.26E-19,1.09E-18,7.11E-19,5.24E-19,1.07E-18,4.40E-19,6.95E-19,7.76E-19,8.33E-19,1.06E-18,7.42E-19,1.09E-18,1.10E-18,7.91E-19,5.77E-19,3.04E-19,4.17E-19,1.15E-18,7.26E-19,6.10E-19,2.89E-19,1.14E-18,8.08E-19,9.75E-19,4.22E-19,7.26E-19,6.71E-19,1.05E-18,2.21E-19,4.94E-19,4.56E-19,5.54E-19,1.04E-18,3.18E-19,9.62E-19,8.66E-19,8.08E-19 +7.75E-19,1.02E-18,5.48E-19,1.02E-18,7.32E-19,7.39E-19,2.49E-19,6.93E-19,3.30E-19,6.09E-19,7.20E-19,3.80E-19,1.99E-19,2.27E-19,4.18E-19,1.12E-18,9.12E-19,6.35E-19,4.67E-19,4.00E-19,8.05E-19,1.04E-18,6.27E-19,1.07E-18,9.52E-19,3.34E-19,2.87E-19,2.62E-19,4.80E-19,8.05E-19,1.94E-19,3.53E-19,9.52E-19,7.80E-19,3.52E-19,5.60E-19,3.30E-19,1.18E-18,8.41E-19,2.42E-19,2.62E-19,9.32E-19,7.77E-19,4.03E-19,3.02E-19,3.41E-19,1.11E-18,6.42E-19,3.85E-19,8.98E-19,6.56E-19,7.21E-19,8.26E-19,1.15E-18,4.37E-19,7.12E-19,8.03E-19,1.01E-18,1.12E-18,6.88E-19,5.07E-19,6.69E-19,6.77E-19,4.29E-19,1.10E-18,7.15E-19,5.28E-19,1.07E-18,4.44E-19,6.99E-19,7.81E-19,8.38E-19,1.06E-18,7.46E-19,1.09E-18,1.11E-18,7.94E-19,5.82E-19,3.08E-19,4.22E-19,1.16E-18,7.31E-19,6.15E-19,2.92E-19,1.15E-18,8.11E-19,9.79E-19,4.27E-19,7.30E-19,6.76E-19,1.05E-18,2.25E-19,4.99E-19,4.60E-19,5.59E-19,1.05E-18,3.24E-19,9.67E-19,8.70E-19,8.12E-19 +7.80E-19,1.03E-18,5.54E-19,1.03E-18,7.36E-19,7.42E-19,2.52E-19,6.98E-19,3.35E-19,6.13E-19,7.24E-19,3.85E-19,2.03E-19,2.32E-19,4.22E-19,1.13E-18,9.17E-19,6.40E-19,4.71E-19,4.04E-19,8.10E-19,1.04E-18,6.31E-19,1.08E-18,9.57E-19,3.39E-19,2.92E-19,2.66E-19,4.86E-19,8.09E-19,1.98E-19,3.58E-19,9.55E-19,7.84E-19,3.56E-19,5.64E-19,3.36E-19,1.19E-18,8.45E-19,2.46E-19,2.65E-19,9.35E-19,7.82E-19,4.08E-19,3.06E-19,3.46E-19,1.12E-18,6.48E-19,3.90E-19,9.02E-19,6.61E-19,7.26E-19,8.30E-19,1.16E-18,4.40E-19,7.16E-19,8.08E-19,1.02E-18,1.13E-18,6.92E-19,5.10E-19,6.72E-19,6.82E-19,4.33E-19,1.10E-18,7.18E-19,5.31E-19,1.08E-18,4.47E-19,7.03E-19,7.86E-19,8.43E-19,1.06E-18,7.51E-19,1.09E-18,1.11E-18,7.97E-19,5.88E-19,3.11E-19,4.28E-19,1.17E-18,7.36E-19,6.20E-19,2.96E-19,1.15E-18,8.15E-19,9.83E-19,4.32E-19,7.35E-19,6.81E-19,1.06E-18,2.29E-19,5.04E-19,4.64E-19,5.64E-19,1.06E-18,3.29E-19,9.71E-19,8.74E-19,8.15E-19 +7.85E-19,1.03E-18,5.59E-19,1.03E-18,7.40E-19,7.46E-19,2.56E-19,7.02E-19,3.40E-19,6.16E-19,7.27E-19,3.90E-19,2.06E-19,2.36E-19,4.25E-19,1.13E-18,9.22E-19,6.45E-19,4.75E-19,4.07E-19,8.15E-19,1.05E-18,6.35E-19,1.08E-18,9.61E-19,3.43E-19,2.97E-19,2.70E-19,4.91E-19,8.13E-19,2.02E-19,3.64E-19,9.59E-19,7.87E-19,3.59E-19,5.67E-19,3.41E-19,1.19E-18,8.49E-19,2.49E-19,2.69E-19,9.39E-19,7.86E-19,4.13E-19,3.11E-19,3.50E-19,1.12E-18,6.53E-19,3.96E-19,9.07E-19,6.65E-19,7.32E-19,8.34E-19,1.17E-18,4.44E-19,7.19E-19,8.12E-19,1.03E-18,1.13E-18,6.97E-19,5.13E-19,6.75E-19,6.87E-19,4.36E-19,1.11E-18,7.22E-19,5.35E-19,1.08E-18,4.51E-19,7.07E-19,7.91E-19,8.49E-19,1.07E-18,7.55E-19,1.10E-18,1.11E-18,8.01E-19,5.93E-19,3.15E-19,4.33E-19,1.17E-18,7.41E-19,6.26E-19,2.99E-19,1.16E-18,8.19E-19,9.87E-19,4.37E-19,7.39E-19,6.86E-19,1.06E-18,2.32E-19,5.09E-19,4.69E-19,5.70E-19,1.06E-18,3.35E-19,9.76E-19,8.78E-19,8.19E-19 +7.90E-19,1.04E-18,5.64E-19,1.04E-18,7.44E-19,7.50E-19,2.60E-19,7.06E-19,3.45E-19,6.20E-19,7.31E-19,3.95E-19,2.10E-19,2.41E-19,4.29E-19,1.14E-18,9.27E-19,6.50E-19,4.79E-19,4.11E-19,8.19E-19,1.05E-18,6.39E-19,1.09E-18,9.66E-19,3.48E-19,3.02E-19,2.74E-19,4.96E-19,8.17E-19,2.06E-19,3.69E-19,9.62E-19,7.91E-19,3.63E-19,5.71E-19,3.47E-19,1.20E-18,8.53E-19,2.52E-19,2.73E-19,9.43E-19,7.90E-19,4.19E-19,3.16E-19,3.54E-19,1.13E-18,6.58E-19,4.01E-19,9.12E-19,6.70E-19,7.37E-19,8.38E-19,1.17E-18,4.48E-19,7.22E-19,8.17E-19,1.03E-18,1.14E-18,7.01E-19,5.16E-19,6.79E-19,6.92E-19,4.40E-19,1.11E-18,7.25E-19,5.38E-19,1.08E-18,4.55E-19,7.11E-19,7.96E-19,8.54E-19,1.07E-18,7.59E-19,1.10E-18,1.12E-18,8.04E-19,5.98E-19,3.19E-19,4.39E-19,1.18E-18,7.46E-19,6.31E-19,3.03E-19,1.16E-18,8.23E-19,9.91E-19,4.42E-19,7.43E-19,6.92E-19,1.07E-18,2.36E-19,5.14E-19,4.73E-19,5.75E-19,1.07E-18,3.40E-19,9.81E-19,8.82E-19,8.23E-19 +7.95E-19,1.04E-18,5.70E-19,1.04E-18,7.48E-19,7.53E-19,2.63E-19,7.10E-19,3.49E-19,6.24E-19,7.34E-19,3.99E-19,2.14E-19,2.46E-19,4.33E-19,1.14E-18,9.32E-19,6.55E-19,4.83E-19,4.14E-19,8.24E-19,1.06E-18,6.43E-19,1.09E-18,9.71E-19,3.53E-19,3.06E-19,2.78E-19,5.01E-19,8.20E-19,2.10E-19,3.75E-19,9.66E-19,7.95E-19,3.66E-19,5.75E-19,3.52E-19,1.20E-18,8.57E-19,2.56E-19,2.77E-19,9.46E-19,7.95E-19,4.24E-19,3.21E-19,3.59E-19,1.13E-18,6.64E-19,4.07E-19,9.17E-19,6.74E-19,7.43E-19,8.43E-19,1.18E-18,4.52E-19,7.26E-19,8.21E-19,1.04E-18,1.14E-18,7.05E-19,5.19E-19,6.82E-19,6.97E-19,4.44E-19,1.12E-18,7.29E-19,5.42E-19,1.09E-18,4.59E-19,7.15E-19,8.01E-19,8.59E-19,1.07E-18,7.64E-19,1.11E-18,1.12E-18,8.07E-19,6.04E-19,3.23E-19,4.45E-19,1.19E-18,7.51E-19,6.36E-19,3.06E-19,1.17E-18,8.27E-19,9.95E-19,4.47E-19,7.47E-19,6.97E-19,1.07E-18,2.40E-19,5.19E-19,4.77E-19,5.80E-19,1.08E-18,3.45E-19,9.86E-19,8.86E-19,8.27E-19 +8.00E-19,1.05E-18,5.75E-19,1.05E-18,7.52E-19,7.57E-19,2.67E-19,7.14E-19,3.54E-19,6.27E-19,7.37E-19,4.04E-19,2.17E-19,2.51E-19,4.37E-19,1.15E-18,9.37E-19,6.60E-19,4.87E-19,4.18E-19,8.29E-19,1.06E-18,6.47E-19,1.10E-18,9.75E-19,3.57E-19,3.11E-19,2.82E-19,5.06E-19,8.24E-19,2.14E-19,3.80E-19,9.69E-19,7.98E-19,3.70E-19,5.79E-19,3.58E-19,1.21E-18,8.61E-19,2.59E-19,2.81E-19,9.50E-19,7.99E-19,4.29E-19,3.25E-19,3.63E-19,1.14E-18,6.69E-19,4.12E-19,9.21E-19,6.79E-19,7.48E-19,8.47E-19,1.18E-18,4.56E-19,7.29E-19,8.26E-19,1.04E-18,1.14E-18,7.10E-19,5.22E-19,6.85E-19,7.02E-19,4.47E-19,1.12E-18,7.33E-19,5.45E-19,1.09E-18,4.63E-19,7.19E-19,8.06E-19,8.64E-19,1.08E-18,7.68E-19,1.11E-18,1.12E-18,8.11E-19,6.09E-19,3.27E-19,4.50E-19,1.19E-18,7.56E-19,6.42E-19,3.10E-19,1.17E-18,8.31E-19,9.99E-19,4.52E-19,7.51E-19,7.02E-19,1.08E-18,2.44E-19,5.24E-19,4.82E-19,5.86E-19,1.08E-18,3.51E-19,9.91E-19,8.91E-19,8.30E-19 +8.05E-19,1.05E-18,5.81E-19,1.05E-18,7.56E-19,7.61E-19,2.71E-19,7.19E-19,3.59E-19,6.31E-19,7.41E-19,4.09E-19,2.21E-19,2.56E-19,4.41E-19,1.15E-18,9.42E-19,6.65E-19,4.91E-19,4.21E-19,8.33E-19,1.07E-18,6.51E-19,1.10E-18,9.80E-19,3.62E-19,3.16E-19,2.86E-19,5.11E-19,8.28E-19,2.18E-19,3.85E-19,9.73E-19,8.02E-19,3.74E-19,5.82E-19,3.63E-19,1.21E-18,8.64E-19,2.62E-19,2.85E-19,9.53E-19,8.03E-19,4.35E-19,3.30E-19,3.67E-19,1.14E-18,6.74E-19,4.17E-19,9.26E-19,6.84E-19,7.53E-19,8.51E-19,1.19E-18,4.59E-19,7.33E-19,8.30E-19,1.05E-18,1.15E-18,7.14E-19,5.25E-19,6.89E-19,7.07E-19,4.51E-19,1.13E-18,7.36E-19,5.49E-19,1.09E-18,4.67E-19,7.23E-19,8.11E-19,8.69E-19,1.08E-18,7.72E-19,1.12E-18,1.13E-18,8.14E-19,6.15E-19,3.31E-19,4.56E-19,1.20E-18,7.61E-19,6.47E-19,3.13E-19,1.18E-18,8.35E-19,1.00E-18,4.57E-19,7.55E-19,7.07E-19,1.08E-18,2.48E-19,5.29E-19,4.86E-19,5.91E-19,1.09E-18,3.56E-19,9.96E-19,8.95E-19,8.34E-19 +8.10E-19,1.06E-18,5.86E-19,1.06E-18,7.60E-19,7.64E-19,2.74E-19,7.23E-19,3.64E-19,6.35E-19,7.44E-19,4.14E-19,2.25E-19,2.60E-19,4.45E-19,1.15E-18,9.47E-19,6.70E-19,4.95E-19,4.25E-19,8.38E-19,1.07E-18,6.55E-19,1.11E-18,9.85E-19,3.67E-19,3.21E-19,2.90E-19,5.16E-19,8.32E-19,2.22E-19,3.91E-19,9.76E-19,8.05E-19,3.77E-19,5.86E-19,3.69E-19,1.22E-18,8.68E-19,2.65E-19,2.89E-19,9.57E-19,8.07E-19,4.40E-19,3.35E-19,3.72E-19,1.15E-18,6.80E-19,4.23E-19,9.31E-19,6.88E-19,7.59E-19,8.55E-19,1.19E-18,4.63E-19,7.36E-19,8.35E-19,1.06E-18,1.15E-18,7.18E-19,5.29E-19,6.92E-19,7.12E-19,4.54E-19,1.13E-18,7.40E-19,5.52E-19,1.10E-18,4.71E-19,7.27E-19,8.16E-19,8.75E-19,1.09E-18,7.77E-19,1.12E-18,1.13E-18,8.17E-19,6.20E-19,3.35E-19,4.61E-19,1.20E-18,7.66E-19,6.52E-19,3.16E-19,1.18E-18,8.38E-19,1.01E-18,4.62E-19,7.59E-19,7.12E-19,1.09E-18,2.52E-19,5.34E-19,4.90E-19,5.96E-19,1.09E-18,3.62E-19,1.00E-18,8.99E-19,8.38E-19 +8.14E-19,1.06E-18,5.91E-19,1.06E-18,7.65E-19,7.68E-19,2.78E-19,7.27E-19,3.68E-19,6.38E-19,7.48E-19,4.18E-19,2.28E-19,2.65E-19,4.49E-19,1.16E-18,9.52E-19,6.75E-19,4.99E-19,4.28E-19,8.43E-19,1.08E-18,6.59E-19,1.11E-18,9.90E-19,3.71E-19,3.26E-19,2.94E-19,5.21E-19,8.36E-19,2.26E-19,3.96E-19,9.79E-19,8.09E-19,3.81E-19,5.90E-19,3.74E-19,1.22E-18,8.72E-19,2.69E-19,2.92E-19,9.60E-19,8.12E-19,4.45E-19,3.39E-19,3.76E-19,1.15E-18,6.85E-19,4.28E-19,9.36E-19,6.93E-19,7.64E-19,8.59E-19,1.20E-18,4.67E-19,7.39E-19,8.40E-19,1.06E-18,1.16E-18,7.23E-19,5.32E-19,6.95E-19,7.18E-19,4.58E-19,1.14E-18,7.43E-19,5.56E-19,1.10E-18,4.75E-19,7.31E-19,8.20E-19,8.80E-19,1.09E-18,7.81E-19,1.13E-18,1.13E-18,8.21E-19,6.26E-19,3.39E-19,4.67E-19,1.21E-18,7.71E-19,6.58E-19,3.20E-19,1.19E-18,8.42E-19,1.01E-18,4.67E-19,7.63E-19,7.17E-19,1.09E-18,2.56E-19,5.39E-19,4.94E-19,6.01E-19,1.10E-18,3.67E-19,1.01E-18,9.03E-19,8.42E-19 +8.19E-19,1.07E-18,5.97E-19,1.07E-18,7.69E-19,7.72E-19,2.82E-19,7.31E-19,3.73E-19,6.42E-19,7.51E-19,4.23E-19,2.32E-19,2.70E-19,4.53E-19,1.16E-18,9.57E-19,6.79E-19,5.03E-19,4.32E-19,8.47E-19,1.08E-18,6.62E-19,1.12E-18,9.94E-19,3.76E-19,3.31E-19,2.98E-19,5.26E-19,8.40E-19,2.30E-19,4.01E-19,9.83E-19,8.12E-19,3.84E-19,5.94E-19,3.80E-19,1.23E-18,8.76E-19,2.72E-19,2.96E-19,9.64E-19,8.16E-19,4.50E-19,3.44E-19,3.80E-19,1.16E-18,6.90E-19,4.34E-19,9.40E-19,6.97E-19,7.70E-19,8.64E-19,1.21E-18,4.71E-19,7.43E-19,8.44E-19,1.07E-18,1.16E-18,7.27E-19,5.35E-19,6.99E-19,7.23E-19,4.61E-19,1.14E-18,7.47E-19,5.59E-19,1.10E-18,4.79E-19,7.35E-19,8.25E-19,8.85E-19,1.09E-18,7.85E-19,1.13E-18,1.14E-18,8.24E-19,6.31E-19,3.43E-19,4.72E-19,1.22E-18,7.76E-19,6.63E-19,3.23E-19,1.19E-18,8.46E-19,1.02E-18,4.72E-19,7.67E-19,7.23E-19,1.10E-18,2.59E-19,5.44E-19,4.99E-19,6.07E-19,1.11E-18,3.73E-19,1.01E-18,9.07E-19,8.45E-19 +8.24E-19,1.07E-18,6.02E-19,1.07E-18,7.73E-19,7.75E-19,2.85E-19,7.35E-19,3.78E-19,6.46E-19,7.55E-19,4.28E-19,2.36E-19,2.75E-19,4.57E-19,1.17E-18,9.62E-19,6.84E-19,5.07E-19,4.35E-19,8.52E-19,1.09E-18,6.66E-19,1.12E-18,9.99E-19,3.81E-19,3.35E-19,3.02E-19,5.31E-19,8.44E-19,2.34E-19,4.07E-19,9.86E-19,8.16E-19,3.88E-19,5.97E-19,3.85E-19,1.23E-18,8.80E-19,2.75E-19,3.00E-19,9.67E-19,8.20E-19,4.56E-19,3.49E-19,3.85E-19,1.16E-18,6.96E-19,4.39E-19,9.45E-19,7.02E-19,7.75E-19,8.68E-19,1.21E-18,4.75E-19,7.46E-19,8.49E-19,1.07E-18,1.17E-18,7.31E-19,5.38E-19,7.02E-19,7.28E-19,4.65E-19,1.15E-18,7.51E-19,5.63E-19,1.11E-18,4.83E-19,7.39E-19,8.30E-19,8.90E-19,1.10E-18,7.90E-19,1.14E-18,1.14E-18,8.28E-19,6.37E-19,3.47E-19,4.78E-19,1.22E-18,7.81E-19,6.68E-19,3.27E-19,1.20E-18,8.50E-19,1.02E-18,4.77E-19,7.71E-19,7.28E-19,1.10E-18,2.63E-19,5.49E-19,5.03E-19,6.12E-19,1.11E-18,3.78E-19,1.02E-18,9.11E-19,8.49E-19 +8.29E-19,1.08E-18,6.07E-19,1.07E-18,7.77E-19,7.79E-19,2.89E-19,7.40E-19,3.82E-19,6.49E-19,7.58E-19,4.33E-19,2.39E-19,2.80E-19,4.61E-19,1.17E-18,9.67E-19,6.89E-19,5.10E-19,4.39E-19,8.57E-19,1.09E-18,6.70E-19,1.13E-18,1.00E-18,3.85E-19,3.40E-19,3.06E-19,5.36E-19,8.48E-19,2.38E-19,4.12E-19,9.90E-19,8.20E-19,3.92E-19,6.01E-19,3.91E-19,1.24E-18,8.84E-19,2.79E-19,3.04E-19,9.71E-19,8.25E-19,4.61E-19,3.54E-19,3.89E-19,1.17E-18,7.01E-19,4.44E-19,9.50E-19,7.06E-19,7.81E-19,8.72E-19,1.22E-18,4.79E-19,7.49E-19,8.53E-19,1.08E-18,1.17E-18,7.36E-19,5.41E-19,7.05E-19,7.33E-19,4.69E-19,1.15E-18,7.54E-19,5.66E-19,1.11E-18,4.86E-19,7.43E-19,8.35E-19,8.96E-19,1.10E-18,7.94E-19,1.14E-18,1.14E-18,8.31E-19,6.42E-19,3.51E-19,4.84E-19,1.23E-18,7.86E-19,6.74E-19,3.30E-19,1.20E-18,8.54E-19,1.02E-18,4.81E-19,7.75E-19,7.33E-19,1.11E-18,2.67E-19,5.54E-19,5.07E-19,6.17E-19,1.12E-18,3.84E-19,1.02E-18,9.15E-19,8.53E-19 +8.34E-19,1.09E-18,6.13E-19,1.08E-18,7.81E-19,7.83E-19,2.93E-19,7.44E-19,3.87E-19,6.53E-19,7.61E-19,4.37E-19,2.43E-19,2.84E-19,4.65E-19,1.18E-18,9.72E-19,6.94E-19,5.14E-19,4.42E-19,8.61E-19,1.10E-18,6.74E-19,1.13E-18,1.01E-18,3.90E-19,3.45E-19,3.10E-19,5.42E-19,8.52E-19,2.42E-19,4.18E-19,9.93E-19,8.23E-19,3.95E-19,6.05E-19,3.96E-19,1.24E-18,8.88E-19,2.82E-19,3.08E-19,9.74E-19,8.29E-19,4.66E-19,3.58E-19,3.93E-19,1.17E-18,7.07E-19,4.50E-19,9.55E-19,7.11E-19,7.86E-19,8.76E-19,1.22E-18,4.82E-19,7.53E-19,8.58E-19,1.09E-18,1.17E-18,7.40E-19,5.44E-19,7.09E-19,7.38E-19,4.72E-19,1.16E-18,7.58E-19,5.70E-19,1.12E-18,4.90E-19,7.47E-19,8.40E-19,9.01E-19,1.10E-18,7.99E-19,1.15E-18,1.15E-18,8.34E-19,6.48E-19,3.55E-19,4.89E-19,1.24E-18,7.91E-19,6.79E-19,3.34E-19,1.21E-18,8.58E-19,1.03E-18,4.86E-19,7.79E-19,7.38E-19,1.11E-18,2.71E-19,5.59E-19,5.11E-19,6.23E-19,1.13E-18,3.89E-19,1.02E-18,9.19E-19,8.57E-19 +8.39E-19,1.09E-18,6.18E-19,1.08E-18,7.85E-19,7.86E-19,2.96E-19,7.48E-19,3.92E-19,6.57E-19,7.65E-19,4.42E-19,2.47E-19,2.89E-19,4.69E-19,1.18E-18,9.76E-19,6.99E-19,5.18E-19,4.45E-19,8.66E-19,1.10E-18,6.78E-19,1.14E-18,1.01E-18,3.95E-19,3.50E-19,3.14E-19,5.47E-19,8.56E-19,2.46E-19,4.23E-19,9.97E-19,8.27E-19,3.99E-19,6.08E-19,4.02E-19,1.24E-18,8.91E-19,2.85E-19,3.12E-19,9.78E-19,8.33E-19,4.71E-19,3.63E-19,3.97E-19,1.18E-18,7.12E-19,4.55E-19,9.59E-19,7.16E-19,7.91E-19,8.80E-19,1.23E-18,4.86E-19,7.56E-19,8.62E-19,1.09E-18,1.18E-18,7.44E-19,5.47E-19,7.12E-19,7.43E-19,4.76E-19,1.16E-18,7.61E-19,5.73E-19,1.12E-18,4.94E-19,7.51E-19,8.45E-19,9.06E-19,1.11E-18,8.03E-19,1.15E-18,1.15E-18,8.38E-19,6.53E-19,3.59E-19,4.95E-19,1.24E-18,7.96E-19,6.84E-19,3.37E-19,1.21E-18,8.61E-19,1.03E-18,4.91E-19,7.83E-19,7.43E-19,1.11E-18,2.75E-19,5.64E-19,5.16E-19,6.28E-19,1.13E-18,3.94E-19,1.03E-18,9.23E-19,8.60E-19 +8.44E-19,1.10E-18,6.23E-19,1.09E-18,7.89E-19,7.90E-19,3.00E-19,7.52E-19,3.97E-19,6.60E-19,7.68E-19,4.47E-19,2.50E-19,2.94E-19,4.73E-19,1.19E-18,9.81E-19,7.04E-19,5.22E-19,4.49E-19,8.71E-19,1.11E-18,6.82E-19,1.14E-18,1.02E-18,3.99E-19,3.55E-19,3.18E-19,5.52E-19,8.60E-19,2.50E-19,4.28E-19,1.00E-18,8.30E-19,4.02E-19,6.12E-19,4.07E-19,1.25E-18,8.95E-19,2.88E-19,3.15E-19,9.82E-19,8.37E-19,4.77E-19,3.68E-19,4.02E-19,1.18E-18,7.17E-19,4.60E-19,9.64E-19,7.20E-19,7.97E-19,8.85E-19,1.23E-18,4.90E-19,7.59E-19,8.67E-19,1.10E-18,1.18E-18,7.49E-19,5.50E-19,7.15E-19,7.48E-19,4.79E-19,1.17E-18,7.65E-19,5.77E-19,1.12E-18,4.98E-19,7.55E-19,8.50E-19,9.11E-19,1.11E-18,8.07E-19,1.16E-18,1.15E-18,8.41E-19,6.58E-19,3.63E-19,5.00E-19,1.25E-18,8.01E-19,6.90E-19,3.41E-19,1.22E-18,8.65E-19,1.04E-18,4.96E-19,7.87E-19,7.49E-19,1.12E-18,2.79E-19,5.69E-19,5.20E-19,6.33E-19,1.14E-18,4.00E-19,1.03E-18,9.28E-19,8.64E-19 +8.49E-19,1.10E-18,6.29E-19,1.09E-18,7.93E-19,7.93E-19,3.04E-19,7.56E-19,4.01E-19,6.64E-19,7.72E-19,4.51E-19,2.54E-19,2.99E-19,4.77E-19,1.19E-18,9.86E-19,7.09E-19,5.26E-19,4.52E-19,8.75E-19,1.11E-18,6.86E-19,1.15E-18,1.02E-18,4.04E-19,3.59E-19,3.22E-19,5.57E-19,8.64E-19,2.54E-19,4.34E-19,1.00E-18,8.34E-19,4.06E-19,6.16E-19,4.13E-19,1.25E-18,8.99E-19,2.92E-19,3.19E-19,9.85E-19,8.42E-19,4.82E-19,3.72E-19,4.06E-19,1.19E-18,7.23E-19,4.66E-19,9.69E-19,7.25E-19,8.02E-19,8.89E-19,1.24E-18,4.94E-19,7.63E-19,8.71E-19,1.10E-18,1.19E-18,7.53E-19,5.53E-19,7.19E-19,7.53E-19,4.83E-19,1.17E-18,7.68E-19,5.80E-19,1.13E-18,5.02E-19,7.59E-19,8.55E-19,9.17E-19,1.12E-18,8.12E-19,1.16E-18,1.16E-18,8.44E-19,6.64E-19,3.67E-19,5.06E-19,1.25E-18,8.06E-19,6.95E-19,3.44E-19,1.22E-18,8.69E-19,1.04E-18,5.01E-19,7.91E-19,7.54E-19,1.12E-18,2.82E-19,5.74E-19,5.24E-19,6.39E-19,1.15E-18,4.05E-19,1.04E-18,9.32E-19,8.68E-19 +8.53E-19,1.11E-18,6.34E-19,1.10E-18,7.97E-19,7.97E-19,3.07E-19,7.61E-19,4.06E-19,6.68E-19,7.75E-19,4.56E-19,2.58E-19,3.04E-19,4.81E-19,1.20E-18,9.91E-19,7.14E-19,5.30E-19,4.56E-19,8.80E-19,1.12E-18,6.90E-19,1.15E-18,1.03E-18,4.09E-19,3.64E-19,3.26E-19,5.62E-19,8.68E-19,2.58E-19,4.39E-19,1.01E-18,8.37E-19,4.10E-19,6.20E-19,4.18E-19,1.26E-18,9.03E-19,2.95E-19,3.23E-19,9.89E-19,8.46E-19,4.87E-19,3.77E-19,4.10E-19,1.19E-18,7.28E-19,4.71E-19,9.74E-19,7.29E-19,8.08E-19,8.93E-19,1.25E-18,4.98E-19,7.66E-19,8.76E-19,1.11E-18,1.19E-18,7.57E-19,5.57E-19,7.22E-19,7.58E-19,4.86E-19,1.18E-18,7.72E-19,5.84E-19,1.13E-18,5.06E-19,7.63E-19,8.60E-19,9.22E-19,1.12E-18,8.16E-19,1.17E-18,1.16E-18,8.48E-19,6.69E-19,3.71E-19,5.12E-19,1.26E-18,8.11E-19,7.01E-19,3.48E-19,1.23E-18,8.73E-19,1.04E-18,5.06E-19,7.95E-19,7.59E-19,1.13E-18,2.86E-19,5.79E-19,5.29E-19,6.44E-19,1.15E-18,4.11E-19,1.04E-18,9.36E-19,8.71E-19 +8.58E-19,1.11E-18,6.39E-19,1.10E-18,8.01E-19,8.01E-19,3.11E-19,7.65E-19,4.11E-19,6.71E-19,7.78E-19,4.61E-19,2.61E-19,3.08E-19,4.85E-19,1.20E-18,9.96E-19,7.19E-19,5.34E-19,4.59E-19,8.85E-19,1.12E-18,6.94E-19,1.16E-18,1.03E-18,4.13E-19,3.69E-19,3.30E-19,5.67E-19,8.72E-19,2.62E-19,4.44E-19,1.01E-18,8.41E-19,4.13E-19,6.23E-19,4.24E-19,1.26E-18,9.07E-19,2.98E-19,3.27E-19,9.92E-19,8.50E-19,4.92E-19,3.82E-19,4.15E-19,1.20E-18,7.33E-19,4.77E-19,9.78E-19,7.34E-19,8.13E-19,8.97E-19,1.25E-18,5.02E-19,7.69E-19,8.80E-19,1.12E-18,1.19E-18,7.61E-19,5.60E-19,7.25E-19,7.63E-19,4.90E-19,1.18E-18,7.76E-19,5.87E-19,1.13E-18,5.10E-19,7.67E-19,8.65E-19,9.27E-19,1.12E-18,8.20E-19,1.17E-18,1.16E-18,8.51E-19,6.75E-19,3.75E-19,5.17E-19,1.27E-18,8.15E-19,7.06E-19,3.51E-19,1.23E-18,8.77E-19,1.05E-18,5.11E-19,7.99E-19,7.64E-19,1.13E-18,2.90E-19,5.84E-19,5.33E-19,6.49E-19,1.16E-18,4.16E-19,1.05E-18,9.40E-19,8.75E-19 +8.63E-19,1.12E-18,6.45E-19,1.11E-18,8.05E-19,8.04E-19,3.15E-19,7.69E-19,4.16E-19,6.75E-19,7.82E-19,4.66E-19,2.65E-19,3.13E-19,4.89E-19,1.21E-18,1.00E-18,7.24E-19,5.38E-19,4.63E-19,8.89E-19,1.13E-18,6.97E-19,1.16E-18,1.04E-18,4.18E-19,3.74E-19,3.34E-19,5.72E-19,8.76E-19,2.65E-19,4.50E-19,1.01E-18,8.45E-19,4.17E-19,6.27E-19,4.29E-19,1.27E-18,9.11E-19,3.02E-19,3.31E-19,9.96E-19,8.55E-19,4.98E-19,3.87E-19,4.19E-19,1.20E-18,7.39E-19,4.82E-19,9.83E-19,7.38E-19,8.19E-19,9.01E-19,1.26E-18,5.05E-19,7.73E-19,8.85E-19,1.12E-18,1.20E-18,7.66E-19,5.63E-19,7.29E-19,7.68E-19,4.94E-19,1.19E-18,7.79E-19,5.91E-19,1.14E-18,5.14E-19,7.71E-19,8.70E-19,9.32E-19,1.13E-18,8.25E-19,1.18E-18,1.17E-18,8.54E-19,6.80E-19,3.79E-19,5.23E-19,1.27E-18,8.20E-19,7.11E-19,3.55E-19,1.24E-18,8.81E-19,1.05E-18,5.16E-19,8.03E-19,7.69E-19,1.14E-18,2.94E-19,5.89E-19,5.37E-19,6.54E-19,1.16E-18,4.22E-19,1.05E-18,9.44E-19,8.79E-19 +8.68E-19,1.12E-18,6.50E-19,1.11E-18,8.09E-19,8.08E-19,3.18E-19,7.73E-19,4.20E-19,6.79E-19,7.85E-19,4.70E-19,2.69E-19,3.18E-19,4.93E-19,1.21E-18,1.01E-18,7.29E-19,5.42E-19,4.66E-19,8.94E-19,1.13E-18,7.01E-19,1.17E-18,1.04E-18,4.23E-19,3.79E-19,3.38E-19,5.77E-19,8.80E-19,2.69E-19,4.55E-19,1.02E-18,8.48E-19,4.20E-19,6.31E-19,4.35E-19,1.27E-18,9.15E-19,3.05E-19,3.35E-19,9.99E-19,8.59E-19,5.03E-19,3.91E-19,4.23E-19,1.21E-18,7.44E-19,4.87E-19,9.88E-19,7.43E-19,8.24E-19,9.06E-19,1.26E-18,5.09E-19,7.76E-19,8.90E-19,1.13E-18,1.20E-18,7.70E-19,5.66E-19,7.32E-19,7.74E-19,4.97E-19,1.19E-18,7.83E-19,5.94E-19,1.14E-18,5.18E-19,7.75E-19,8.75E-19,9.38E-19,1.13E-18,8.29E-19,1.18E-18,1.17E-18,8.58E-19,6.86E-19,3.83E-19,5.28E-19,1.28E-18,8.25E-19,7.17E-19,3.58E-19,1.24E-18,8.85E-19,1.06E-18,5.21E-19,8.07E-19,7.74E-19,1.14E-18,2.98E-19,5.93E-19,5.41E-19,6.60E-19,1.17E-18,4.27E-19,1.06E-18,9.48E-19,8.83E-19 +8.73E-19,1.13E-18,6.56E-19,1.11E-18,8.13E-19,8.12E-19,3.22E-19,7.77E-19,4.25E-19,6.82E-19,7.89E-19,4.75E-19,2.72E-19,3.23E-19,4.97E-19,1.22E-18,1.01E-18,7.34E-19,5.46E-19,4.70E-19,8.99E-19,1.14E-18,7.05E-19,1.17E-18,1.05E-18,4.27E-19,3.84E-19,3.42E-19,5.82E-19,8.84E-19,2.73E-19,4.61E-19,1.02E-18,8.52E-19,4.24E-19,6.35E-19,4.41E-19,1.28E-18,9.18E-19,3.08E-19,3.39E-19,1.00E-18,8.63E-19,5.08E-19,3.96E-19,4.28E-19,1.21E-18,7.49E-19,4.93E-19,9.93E-19,7.48E-19,8.29E-19,9.10E-19,1.27E-18,5.13E-19,7.80E-19,8.94E-19,1.13E-18,1.21E-18,7.74E-19,5.69E-19,7.35E-19,7.79E-19,5.01E-19,1.19E-18,7.86E-19,5.98E-19,1.14E-18,5.22E-19,7.79E-19,8.80E-19,9.43E-19,1.13E-18,8.33E-19,1.19E-18,1.17E-18,8.61E-19,6.91E-19,3.87E-19,5.34E-19,1.28E-18,8.30E-19,7.22E-19,3.62E-19,1.25E-18,8.88E-19,1.06E-18,5.26E-19,8.11E-19,7.80E-19,1.15E-18,3.02E-19,5.98E-19,5.46E-19,6.65E-19,1.18E-18,4.32E-19,1.06E-18,9.52E-19,8.86E-19 +8.78E-19,1.13E-18,6.61E-19,1.12E-18,8.17E-19,8.15E-19,3.26E-19,7.82E-19,4.30E-19,6.86E-19,7.92E-19,4.80E-19,2.76E-19,3.28E-19,5.00E-19,1.22E-18,1.02E-18,7.39E-19,5.50E-19,4.73E-19,9.03E-19,1.14E-18,7.09E-19,1.18E-18,1.05E-18,4.32E-19,3.88E-19,3.46E-19,5.87E-19,8.88E-19,2.77E-19,4.66E-19,1.02E-18,8.55E-19,4.28E-19,6.38E-19,4.46E-19,1.28E-18,9.22E-19,3.12E-19,3.42E-19,1.01E-18,8.67E-19,5.13E-19,4.01E-19,4.32E-19,1.22E-18,7.55E-19,4.98E-19,9.97E-19,7.52E-19,8.35E-19,9.14E-19,1.27E-18,5.17E-19,7.83E-19,8.99E-19,1.14E-18,1.21E-18,7.79E-19,5.72E-19,7.39E-19,7.84E-19,5.04E-19,1.20E-18,7.90E-19,6.01E-19,1.15E-18,5.25E-19,7.83E-19,8.84E-19,9.48E-19,1.14E-18,8.38E-19,1.19E-18,1.18E-18,8.64E-19,6.97E-19,3.91E-19,5.39E-19,1.29E-18,8.35E-19,7.27E-19,3.65E-19,1.25E-18,8.92E-19,1.06E-18,5.31E-19,8.15E-19,7.85E-19,1.15E-18,3.06E-19,6.03E-19,5.50E-19,6.70E-19,1.18E-18,4.38E-19,1.07E-18,9.56E-19,8.90E-19 +8.83E-19,1.14E-18,6.66E-19,1.12E-18,8.21E-19,8.19E-19,3.29E-19,7.86E-19,4.35E-19,6.90E-19,7.96E-19,4.85E-19,2.80E-19,3.32E-19,5.04E-19,1.23E-18,1.02E-18,7.44E-19,5.54E-19,4.77E-19,9.08E-19,1.15E-18,7.13E-19,1.18E-18,1.06E-18,4.37E-19,3.93E-19,3.50E-19,5.92E-19,8.92E-19,2.81E-19,4.71E-19,1.03E-18,8.59E-19,4.31E-19,6.42E-19,4.52E-19,1.29E-18,9.26E-19,3.15E-19,3.46E-19,1.01E-18,8.72E-19,5.19E-19,4.05E-19,4.36E-19,1.22E-18,7.60E-19,5.04E-19,1.00E-18,7.57E-19,8.40E-19,9.18E-19,1.28E-18,5.21E-19,7.86E-19,9.03E-19,1.15E-18,1.21E-18,7.83E-19,5.75E-19,7.42E-19,7.89E-19,5.08E-19,1.20E-18,7.94E-19,6.05E-19,1.15E-18,5.29E-19,7.87E-19,8.89E-19,9.53E-19,1.14E-18,8.42E-19,1.20E-18,1.18E-18,8.68E-19,7.02E-19,3.95E-19,5.45E-19,1.30E-18,8.40E-19,7.33E-19,3.69E-19,1.26E-18,8.96E-19,1.07E-18,5.36E-19,8.20E-19,7.90E-19,1.16E-18,3.09E-19,6.08E-19,5.54E-19,6.76E-19,1.19E-18,4.43E-19,1.07E-18,9.61E-19,8.94E-19 +8.88E-19,1.14E-18,6.72E-19,1.13E-18,8.25E-19,8.23E-19,3.33E-19,7.90E-19,4.39E-19,6.93E-19,7.99E-19,4.89E-19,2.83E-19,3.37E-19,5.08E-19,1.23E-18,1.03E-18,7.49E-19,5.58E-19,4.80E-19,9.13E-19,1.15E-18,7.17E-19,1.19E-18,1.06E-18,4.41E-19,3.98E-19,3.54E-19,5.98E-19,8.96E-19,2.85E-19,4.77E-19,1.03E-18,8.62E-19,4.35E-19,6.46E-19,4.57E-19,1.29E-18,9.30E-19,3.18E-19,3.50E-19,1.01E-18,8.76E-19,5.24E-19,4.10E-19,4.41E-19,1.23E-18,7.66E-19,5.09E-19,1.01E-18,7.61E-19,8.46E-19,9.22E-19,1.29E-18,5.24E-19,7.90E-19,9.08E-19,1.15E-18,1.22E-18,7.87E-19,5.78E-19,7.45E-19,7.94E-19,5.12E-19,1.21E-18,7.97E-19,6.08E-19,1.15E-18,5.33E-19,7.91E-19,8.94E-19,9.58E-19,1.15E-18,8.46E-19,1.20E-18,1.18E-18,8.71E-19,7.08E-19,3.99E-19,5.51E-19,1.30E-18,8.45E-19,7.38E-19,3.72E-19,1.26E-18,9.00E-19,1.07E-18,5.41E-19,8.24E-19,7.95E-19,1.16E-18,3.13E-19,6.13E-19,5.58E-19,6.81E-19,1.20E-18,4.49E-19,1.08E-18,9.65E-19,8.98E-19 +8.93E-19,1.15E-18,6.77E-19,1.13E-18,8.29E-19,8.26E-19,3.37E-19,7.94E-19,4.44E-19,6.97E-19,8.02E-19,4.94E-19,2.87E-19,3.42E-19,5.12E-19,1.23E-18,1.03E-18,7.54E-19,5.62E-19,4.84E-19,9.17E-19,1.16E-18,7.21E-19,1.19E-18,1.06E-18,4.46E-19,4.03E-19,3.58E-19,6.03E-19,9.00E-19,2.89E-19,4.82E-19,1.03E-18,8.66E-19,4.38E-19,6.49E-19,4.63E-19,1.30E-18,9.34E-19,3.21E-19,3.54E-19,1.02E-18,8.80E-19,5.29E-19,4.15E-19,4.45E-19,1.23E-18,7.71E-19,5.14E-19,1.01E-18,7.66E-19,8.51E-19,9.27E-19,1.29E-18,5.28E-19,7.93E-19,9.12E-19,1.16E-18,1.22E-18,7.92E-19,5.81E-19,7.49E-19,7.99E-19,5.15E-19,1.21E-18,8.01E-19,6.12E-19,1.16E-18,5.37E-19,7.95E-19,8.99E-19,9.64E-19,1.15E-18,8.51E-19,1.21E-18,1.19E-18,8.74E-19,7.13E-19,4.03E-19,5.56E-19,1.31E-18,8.50E-19,7.43E-19,3.75E-19,1.27E-18,9.04E-19,1.08E-18,5.46E-19,8.28E-19,8.00E-19,1.17E-18,3.17E-19,6.18E-19,5.63E-19,6.86E-19,1.20E-18,4.54E-19,1.08E-18,9.69E-19,9.01E-19 +8.97E-19,1.15E-18,6.82E-19,1.14E-18,8.33E-19,8.30E-19,3.40E-19,7.99E-19,4.49E-19,7.01E-19,8.06E-19,4.99E-19,2.90E-19,3.47E-19,5.16E-19,1.24E-18,1.04E-18,7.59E-19,5.65E-19,4.87E-19,9.22E-19,1.16E-18,7.25E-19,1.20E-18,1.07E-18,4.51E-19,4.08E-19,3.62E-19,6.08E-19,9.04E-19,2.93E-19,4.87E-19,1.04E-18,8.70E-19,4.42E-19,6.53E-19,4.68E-19,1.30E-18,9.38E-19,3.25E-19,3.58E-19,1.02E-18,8.85E-19,5.34E-19,4.20E-19,4.49E-19,1.24E-18,7.76E-19,5.20E-19,1.02E-18,7.70E-19,8.56E-19,9.31E-19,1.30E-18,5.32E-19,7.96E-19,9.17E-19,1.16E-18,1.23E-18,7.96E-19,5.85E-19,7.52E-19,8.04E-19,5.19E-19,1.22E-18,8.04E-19,6.15E-19,1.16E-18,5.41E-19,7.99E-19,9.04E-19,9.69E-19,1.15E-18,8.55E-19,1.21E-18,1.19E-18,8.78E-19,7.19E-19,4.07E-19,5.62E-19,1.32E-18,8.55E-19,7.49E-19,3.79E-19,1.27E-18,9.08E-19,1.08E-18,5.51E-19,8.32E-19,8.06E-19,1.17E-18,3.21E-19,6.23E-19,5.67E-19,6.92E-19,1.21E-18,4.60E-19,1.09E-18,9.73E-19,9.05E-19 +9.02E-19,1.16E-18,6.88E-19,1.14E-18,8.37E-19,8.34E-19,3.44E-19,8.03E-19,4.54E-19,7.04E-19,8.09E-19,5.03E-19,2.94E-19,3.51E-19,5.20E-19,1.24E-18,1.04E-18,7.64E-19,5.69E-19,4.91E-19,9.27E-19,1.17E-18,7.29E-19,1.20E-18,1.07E-18,4.55E-19,4.13E-19,3.66E-19,6.13E-19,9.08E-19,2.97E-19,4.93E-19,1.04E-18,8.73E-19,4.46E-19,6.57E-19,4.74E-19,1.31E-18,9.41E-19,3.28E-19,3.62E-19,1.02E-18,8.89E-19,5.40E-19,4.24E-19,4.54E-19,1.24E-18,7.82E-19,5.25E-19,1.02E-18,7.75E-19,8.62E-19,9.35E-19,1.30E-18,5.36E-19,8.00E-19,9.21E-19,1.17E-18,1.23E-18,8.00E-19,5.88E-19,7.55E-19,8.09E-19,5.22E-19,1.22E-18,8.08E-19,6.19E-19,1.16E-18,5.45E-19,8.03E-19,9.09E-19,9.74E-19,1.16E-18,8.59E-19,1.22E-18,1.19E-18,8.81E-19,7.24E-19,4.11E-19,5.67E-19,1.32E-18,8.60E-19,7.54E-19,3.82E-19,1.28E-18,9.12E-19,1.08E-18,5.56E-19,8.36E-19,8.11E-19,1.18E-18,3.25E-19,6.28E-19,5.71E-19,6.97E-19,1.21E-18,4.65E-19,1.09E-18,9.77E-19,9.09E-19 +9.07E-19,1.17E-18,6.93E-19,1.15E-18,8.41E-19,8.37E-19,3.48E-19,8.07E-19,4.58E-19,7.08E-19,8.13E-19,5.08E-19,2.98E-19,3.56E-19,5.24E-19,1.25E-18,1.05E-18,7.69E-19,5.73E-19,4.94E-19,9.31E-19,1.17E-18,7.32E-19,1.21E-18,1.08E-18,4.60E-19,4.17E-19,3.70E-19,6.18E-19,9.12E-19,3.01E-19,4.98E-19,1.04E-18,8.77E-19,4.49E-19,6.61E-19,4.79E-19,1.31E-18,9.45E-19,3.31E-19,3.65E-19,1.03E-18,8.93E-19,5.45E-19,4.29E-19,4.58E-19,1.25E-18,7.87E-19,5.31E-19,1.03E-18,7.80E-19,8.67E-19,9.39E-19,1.31E-18,5.40E-19,8.03E-19,9.26E-19,1.18E-18,1.23E-18,8.05E-19,5.91E-19,7.59E-19,8.14E-19,5.26E-19,1.23E-18,8.12E-19,6.22E-19,1.17E-18,5.49E-19,8.07E-19,9.14E-19,9.79E-19,1.16E-18,8.64E-19,1.22E-18,1.20E-18,8.85E-19,7.29E-19,4.15E-19,5.73E-19,1.33E-18,8.65E-19,7.59E-19,3.86E-19,1.28E-18,9.15E-19,1.09E-18,5.61E-19,8.40E-19,8.16E-19,1.18E-18,3.29E-19,6.33E-19,5.76E-19,7.02E-19,1.22E-18,4.71E-19,1.10E-18,9.81E-19,9.13E-19 +9.12E-19,1.17E-18,6.98E-19,1.15E-18,8.45E-19,8.41E-19,3.51E-19,8.11E-19,4.63E-19,7.12E-19,8.16E-19,5.13E-19,3.01E-19,3.61E-19,5.28E-19,1.25E-18,1.05E-18,7.74E-19,5.77E-19,4.97E-19,9.36E-19,1.18E-18,7.36E-19,1.21E-18,1.08E-18,4.65E-19,4.22E-19,3.74E-19,6.23E-19,9.15E-19,3.05E-19,5.04E-19,1.05E-18,8.80E-19,4.53E-19,6.64E-19,4.85E-19,1.32E-18,9.49E-19,3.35E-19,3.69E-19,1.03E-18,8.97E-19,5.50E-19,4.34E-19,4.62E-19,1.25E-18,7.92E-19,5.36E-19,1.03E-18,7.84E-19,8.73E-19,9.43E-19,1.31E-18,5.44E-19,8.06E-19,9.30E-19,1.18E-18,1.24E-18,8.09E-19,5.94E-19,7.62E-19,8.19E-19,5.29E-19,1.23E-18,8.15E-19,6.26E-19,1.17E-18,5.53E-19,8.11E-19,9.19E-19,9.85E-19,1.16E-18,8.68E-19,1.23E-18,1.20E-18,8.88E-19,7.35E-19,4.19E-19,5.79E-19,1.33E-18,8.70E-19,7.65E-19,3.89E-19,1.29E-18,9.19E-19,1.09E-18,5.66E-19,8.44E-19,8.21E-19,1.18E-18,3.32E-19,6.38E-19,5.80E-19,7.07E-19,1.23E-18,4.76E-19,1.10E-18,9.85E-19,9.16E-19 +9.17E-19,1.18E-18,7.04E-19,1.16E-18,8.49E-19,8.45E-19,3.55E-19,8.15E-19,4.68E-19,7.15E-19,8.20E-19,5.18E-19,3.05E-19,3.66E-19,5.32E-19,1.26E-18,1.06E-18,7.79E-19,5.81E-19,5.01E-19,9.41E-19,1.18E-18,7.40E-19,1.22E-18,1.09E-18,4.69E-19,4.27E-19,3.78E-19,6.28E-19,9.19E-19,3.09E-19,5.09E-19,1.05E-18,8.84E-19,4.56E-19,6.68E-19,4.90E-19,1.32E-18,9.53E-19,3.38E-19,3.73E-19,1.03E-18,9.02E-19,5.55E-19,4.38E-19,4.67E-19,1.26E-18,7.98E-19,5.41E-19,1.04E-18,7.89E-19,8.78E-19,9.48E-19,1.32E-18,5.47E-19,8.10E-19,9.35E-19,1.19E-18,1.24E-18,8.13E-19,5.97E-19,7.65E-19,8.24E-19,5.33E-19,1.24E-18,8.19E-19,6.29E-19,1.17E-18,5.57E-19,8.14E-19,9.24E-19,9.90E-19,1.17E-18,8.73E-19,1.23E-18,1.20E-18,8.91E-19,7.40E-19,4.23E-19,5.84E-19,1.34E-18,8.75E-19,7.70E-19,3.93E-19,1.29E-18,9.23E-19,1.10E-18,5.71E-19,8.48E-19,8.26E-19,1.19E-18,3.36E-19,6.43E-19,5.84E-19,7.13E-19,1.23E-18,4.81E-19,1.11E-18,9.89E-19,9.20E-19 +9.22E-19,1.18E-18,7.09E-19,1.16E-18,8.53E-19,8.48E-19,3.59E-19,8.20E-19,4.73E-19,7.19E-19,8.23E-19,5.22E-19,3.09E-19,3.71E-19,5.36E-19,1.26E-18,1.06E-18,7.84E-19,5.85E-19,5.04E-19,9.45E-19,1.19E-18,7.44E-19,1.22E-18,1.09E-18,4.74E-19,4.32E-19,3.82E-19,6.33E-19,9.23E-19,3.13E-19,5.14E-19,1.06E-18,8.87E-19,4.60E-19,6.72E-19,4.96E-19,1.33E-18,9.57E-19,3.41E-19,3.77E-19,1.04E-18,9.06E-19,5.61E-19,4.43E-19,4.71E-19,1.26E-18,8.03E-19,5.47E-19,1.04E-18,7.93E-19,8.84E-19,9.52E-19,1.33E-18,5.51E-19,8.13E-19,9.40E-19,1.19E-18,1.25E-18,8.18E-19,6.00E-19,7.69E-19,8.30E-19,5.37E-19,1.24E-18,8.22E-19,6.33E-19,1.18E-18,5.61E-19,8.18E-19,9.29E-19,9.95E-19,1.17E-18,8.77E-19,1.24E-18,1.21E-18,8.95E-19,7.46E-19,4.26E-19,5.90E-19,1.35E-18,8.80E-19,7.75E-19,3.96E-19,1.30E-18,9.27E-19,1.10E-18,5.76E-19,8.52E-19,8.32E-19,1.19E-18,3.40E-19,6.48E-19,5.88E-19,7.18E-19,1.24E-18,4.87E-19,1.11E-18,9.94E-19,9.24E-19 +9.27E-19,1.19E-18,7.15E-19,1.16E-18,8.57E-19,8.52E-19,3.62E-19,8.24E-19,4.77E-19,7.23E-19,8.26E-19,5.27E-19,3.12E-19,3.75E-19,5.40E-19,1.27E-18,1.07E-18,7.89E-19,5.89E-19,5.08E-19,9.50E-19,1.19E-18,7.48E-19,1.23E-18,1.10E-18,4.79E-19,4.37E-19,3.86E-19,6.38E-19,9.27E-19,3.17E-19,5.20E-19,1.06E-18,8.91E-19,4.64E-19,6.76E-19,5.01E-19,1.33E-18,9.61E-19,3.44E-19,3.81E-19,1.04E-18,9.10E-19,5.66E-19,4.48E-19,4.75E-19,1.27E-18,8.09E-19,5.52E-19,1.04E-18,7.98E-19,8.89E-19,9.56E-19,1.33E-18,5.55E-19,8.16E-19,9.44E-19,1.20E-18,1.25E-18,8.22E-19,6.03E-19,7.72E-19,8.35E-19,5.40E-19,1.25E-18,8.26E-19,6.36E-19,1.18E-18,5.64E-19,8.22E-19,9.34E-19,1.00E-18,1.18E-18,8.81E-19,1.24E-18,1.21E-18,8.98E-19,7.51E-19,4.30E-19,5.95E-19,1.35E-18,8.85E-19,7.81E-19,4.00E-19,1.30E-18,9.31E-19,1.10E-18,5.81E-19,8.56E-19,8.37E-19,1.20E-18,3.44E-19,6.53E-19,5.93E-19,7.23E-19,1.25E-18,4.92E-19,1.12E-18,9.98E-19,9.27E-19 +9.32E-19,1.19E-18,7.20E-19,1.17E-18,8.61E-19,8.55E-19,3.66E-19,8.28E-19,4.82E-19,7.26E-19,8.30E-19,5.32E-19,3.16E-19,3.80E-19,5.44E-19,1.27E-18,1.07E-18,7.93E-19,5.93E-19,5.11E-19,9.55E-19,1.20E-18,7.52E-19,1.23E-18,1.10E-18,4.83E-19,4.42E-19,3.90E-19,6.43E-19,9.31E-19,3.21E-19,5.25E-19,1.06E-18,8.95E-19,4.67E-19,6.79E-19,5.07E-19,1.34E-18,9.65E-19,3.48E-19,3.85E-19,1.05E-18,9.15E-19,5.71E-19,4.53E-19,4.80E-19,1.27E-18,8.14E-19,5.57E-19,1.05E-18,8.02E-19,8.94E-19,9.60E-19,1.34E-18,5.59E-19,8.20E-19,9.49E-19,1.21E-18,1.25E-18,8.26E-19,6.06E-19,7.75E-19,8.40E-19,5.44E-19,1.25E-18,8.30E-19,6.40E-19,1.18E-18,5.68E-19,8.26E-19,9.39E-19,1.01E-18,1.18E-18,8.86E-19,1.25E-18,1.21E-18,9.01E-19,7.57E-19,4.34E-19,6.01E-19,1.36E-18,8.90E-19,7.86E-19,4.03E-19,1.31E-18,9.35E-19,1.11E-18,5.86E-19,8.60E-19,8.42E-19,1.20E-18,3.48E-19,6.58E-19,5.97E-19,7.29E-19,1.25E-18,4.98E-19,1.12E-18,1.00E-18,9.31E-19 +9.36E-19,1.20E-18,7.25E-19,1.17E-18,8.66E-19,8.59E-19,3.70E-19,8.32E-19,4.87E-19,7.30E-19,8.33E-19,5.37E-19,3.20E-19,3.85E-19,5.48E-19,1.28E-18,1.08E-18,7.98E-19,5.97E-19,5.15E-19,9.59E-19,1.20E-18,7.56E-19,1.24E-18,1.11E-18,4.88E-19,4.46E-19,3.94E-19,6.48E-19,9.35E-19,3.25E-19,5.30E-19,1.07E-18,8.98E-19,4.71E-19,6.83E-19,5.12E-19,1.34E-18,9.68E-19,3.51E-19,3.89E-19,1.05E-18,9.19E-19,5.76E-19,4.57E-19,4.84E-19,1.28E-18,8.19E-19,5.63E-19,1.05E-18,8.07E-19,9.00E-19,9.64E-19,1.34E-18,5.63E-19,8.23E-19,9.53E-19,1.21E-18,1.26E-18,8.31E-19,6.09E-19,7.79E-19,8.45E-19,5.47E-19,1.26E-18,8.33E-19,6.43E-19,1.19E-18,5.72E-19,8.30E-19,9.43E-19,1.01E-18,1.18E-18,8.90E-19,1.25E-18,1.22E-18,9.05E-19,7.62E-19,4.38E-19,6.06E-19,1.37E-18,8.95E-19,7.91E-19,4.07E-19,1.31E-18,9.38E-19,1.11E-18,5.91E-19,8.64E-19,8.47E-19,1.21E-18,3.52E-19,6.63E-19,6.01E-19,7.34E-19,1.26E-18,5.03E-19,1.13E-18,1.01E-18,9.35E-19 +9.41E-19,1.20E-18,7.31E-19,1.18E-18,8.70E-19,8.63E-19,3.73E-19,8.36E-19,4.92E-19,7.34E-19,8.37E-19,5.41E-19,3.23E-19,3.90E-19,5.52E-19,1.28E-18,1.08E-18,8.03E-19,6.01E-19,5.18E-19,9.64E-19,1.21E-18,7.60E-19,1.24E-18,1.11E-18,4.93E-19,4.51E-19,3.98E-19,6.54E-19,9.39E-19,3.29E-19,5.36E-19,1.07E-18,9.02E-19,4.74E-19,6.87E-19,5.18E-19,1.35E-18,9.72E-19,3.54E-19,3.92E-19,1.05E-18,9.23E-19,5.82E-19,4.62E-19,4.88E-19,1.28E-18,8.25E-19,5.68E-19,1.06E-18,8.12E-19,9.05E-19,9.69E-19,1.35E-18,5.66E-19,8.27E-19,9.58E-19,1.22E-18,1.26E-18,8.35E-19,6.13E-19,7.82E-19,8.50E-19,5.51E-19,1.26E-18,8.37E-19,6.47E-19,1.19E-18,5.76E-19,8.34E-19,9.48E-19,1.02E-18,1.19E-18,8.94E-19,1.26E-18,1.22E-18,9.08E-19,7.68E-19,4.42E-19,6.12E-19,1.37E-18,9.00E-19,7.97E-19,4.10E-19,1.32E-18,9.42E-19,1.12E-18,5.96E-19,8.68E-19,8.52E-19,1.21E-18,3.56E-19,6.68E-19,6.05E-19,7.39E-19,1.26E-18,5.09E-19,1.13E-18,1.01E-18,9.39E-19 +9.46E-19,1.21E-18,7.36E-19,1.18E-18,8.74E-19,8.66E-19,3.77E-19,8.41E-19,4.96E-19,7.37E-19,8.40E-19,5.46E-19,3.27E-19,3.95E-19,5.56E-19,1.29E-18,1.09E-18,8.08E-19,6.05E-19,5.22E-19,9.69E-19,1.21E-18,7.64E-19,1.25E-18,1.12E-18,4.97E-19,4.56E-19,4.02E-19,6.59E-19,9.43E-19,3.33E-19,5.41E-19,1.07E-18,9.05E-19,4.78E-19,6.91E-19,5.23E-19,1.35E-18,9.76E-19,3.58E-19,3.96E-19,1.06E-18,9.27E-19,5.87E-19,4.67E-19,4.93E-19,1.29E-18,8.30E-19,5.74E-19,1.06E-18,8.16E-19,9.11E-19,9.73E-19,1.35E-18,5.70E-19,8.30E-19,9.62E-19,1.22E-18,1.27E-18,8.39E-19,6.16E-19,7.85E-19,8.55E-19,5.55E-19,1.27E-18,8.40E-19,6.50E-19,1.19E-18,5.80E-19,8.38E-19,9.53E-19,1.02E-18,1.19E-18,8.99E-19,1.26E-18,1.22E-18,9.11E-19,7.73E-19,4.46E-19,6.18E-19,1.38E-18,9.04E-19,8.02E-19,4.14E-19,1.32E-18,9.46E-19,1.12E-18,6.01E-19,8.72E-19,8.57E-19,1.22E-18,3.59E-19,6.73E-19,6.10E-19,7.45E-19,1.27E-18,5.14E-19,1.14E-18,1.01E-18,9.42E-19 +9.51E-19,1.21E-18,7.41E-19,1.19E-18,8.78E-19,8.70E-19,3.81E-19,8.45E-19,5.01E-19,7.41E-19,8.44E-19,5.51E-19,3.31E-19,3.99E-19,5.60E-19,1.29E-18,1.09E-18,8.13E-19,6.09E-19,5.25E-19,9.73E-19,1.22E-18,7.67E-19,1.25E-18,1.12E-18,5.02E-19,4.61E-19,4.06E-19,6.64E-19,9.47E-19,3.37E-19,5.47E-19,1.08E-18,9.09E-19,4.82E-19,6.94E-19,5.29E-19,1.36E-18,9.80E-19,3.61E-19,4.00E-19,1.06E-18,9.32E-19,5.92E-19,4.71E-19,4.97E-19,1.29E-18,8.35E-19,5.79E-19,1.07E-18,8.21E-19,9.16E-19,9.77E-19,1.36E-18,5.74E-19,8.33E-19,9.67E-19,1.23E-18,1.27E-18,8.44E-19,6.19E-19,7.89E-19,8.60E-19,5.58E-19,1.27E-18,8.44E-19,6.54E-19,1.20E-18,5.84E-19,8.42E-19,9.58E-19,1.03E-18,1.19E-18,9.03E-19,1.27E-18,1.23E-18,9.15E-19,7.79E-19,4.50E-19,6.23E-19,1.38E-18,9.09E-19,8.08E-19,4.17E-19,1.33E-18,9.50E-19,1.12E-18,6.06E-19,8.76E-19,8.63E-19,1.22E-18,3.63E-19,6.78E-19,6.14E-19,7.50E-19,1.28E-18,5.20E-19,1.14E-18,1.02E-18,9.46E-19 +9.56E-19,1.22E-18,7.47E-19,1.19E-18,8.82E-19,8.74E-19,3.84E-19,8.49E-19,5.06E-19,7.45E-19,8.47E-19,5.55E-19,3.34E-19,4.04E-19,5.64E-19,1.30E-18,1.10E-18,8.18E-19,6.13E-19,5.29E-19,9.78E-19,1.22E-18,7.71E-19,1.25E-18,1.13E-18,5.07E-19,4.66E-19,4.10E-19,6.69E-19,9.51E-19,3.41E-19,5.52E-19,1.08E-18,9.12E-19,4.85E-19,6.98E-19,5.34E-19,1.36E-18,9.84E-19,3.64E-19,4.04E-19,1.06E-18,9.36E-19,5.98E-19,4.76E-19,5.01E-19,1.30E-18,8.41E-19,5.84E-19,1.07E-18,8.25E-19,9.22E-19,9.81E-19,1.37E-18,5.78E-19,8.37E-19,9.71E-19,1.24E-18,1.27E-18,8.48E-19,6.22E-19,7.92E-19,8.65E-19,5.62E-19,1.28E-18,8.48E-19,6.57E-19,1.20E-18,5.88E-19,8.46E-19,9.63E-19,1.03E-18,1.20E-18,9.07E-19,1.27E-18,1.23E-18,9.18E-19,7.84E-19,4.54E-19,6.29E-19,1.39E-18,9.14E-19,8.13E-19,4.21E-19,1.33E-18,9.54E-19,1.13E-18,6.11E-19,8.80E-19,8.68E-19,1.23E-18,3.67E-19,6.83E-19,6.18E-19,7.55E-19,1.28E-18,5.25E-19,1.15E-18,1.02E-18,9.50E-19 +9.61E-19,1.22E-18,7.52E-19,1.20E-18,8.86E-19,8.77E-19,3.88E-19,8.53E-19,5.10E-19,7.48E-19,8.50E-19,5.60E-19,3.38E-19,4.09E-19,5.68E-19,1.30E-18,1.10E-18,8.23E-19,6.17E-19,5.32E-19,9.83E-19,1.23E-18,7.75E-19,1.26E-18,1.13E-18,5.11E-19,4.70E-19,4.14E-19,6.74E-19,9.55E-19,3.45E-19,5.57E-19,1.08E-18,9.16E-19,4.89E-19,7.02E-19,5.40E-19,1.37E-18,9.88E-19,3.67E-19,4.08E-19,1.07E-18,9.40E-19,6.03E-19,4.81E-19,5.06E-19,1.30E-18,8.46E-19,5.90E-19,1.08E-18,8.30E-19,9.27E-19,9.85E-19,1.37E-18,5.82E-19,8.40E-19,9.76E-19,1.24E-18,1.28E-18,8.52E-19,6.25E-19,7.95E-19,8.70E-19,5.65E-19,1.28E-18,8.51E-19,6.61E-19,1.21E-18,5.92E-19,8.50E-19,9.68E-19,1.04E-18,1.20E-18,9.12E-19,1.28E-18,1.23E-18,9.21E-19,7.90E-19,4.58E-19,6.34E-19,1.40E-18,9.19E-19,8.18E-19,4.24E-19,1.34E-18,9.58E-19,1.13E-18,6.16E-19,8.84E-19,8.73E-19,1.23E-18,3.71E-19,6.88E-19,6.23E-19,7.60E-19,1.29E-18,5.30E-19,1.15E-18,1.03E-18,9.54E-19 +9.66E-19,1.23E-18,7.57E-19,1.20E-18,8.90E-19,8.81E-19,3.92E-19,8.57E-19,5.15E-19,7.52E-19,8.54E-19,5.65E-19,3.42E-19,4.14E-19,5.72E-19,1.31E-18,1.11E-18,8.28E-19,6.20E-19,5.36E-19,9.87E-19,1.23E-18,7.79E-19,1.26E-18,1.13E-18,5.16E-19,4.75E-19,4.18E-19,6.79E-19,9.59E-19,3.49E-19,5.63E-19,1.09E-18,9.20E-19,4.92E-19,7.05E-19,5.45E-19,1.37E-18,9.91E-19,3.71E-19,4.12E-19,1.07E-18,9.45E-19,6.08E-19,4.86E-19,5.10E-19,1.31E-18,8.51E-19,5.95E-19,1.08E-18,8.35E-19,9.32E-19,9.90E-19,1.38E-18,5.86E-19,8.43E-19,9.80E-19,1.25E-18,1.28E-18,8.57E-19,6.28E-19,7.99E-19,8.75E-19,5.69E-19,1.29E-18,8.55E-19,6.64E-19,1.21E-18,5.96E-19,8.54E-19,9.73E-19,1.04E-18,1.21E-18,9.16E-19,1.28E-18,1.24E-18,9.25E-19,7.95E-19,4.62E-19,6.40E-19,1.40E-18,9.24E-19,8.24E-19,4.28E-19,1.34E-18,9.62E-19,1.14E-18,6.21E-19,8.88E-19,8.78E-19,1.24E-18,3.75E-19,6.92E-19,6.27E-19,7.66E-19,1.30E-18,5.36E-19,1.16E-18,1.03E-18,9.57E-19 +9.71E-19,1.23E-18,7.63E-19,1.20E-18,8.94E-19,8.85E-19,3.95E-19,8.62E-19,5.20E-19,7.56E-19,8.57E-19,5.70E-19,3.45E-19,4.19E-19,5.75E-19,1.31E-18,1.11E-18,8.33E-19,6.24E-19,5.39E-19,9.92E-19,1.24E-18,7.83E-19,1.27E-18,1.14E-18,5.21E-19,4.80E-19,4.22E-19,6.84E-19,9.63E-19,3.53E-19,5.68E-19,1.09E-18,9.23E-19,4.96E-19,7.09E-19,5.51E-19,1.38E-18,9.95E-19,3.74E-19,4.16E-19,1.07E-18,9.49E-19,6.13E-19,4.90E-19,5.14E-19,1.31E-18,8.57E-19,6.01E-19,1.09E-18,8.39E-19,9.38E-19,9.94E-19,1.38E-18,5.89E-19,8.47E-19,9.85E-19,1.25E-18,1.29E-18,8.61E-19,6.31E-19,8.02E-19,8.80E-19,5.72E-19,1.29E-18,8.58E-19,6.68E-19,1.21E-18,6.00E-19,8.58E-19,9.78E-19,1.05E-18,1.21E-18,9.20E-19,1.29E-18,1.24E-18,9.28E-19,8.00E-19,4.66E-19,6.45E-19,1.41E-18,9.29E-19,8.29E-19,4.31E-19,1.35E-18,9.65E-19,1.14E-18,6.26E-19,8.92E-19,8.83E-19,1.24E-18,3.79E-19,6.97E-19,6.31E-19,7.71E-19,1.30E-18,5.41E-19,1.16E-18,1.03E-18,9.61E-19 +9.75E-19,1.24E-18,7.68E-19,1.21E-18,8.98E-19,8.88E-19,3.99E-19,8.66E-19,5.25E-19,7.59E-19,8.61E-19,5.74E-19,3.49E-19,4.23E-19,5.79E-19,1.31E-18,,,6.28E-19,5.43E-19,9.97E-19,1.24E-18,7.87E-19,1.27E-18,1.14E-18,5.25E-19,4.85E-19,4.26E-19,6.89E-19,9.67E-19,3.57E-19,5.73E-19,1.09E-18,9.27E-19,5.00E-19,7.13E-19,5.56E-19,1.38E-18,9.99E-19,3.77E-19,4.19E-19,1.08E-18,9.53E-19,6.19E-19,4.95E-19,5.19E-19,1.32E-18,,6.06E-19,1.09E-18,8.44E-19,9.43E-19,,1.39E-18,5.93E-19,8.50E-19,9.90E-19,,1.29E-18,8.65E-19,6.34E-19,8.05E-19,8.86E-19,5.76E-19,1.30E-18,8.62E-19,6.71E-19,1.22E-18,6.03E-19,8.62E-19,9.83E-19,1.05E-18,1.21E-18,9.25E-19,1.29E-18,1.24E-18,9.31E-19,8.06E-19,4.70E-19,6.51E-19,,9.34E-19,8.34E-19,4.34E-19,,9.69E-19,1.14E-18,6.31E-19,8.96E-19,8.89E-19,,3.83E-19,7.02E-19,6.35E-19,7.76E-19,,5.47E-19,1.16E-18,1.04E-18,9.65E-19 +9.80E-19,1.25E-18,7.74E-19,1.21E-18,9.02E-19,8.92E-19,4.03E-19,8.70E-19,5.29E-19,7.63E-19,8.64E-19,5.79E-19,3.53E-19,4.28E-19,5.83E-19,1.32E-18,,,6.32E-19,5.46E-19,1.00E-18,1.25E-18,7.91E-19,1.28E-18,1.15E-18,5.30E-19,4.90E-19,4.30E-19,6.94E-19,9.71E-19,3.61E-19,5.79E-19,1.10E-18,9.30E-19,5.03E-19,7.17E-19,5.62E-19,1.39E-18,1.00E-18,3.81E-19,4.23E-19,1.08E-18,9.57E-19,6.24E-19,5.00E-19,5.23E-19,1.32E-18,,6.11E-19,1.10E-18,8.48E-19,9.49E-19,,1.39E-18,,8.53E-19,9.94E-19,,1.29E-18,8.70E-19,6.37E-19,8.09E-19,8.91E-19,5.80E-19,1.30E-18,8.66E-19,6.75E-19,1.22E-18,6.07E-19,8.66E-19,9.88E-19,1.06E-18,1.22E-18,9.29E-19,1.30E-18,1.25E-18,9.35E-19,8.11E-19,,6.57E-19,,9.39E-19,8.40E-19,4.38E-19,,9.73E-19,1.15E-18,6.36E-19,9.00E-19,8.94E-19,,3.86E-19,7.07E-19,6.40E-19,7.82E-19,,5.52E-19,1.17E-18,1.04E-18,9.69E-19 +9.85E-19,1.25E-18,7.79E-19,1.22E-18,9.06E-19,8.96E-19,4.06E-19,8.74E-19,5.34E-19,7.67E-19,8.68E-19,5.84E-19,3.56E-19,4.33E-19,5.87E-19,1.32E-18,,,6.36E-19,5.49E-19,1.01E-18,1.25E-18,7.95E-19,1.28E-18,1.15E-18,5.35E-19,4.95E-19,4.34E-19,6.99E-19,9.75E-19,3.64E-19,5.84E-19,1.10E-18,9.34E-19,5.07E-19,7.20E-19,5.68E-19,1.39E-18,1.01E-18,3.84E-19,4.27E-19,1.08E-18,9.62E-19,6.29E-19,5.04E-19,5.27E-19,1.33E-18,,,1.10E-18,8.53E-19,9.54E-19,,1.40E-18,,8.57E-19,9.99E-19,,1.30E-18,8.74E-19,6.41E-19,8.12E-19,8.96E-19,5.83E-19,1.31E-18,8.69E-19,6.78E-19,1.22E-18,6.11E-19,8.70E-19,9.93E-19,1.06E-18,1.22E-18,9.34E-19,1.30E-18,1.25E-18,9.38E-19,8.17E-19,,6.62E-19,,9.44E-19,8.45E-19,4.41E-19,,9.77E-19,1.15E-18,6.41E-19,9.05E-19,8.99E-19,,3.90E-19,7.12E-19,6.44E-19,7.87E-19,,5.58E-19,1.17E-18,1.05E-18,9.72E-19 +,1.26E-18,7.84E-19,,9.10E-19,8.99E-19,4.10E-19,,5.39E-19,7.70E-19,8.71E-19,5.89E-19,3.60E-19,4.38E-19,5.91E-19,1.33E-18,,,6.40E-19,5.53E-19,1.01E-18,1.26E-18,7.99E-19,1.29E-18,1.16E-18,5.39E-19,4.99E-19,4.38E-19,7.05E-19,9.79E-19,3.68E-19,5.90E-19,1.10E-18,9.37E-19,5.10E-19,7.24E-19,5.73E-19,1.40E-18,1.01E-18,3.87E-19,4.31E-19,1.09E-18,9.66E-19,6.34E-19,5.09E-19,5.31E-19,1.33E-18,,,1.11E-18,8.57E-19,9.59E-19,,1.41E-18,,8.60E-19,1.00E-18,,1.30E-18,8.78E-19,6.44E-19,8.15E-19,9.01E-19,5.87E-19,1.31E-18,8.73E-19,6.82E-19,1.23E-18,6.15E-19,8.74E-19,9.98E-19,1.07E-18,1.22E-18,9.38E-19,1.31E-18,1.25E-18,9.42E-19,8.22E-19,,6.68E-19,,9.49E-19,8.50E-19,4.45E-19,,9.81E-19,1.16E-18,6.46E-19,9.09E-19,9.04E-19,,3.94E-19,7.17E-19,6.48E-19,7.92E-19,,5.63E-19,1.18E-18,1.05E-18,9.76E-19 +,1.26E-18,7.90E-19,,9.14E-19,9.03E-19,4.14E-19,,5.44E-19,7.74E-19,8.74E-19,5.93E-19,3.64E-19,4.43E-19,5.95E-19,,,,6.44E-19,5.56E-19,1.02E-18,1.26E-18,8.02E-19,,1.16E-18,5.44E-19,5.04E-19,4.42E-19,7.10E-19,9.83E-19,,5.95E-19,1.11E-18,9.41E-19,5.14E-19,7.28E-19,5.79E-19,1.40E-18,1.01E-18,3.91E-19,4.35E-19,1.09E-18,9.70E-19,6.40E-19,5.14E-19,5.36E-19,1.34E-18,,,1.11E-18,8.62E-19,9.65E-19,,1.41E-18,,8.63E-19,1.01E-18,,1.31E-18,8.82E-19,6.47E-19,8.19E-19,9.06E-19,5.90E-19,1.32E-18,8.76E-19,6.85E-19,1.23E-18,6.19E-19,8.78E-19,1.00E-18,1.07E-18,1.23E-18,9.42E-19,1.31E-18,1.26E-18,9.45E-19,8.28E-19,,,,9.54E-19,8.56E-19,4.48E-19,,9.85E-19,1.16E-18,6.51E-19,9.13E-19,9.09E-19,,3.98E-19,7.22E-19,6.52E-19,7.98E-19,,5.69E-19,1.18E-18,1.06E-18,9.80E-19 +,1.27E-18,7.95E-19,,9.18E-19,9.06E-19,4.17E-19,,5.48E-19,7.77E-19,8.78E-19,5.98E-19,3.67E-19,4.47E-19,5.99E-19,,,,6.48E-19,5.60E-19,1.02E-18,1.27E-18,8.06E-19,,1.17E-18,5.49E-19,5.09E-19,4.46E-19,7.15E-19,,,6.00E-19,1.11E-18,9.45E-19,5.18E-19,7.32E-19,5.84E-19,1.41E-18,1.02E-18,3.94E-19,4.39E-19,1.10E-18,9.75E-19,6.45E-19,5.19E-19,5.40E-19,1.34E-18,,,1.12E-18,8.67E-19,9.70E-19,,1.42E-18,,8.67E-19,1.01E-18,,1.31E-18,8.87E-19,6.50E-19,8.22E-19,9.11E-19,5.94E-19,1.32E-18,8.80E-19,6.88E-19,1.23E-18,6.23E-19,8.82E-19,1.01E-18,1.08E-18,1.23E-18,9.47E-19,1.32E-18,1.26E-18,9.48E-19,8.33E-19,,,,9.59E-19,8.61E-19,4.52E-19,,9.89E-19,1.16E-18,6.56E-19,9.17E-19,9.14E-19,,4.02E-19,7.27E-19,6.57E-19,8.03E-19,,5.74E-19,1.19E-18,,9.83E-19 +,1.27E-18,8.00E-19,,9.22E-19,9.10E-19,4.21E-19,,5.53E-19,7.81E-19,8.81E-19,6.03E-19,3.71E-19,4.52E-19,6.03E-19,,,,6.52E-19,5.63E-19,1.02E-18,1.28E-18,8.10E-19,,1.17E-18,5.54E-19,5.14E-19,4.50E-19,7.20E-19,,,6.06E-19,1.11E-18,9.48E-19,5.21E-19,,5.90E-19,1.41E-18,1.02E-18,3.97E-19,4.42E-19,1.10E-18,9.79E-19,6.50E-19,5.23E-19,5.44E-19,1.35E-18,,,1.12E-18,8.71E-19,9.76E-19,,1.42E-18,,8.70E-19,1.02E-18,,1.32E-18,8.91E-19,6.53E-19,8.25E-19,9.16E-19,5.97E-19,1.33E-18,8.84E-19,6.92E-19,1.24E-18,6.27E-19,8.86E-19,1.01E-18,1.08E-18,1.24E-18,9.51E-19,1.32E-18,1.26E-18,9.52E-19,8.39E-19,,,,9.64E-19,8.66E-19,4.55E-19,,9.92E-19,1.17E-18,6.61E-19,9.21E-19,9.20E-19,,4.06E-19,7.32E-19,6.61E-19,8.08E-19,,5.79E-19,1.19E-18,,9.87E-19 +,1.28E-18,8.06E-19,,9.26E-19,9.14E-19,,,5.58E-19,7.85E-19,8.85E-19,6.08E-19,3.75E-19,4.57E-19,6.07E-19,,,,6.56E-19,5.67E-19,1.03E-18,1.28E-18,8.14E-19,,1.18E-18,5.58E-19,5.19E-19,4.54E-19,7.25E-19,,,6.11E-19,1.12E-18,,5.25E-19,,5.95E-19,1.42E-18,1.03E-18,4.00E-19,4.46E-19,1.10E-18,9.83E-19,6.55E-19,5.28E-19,,1.35E-18,,,1.13E-18,8.76E-19,9.81E-19,,1.43E-18,,8.74E-19,1.02E-18,,1.32E-18,,6.56E-19,8.29E-19,9.21E-19,6.01E-19,1.33E-18,8.87E-19,6.95E-19,1.24E-18,6.31E-19,8.90E-19,,1.09E-18,1.24E-18,9.55E-19,1.33E-18,1.27E-18,9.55E-19,8.44E-19,,,,9.69E-19,8.72E-19,4.59E-19,,9.96E-19,1.17E-18,6.66E-19,9.25E-19,9.25E-19,,4.09E-19,7.37E-19,6.65E-19,8.14E-19,,5.85E-19,,,9.91E-19 +,,8.11E-19,,9.30E-19,,,,5.63E-19,7.88E-19,8.88E-19,6.12E-19,3.78E-19,4.62E-19,6.11E-19,,,,6.60E-19,5.70E-19,1.03E-18,1.29E-18,8.18E-19,,1.18E-18,5.63E-19,5.24E-19,4.58E-19,7.30E-19,,,6.16E-19,1.12E-18,,5.28E-19,,6.01E-19,1.42E-18,1.03E-18,4.04E-19,4.50E-19,1.11E-18,9.87E-19,6.61E-19,5.33E-19,,1.36E-18,,,1.13E-18,8.80E-19,9.87E-19,,,,8.77E-19,1.03E-18,,1.32E-18,,6.59E-19,8.32E-19,9.26E-19,6.05E-19,1.34E-18,8.91E-19,6.99E-19,1.24E-18,6.35E-19,8.94E-19,,1.09E-18,,9.60E-19,1.33E-18,1.27E-18,9.58E-19,8.50E-19,,,,9.74E-19,8.77E-19,4.62E-19,,1.00E-18,1.18E-18,6.70E-19,9.29E-19,9.30E-19,,4.13E-19,7.42E-19,6.70E-19,8.19E-19,,5.90E-19,,,9.95E-19 +,,8.16E-19,,9.34E-19,,,,5.67E-19,7.92E-19,8.92E-19,6.17E-19,3.82E-19,4.66E-19,6.15E-19,,,,6.64E-19,5.74E-19,1.04E-18,,8.22E-19,,1.19E-18,5.68E-19,5.28E-19,4.62E-19,7.35E-19,,,6.22E-19,1.12E-18,,5.32E-19,,,1.43E-18,1.03E-18,4.07E-19,4.54E-19,1.11E-18,,,5.37E-19,,1.36E-18,,,1.14E-18,8.85E-19,9.92E-19,,,,8.80E-19,1.03E-18,,1.33E-18,,6.62E-19,8.35E-19,9.31E-19,6.08E-19,1.34E-18,8.94E-19,7.02E-19,1.25E-18,6.39E-19,8.98E-19,,1.10E-18,,9.64E-19,1.34E-18,1.27E-18,9.62E-19,8.55E-19,,,,9.79E-19,8.82E-19,4.66E-19,,1.00E-18,1.18E-18,6.75E-19,9.33E-19,9.35E-19,,4.17E-19,7.47E-19,6.74E-19,8.24E-19,,5.96E-19,,,9.98E-19 +,,8.22E-19,,9.38E-19,,,,5.72E-19,7.96E-19,8.95E-19,6.22E-19,3.86E-19,4.71E-19,6.19E-19,,,,6.68E-19,5.77E-19,1.04E-18,,8.26E-19,,1.19E-18,5.72E-19,5.33E-19,4.66E-19,7.40E-19,,,6.27E-19,1.13E-18,,5.36E-19,,,1.43E-18,1.04E-18,4.10E-19,4.58E-19,1.11E-18,,,5.42E-19,,1.37E-18,,,1.14E-18,,,,,,8.84E-19,1.04E-18,,1.33E-18,,6.65E-19,8.39E-19,9.36E-19,6.12E-19,1.35E-18,8.98E-19,7.06E-19,1.25E-18,6.42E-19,9.02E-19,,,,9.68E-19,1.34E-18,1.28E-18,9.65E-19,8.61E-19,,,,,8.88E-19,4.69E-19,,1.01E-18,1.19E-18,6.80E-19,9.37E-19,9.40E-19,,4.21E-19,7.52E-19,6.78E-19,8.29E-19,,6.01E-19,,,1.00E-18 +,,8.27E-19,,,,,,5.77E-19,7.99E-19,8.98E-19,6.26E-19,3.89E-19,4.76E-19,,,,,6.72E-19,5.81E-19,1.05E-18,,8.30E-19,,1.20E-18,5.77E-19,5.38E-19,4.70E-19,7.45E-19,,,,1.13E-18,,5.39E-19,,,1.44E-18,,4.14E-19,4.62E-19,1.12E-18,,,5.47E-19,,1.37E-18,,,1.14E-18,,,,,,8.87E-19,1.04E-18,,1.34E-18,,6.69E-19,8.42E-19,9.42E-19,6.15E-19,1.35E-18,9.01E-19,7.09E-19,1.25E-18,6.46E-19,,,,,9.73E-19,1.35E-18,1.28E-18,9.68E-19,8.66E-19,,,,,,4.73E-19,,,1.19E-18,,9.41E-19,9.46E-19,,,,6.82E-19,8.35E-19,,,,,1.01E-18 +,,,,,,,,5.82E-19,8.03E-19,9.02E-19,6.31E-19,3.93E-19,4.81E-19,,,,,6.75E-19,5.84E-19,1.05E-18,,8.34E-19,,1.20E-18,5.82E-19,,4.74E-19,7.50E-19,,,,1.13E-18,,5.43E-19,,,1.44E-18,,4.17E-19,4.66E-19,1.12E-18,,,,,,,,1.15E-18,,,,,,8.90E-19,1.04E-18,,1.34E-18,,6.72E-19,8.45E-19,9.47E-19,6.19E-19,1.36E-18,9.05E-19,7.13E-19,,6.50E-19,,,,,9.77E-19,1.35E-18,1.28E-18,9.72E-19,,,,,,,4.76E-19,,,1.19E-18,,9.45E-19,9.51E-19,,,,6.87E-19,8.40E-19,,,,,1.01E-18 +,,,,,,,,5.86E-19,8.07E-19,9.05E-19,,3.96E-19,4.86E-19,,,,,,5.88E-19,1.06E-18,,8.37E-19,,1.21E-18,,,4.78E-19,7.55E-19,,,,1.14E-18,,5.46E-19,,,1.45E-18,,,4.69E-19,1.12E-18,,,,,,,,1.15E-18,,,,,,8.94E-19,1.05E-18,,,,6.75E-19,8.49E-19,9.52E-19,6.23E-19,1.36E-18,,7.16E-19,,6.54E-19,,,,,9.81E-19,1.36E-18,1.29E-18,9.75E-19,,,,,,,4.80E-19,,,1.20E-18,,9.49E-19,9.56E-19,,,,,8.45E-19,,,,,1.01E-18 +,,,,,,,,5.91E-19,8.10E-19,,,4.00E-19,4.90E-19,,,,,,5.91E-19,1.06E-18,,8.41E-19,,1.21E-18,,,4.82E-19,,,,,1.14E-18,,5.50E-19,,,1.45E-18,,,4.73E-19,1.13E-18,,,,,,,,1.16E-18,,,,,,,,,,,6.78E-19,8.52E-19,9.57E-19,6.26E-19,1.37E-18,,7.20E-19,,6.58E-19,,,,,9.86E-19,1.36E-18,1.29E-18,9.78E-19,,,,,,,4.83E-19,,,1.20E-18,,9.53E-19,9.61E-19,,,,,,,,,,1.02E-18 +,,,,,,,,5.96E-19,,,,,4.95E-19,,,,,,5.95E-19,1.07E-18,,8.45E-19,,1.21E-18,,,4.86E-19,,,,,,,5.54E-19,,,1.46E-18,,,4.77E-19,,,,,,,,,1.16E-18,,,,,,,,,,,6.81E-19,8.55E-19,9.62E-19,6.30E-19,1.37E-18,,,,6.62E-19,,,,,9.90E-19,1.37E-18,1.29E-18,9.82E-19,,,,,,,4.87E-19,,,1.21E-18,,9.57E-19,9.66E-19,,,,,,,,,,1.02E-18 +,,,,,,,,,,,,,5.00E-19,,,,,,5.98E-19,1.07E-18,,8.49E-19,,,,,4.90E-19,,,,,,,,,,1.46E-18,,,,,,,,,,,,1.17E-18,,,,,,,,,,,6.84E-19,8.59E-19,9.67E-19,6.33E-19,1.38E-18,,,,,,,,,9.95E-19,1.37E-18,1.30E-18,9.85E-19,,,,,,,4.90E-19,,,1.21E-18,,,,,,,,,,,,,1.02E-18 +,,,,,,,,,,,,,5.05E-19,,,,,,6.01E-19,1.08E-18,,8.53E-19,,,,,4.94E-19,,,,,,,,,,1.47E-18,,,,,,,,,,,,1.17E-18,,,,,,,,,,,6.87E-19,8.62E-19,9.72E-19,6.37E-19,1.38E-18,,,,,,,,,9.99E-19,,1.30E-18,9.88E-19,,,,,,,4.93E-19,,,1.21E-18,,,,,,,,,,,,,1.03E-18 +,,,,,,,,,,,,,,,,,,,,1.08E-18,,,,,,,,,,,,,,,,,1.47E-18,,,,,,,,,,,,,,,,,,,,,,,,8.65E-19,9.77E-19,,1.39E-18,,,,,,,,,1.00E-18,,1.30E-18,9.92E-19,,,,,,,4.97E-19,,,1.22E-18,,,,,,,,,,,,,1.03E-18 +,,,,,,,,,,,,,,,,,,,,1.09E-18,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8.69E-19,,,,,,,,,,,,1.01E-18,,,9.95E-19,,,,,,,5.00E-19,,,1.22E-18,,,,,,,,,,,,, diff --git a/lessons/files/practice_files/energy_data_small.csv b/lessons/files/practice_files/energy_data_small.csv new file mode 100644 index 00000000..60e81915 --- /dev/null +++ b/lessons/files/practice_files/energy_data_small.csv @@ -0,0 +1,14 @@ +8.64E-19,1.84E-19,1.01E-19,1.82E-19,5.00E-19,,,,, +8.92E-19,2.19E-19,1.43E-19,2.11E-19,5.39E-19,,,,, +9.20E-19,2.54E-19,1.85E-19,2.40E-19,5.77E-19,,,,, +9.47E-19,2.89E-19,2.28E-19,2.69E-19,6.16E-19,,,,, +9.75E-19,3.24E-19,2.70E-19,2.99E-19,6.54E-19,,,,, +1.00E-18,3.58E-19,3.13E-19,3.28E-19,6.92E-19,,,,, +1.03E-18,3.93E-19,3.55E-19,3.57E-19,7.31E-19,,,,, +1.06E-18,4.28E-19,3.98E-19,3.86E-19,7.69E-19,,,,, +1.09E-18,4.63E-19,4.40E-19,4.15E-19,8.07E-19,,,,, +1.11E-18,4.98E-19,4.83E-19,4.44E-19,8.46E-19,,,,, +1.14E-18,5.33E-19,5.25E-19,4.74E-19,,,,,, +1.17E-18,,5.68E-19,5.03E-19,,,,,, +1.20E-18,,,,,,,,, +,,,,,,,,, diff --git a/lessons/files/gas_const.txt b/lessons/files/practice_files/gas_const.txt similarity index 100% rename from lessons/files/gas_const.txt rename to lessons/files/practice_files/gas_const.txt diff --git a/lessons/files/practice_files/hydrogen_atoms.xyz b/lessons/files/practice_files/hydrogen_atoms.xyz new file mode 100644 index 00000000..05605e1d --- /dev/null +++ b/lessons/files/practice_files/hydrogen_atoms.xyz @@ -0,0 +1,4 @@ +2 +Two hydrogen atoms +H -1.12 2.47 -0.83 +H 1.395 1.016 0.525 \ No newline at end of file diff --git a/lessons/files/practice_files/measurements_1.csv b/lessons/files/practice_files/measurements_1.csv new file mode 100644 index 00000000..7e88e1f7 --- /dev/null +++ b/lessons/files/practice_files/measurements_1.csv @@ -0,0 +1,20 @@ +1.2547 +1.2575 +1.2657 +1.2768 +1.2569 +1.2493 +1.2602 +1.2416 +1.2748 +1.2642 +1.2618 +1.2754 +1.2483 +1.2494 +1.2556 +1.2629 +1.2588 +1.247 +1.2617 +1.2539 \ No newline at end of file diff --git a/lessons/files/practice_files/measurements_2.csv b/lessons/files/practice_files/measurements_2.csv new file mode 100644 index 00000000..30038a83 --- /dev/null +++ b/lessons/files/practice_files/measurements_2.csv @@ -0,0 +1,1001 @@ +0.8695,1.253634261,1.426628803 +0.8695,1.267764606,1.410960677 +0.863,1.257660008,1.472624833 +0.8677,1.215097469,1.336220824 +0.8636,1.271562768,1.436184874 +0.866,1.203758425,1.480835297 +0.8669,1.208719267,1.33638259 +0.8618,1.250874025,1.491668179 +0.8726,1.224407644,1.387733879 +0.856,1.288518525,1.490402978 +0.8639,1.260639377,1.389518811 +0.8698,1.236208431,1.421495299 +0.8744,1.285081407,1.442561602 +0.8686,1.256867565,1.307695363 +0.8721,1.287925373,1.322207995 +0.8633,1.227412976,1.381757607 +0.8701,1.215220107,1.346396143 +0.8677,1.240359391,1.400708022 +0.8795,1.289658731,1.361722682 +0.8649,1.254444706,1.337083077 +0.8691,1.225024673,1.445366581 +0.8634,1.288905409,1.404181086 +0.8582,1.237881193,1.420239844 +0.8644,1.23100492,1.355430187 +0.8635,1.289134085,1.439560546 +0.8579,1.263288901,1.386059358 +0.875,1.236519063,1.445819098 +0.8585,1.25217944,1.353972568 +0.8654,1.234500259,1.359228175 +0.851,1.218686617,1.344559823 +0.8775,1.222600829,1.376378022 +0.8557,1.284560494,1.341919502 +0.8591,1.227977357,1.421668926 +0.8624,1.249882651,1.411841291 +0.8625,1.214388521,1.454274212 +0.8629,1.23599652,1.447987734 +0.8607,1.219345628,1.396778439 +0.8592,1.284632689,1.314007364 +0.8591,1.252438498,1.305674984 +0.8624,1.294350087,1.458788229 +0.8746,1.217072005,1.372061578 +0.8711,1.242262728,1.498553837 +0.8588,1.252584369,1.478292451 +0.8723,1.228771628,1.444724682 +0.8648,1.20288821,1.313964136 +0.8709,1.204905464,1.389150778 +0.8682,1.202976089,1.343922524 +0.8593,1.20967658,1.338387415 +0.8698,1.220814876,1.495587529 +0.869,1.260058995,1.419920551 +0.8565,1.273693287,1.411326578 +0.871,1.278930768,1.411069112 +0.866,1.202113736,1.385324594 +0.8663,1.272531928,1.401326411 +0.8734,1.279976165,1.304980132 +0.8772,1.20244438,1.362487528 +0.864,1.272311396,1.470630039 +0.8627,1.244206463,1.396728301 +0.8649,1.222665908,1.455882007 +0.8634,1.246965966,1.35386846 +0.8641,1.246402003,1.301879851 +0.8602,1.224532605,1.404585812 +0.8606,1.273220153,1.400653951 +0.8588,1.262177712,1.419428605 +0.8705,1.226756919,1.474343732 +0.8671,1.262250489,1.392859379 +0.8657,1.222537724,1.349912677 +0.87,1.201960503,1.492939354 +0.8706,1.27681334,1.319645217 +0.8709,1.262848566,1.427108556 +0.8568,1.248443535,1.446723213 +0.8659,1.223612737,1.306477854 +0.8585,1.2583345,1.390279185 +0.8641,1.207411282,1.321107051 +0.8676,1.235216962,1.484722345 +0.8606,1.238688043,1.42976721 +0.8636,1.241887853,1.497903833 +0.8665,1.298103777,1.324333936 +0.8738,1.225828704,1.328276585 +0.868,1.214553527,1.362793258 +0.8723,1.252653178,1.490405481 +0.8628,1.217343405,1.308904914 +0.8603,1.212878567,1.366724468 +0.8582,1.241334947,1.341646782 +0.8697,1.205291109,1.48497939 +0.8565,1.277301488,1.454224921 +0.8571,1.254212359,1.408920598 +0.8629,1.275873332,1.395621603 +0.8576,1.253621555,1.425982194 +0.8613,1.289227587,1.451037014 +0.864,1.239816425,1.301355619 +0.8642,1.228348369,1.477911178 +0.8702,1.209249352,1.498664193 +0.8585,1.291732308,1.46965879 +0.8603,1.27256639,1.427288812 +0.8689,1.218256461,1.345895653 +0.8619,1.286060862,1.420250761 +0.8581,1.205338529,1.3268936 +0.876,1.264023042,1.38994728 +0.8675,1.26938558,1.325585091 +0.8656,1.299635475,1.422283598 +0.8633,1.284538104,1.362748424 +0.8631,1.234307967,1.32891881 +0.8645,1.253428129,1.45864826 +0.8727,1.286656541,1.488228582 +0.8587,1.265606184,1.432639345 +0.8754,1.268192146,1.322251711 +0.8572,1.289165295,1.302168501 +0.8564,1.297959602,1.487971454 +0.8688,1.207199152,1.451181084 +0.8649,1.218102497,1.495335665 +0.8669,1.227098934,1.326197542 +0.8673,1.257191205,1.390382795 +0.8618,1.254331512,1.457519863 +0.8654,1.209684975,1.319453741 +0.8603,1.292934938,1.478609322 +0.8742,1.289770498,1.499204679 +0.8594,1.247880619,1.448016273 +0.8652,1.231433616,1.398509457 +0.8755,1.287658073,1.396052998 +0.8723,1.203308225,1.371282863 +0.8645,1.264396391,1.494957016 +0.8675,1.2213845,1.497153717 +0.8643,1.297407619,1.404031282 +0.8679,1.290868422,1.339098407 +0.8617,1.200478051,1.390626696 +0.8634,1.247172873,1.451953964 +0.8639,1.266751293,1.427882576 +0.8636,1.239170004,1.462230019 +0.8711,1.213541191,1.366050478 +0.8635,1.268763297,1.489229973 +0.8607,1.209949866,1.429817063 +0.8625,1.223413012,1.370462176 +0.8579,1.223803803,1.374833313 +0.8656,1.256406311,1.441520253 +0.8735,1.237670335,1.475397575 +0.871,1.215518377,1.380811279 +0.8707,1.207848035,1.3768108 +0.8705,1.295380334,1.33257827 +0.8637,1.278938479,1.390700378 +0.864,1.204597634,1.318317061 +0.8676,1.287939756,1.343716453 +0.8612,1.2920978,1.407333016 +0.8691,1.247046433,1.359865216 +0.8506,1.295303429,1.474528146 +0.8633,1.224143775,1.450870774 +0.8669,1.252017689,1.419185747 +0.8684,1.242409272,1.438191151 +0.858,1.231593939,1.306530674 +0.8616,1.236389684,1.468530112 +0.8639,1.221541751,1.486938037 +0.8618,1.262719324,1.355677254 +0.8687,1.283908886,1.40379285 +0.8706,1.291337522,1.356651465 +0.8606,1.211639091,1.352784943 +0.867,1.204672828,1.407903819 +0.8668,1.24971582,1.428081084 +0.8692,1.258712778,1.330568654 +0.8661,1.278385246,1.371628973 +0.8655,1.294510832,1.342009956 +0.8652,1.234932555,1.36983495 +0.865,1.288769887,1.318894153 +0.869,1.293949642,1.46246963 +0.8581,1.261243671,1.414278019 +0.86,1.248828606,1.333289085 +0.8622,1.25879987,1.399716722 +0.8665,1.217643093,1.495737793 +0.8755,1.222957859,1.360989472 +0.8719,1.204863392,1.434952908 +0.8659,1.207489789,1.337848148 +0.859,1.279762903,1.436544834 +0.8642,1.228267553,1.387127394 +0.8683,1.288958854,1.408817517 +0.8693,1.290285879,1.342369161 +0.8685,1.232065424,1.489901526 +0.8581,1.285399372,1.303794122 +0.8705,1.233799788,1.400936044 +0.8643,1.293329866,1.472218806 +0.8728,1.208560921,1.403454069 +0.8663,1.255648091,1.335412533 +0.8588,1.223031117,1.445626583 +0.8583,1.260315731,1.377576022 +0.8642,1.269725414,1.424006999 +0.869,1.275810735,1.432235234 +0.8599,1.282866291,1.433160672 +0.8739,1.237197466,1.453858715 +0.8752,1.213283761,1.308367411 +0.8663,1.222078408,1.457100081 +0.8597,1.202272288,1.425625282 +0.8612,1.265352003,1.346821449 +0.8648,1.251929088,1.331012681 +0.8647,1.208571818,1.397314842 +0.8601,1.288618093,1.454943683 +0.8655,1.287051358,1.340839286 +0.8725,1.244744018,1.448608683 +0.8582,1.243408877,1.333444358 +0.8705,1.24527935,1.435652489 +0.8642,1.220200968,1.446060144 +0.8714,1.219647148,1.458235218 +0.8659,1.203177656,1.369584628 +0.8635,1.288960972,1.307210383 +0.8745,1.263429085,1.310009057 +0.8701,1.274557881,1.49373303 +0.8647,1.269342326,1.313171219 +0.862,1.201444023,1.362948429 +0.863,1.248571284,1.383412066 +0.8652,1.229559669,1.301896234 +0.8625,1.200504276,1.34208699 +0.8545,1.238118565,1.494021027 +0.8645,1.282865107,1.407638689 +0.8691,1.277347644,1.397226695 +0.8706,1.213480506,1.393701085 +0.8634,1.265573374,1.475476387 +0.8695,1.271112417,1.46100432 +0.8664,1.230021678,1.382604904 +0.8676,1.277850865,1.488981792 +0.8694,1.206580156,1.432224163 +0.8677,1.222208462,1.381499031 +0.8731,1.227231144,1.448161241 +0.8623,1.215837549,1.327527839 +0.8738,1.248648726,1.467379841 +0.8678,1.215332367,1.433699246 +0.8675,1.283529195,1.335636862 +0.8638,1.215375809,1.36160172 +0.8641,1.236290604,1.313606603 +0.8545,1.262924955,1.308314437 +0.8528,1.245749793,1.355288744 +0.8621,1.22111607,1.385039626 +0.8571,1.220402226,1.334571214 +0.8641,1.200604296,1.455463543 +0.8639,1.264089053,1.39464362 +0.8626,1.251017179,1.38160176 +0.8693,1.296940792,1.303586068 +0.8673,1.288923309,1.455844469 +0.8696,1.272396255,1.315343641 +0.867,1.243119414,1.366866119 +0.8589,1.215188021,1.432238647 +0.8565,1.282321252,1.477799241 +0.8627,1.278243235,1.301130029 +0.8627,1.203776699,1.409512295 +0.8604,1.265962775,1.314466854 +0.8646,1.207164934,1.332972199 +0.8677,1.254055951,1.356952428 +0.856,1.270604518,1.429705456 +0.8661,1.243828217,1.379942904 +0.8617,1.242076664,1.312823494 +0.8675,1.230684564,1.497180677 +0.8552,1.279812907,1.457256606 +0.8628,1.271512832,1.444981501 +0.8691,1.288696856,1.455516912 +0.8722,1.202682398,1.304215509 +0.8612,1.258591423,1.460739684 +0.8607,1.287135662,1.379411649 +0.8633,1.255875602,1.359342726 +0.8631,1.29911195,1.333884982 +0.8662,1.297906712,1.363591301 +0.8603,1.267080991,1.341323975 +0.8644,1.208064287,1.48906407 +0.8699,1.280960941,1.424587462 +0.8579,1.252460201,1.457266215 +0.8607,1.238349953,1.453838462 +0.86,1.218399537,1.312583468 +0.8645,1.243831347,1.451822808 +0.8639,1.282064014,1.392978086 +0.8624,1.200527446,1.35795227 +0.8678,1.205905761,1.444256111 +0.8707,1.266557575,1.352659532 +0.8688,1.270734781,1.319728175 +0.8646,1.26644322,1.331439514 +0.8686,1.236631034,1.34902316 +0.8671,1.266525931,1.494007687 +0.8628,1.20596292,1.44762994 +0.8731,1.239036361,1.497938042 +0.8636,1.279325444,1.46783567 +0.8589,1.270466195,1.378507075 +0.8601,1.275230898,1.443996515 +0.8668,1.21568625,1.385254583 +0.8755,1.206844615,1.483024496 +0.8618,1.237219901,1.473724347 +0.8682,1.228217524,1.320545755 +0.8587,1.29872197,1.355844708 +0.866,1.272248913,1.301923231 +0.8748,1.229409626,1.442490875 +0.8631,1.224001714,1.335903862 +0.8605,1.216109836,1.417519039 +0.8648,1.23644426,1.376759406 +0.8624,1.216653981,1.406390944 +0.8656,1.298346855,1.314425549 +0.871,1.286825865,1.467839616 +0.8619,1.288229039,1.40826457 +0.8569,1.266292781,1.373624135 +0.8572,1.219201402,1.324168223 +0.8612,1.242099245,1.479287275 +0.8687,1.262365016,1.392222646 +0.8739,1.225490896,1.436790054 +0.8639,1.206652948,1.312606475 +0.8591,1.263396518,1.369333049 +0.8559,1.294661118,1.407040781 +0.8642,1.264554624,1.356666449 +0.8639,1.260743955,1.428578675 +0.8683,1.220945423,1.430687218 +0.8576,1.290079942,1.33873064 +0.862,1.299404635,1.494036237 +0.8702,1.247340522,1.328085875 +0.8626,1.258939467,1.467426461 +0.8676,1.250134946,1.426128749 +0.8591,1.279017391,1.411229403 +0.8603,1.281242066,1.356366411 +0.855,1.237607155,1.421853601 +0.866,1.258193652,1.329189493 +0.863,1.24598903,1.408682795 +0.8593,1.250147657,1.468684264 +0.8642,1.214078661,1.431087615 +0.861,1.282326575,1.434106788 +0.8646,1.291402374,1.465086638 +0.87,1.288709157,1.465274757 +0.8704,1.295557054,1.393922887 +0.8631,1.224125481,1.400583946 +0.863,1.237708899,1.498191882 +0.8598,1.281866108,1.363430612 +0.8651,1.262502102,1.354381178 +0.8653,1.219178422,1.492845006 +0.8674,1.299795994,1.338399537 +0.8681,1.295982882,1.34680428 +0.8664,1.206370868,1.420506543 +0.8699,1.230589814,1.397549055 +0.8723,1.230102602,1.338326743 +0.8628,1.299811619,1.403300781 +0.8694,1.293633762,1.372372418 +0.8641,1.238400222,1.313588806 +0.8566,1.243087091,1.372723928 +0.858,1.201002305,1.385062887 +0.8612,1.25803646,1.467710175 +0.869,1.29948261,1.449205862 +0.8651,1.214008377,1.315789609 +0.8706,1.270322901,1.324152576 +0.8769,1.248630207,1.409479271 +0.8619,1.280389643,1.483863842 +0.8649,1.231388479,1.449867009 +0.8632,1.290843275,1.303949248 +0.8678,1.257526874,1.373306968 +0.86,1.2836958,1.381928515 +0.8681,1.256912558,1.387348924 +0.8687,1.20939472,1.304100469 +0.8603,1.264710662,1.380490932 +0.861,1.284203151,1.363527543 +0.8586,1.279877135,1.450410585 +0.8631,1.206039418,1.446068918 +0.8674,1.278000569,1.329361622 +0.8679,1.221598397,1.467135523 +0.8638,1.250917998,1.309011228 +0.8631,1.218870004,1.352037638 +0.8674,1.259777758,1.310349061 +0.865,1.269475876,1.303041263 +0.8659,1.275205264,1.453686849 +0.8574,1.298134037,1.389581179 +0.8574,1.216159107,1.381579444 +0.8689,1.259797958,1.35197259 +0.864,1.21485805,1.470063538 +0.8685,1.276784668,1.321331755 +0.86,1.246771868,1.476052632 +0.8712,1.227769826,1.310687499 +0.8666,1.263366142,1.467633504 +0.8653,1.216045512,1.454852808 +0.8524,1.268211483,1.419117288 +0.8597,1.298619074,1.381546874 +0.869,1.230216672,1.328651271 +0.8639,1.25886427,1.4500769 +0.8703,1.282107752,1.343468772 +0.8683,1.277803599,1.455216354 +0.8672,1.208582813,1.317044838 +0.8618,1.284388248,1.3449623 +0.8659,1.282438751,1.333433152 +0.8608,1.204406032,1.472754263 +0.8597,1.277481616,1.461796284 +0.8598,1.210026588,1.475222603 +0.8735,1.239448458,1.468576612 +0.8683,1.276806381,1.453709372 +0.8638,1.271690799,1.4333075 +0.8657,1.294055828,1.380953719 +0.8613,1.289648362,1.453361452 +0.8614,1.283910042,1.426796591 +0.8696,1.260952931,1.348381155 +0.8585,1.269143767,1.465333753 +0.8583,1.215682492,1.499146279 +0.8664,1.210817029,1.412070166 +0.8652,1.222730829,1.361946847 +0.8626,1.263544691,1.446242768 +0.8563,1.236277969,1.490372795 +0.8636,1.245927102,1.350870172 +0.8617,1.208345311,1.410819928 +0.858,1.248796287,1.386807815 +0.8641,1.214423164,1.484858222 +0.8703,1.276428491,1.427571509 +0.8713,1.260553849,1.347959307 +0.8627,1.219745299,1.318448513 +0.8667,1.23257495,1.390933283 +0.8672,1.286919644,1.480360416 +0.8647,1.216689007,1.364347664 +0.8609,1.27026095,1.430571355 +0.8753,1.288437224,1.478097098 +0.8574,1.277834238,1.464191538 +0.8669,1.273182353,1.444038342 +0.8644,1.233502196,1.452639776 +0.8674,1.252798559,1.478755634 +0.8686,1.291583083,1.386122106 +0.8708,1.275874947,1.427246179 +0.8675,1.242808817,1.399266141 +0.8678,1.28018062,1.461271322 +0.8584,1.214616897,1.363421952 +0.8693,1.248970731,1.359516078 +0.8677,1.224668941,1.40127545 +0.8701,1.203190331,1.420235141 +0.868,1.231353442,1.404625023 +0.8541,1.232663759,1.492996738 +0.867,1.242800802,1.305656143 +0.8625,1.263289412,1.444156494 +0.8589,1.279661136,1.430246253 +0.8574,1.290474142,1.324561557 +0.8578,1.261997862,1.309785852 +0.8626,1.291163838,1.470088154 +0.8599,1.267487335,1.39043835 +0.8705,1.241910618,1.469116022 +0.8634,1.217222587,1.376449433 +0.8736,1.279090723,1.348502255 +0.8702,1.290868974,1.387338853 +0.8631,1.23004281,1.377129257 +0.8628,1.209928215,1.437427811 +0.8546,1.221478246,1.486327218 +0.8663,1.232041497,1.423038094 +0.862,1.25992299,1.361874785 +0.865,1.278063873,1.357969929 +0.8663,1.231808416,1.364333229 +0.8621,1.253698184,1.306213927 +0.8574,1.294446172,1.399394578 +0.865,1.233487834,1.317898836 +0.8625,1.221201104,1.473072143 +0.8762,1.221826659,1.351673306 +0.8597,1.286405195,1.321388965 +0.8656,1.282604501,1.387071857 +0.8688,1.249116923,1.312051968 +0.8584,1.284719304,1.487936558 +0.8673,1.241156823,1.334481201 +0.8649,1.258128802,1.386751341 +0.8633,1.215760768,1.491040879 +0.8587,1.245047929,1.359528472 +0.8688,1.215438587,1.361857561 +0.8629,1.280869006,1.412558198 +0.8672,1.248159174,1.387697954 +0.8774,1.224592111,1.444536173 +0.8574,1.200825094,1.469571427 +0.8734,1.280315291,1.418731357 +0.8624,1.241130785,1.411457219 +0.8643,1.206980509,1.35675477 +0.8576,1.299829111,1.362171718 +0.8667,1.259898247,1.303472319 +0.8619,1.204865983,1.398885789 +0.8597,1.203059402,1.389472175 +0.8583,1.291532706,1.447707438 +0.8631,1.254866928,1.472222555 +0.8684,1.248850385,1.344471261 +0.8603,1.24841526,1.455557801 +0.8759,1.251908149,1.411118657 +0.8669,1.277832011,1.432064243 +0.8752,1.221883786,1.431017125 +0.8717,1.281178329,1.448967435 +0.8643,1.259705008,1.435006327 +0.8656,1.227386958,1.307660287 +0.8563,1.20596412,1.49426567 +0.8698,1.272454669,1.453268149 +0.8645,1.254853225,1.318369157 +0.868,1.210289412,1.36057249 +0.8689,1.263488693,1.449016153 +0.8645,1.272678353,1.444110935 +0.8658,1.215528219,1.429967643 +0.8648,1.258972175,1.319674283 +0.8657,1.294296062,1.453485059 +0.8602,1.283140511,1.426031499 +0.8634,1.266168809,1.386366806 +0.8739,1.233726988,1.433947579 +0.8585,1.278709609,1.481955132 +0.8471,1.202433272,1.34672678 +0.8677,1.247480976,1.495444869 +0.8594,1.298836886,1.317978217 +0.8676,1.202916273,1.434822606 +0.8654,1.296775879,1.440964705 +0.8673,1.239471245,1.318627828 +0.8567,1.234597708,1.315685614 +0.8626,1.264146603,1.371148631 +0.8748,1.210399306,1.389607668 +0.8657,1.241064398,1.497949137 +0.8638,1.24965614,1.411916723 +0.8686,1.249142337,1.431471917 +0.8627,1.258829386,1.439485357 +0.8707,1.296500924,1.371936727 +0.8668,1.264332107,1.351822586 +0.8632,1.278415566,1.30233482 +0.8657,1.288426679,1.352537396 +0.8661,1.280727264,1.460431513 +0.854,1.241236154,1.489964657 +0.8634,1.204627039,1.403499099 +0.8614,1.26656322,1.327138941 +0.8625,1.262837473,1.435190244 +0.8596,1.253967322,1.454543068 +0.8674,1.26089763,1.423673691 +0.8626,1.276951284,1.37092923 +0.8686,1.25976248,1.406351035 +0.8658,1.243834016,1.399300799 +0.8587,1.205946122,1.424893412 +0.8565,1.299534678,1.473982482 +0.8669,1.247987489,1.369466617 +0.867,1.27616372,1.372296114 +0.8624,1.271329133,1.408570649 +0.8624,1.233228097,1.38283113 +0.8754,1.22596244,1.454499574 +0.8616,1.268162449,1.31956614 +0.8585,1.244472158,1.300269196 +0.8634,1.236458969,1.47611741 +0.8598,1.232151834,1.336987051 +0.8661,1.27342708,1.380924592 +0.8692,1.270990072,1.413707292 +0.8639,1.222463174,1.45520596 +0.873,1.203109789,1.432747832 +0.8751,1.235281893,1.494294209 +0.8681,1.204767303,1.467576177 +0.864,1.261740035,1.430701297 +0.8602,1.271257977,1.344760965 +0.8711,1.21488732,1.437365799 +0.8669,1.270391535,1.444023303 +0.8743,1.249451535,1.33129286 +0.8611,1.215991949,1.355736904 +0.865,1.25963385,1.384273134 +0.8733,1.228395612,1.386183031 +0.8637,1.298621406,1.336417075 +0.8676,1.254450778,1.32784753 +0.8802,1.256200656,1.350679466 +0.8612,1.240541729,1.45896188 +0.8617,1.275274259,1.497002984 +0.8535,1.246353526,1.457143943 +0.862,1.205564367,1.466321431 +0.8635,1.228717739,1.324276527 +0.8617,1.238486376,1.459996528 +0.8652,1.266346029,1.466964765 +0.865,1.297463298,1.388028603 +0.8662,1.2238547,1.390005125 +0.867,1.294863686,1.357647564 +0.8583,1.284394307,1.301447451 +0.8702,1.270395573,1.447032217 +0.8607,1.268258248,1.4630075 +0.8673,1.201220014,1.457664211 +0.8657,1.248584495,1.450498432 +0.8649,1.214648736,1.410439506 +0.8631,1.260207082,1.416815226 +0.8659,1.204347439,1.334897366 +0.8667,1.213672639,1.351811987 +0.8666,1.252757928,1.472515938 +0.8667,1.222365206,1.497658708 +0.8721,1.228443774,1.38054942 +0.873,1.203985862,1.397018307 +0.8644,1.219219075,1.467635705 +0.8614,1.224682114,1.392993819 +0.8635,1.293339333,1.307982221 +0.8714,1.270270013,1.365021211 +0.8716,1.20191204,1.406485787 +0.8695,1.267037179,1.432124316 +0.8715,1.252005416,1.448847749 +0.8615,1.247465134,1.488092797 +0.8592,1.259768317,1.329144586 +0.8639,1.288392423,1.338052978 +0.8715,1.239235744,1.410072451 +0.8724,1.241136727,1.466306781 +0.8704,1.219899088,1.448647191 +0.8681,1.22417955,1.448564853 +0.8755,1.23999829,1.389169199 +0.8626,1.243179076,1.419290372 +0.863,1.240078528,1.302089567 +0.8607,1.231579562,1.363846702 +0.8717,1.247261925,1.352194208 +0.8671,1.273801217,1.421602639 +0.868,1.205822019,1.486045705 +0.8604,1.24032965,1.330251849 +0.8609,1.206195492,1.492375481 +0.8578,1.203156518,1.44919029 +0.866,1.226923942,1.438003361 +0.8717,1.248589092,1.353653297 +0.8633,1.228031906,1.325187987 +0.8661,1.254705446,1.363667572 +0.8628,1.222980135,1.405131207 +0.8667,1.283299479,1.477627914 +0.8653,1.208321727,1.325380483 +0.8659,1.269007379,1.346225421 +0.8569,1.270656976,1.360970432 +0.857,1.224672105,1.483774014 +0.8734,1.209431265,1.471573994 +0.859,1.288163173,1.354825387 +0.8703,1.284391448,1.488809277 +0.8616,1.212954002,1.375182855 +0.8596,1.23655843,1.492674455 +0.8613,1.256148834,1.365219622 +0.8707,1.20271003,1.384852183 +0.8577,1.253919012,1.388249276 +0.8686,1.214412267,1.449797596 +0.8624,1.218532878,1.397698935 +0.8728,1.278393109,1.330945913 +0.8739,1.215228229,1.430813773 +0.871,1.278878909,1.414828305 +0.8654,1.222344763,1.420659809 +0.8624,1.208023289,1.465505598 +0.8639,1.224609591,1.321451702 +0.861,1.241356963,1.478306387 +0.8703,1.219437757,1.473559172 +0.8589,1.284170046,1.311349201 +0.8719,1.252824117,1.453160484 +0.8652,1.258876817,1.390785713 +0.8649,1.248644944,1.386542985 +0.8731,1.214331343,1.446457694 +0.8612,1.252527383,1.351031152 +0.8521,1.225118625,1.309650915 +0.8715,1.236244583,1.384220837 +0.8568,1.220870741,1.377923084 +0.8701,1.285334163,1.336441847 +0.8708,1.25329505,1.402561279 +0.872,1.229992977,1.465939904 +0.8668,1.208137448,1.32838816 +0.8737,1.263037481,1.302327628 +0.8718,1.263253355,1.433778079 +0.8572,1.278506986,1.335969934 +0.8694,1.231594529,1.351364561 +0.8722,1.296739519,1.431508341 +0.8657,1.233208687,1.397278352 +0.8637,1.263463591,1.428594753 +0.8705,1.206385176,1.47129617 +0.8653,1.233948882,1.416586538 +0.8635,1.20272196,1.457196623 +0.858,1.252095682,1.313194399 +0.8651,1.258662795,1.411587755 +0.8709,1.239754857,1.478513573 +0.8612,1.2481485,1.329498484 +0.8604,1.24358358,1.44328814 +0.8634,1.294758895,1.458426584 +0.8672,1.201693623,1.393743519 +0.8676,1.285167737,1.429911564 +0.869,1.253671714,1.459960801 +0.8791,1.258573618,1.321347728 +0.854,1.296588349,1.413318353 +0.8622,1.211542352,1.444734181 +0.8495,1.24270336,1.4389178 +0.86,1.220337192,1.353741601 +0.8606,1.257001107,1.409692381 +0.8557,1.242695191,1.358669955 +0.8607,1.265945743,1.34495489 +0.8633,1.23652729,1.462143381 +0.858,1.247419785,1.445058015 +0.8617,1.216395842,1.488184965 +0.8636,1.215194104,1.494997924 +0.8644,1.242563679,1.352379061 +0.8622,1.233792963,1.366241144 +0.8631,1.203591945,1.459034011 +0.8654,1.270578447,1.473711247 +0.8717,1.258889415,1.446688484 +0.8554,1.278906026,1.493662609 +0.8685,1.218563957,1.445529728 +0.8592,1.208379859,1.360628517 +0.8665,1.272714264,1.404627807 +0.863,1.262334825,1.436321507 +0.8661,1.292217559,1.331236419 +0.8677,1.206797527,1.447326287 +0.8627,1.296813795,1.303474307 +0.8786,1.271307358,1.475524762 +0.8577,1.277850264,1.387135037 +0.8679,1.290258019,1.444741985 +0.8687,1.287074768,1.45037882 +0.857,1.234703143,1.434604606 +0.8582,1.213956076,1.351427074 +0.8622,1.216217058,1.422654277 +0.8577,1.220020677,1.408857778 +0.8579,1.210704256,1.481863277 +0.8666,1.213878902,1.437668776 +0.8606,1.214217774,1.387525755 +0.8564,1.254741078,1.484308202 +0.869,1.206618227,1.356002341 +0.8596,1.250531607,1.395198603 +0.8655,1.204029729,1.472732165 +0.8605,1.221179653,1.332357951 +0.8716,1.267721875,1.305210982 +0.8596,1.229623794,1.332890248 +0.874,1.27292251,1.391767119 +0.8686,1.289361614,1.437224492 +0.8622,1.251640022,1.387770881 +0.8663,1.259385134,1.330017615 +0.8659,1.298596901,1.462332588 +0.861,1.212522369,1.484901658 +0.8724,1.253314668,1.32810571 +0.8702,1.228466457,1.414414644 +0.8592,1.223174419,1.433382733 +0.8623,1.274638253,1.390323226 +0.8595,1.236404458,1.314182923 +0.8547,1.288870795,1.356136096 +0.8644,1.243072436,1.32062003 +0.8758,1.277490863,1.4752885 +0.8637,1.2718697,1.427022885 +0.8687,1.293200668,1.312185951 +0.8629,1.23384946,1.376607145 +0.864,1.232218478,1.454140198 +0.8589,1.256688543,1.419223268 +0.8638,1.255903212,1.399042289 +0.8709,1.29130783,1.373892505 +0.871,1.280342542,1.421182342 +0.8616,1.205773605,1.355295016 +0.8631,1.207314461,1.491580208 +0.8599,1.202024998,1.387560483 +0.8624,1.27316163,1.424527623 +0.8629,1.23543292,1.407904206 +0.8639,1.260883217,1.343203097 +0.8599,1.299522446,1.425531749 +0.8651,1.282131696,1.386192068 +0.8633,1.273221891,1.347699067 +0.8693,1.296332762,1.426607308 +0.8591,1.269834839,1.381435725 +0.8612,1.228446357,1.48930348 +0.8661,1.259151696,1.492557201 +0.8589,1.223755592,1.445422286 +0.8554,1.201813161,1.339141068 +0.8588,1.275755726,1.327935472 +0.8675,1.271903455,1.497720757 +0.8636,1.216480431,1.495661616 +0.8632,1.298847682,1.499152189 +0.8632,1.224813902,1.320701712 +0.8648,1.242387469,1.392217765 +0.8632,1.243866344,1.359898359 +0.863,1.267427958,1.458987077 +0.8648,1.24109394,1.390868696 +0.8666,1.242787729,1.428868472 +0.8655,1.224510522,1.3513438 +0.8701,1.205183406,1.323101411 +0.8637,1.255935489,1.373184952 +0.8592,1.257493705,1.488506706 +0.8696,1.265119367,1.392328851 +0.8673,1.221809926,1.465431593 +0.8596,1.210097752,1.491394443 +0.8568,1.206832553,1.454526706 +0.8668,1.217143499,1.316009088 +0.8721,1.289216148,1.453902692 +0.8639,1.28752083,1.334636489 +0.8621,1.277603909,1.393367587 +0.8698,1.224345266,1.341750815 +0.8641,1.222757705,1.356525728 +0.8658,1.211620124,1.376952311 +0.8662,1.203258025,1.387369833 +0.8656,1.226335558,1.376042402 +0.8626,1.224903278,1.397881875 +0.8588,1.220928186,1.4604464 +0.8688,1.291309709,1.439451624 +0.8735,1.243556924,1.331382586 +0.8679,1.242105778,1.455593263 +0.8763,1.242584682,1.324132389 +0.8616,1.232910513,1.40598042 +0.8691,1.260197531,1.392978127 +0.8585,1.271991882,1.325163874 +0.861,1.257995997,1.421790393 +0.867,1.249120128,1.350526455 +0.8577,1.266068114,1.48661148 +0.8712,1.242782091,1.422564511 +0.871,1.272180199,1.462975395 +0.8635,1.288490183,1.38837967 +0.8707,1.216550038,1.374781595 +0.8671,1.213975078,1.423566661 +0.8631,1.280052502,1.315484752 +0.8661,1.204595098,1.386912774 +0.871,1.235859776,1.477780204 +0.8634,1.249738839,1.460777458 +0.8598,1.293819977,1.42961603 +0.867,1.25538122,1.481309407 +0.8641,1.267204262,1.454389231 +0.8688,1.241440072,1.470624651 +0.8678,1.216466275,1.475416156 +0.8667,1.283201068,1.34855842 +0.8603,1.257388617,1.348567153 +0.8664,1.228671995,1.431641819 +0.8597,1.203260465,1.458836479 +0.8746,1.22943634,1.409761111 +0.8665,1.216739791,1.442783776 +0.8718,1.295752376,1.401397384 +0.8569,1.285804865,1.41456258 +0.8667,1.295304591,1.449318412 +0.8679,1.224798018,1.404429621 +0.8657,1.226801364,1.452239264 +0.858,1.27023811,1.417367627 +0.851,1.234914552,1.389719595 +0.8747,1.239060341,1.30362908 +0.8754,1.283904384,1.37679081 +0.8685,1.258021249,1.346258675 +0.8541,1.211905005,1.374597377 +0.8628,1.270552782,1.309054018 +0.8681,1.266350751,1.300531105 +0.8683,1.258662636,1.431100667 +0.8742,1.285705705,1.400021405 +0.8652,1.269126124,1.346265909 +0.8637,1.25340919,1.33894309 +0.862,1.229236581,1.394591535 +0.8707,1.271336992,1.369019852 +0.8654,1.285154677,1.421326985 +0.8611,1.26253194,1.385655661 +0.8639,1.22057598,1.466886686 +0.8556,1.244056757,1.39460631 +0.8659,1.202970871,1.3178049 +0.8631,1.290330126,1.475819282 +0.8655,1.292098862,1.3125202 +0.8665,1.259556548,1.476593541 +0.8591,1.260154791,1.423092314 +0.8645,1.214606047,1.398550267 +0.8663,1.291325419,1.419393548 +0.8692,1.223624672,1.354360533 +0.8642,1.250414936,1.48567466 +0.8634,1.287789121,1.472141277 +0.865,1.292583071,1.463705694 +0.8562,1.29485394,1.313240277 +0.8592,1.283477772,1.468354637 +0.8674,1.223752615,1.426249247 +0.8684,1.292785172,1.310985968 +0.8612,1.263643334,1.367430415 +0.8693,1.278625308,1.323157509 +0.8695,1.205877799,1.360393838 +0.8646,1.207950916,1.483362711 +0.8558,1.210044003,1.337104662 +0.8573,1.210801878,1.312755847 +0.8589,1.286104394,1.392662537 +0.8561,1.245029212,1.381009663 +0.8708,1.266589801,1.368694896 +0.8669,1.289792534,1.367558961 +0.8676,1.243779228,1.422361468 +0.8656,1.200809492,1.339804534 +0.8672,1.217507225,1.400716578 +0.8712,1.23909393,1.381591792 +0.861,1.29114839,1.460704486 +0.8637,1.252588369,1.326349772 +0.8683,1.245205562,1.318514596 +0.8676,1.283206843,1.346649895 +0.8702,1.273632388,1.426877949 +0.8702,1.271589823,1.335495485 +0.8596,1.253005244,1.398628582 +0.8646,1.230657676,1.305823378 +0.8624,1.262317415,1.303661686 +0.8649,1.202771513,1.471929586 +0.8552,1.215977734,1.495540379 +0.8675,1.236724639,1.413736405 +0.8561,1.242089892,1.425782806 +0.8606,1.217082759,1.354340952 +0.8619,1.230261526,1.308295582 +0.856,1.225522639,1.3748181 +0.8656,1.294658781,1.435198422 +0.8642,1.262904784,1.344863402 +0.8674,1.289002457,1.344592821 +0.8587,1.217242828,1.321128013 +0.8671,1.250863563,1.373028695 +0.8736,1.275956322,1.360768447 +0.8676,1.289086661,1.473164389 +0.8729,1.261375229,1.309679712 +0.8593,1.205856362,1.443461772 +0.8646,1.21814146,1.374345497 +0.8592,1.298246748,1.377787611 +0.8668,1.242409665,1.394416541 +0.8604,1.261846823,1.429685956 +0.8647,1.258297219,1.313423331 +0.8644,1.210596077,1.36348468 +0.8667,1.255898817,1.465778102 +0.8765,1.216495221,1.304653825 +0.871,1.272701116,1.375419255 +0.8602,1.207783181,1.328075634 +0.8618,1.272685417,1.423415573 +0.8653,1.245132187,1.46518922 +0.8653,1.253520826,1.398073449 +0.8653,1.284331651,1.48166452 +0.867,1.200381095,1.473345088 +0.8614,1.296311356,1.313785188 +0.86,1.257982066,1.482133442 +0.8646,1.200200017,1.35765494 +0.8651,1.240953698,1.343324543 +0.8647,1.281725106,1.476788894 +0.8636,1.239637016,1.358726628 +0.8568,1.27998932,1.336888127 +0.8748,1.251627815,1.387506124 +0.858,1.276513903,1.480062157 +0.8699,1.213452556,1.31801908 +0.8637,1.201573928,1.474537288 +0.8647,1.297130123,1.393574852 +0.8574,1.24107644,1.351347359 +0.8662,1.202714847,1.35949533 +0.8607,1.290573169,1.439189384 +0.8659,1.257202046,1.401791744 +0.8641,1.282919818,1.380737828 +0.8748,1.297997109,1.370356239 +0.8603,1.244402028,1.424275914 +0.8679,1.207184798,1.47919341 +0.8709,1.290922744,1.481386949 +0.8671,1.221528334,1.487361552 +0.8694,1.229502132,1.385374529 +0.8675,1.203089996,1.429764181 +0.8525,1.231280804,1.409243907 +0.8647,1.210415465,1.44714717 +0.8642,1.219072803,1.451745009 +0.877,1.238258226,1.498265299 +0.8568,1.250317019,1.49500148 +0.8611,1.26886525,1.478229736 +0.8569,1.290009638,1.450742183 +0.8728,1.239322394,1.337203292 +0.8601,1.297191622,1.444779154 +0.8687,1.247628063,1.300635868 +0.8622,1.214887105,1.3609031 +0.8636,1.26912696,1.339891172 +0.8667,1.251862986,1.436235513 +0.865,1.270188838,1.337054036 +0.8633,1.298008763,1.341290775 +0.8633,1.201348434,1.423701253 +0.8654,1.250773049,1.300739961 +0.8597,1.273753108,1.348607747 +0.8706,1.288562851,1.355182629 +0.8585,1.289319484,1.444839506 +0.8615,1.241995558,1.428688758 +0.867,1.206662874,1.378461331 +0.8701,1.262161569,1.432841026 +0.8608,1.23848712,1.409880026 +0.8709,1.253326623,1.392836967 +0.8675,1.226516081,1.420877168 +0.8665,1.278955223,1.385649688 +0.8654,1.271593656,1.420579392 +0.866,1.271451789,1.304492807 +0.8607,1.2168967,1.44980316 +0.859,1.217293859,1.333850462 +0.8692,1.22159005,1.487656758 +0.8556,1.269057356,1.379106691 +0.8741,1.200078966,1.300007752 +0.8669,1.267825006,1.473364591 +0.8691,1.280410446,1.422041979 +0.8629,1.255668653,1.309596928 +0.8718,1.286351802,1.320534563 +0.867,1.285742225,1.415213666 +0.8685,1.215724365,1.409534432 +0.869,1.28375243,1.35851154 +0.8621,1.286353005,1.35422945 +0.8603,1.239274105,1.49687945 +0.8662,1.275879884,1.33448902 +0.8661,1.239689736,1.467596986 +0.8673,1.265607054,1.379471647 +0.8611,1.249602048,1.325056278 +0.8673,1.262611638,1.44170915 +0.8714,1.267476,1.371951085 +0.8591,1.261132035,1.344938177 +0.8588,1.20629106,1.345512895 +0.8713,1.273844277,1.347068016 +0.8715,1.215572023,1.497020578 +0.8659,1.238869145,1.404752774 +0.8715,1.250321648,1.367698608 +0.8606,1.224614317,1.31058045 +0.869,1.254673052,1.476426976 +0.8747,1.221549392,1.424805843 +0.8595,1.225363174,1.371155377 +0.8627,1.230087352,1.397602379 +0.863,1.279526053,1.347549853 +0.863,1.201184792,1.412274521 +0.8611,1.268748044,1.436671083 +0.8652,1.24094932,1.425123046 +0.8702,1.212727391,1.387286675 +0.8625,1.251677687,1.322261556 +0.8666,1.247950145,1.365935479 +0.8658,1.268369862,1.383107568 +0.8595,1.222379243,1.374438787 +0.8617,1.252194441,1.346025613 +0.8683,1.256558045,1.355689356 +0.8671,1.248502504,1.392104491 +0.8621,1.213279789,1.44355148 +0.8603,1.282070824,1.326748487 +0.8661,1.207287326,1.325480065 +0.8654,1.286116252,1.337959999 +0.864,1.257101082,1.361795924 +0.8632,1.251009512,1.435455502 +0.8648,1.237432577,1.373870014 +0.8687,1.267330876,1.484908071 +0.8651,1.294944513,1.323366574 +0.8724,1.276410944,1.392966365 +0.8589,1.267908642,1.445387176 +0.8711,1.260240977,1.492443904 +0.8657,1.289240546,1.435137062 +0.8682,1.216173463,1.360489476 +0.8592,1.297405342,1.4820757 +0.864,1.278279399,1.395108996 +0.8664,1.248769668,1.31427444 +0.8702,1.203625288,1.339681176 +0.8668,1.29113244,1.432775736 +0.8624,1.223512576,1.40330765 +0.8731,1.27900518,1.462531369 +0.864,1.245907329,1.394576081 +0.8539,1.291751797,1.404341306 +0.858,1.297940161,1.392394221 +0.8732,1.286186052,1.309144875 +0.8599,1.237678588,1.45942327 +0.861,1.222012847,1.359061949 +0.8659,1.254046554,1.397534832 +0.8682,1.259951053,1.431732545 +0.8647,1.237497813,1.494172898 +0.8655,1.270367916,1.493633935 \ No newline at end of file diff --git a/lessons/files/practice_files/molecule.txt b/lessons/files/practice_files/molecule.txt new file mode 100644 index 00000000..ad26b19a --- /dev/null +++ b/lessons/files/practice_files/molecule.txt @@ -0,0 +1,3 @@ +C10H14O +C5H8 +C40H56 \ No newline at end of file diff --git a/lessons/files/practice_files/periodic_table.csv b/lessons/files/practice_files/periodic_table.csv new file mode 100644 index 00000000..74c868d5 --- /dev/null +++ b/lessons/files/practice_files/periodic_table.csv @@ -0,0 +1,21 @@ +Name,Symbol,Number,Mass +Hydrogen,H,1,1.008 +Helium,He,2,4.0026 +Lithium,Li,3,6.94 +Beryllium,Be,4,9.0122 +Boron,B,5,10.81 +Carbon,C,6,12.011 +Nitrogen,N,7,14.007 +Oxygen,O,8,15.999 +Fluorine,F,9,18.998 +Neon,Ne,10,20.18 +Sodium,Na,11,22.99 +Magnesium,Mg,12,24.305 +Aluminum,Al,13,26.982 +Silicon,Si,14,28.085 +Phosphorus,P,15,30.974 +Sulfur,S,16,32.06 +Chlorine,Cl,17,35.45 +Argon,Ar,18,39.948 +Potassium,K,19,39.098 +Calcium,Ca,20,40.078 \ No newline at end of file diff --git a/lessons/files/practice_files/practice_files.zip b/lessons/files/practice_files/practice_files.zip new file mode 100644 index 00000000..649ae639 Binary files /dev/null and b/lessons/files/practice_files/practice_files.zip differ diff --git a/lessons/files/spectrum.dat b/lessons/files/practice_files/spectrum.dat similarity index 88% rename from lessons/files/spectrum.dat rename to lessons/files/practice_files/spectrum.dat index e0c2c258..8c04b0eb 100644 --- a/lessons/files/spectrum.dat +++ b/lessons/files/practice_files/spectrum.dat @@ -6,4 +6,4 @@ nm abs 280 0.998 290 0.377 300 0.007 -310 0.002 +310 0.002 \ No newline at end of file diff --git a/lessons/files/reading_files.ipynb b/lessons/files/reading_files.ipynb index 7da41c0b..b97cd0ba 100644 --- a/lessons/files/reading_files.ipynb +++ b/lessons/files/reading_files.ipynb @@ -5,101 +5,559 @@ "id": "1767a58b", "metadata": {}, "source": [ - "# **Reading Files**\n", + "# Reading Files\n", "\n", "## Prerequisites:\n", "- Variables\n", - "- Iterables(?)\n", + "- Conditional statements\n", "- Loops\n", + "- Files and file types\n", "\n", "## Learning Outcomes:\n", "- Open files using Python's built-in functions and extract their contents to variables\n", "- Use the CSV module to read data from CSV files" ] }, + { + "cell_type": "markdown", + "id": "29242400", + "metadata": {}, + "source": [ + "## Reading Files" + ] + }, { "cell_type": "markdown", "id": "f4882898", "metadata": {}, "source": [ - "## Reading Files\n", + "One of the common uses of Python in chemistry is to analyse large amounts of data that you might have recorded in a lab and stored in various files (see previous lesson for discussion of file types). Python has numerous built-in capabilities that allow you to read and write these files.\n", + "\n", + "Before you start opening and reading files in Python, make sure:\n", + "\n", + "- Your file is in the same directory as your code. See [previous lesson](./files_file_types.ipynb) for explanation on directories.\n", + "\n", + "- Your file is sensibly named so you can easily find it and not confuse it with another.\n", + "- Your file is in the correct format. E.g. make sure objects in a ``.CSV`` file are separated by commas and not spaces or tabs.\n", + "\n", + "Let's start with a opening a simple text file and reading its contents:\n", + "\n", + "```Python\n", + "molecule_file = open(\"molecule.txt\", \"r\")\n", + "contents = molecule_file.read()\n", + "molecule_file.close()\n", + "print(contents)\n", + "```\n", "\n", - "One of the common uses of Python in chemistry is to analyse large amounts of data. \n", - "This might be data gathered during an experiment that has been stored in a number of files, and Python has a number of built-in functions to read (and write) files. \n", - "In this section, we will explore how to read different types of files, including text files and CSV files, using Python's built-in capabilities.\n", + "After running the cell above, you should see the contents of the `molecule.txt` file in the cell output. You can verify the output by checking the file's contents in a text editor.\n", "\n", - "Let's start with a opening a simple text file and reading its contents:" + "Let's go through step by step.\n", + "- In the first line of code, the file ``\"molecule.txt\"`` is opened using the Python ``open()`` function, which takes two arguments.\n", + " - The first argument is the file name, called as a string, using speech marks ``\"\"`` or ``''``.\n", + " - The second argument specifies the mode in which the file is opened. The default is ``\"t\"``. text mode, which is identical to ``\"r\"``, read mode, where every item is read as a string. Some others are ``\"w\"``, write mode, ``\"a\"``, append, ``\"x\"``, create a new file, ``\"r+\"``, read/write, among others. You can find the full list on the Python documentation website. \n", + "- Also in the first line, the file ``\"molecule.txt\"`` is stored in a special file-reading Python object that we have assigned the variable name ``molec_file``. This is then used later on in the code.\n", + "- In the second line, the file, now called ``molec_file``, is read by the built-in Python function ``.read()``. The full-stop indicates that the function is associated to the file before the dot. The molecular formula inside the file is then assigned the variable name ``contents``.\n", + "- In the third line, the file is closed. This is considered good practice. If it is not closed, various issues can start occurring (e.g. file access errors).\n", + "- The final line prints the string that has been placed inside the variable ``contents``." ] }, { - "cell_type": "code", - "execution_count": null, - "id": "0ff6944a", + "cell_type": "markdown", + "id": "900f642e", "metadata": {}, - "outputs": [], "source": [ - "file = open('molecule.txt', 'r')\n", - "contents = file.read()\n", - "file.close()\n", - "print(contents)" + "### Reading Files with `with`" ] }, { "cell_type": "markdown", - "id": "6d821f38", + "id": "06bbb57c", "metadata": {}, "source": [ - "After running the cell above, you should see the contents of the `molecule.txt` file in the cell output. \n", - "If you don't see the output, make sure that the file is in the same directory as this notebook. \n", - "You can also verify the output by checking the file's contents in a text editor.\n", + "We can also use the `with` statement to open files. The benefit of this is that it will automatically close the file for us when we are done with it, without using ``.close()``. This is a more \"Pythonic\" way to handle files and is generally recommended.\n", "\n", - "The first line of the code cell above opens the file `molecule.txt` using the `open()` function and saves it to a special file-reading Python *object* we have called `file`.\n", - "The `open()` function takes at least one argument which is either the file name (if in the same working directory) or the full filepath of the file.\n", - "It can also take a second argument to specify the mode in which the file is opened (e.g., `'r'` for reading, `'w'` for writing, etc.).\n", - "If you don't specify a mode, the file is opened in read mode by default.\n", + "Let's take a look at the same example using the `with` statement:\n", "\n", - "The second line of the code cell reads the entire contents of the file using the `read()` method of the file object and stores it in a variable called `contents`. \n", + "```Python\n", + "with open('molecule.txt', 'r') as molec_file:\n", + " contents = molec_file.read()\n", "\n", - "The third line closes the file using the `close()` method and is considered good practice.\n", - "Otherwise we might leave it open, which can lead to various issues (e.g., file access errors).\n", + "print(contents)\n", + "```\n", "\n", - "Finally, the last line prints the contents of the `contents` variable." + "As before, we open the `molecule.txt` file and read its contents.\n", + "The difference is that we use the `with` statement to open the file, which automatically closes it when we are done with it (i.e., when we exit the `with` block).\n", + "\n", + "We now have a way to read files in Python, and use their contents as *variables* in our code." ] }, { "cell_type": "markdown", - "id": "900f642e", + "id": "6e61007d", "metadata": {}, "source": [ - "### Reading Files with `with`\n", - "We can also use the `with` statement to open files, which will automatically close the file for us when we are done with it.\n", - "This is a more \"Pythonic\" way to handle files and is generally recommended.\n", + "
\n", + " Read() and readline()\n", + "\n", + "By default, the ``read()`` method returns the whole text, but you can also specify how many characters you want to return. \n", + "\n", + "`` molec_file.read(4) `` \n", + "\n", + "Only returns the first 4 characters of the text. \n", + "\n", + "Another built-in function is ``readline()``. This will return only the first line of the file. For example:\n", + "\n", + "```Python\n", + "with open('molecule.txt', 'r') as molec_file:\n", + " print(molec_file.readline())\n", + "```\n", "\n", - "Let's take a look at the same example using the `with` statement:" + "Will return only the first line, which is the molecule ``C10H14O``.\n", + "\n", + "If you then wanted the first and the second line, you could add a second ``readline()``:\n", + "\n", + "```Python\n", + "with open('molecule.txt', 'r') as molec_file:\n", + " print(molec_file.readline())\n", + " print(molec_file.readline())\n", + "```\n", + "\n", + "Which would return the first and second molecules, on separate lines. \n", + "\n", + "

" ] }, { - "cell_type": "code", - "execution_count": null, - "id": "f63f3d19", + "cell_type": "markdown", + "id": "9cf0db2a", "metadata": {}, - "outputs": [], "source": [ - "with open('molecule.txt', 'r') as file:\n", - " contents = file.read()\n", + "
\n", + " Using for loops to read a file\n", + "\n", + "An easy way to extract information from a file is to use a ``for`` loop. The most simple case is to iterate line-by-line and print each line. \n", + "\n", + "```Python\n", + "with open(\"molecule.txt\") as molec_file:\n", + " for line in molec_file:\n", + " print(line)\n", + "```\n", + "\n", + "This will print each line of the file (each molecular formula) on a new line. We could also take only certain characters by selecting a certain index on the line using square brackets.\n", + "\n", + "```Python\n", + "with open(\"molecule.txt\") as molec_file:\n", + " for line in molec_file:\n", + " print(line[0])\n", + "```\n", + "\n", + "Will print the first characters of each line of the file. Each will be printed on a new line in the output cell. \n", + "\n", + "But how to make this useful? The most obvious way would be to take these values and add it to a list so we can call it as a variable later in the code. Type out this code and try it:\n", "\n", - "print(contents)" + "```Python\n", + "with open(\"molecule.txt\") as molec_file:\n", + " molec_list = []\n", + " for line in molec_file:\n", + " molec_list.append(line)\n", + "\n", + "print(molec_list)\n", + "```\n", + "\n", + "The output we expect is ``[C10H14O, C5H8, C40H56]``, but the output we get is ``['C10H14O\\n', 'C5H8\\n', 'C40H56']``. The ``\"\\n\"`` indicates a new line, and it appears because in a text file a new line is represented by this character.\n", + "\n", + "So how do we split this file in a way that is useful? We need to use delimiters. Revisit the previous lesson for a discussion on these.\n", + "\n", + "

" ] }, { "cell_type": "markdown", - "id": "06bbb57c", + "id": "f110135e", "metadata": {}, "source": [ - "As before, we open the `molecule.txt` file and read its contents.\n", - "The difference is that we use the `with` statement to open the file, which automatically closes it when we are done with it (i.e., when we exit the `with` block).\n", + "
\n", + "
Exercise: Print a certain number of lines \n", "\n", - "We now have a way to read files in Python, and use their contents as *variables* in our code." + "---\n", + "\n", + "For the file \"spectrum.dat\", open using a ``with`` statement and print the first four lines.\n", + "\n", + " Hint Use a ``for`` loop with the ``range()`` function to print the line a certain number of times.\n", + "\n", + "
" + ] + }, + { + "cell_type": "markdown", + "id": "ba982c79", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + ">```Python\n", + ">with open(\"./practice_files/spectrum.dat\") as file:\n", + "> for i in range(4):\n", + "> print(file.readline())\n", + ">```\n", + "\n", + "This code prints the first 4 lines of the file. We have used the ``range()`` function to only print it 4 times. \n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "8592155a", + "metadata": {}, + "source": [ + "## Delimiters and ``.split()``" + ] + }, + { + "cell_type": "markdown", + "id": "31fa7714", + "metadata": {}, + "source": [ + "As discussed in the previous lesson, delimiters indicate the separation between items in a file. In a text file containing words, the delimiter would be a space. In a CSV file, the values are separated by a comma, so the delimiter is a comma. We can then extract information between delimiters using the built-in Python function ``.split()``.\n", + "\n", + "``.split()`` splits content based on the delimiter for any content placed before the dot. It takes a string as argument, which is the delimiter which it acts on. The default delimiter (no argument) is any whitespace (space or tab). \n", + "\n", + "Using our example of the text file containing molecular formulas, we can split on the new line (using the special character \"\\n\").\n", + "\n", + "```Python\n", + "with open(\"./practice_files/molecule.txt\") as molec_file:\n", + " contents = molec_file.read()\n", + " contents = contents.split(\"\\n\")\n", + "print(contents)\n", + "```\n", + "\n", + "Which prints:\n", + "\n", + " ['C10H14O', 'C5H8', 'C40H56'] \n", + "\n", + "The above code does the following:\n", + "- The ``with`` statement opens the file and assigns it the name molec_file. It automatically closes once the ``with`` indents are no longer respected.\n", + "- The contents are read.\n", + "- The contents are split. We have specified to split the content along new lines using ``\"\\n\"``. However, in this case it would also work if we left the argument blank, as the new lines count as whitespace. However, if we wanted to split along a new line and there was whitespace within the line, we would have to specify ``\"\\n\"``. \n", + "\n", + "The output is: ``['C10H14O', 'C5H8', 'C40H56']``, a list of each item between the delimiter.\n", + "\n", + "In this case, we have extracted and split the entire contents of the file. But what if there were multiple items in each line? Open and have a look at the file 'alkanes_alkenes_alkynes.txt'. This holds the molecular formulae of each homologous series in a column. We could read it using the code above, but it would result in a very long list of strings:\n", + "\n", + "``['C2H6,C2H4,C2H2', 'C3H8,C3H6,C3H4', 'C4H10,C4H8,C4H6', 'C5H12,C5H10,C5H8', 'C6H14,C6H12,C6H10', ... ,'C14H30,C14H28,C14H26', 'C15H32,C15H30,C15H28']``\n", + "\n", + "Try for yourself." + ] + }, + { + "cell_type": "markdown", + "id": "1ba91256", + "metadata": {}, + "source": [ + "
\n", + " Splitting a line\n", + "\n", + "Instead of splitting all the contents, we can iterate through line by line and split the line we are on using the delimiter \",\". \n", + "\n", + "```Python\n", + "with open(\"./practice_files/alkanes_alkenes_alkynes.csv\") as file:\n", + " file = file.read()\n", + " file = file.split(\"\\n\")\n", + " for line in file:\n", + " line = line.split(\",\")\n", + " print(line)\n", + "```\n", + "\n", + "The above code returns each item in each line as items in a list. However, this isn't particularly useful. It would be more useful to have a list of alkanes, a list of alkenes, and a list of alkynes. We can do this by appending to empty lists by referencing the position in each line using square brackets.\n", + "\n", + "```Python\n", + "alkanes = []\n", + "alkenes = []\n", + "alkynes = []\n", + "with open(\"./practice_files/alkanes_alkenes_alkynes.csv\") as file:\n", + " file = file.read()\n", + " file = file.split(\"\\n\")\n", + " for line in file:\n", + " line = line.split(\",\")\n", + " alkanes.append(line[0])\n", + " alkenes.append(line[1])\n", + " alkynes.append(line[2])\n", + "print(alkanes)\n", + "print(alkenes)\n", + "print(alkynes)\n", + "```\n", + "\n", + "MORE DESCRIPTION\n", + "\n", + "Be careful - remember that Python is 0-indexed. The first column is index 0, the second column is index 1. In this example, if you call ``line[3]``, you will get the index error 'list index out of range'.\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "76859efa", + "metadata": {}, + "source": [ + "
\n", + " Extracting and converting numerical data\n", + "\n", + "As a default, information from files are imported as a string. Therefore, if you want to use numbers from your file, you need to convert it to numbers. The easiest way is to use the built-in Python ``float()`` function. But be careful! If there are letters or special characters in the string, you will receive an error. \n", + "\n", + "```Python\n", + "values = []\n", + "with open(\"./practice_files/measurements_1.csv\") as file:\n", + " file = file.read()\n", + " file = file.split(\"\\n\")\n", + " for line in file:\n", + " values.append(float(line))\n", + "\n", + "print(values)\n", + "```\n", + "\n", + "Each line in the file only contains one number. Therefore, we can convert each line to a float when we append it to our list of values. If we were working with a file that has multiple cells in each row, we would have to convert each individual value we are appending to a float. \n", + "\n", + "Write out this code yourself and check it is working without error.\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "828d3808", + "metadata": {}, + "source": [ + "
\n", + "
Exercise: Extract columns of data \n", + "\n", + "---\n", + "\n", + "The file 'measurements_2.csv' contains three columns of background data, corresponding to three different students. Write a code that extracts the data from each of the three columns and appends it to three lists. Then write a code that finds the average of each set of data.\n", + "\n", + " Hint 1: Once you have split each line, you can call items in a line using square brackets. The first item in a line can be called using ``line[0]``, the second using ``line[1]``, and so on. \n", + "\n", + " Hint 2: Define a function to find the average to avoid writing out the same code over and over.\n", + "\n", + "
\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "3fa00d3c", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "
\n", + "\n", + ">```Python\n", + ">def find_mean(data_list):\n", + "> \"\"\"Find the mean of a list of floats\"\"\"\n", + "> sum = 0\n", + "> for value in data_list:\n", + "> sum = sum + value\n", + "> average = sum/len(data_list)\n", + "> return average\n", + ">\n", + ">student_1 = []\n", + ">student_2 = []\n", + ">student_3 = []\n", + "># Open our file and extract the contents into the lists above\n", + ">with open(\"./practice_files/measurements_2.csv\") as file:\n", + "> contents = file.read()\n", + "> contents = contents.split(\"\\n\")\n", + "> for line in contents:\n", + "> line = line.split(\",\")\n", + "> student_1.append(float(line[0]))\n", + "> student_2.append(float(line[1]))\n", + "> student_3.append(float(line[2]))\n", + "># Check we have the correct lists\n", + ">print(student_1, \"\\n\", student_2, \"\\n\", student_3)\n", + ">\n", + "># Print the mean\n", + ">print(find_mean(student_1))\n", + ">print(find_mean(student_2))\n", + ">print(find_mean(student_3))\n", + "\n", + "We have defined our function at the top, which is good practice. Then, we open our file and extract the contents, ensuring values in each list are floats and not strings. Finally, we print the mean of those strings using our earlier defined function.\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "7bff0294", + "metadata": {}, + "source": [ + "
\n", + "
Exercise: Create a function to read a file \n", + "\n", + "---\n", + "\n", + "Above, we have written code to open a single file and extract the data. If we have many files of data that we want to read, we don't want to write that out over and over again. \n", + "\n", + "1. Write a function that can extract columns of data, just like in the previous exercise, and call the file \"measurements_2.csv\" to check it works.\n", + "\n", + "2. Extension: Create a function that can read a certain index and return the data from that index in a list.\n", + "\n", + "3. Advanced extension: Create a function that can take an arbitrary number of list index values for a file and output the data of those two lists. (Hint: use nested loops and nested lists).\n", + " HintL Use arbitrary arguments, ``*args``.\n", + "\n", + "\n", + "
\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "52258018", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "This is just turning our code from the previous exercise into a function. The function takes one argument (the file name), and will always output the first three columns of data as a three separate lists.\n", + "\n", + ">```Python\n", + ">def read_data(data_file):\n", + "> \"\"\"\n", + "> Read a file and output columns of data\n", + "> \"\"\"\n", + "> list_1 = []\n", + "> list_2 = []\n", + "> list_3 = []\n", + "> # Open our file and extract the contents into the lists above\n", + "> with open(data_file) as file:\n", + "> contents = file.read()\n", + "> contents = contents.split(\"\\n\")\n", + "> for line in contents:\n", + "> line = line.split(\",\")\n", + "> list_1.append(float(line[0]))\n", + "> list_2.append(float(line[1]))\n", + "> list_3.append(float(line[2]))\n", + "> return list_1, list_2, list_3\n", + ">\n", + "># Call our function\n", + ">student_1, student_2, student_3 = read_data(\"./practice_files/measurements_2.csv\")\n", + "># Check we have the correct lists\n", + ">print(student_1, \"\\n\", student_2, \"\\n\", student_3)\n", + "\n", + "This has many limitations. It will not work if our data has less than 3 columns (try with the file \"measurements_1\" and see what happens). It also won't return any columns past the first three, so you can't retrieve the fifth, sixth, or 100th column. The extension question tackles this.\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "1228e25e", + "metadata": {}, + "source": [ + "
\n", + " Click to view extension answer\n", + "\n", + "This code is more flexible than the previous one. Now, we can accept files with any number of columns, and we retrieve the data frp, a certain column, specified with a second argument.\n", + "\n", + "```Python\n", + "def read_file(data_file, column=0):\n", + " \"\"\"\n", + " Read a file and output the data from a column.\n", + "\n", + " Parameters:\n", + " data_file : STRING\n", + " The pathway of a CSV file with no headings.\n", + " column : INTEGER\n", + " The index of the column we wish to extract. \n", + " An integer that is 0 or greater.\n", + " Default = 0 (the first column)\n", + " \n", + " Returns:\n", + " data : LIST\n", + " The data from a certain column.\n", + " \"\"\"\n", + " # Extract data into this empty list\n", + " data = []\n", + " with open(data_file) as file:\n", + " file = file.read()\n", + " contents = file.split(\"\\n\") \n", + " for line in contents:\n", + " line = line.split(\",\")\n", + " data.append(float(line[column]))\n", + " return data\n", + "\n", + "student_1 = read_file(\"./practice_files/measurements_2.csv\", 1)\n", + "print(student_1)\n", + "```\n", + "\n", + "But this still has issues. If we want to retrieve the data from multiple columns, we have to call our function multiple times, and each time type out the file path. \n", + "\n", + "In the advanced extension, we instead use an arbitrary number of arguments to retrieve any number of columns from the data.\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "c1fd0ab0", + "metadata": {}, + "source": [ + "
\n", + " Click to view advanced answer\n", + "\n", + "In this code, we have written ``*columns`` as our arbitrary arguments. As our file only has 3 columns of data, we could put in 0, 1, or 2, as our arbitrary arguments. If we had more columns of data, we could call any number of those columns.\n", + "\n", + "```Python\n", + "def read_file(data_file, *columns):\n", + " \"\"\"\n", + " Read a file and output any of the columns.\n", + "\n", + " Parameters:\n", + " data_file : STRING\n", + " The pathway to access a .csv file with no headers\n", + " *columns : INT\n", + " An arbitrary number of integers \n", + " Corresponding to the index of a column within data_file\n", + " \n", + " Returns:\n", + " data : LIST\n", + " The nested list of all our data. Each nested list is a column of data points\n", + " column_index : LIST\n", + " A record of which columns our data is from. Can be used to reference\n", + " \"\"\"\n", + " # A record of which columns we are taking data from\n", + " column_index = []\n", + " # A nested list of the data, where each column is a list within this list\n", + " data = []\n", + " for column in columns:\n", + " column_index.append(column)\n", + " with open(data_file) as file:\n", + " file = file.read()\n", + " contents = file.split(\"\\n\")\n", + " for index in column_index:\n", + " temp_list = [] \n", + " for line in contents:\n", + " line = line.split(\",\")\n", + " temp_list.append(float(line[index]))\n", + " data.append(temp_list)\n", + " return data, column_index\n", + "\n", + "data, index = read_file(\"./practice_files/measurements_2.csv\", 0, 2)\n", + "print(data) # For student 1 and student 3\n", + "print(index) # Student 1's data is in column 0, and student 3's data is in column 2\n", + "print(\"Student 1: \" , data[0]) # This is student 1's data\n", + "print(\"Student_3: \" , data[1]) # This is student 2's data\n", + "```\n", + "\n", + "Once we have retrieved the nested list of data, we can separate it out by calling the index location. Since we only have two items in this list, we must call positions 0 and 1, which correspond to the data from Student 1 and Student 3.\n", + "\n", + "We could call this function with any column index, as long as we do not go over the number of columns. Remember to check you have the right data, as if you are trying to call Student 2's data and put the number '2' as an argument, you will get an index error without realising (as Python will not read this as an error - if you want student 2's data, you need to write '1' as an argument).\n", + "\n", + "Indexing can get confusing, especially with Python's 0-indexing system. Keep your variable names consistent and descriptive, and leave sensible comments to help you and others understand what is going on.\n", + "\n", + "

" ] }, { @@ -107,7 +565,7 @@ "id": "8ec1d24a", "metadata": {}, "source": [ - "## Reading CSV Files\n", + "## Using the CSV module\n", "CSV (Comma Separated Values) files are a common format for storing tabular data, such as data from experiments or simulations.\n", "Each line in a CSV file represents a row of data, and each value in the row is separated by a comma (you can easily verify this by opening up a CSV file in a text editor).\n", "Python has a built-in module called `csv` that makes it easy to read (and write) CSV files.\n", @@ -148,112 +606,425 @@ }, { "cell_type": "markdown", - "id": "760dcb9a", + "id": "c2c0d870", "metadata": {}, "source": [ - "## Exercises\n", + "## Parsing headers" + ] + }, + { + "cell_type": "markdown", + "id": "7860419e", + "metadata": {}, + "source": [ + "Data will often come with headers indicating what the data in each column is. If you use the methods above to extract information, you will end up with descriptions in your list of data, which cannot then be converted to floats and will result in errors. You must either skip over these lines, or append them into a useful list.\n", "\n", - "### Manipulate data\n", - "Use f-strings to print the contents of the `elements.csv` file in a more readable format.\n", - "Don't forget about the header row!" + "The most general way of doing this is using ``if`` statements. There are a number of strategies you could use. Some (but not all) are listed below. You can get creative with these, there are lots of methods!" ] }, { - "cell_type": "code", - "execution_count": null, - "id": "53a6fb7d", + "cell_type": "markdown", + "id": "22973ad9", "metadata": {}, - "outputs": [], - "source": [] + "source": [ + "
\n", + " Identify a line containing a phrase\n", + "\n", + "Here, if the first line is equal to ['nm', 'abs'] (which it is), the program will ``continue``, meaning the current loop ends and the next loop begins. Since the lines in the next loops are numbers, the code will go straight to the ``else`` statement and append to the relevant lists. \n", + "\n", + "You could also test just the first item in the line using ``if line[0] == \"nm\":``. This might be useful if there are multiple lines beginning with the same thing that you want to extract.\n", + "\n", + "```Python\n", + "wavelength = []\n", + "absorption = []\n", + "with open(\"./practice_files/spectrum.dat\") as file:\n", + " contents = file.read()\n", + " contents = contents.split(\"\\n\")\n", + " for line in contents:\n", + " line = line.split()\n", + " if line == ['nm', 'abs']:\n", + " continue\n", + " else:\n", + " wavelength.append(float(line[0]))\n", + " absorption.append(float(line[1]))\n", + "print(\"Wavelengths: \" , wavelength)\n", + "print(\"Absorptions :\" , absorption)\n", + "```\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "599796f0", + "metadata": {}, + "source": [ + "
\n", + " Check if an entry is a number using .isdigit()\n", + "\n", + "In this example, we have added a ``for`` loop that iterates through the line, checking if each string item in the line contains numbers using the built-in Python function ``.isdigit()``. This will return True if all characters in the string are numbers, and False if any of those characters are not numbers. In this way, we can skip over any items which are not floats. \n", + "\n", + "Also, if we have removed any values (outliers, etc.), this will filter them out.\n", + "\n", + "```Python\n", + "wavelength = []\n", + "absorption = []\n", + "with open(\"./practice_files/spectrum.dat\") as file:\n", + " contents = file.read()\n", + " contents = contents.split(\"\\n\")\n", + " for line in contents:\n", + " line = line.split()\n", + " for item in line:\n", + " if item.isdigit() == False:\n", + " continue\n", + " else:\n", + " wavelength.append(float(line[0]))\n", + " absorption.append(float(line[1]))\n", + "print(\"Wavelengths: \" , wavelength)\n", + "print(\"Absorptions :\" , absorption)\n", + "```\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "0df837a2", + "metadata": {}, + "source": [ + "
\n", + " enumerate() to skip specific lines\n", + "\n", + "In this example, we enumerate the contents. This way, we can skip over any line we specify. In this case, the first line (index == 0) is skipped. If we also wanted to skip over the second line, we could use an ``or`` statement, e.g. ``if index == 0 or index == 1:``. \n", + "\n", + "```Python\n", + "wavelength = []\n", + "absorption = []\n", + "with open(\"./practice_files/spectrum.dat\") as file:\n", + " contents = file.read()\n", + " lines = contents.split(\"\\n\")\n", + " for index, line in enumerate(lines):\n", + " if index == 0:\n", + " continue\n", + " else:\n", + " wavelength.append(float(line[0]))\n", + " absorption.append(float(line[1]))\n", + "\n", + "print(\"Wavelengths: \" , wavelength)\n", + "print(\"Absorptions :\" , absorption)\n", + "```\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "0de1d353", + "metadata": {}, + "source": [ + "
\n", + " Use length of line\n", + "\n", + "In some cases, the headers are a different length to the rest of the file.\n", + "\n", + "In the XYZ file \"hydrogen_atoms.xyz\", the lines containing the data always have 4 elements to them: the atom, its x coordinate, its y coordinate, its z coordinate. All coordinates are given in Angstroms. \n", + "\n", + "If you wanted to, instead of outputting a nested list of coordinates in the format [[x,y,z], [x,y,z]], you could create three lists corresponding the the three axes, each with every x- y- or z- value. You could then use these values for calculating the distance between atoms, or calculating the geometric similarity between two structures (using the RMSD formula for two structures).\n", + "\n", + "```Python\n", + "atoms = []\n", + "H_coords = []\n", + "\n", + "with open(\"./practice_files/hydrogen_atoms.xyz\") as file:\n", + " contents = file.read()\n", + " lines = contents.split(\"\\n\")\n", + " for line in lines:\n", + " line = line.split()\n", + " if len(line) != 4:\n", + " continue\n", + " else:\n", + " atoms.append(line[0])\n", + " coord = [float(line[1]), float(line[2]), float(line[3])]\n", + " H_coords.append(coord)\n", + "\n", + "print(\"H coords: \", H_coords)\n", + "```\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "860ec445", + "metadata": {}, + "source": [ + "
\n", + "
Exercise: Extract data from periodic table \n", + "\n", + "---\n", + "\n", + "Using the file 'periodic_table.csv', write code to write each element out in the following format:\n", + "\n", + " ``Element`` has the symbol ``symbol``. It has ``number`` protons and a mass of ``mass`` amu. \n", + "\n", + "For example: 'Hydrogen has the symbol He. It has 1 proton and a mass of 1.008 amu.'\n", + "\n", + "Hint: Use f-strings for more control over your variables and better readability.\n", + "\n", + "\n", + "\n", + "
\n", + "

" + ] }, { "cell_type": "markdown", - "id": "633a2836", + "id": "bdab5ff9", "metadata": {}, "source": [ - "Example answer (skipping the header entirely):\n", - "```python\n", + "
\n", + " Click to view answer\n", + "\n", + "There are many ways to write this. The important thing is that our output does NOT include the headers as a phrase. This answer has done this by skipping the line starting with the string \"Name\". If you have achieved the same output a different way, that's fine! At the moment, it is more important to just solve the problem rather than look for the \"best\" way to solve it. \n", + "\n", + "```Python\n", + "with open(\"./practice_files/periodic_table.csv\") as file:\n", + " file = file.read()\n", + " lines = file.split(\"\\n\")\n", + " for line in lines:\n", + " line = line.split(\",\")\n", + " if line[0] == \"Name\":\n", + " continue\n", + " else:\n", + " print(f\"{line[0]} has the symbol {line[1]}. It has {line[2]} protons and a mass of {line[3]} amu.\")\n", + "```\n", + "\n", + "Think about how you could extract and use each column. If I wanted to just take the data for phosphorus, how would I achieve this? Could I use enumerate to find the right index? \n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "6a239074", + "metadata": {}, + "source": [ + "
\n", + "
Exercise: Using the CSV module \n", + "\n", + "---\n", + "\n", + "Using the CSV module and the file 'periodic_table.csv', write code to write each element out in the following format:\n", + "\n", + " Element: ``element``, Symbol: ``symbol``, Atomic Number: ``number``, Atomic Mass: ``mass``. \n", + "\n", + "Hint: Use f-strings for more control over your variables and better readability.\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "1ed1114b", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "Using the CSV module results in fewer lines of code.\n", + "\n", + "```Python\n", "import csv\n", "\n", "with open('elements.csv') as csvfile:\n", " csv_reader = csv.reader(csvfile)\n", " next(csv_reader) # Skip the header row\n", " for row in csv_reader:\n", - " print(f\"Name: {row[0]}, Symbol: {row[1]}, Atomic Number: {row[2]}\")\n", - "```" + " print(f\"Name: {row[0]}, Symbol: {row[1]}, Atomic Number: {row[2]}, Atomic Mass: {row[3]}\")\n", + "```\n", + "\n", + "Remember that although the CSV module can simplify things, it is still important to understand how to read and write code without it, as this will give you a better understanding of programming and Python coding.\n", + "\n", + "

" ] }, { "cell_type": "markdown", - "id": "c67c1875", + "id": "20c43e7b", "metadata": {}, "source": [ - "### Using the file path\n", - "Try to open a file that is not in the same directory as this notebook and print its contents." + "### Files in a different directory" ] }, { - "cell_type": "code", - "execution_count": null, - "id": "de2abab4", + "cell_type": "markdown", + "id": "807a6013", "metadata": {}, - "outputs": [], - "source": [] + "source": [ + "If the file you are trying to call is unavoidably in a different directory to the one you are working in, you can still call the file by instead inputting the full filepath for the file. E.g. ``\"C:\\Users\\Tara\\Documents\\PythonInChemistry\\readingfiles\\molecule.txt\"``\n", + "\n", + "You could also use a relative filepath using ``./`` and ``../``. \n", + "- ``./`` indicates you want to stay in the same directory. After the forward slash, you can then put in further directory names, ending with your file name.\n", + "- ``../`` indicates you want to go back a directory from the one you are in. After the backslash, you can then put in further directory names, again ending with your file name.\n", + "\n", + "If this is confusing, have a look at the previous lessons on file types and view the directory branch diagram.\n", + "\n", + " Remember Forward slash and backward slash are interchangeable for specifying a filepath (at higher computing levels this is not necessarily true, but for our purposes it is)." + ] }, { "cell_type": "markdown", - "id": "3430cc73", + "id": "760dcb9a", "metadata": {}, "source": [ - "TODO: Example answer" + "## Practice" ] }, { "cell_type": "markdown", - "id": "10c5379d", + "id": "c67c1875", "metadata": {}, "source": [ - "### Loop through multiple files\n", - "TODO: Task involving looping through multiple files with a predictable filename (e.g. `001.csv`) and reading their contents." + "### Question 1: Using the file path\n", + "With the file \"gas_const.txt\" in a different directory to your program, write a code to open and print its contents. Remember you can use ``..`` to go back a directory, and ``.`` to indicate the directory you are currently in." ] }, { "cell_type": "code", "execution_count": null, - "id": "002dbb28", + "id": "de2abab4", "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The gas constant is: 8.314 J/K.mol\n" + ] + } + ], + "source": [ + "# Answer\n", + "# With the file forward a directory.\n", + "\n", + "with open(\"./practice_files/gas_const.txt\") as file:\n", + " contents = file.read()\n", + " print(contents)" + ] }, { "cell_type": "markdown", - "id": "c1114d99", + "id": "981c5dec", "metadata": {}, "source": [ - "TODO: Example answer" + "### Question 2: Calculate internuclear distance\n", + "\n", + "Using the coordinates in the file \"hydrogen_atoms.xyz\", write a program to calculate the distance between the two nuclei using Pythagoras' Theorem. \n", + "\n", + "The van der Waals radius is the distance from the centre of a atom within which another atom will experience van der Waals interaction with that atom. For a diatomic, a distance between the two atom centres greater than twice the van der Waals radius will result in no van der Waals interaction. \n", + "\n", + "Given that the van der Waals distance for H is 1.2 Angstroms, add a conditional statement that will check if the two hydrogen atoms in the file will interact or not." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fcf7d719", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "3.2055211744738172\n", + "These two atoms will not inteact\n" + ] + } + ], + "source": [ + "# Answer\n", + "\n", + "def distance(atom_1, atom_2):\n", + " \"\"\"\n", + " Calculate distance in angstroms between two atoms of coordinates [x,y,z].\n", + " Using Pythagoras' formula for the difference between each coordinate. \n", + " \"\"\"\n", + " distance = (atom_1[0]-atom_2[0])**2 + (atom_1[1]-atom_2[1])**2 + (atom_1[2]-atom_2[2])**2\n", + " distance = distance ** (1/2)\n", + " return distance\n", + "\n", + "with open(\"./practice_files/hydrogen_atoms.xyz\") as file:\n", + " contents = file.read()\n", + " contents = contents.split(\"\\n\")\n", + " atom_coords = []\n", + " for line in contents:\n", + " line = line.split()\n", + " if len(line) < 4:\n", + " continue\n", + " else:\n", + " temp_coord = [float(line[1]), float(line[2]), float(line[3])]\n", + " atom_coords.append(temp_coord)\n", + "H1 = atom_coords[0]\n", + "H2 = atom_coords[1]\n", + "\n", + "print(distance(H1, H2))\n", + "if distance(H1,H2) < 1.2*2:\n", + " print(\"These two atoms will interact\")\n", + "else:\n", + " print(\"These two atoms will not interact\")\n" ] }, { "cell_type": "markdown", - "id": "619f5799", + "id": "1fdd99c8", "metadata": {}, "source": [ - "## Debugging\n", - "The code below contains a bug and will not run.\n", - "See if you can fix it by reading the error message and using the information it provides." + "### Question 3:\n", + "\n", + "Extract the data from \"spectrum.dat\" and identify which wavelength results in the maximum absorption. \n", + "\n", + " Hint: The built-in Python function ``max()`` can find the largest item of a list of numbers." ] }, { "cell_type": "code", "execution_count": null, - "id": "818250af", + "id": "96db5e87", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Wavelengths: [240.0, 250.0, 260.0, 270.0, 280.0, 290.0, 300.0, 310.0]\n", + "Absorptions : [0.123, 0.132, 0.346, 0.563, 0.998, 0.377, 0.007, 0.002]\n", + "Max absorption is: 0.998\n", + "Wavelength of the max absorption is: 280.0 nm\n" + ] + } + ], "source": [ - "with open('molecule.csv', 'r') as file:\n", - " text = file.read()\n", + "# Answer\n", + "\n", + "wavelength = []\n", + "absorption = []\n", + "with open(\"./practice_files/spectrum.dat\") as file:\n", + " contents = file.read()\n", + " contents = contents.split(\"\\n\")\n", + " for line in contents:\n", + " line = line.split()\n", + " if line[0] == 'nm':\n", + " continue\n", + " else:\n", + " wavelength.append(float(line[0]))\n", + " absorption.append(float(line[1]))\n", + "print(\"Wavelengths: \" , wavelength)\n", + "print(\"Absorptions :\" , absorption)\n", "\n", - "print(text)" + "for i, j in zip(wavelength, absorption):\n", + " if j == max(absorption):\n", + " print(\"Max absorption is: \", j)\n", + " print(\"Wavelength of the max absorption is: \" , i, \"nm\")\n" ] }, { @@ -261,15 +1032,48 @@ "id": "f58d91db", "metadata": {}, "source": [ - "## TODO\n", - "- Discuss carriage returns and other special characters?\n", - "- Explain the distinction between text and binary files?" + "## Summary" + ] + }, + { + "cell_type": "markdown", + "id": "a22cebb9", + "metadata": {}, + "source": [ + "- Before reading a file in Python, make sure:\n", + " - Your file is in the same directory as your code (or has a valid filepath). \n", + " - Your file is named sensibly.\n", + " - Your file is in the correct format.\n", + "\n", + "- Open a file using either:\n", + " - `file_name = open(\"file.txt\", \"r\")`\n", + " `contents = file_name.read()`\n", + " `file_name.close()`\n", + " - `with open(\"file.txt\", \"r\") as file_name:`\n", + "\n", + "- Delimiters indicate separation between items in a file. Common delimiters are commas (`\",\"`), spaces (`\"\"`), tabs (`\"\\t\"`), and new lines (`\"\\n\"`).\n", + "\n", + "- Split a file along a delimiter using `.split()`. Inside the bracket place the delimiter as a string. \n", + "- The CSV module allows you to quickly parse CSV files.\n", + "- There are a number of ways to parse headers.\n", + " - By identifying if the line contains a certain phrase. `if line in contents == \"time,result\"`\n", + " - Check if an entry is a number using `.isdigit()`.\n", + " - Use `enumerate()` to skip certain lines. \n", + " - Skip lines of a certain length.\n", + "\n", + "- Use a relative filepath to reference files in a different directory. " ] + }, + { + "cell_type": "markdown", + "id": "8fc97a2a", + "metadata": {}, + "source": [] } ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "base", "language": "python", "name": "python3" }, @@ -283,7 +1087,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.12" + "version": "3.12.3" } }, "nbformat": 4, diff --git a/lessons/files/spectrum.txt b/lessons/files/spectrum.txt new file mode 100644 index 00000000..12ecc2c5 --- /dev/null +++ b/lessons/files/spectrum.txt @@ -0,0 +1,21 @@ +nm &#&# abs +240 &#&# 0.123 +250 &#&# 0.132 +260 &#&# 0.346 +270 &#&# 0.563 +280 &#&# 0.998 +290 &#&# 0.377 +300 0.007 +310 0.002 +300 0.007 +310 0.002 +300 0.007 +310 0.002 +300 0.007 +310 0.002 +300 0.007 +310 0.002 +300 0.007 +310 0.002 +300 0.007 +310 0.002 diff --git a/lessons/files/writing_files.ipynb b/lessons/files/writing_files.ipynb index 1ce922f0..7a463c90 100644 --- a/lessons/files/writing_files.ipynb +++ b/lessons/files/writing_files.ipynb @@ -6,7 +6,7 @@ "id": "R-GtgLtZw1hH" }, "source": [ - "# **Writing files**" + "# Writing files" ] }, { @@ -15,12 +15,10 @@ "id": "yjL3LTCFJXwl" }, "source": [ - "## **Learning Outcomes**\n", + "## Learning Outcomes\n", "\n", - "The learning outcomes are as follows:\n", - "\n", - "1. Saving data into a newly created file\n", - "2. Add additional data into an existing file." + "- Saving data into a newly created file\n", + "- Add additional data into an existing file." ] }, { @@ -29,69 +27,314 @@ "id": "hTDYb2QRyNeb" }, "source": [ - "## **Pre-requisites**\n", + "## Prerequisites\n", "\n", - "Variables
\n", - "FOR loops
\n", - "Writing f-strings
\n", + "- [Variables](../variables/Variable_data_types.ipynb)\n", + "- [For loops](../loops_functions/for_loops.ipynb)\n", + "- [Files and file types](./files_file_types.ipynb)\n", "\n", "\n" ] }, { "cell_type": "markdown", - "metadata": { - "id": "xUUYv_pr1Sbt" - }, + "metadata": {}, "source": [ - "## **Writing files**\n", - "\n", - "It is often necesary to be able to save chemical data, images etc. that have been generated as a result of data processing etc., which is known as 'writing'. You can choose either to write your data to:\n", - "(i) a new file, or\n", - "(ii) alternatively add (aka append) to an existing file.\n" + "## Writing files" ] }, { "cell_type": "markdown", "metadata": { - "id": "BVX99iEZ3Rc2" + "id": "xUUYv_pr1Sbt" }, "source": [ - "## **Writing data to a new file**\n", + "We have seen how Python can process chemical data and perform calculations. Once you have run your program, it is likely that you want to save your data to a file to use for later. This is called 'writing'. To write to a file, you change the mode from ``\"r\"`` to one of the following:\n", + "\n", + "- ``\"w\"`` is write mode. If the file doesn't already exist, it is created. If the file already exists, any data already in it is removed, and data is added as if it was an empty file.\n", + "- ``\"a\"`` is append mode open for writing. If the file doesn't already exist, it is created. Any data written to the file appears at the bottom of any data already in the file.\n", + "- Adding ``+`` to the end of the letter means the file is also opened for reading.\n", "\n", - "In Python, in order to write data to a new file, you must first create a file, ensuring the the file is writable.\n", + "The function ``.write()`` allows any content within the brackets to be written to the file.\n", "\n", - "In order to create a file, you can use the command 'open'. Following this (in ( ) brackets) you need to supply the name of the file that you want to create, followed by a comma and then indicate that you wish to *write* to the new file (as opposed to e.g. read) by using the tag 'w'.\n", + "For example:\n", "\n", - "A simple example of this is given below:" + "```Python\n", + "file = open(\"new_file.txt\", \"w\")\n", + "file.write(\"content\" + str(variable_name) + \"content\")\n", + "file.write(f\"content {variable_name} \\n content\")\n", + "file.close()\n", + "```\n", + "\n", + "Things to note:\n", + "- Since the file \"new_file.txt\" does not already exist, the first line creates a file with this name.\n", + " - If the file already existed, this first line would wipe the data of that file ready to write over with the next lines. You need to be careful that you don't do this to files you want to keep!\n", + "- The function ``.write()`` allows content within the brackets to be written to the file.\n", + " - You can write using concatenation (as in line 2). Here, strings are combined into one long string using the '+' symbol. \n", + " - You can write using f-strings, as we have seen in the past. \n", + " - Putting two ``file.write()`` statements does not place your items on a new line. You need to add the special character ``\"\\n\"`` to write a new line. Other special characters you might use are ``\"\\n\"``, the carriage return (moves the cursor to the beginning of the current line), and ``\"\\t\"``, which inserts a tab.\n", + "- You can iterate using 'for' to print a phrase over and over again.\n", + "- Once you are done, you close the file. Just like with reading, this is good practice." ] }, { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "JRvmRpz13Q0o" - }, - "outputs": [], + "cell_type": "markdown", + "metadata": {}, "source": [ + "
\n", + " Writing data to a new file\n", + "\n", + "If the file you want to write to doesn't exist, Python will create it.\n", + "\n", + "In the below example, we want to write the gas constant to a file called \"gas_const.txt\".\n", + "\n", + "```Python\n", "file = open('gas_const.txt', 'w')\n", "\n", "R = 8.314\n", "file.write(\"The gas constant is: \" + str(R) + \" J/K.mol\")\n", "\n", - "file.close()" + "file.close()\n", + "```\n", + "\n", + "The text inside the file now reads:\n", + "\n", + " The gas constant is: 8.314 J/K.mol \n", + "\n", + "Try it for yourself.\n", + "\n", + "

" ] }, { "cell_type": "markdown", "metadata": { - "id": "KI8esPi893AW" + "id": "BVX99iEZ3Rc2" }, "source": [ - "We have defined and assigned a value to the variable, R, that is to be written to the file. R will be written to the file as a string. We have constructed the string \"The gas constant is: 8.314 J/K.mol\" which is then written to the file using the file.write command. Lastly the file is closed.\n", + "
\n", + " Writing data to an existing file\n", + "\n", + "If the file you want to write to already exists, Python will erase the contents of the file (this is called truncation) and write the new contents in that space.\n", + "\n", + "Run the above code to create the file \"gas_const.txt\", then run the code below.\n", + "\n", + "```Python\n", + "file = open('gas_const.txt', 'w')\n", + "\n", + "R = 8.206\n", + "file.write(\"The gas constant is: \" + str(R) + \" m3.atm/K.mol\")\n", + "\n", + "file.close()\n", + "```\n", + "\n", + "You will see that the previous value of R is no longer in the file. This is why we need to be careful with writing files, we don't want to lose any important data!\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Writing using 'with' statements\n", + "\n", + "Just like when we are reading files, we can use a ``with`` statement to write to files. \n", + "\n", + "```Python\n", + "with open(\"gas_const.txt\", \"w\") as file:\n", + " R = 1.987\n", + " file.write(\"The gas constant is: \" + str(R) + \" cal/K.mol\")\n", + "```\n", + "\n", + "Just like with reading, the file will automatically close once the ``with`` statement is no longer respected. \n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "
Exercise: Writing files \n", + "\n", + "---\n", + "\n", + "Using a ``with`` statement and an f-string, create a code to write the following statement to a new text file using the given variables below:\n", + "\n", + ">Lanthanum, with the elemental symbol La, has 57 protons and a mass of 138.91 amu. \n", + ">\n", + ">Lanthanum oxide is used in making some optical glasses.\n", + "\n", + "Use these variables:\n", + "\n", + "```\n", + "element = \"Lanthanum\"\n", + "symbol = \"La\"\n", + "number = 57\n", + "mass = 138.91\n", + "```\n", + "\n", + "
\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Click to reveal answer \n", + "\n", + "```Python\n", + "element = \"Lanthanum\"\n", + "symbol = \"La\"\n", + "number = 57\n", + "mass = 138.91\n", + "\n", + "with open(\"lanth_facts.txt\", \"w\") as file:\n", + " file.write(f\"{element}, with the elemental symbol {symbol}, has {number} protons and a mass of {mass} amu. \\nLanthanum oxide is used in making some optical glasses.\")\n", + "```\n", + "\n", + "Don't forget the ``\\n`` character to create a new line!\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Iteration to write to a file" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Writing one statement at a time is a very slow to write a file. Instead, we could use ``for`` loops to write lots of lines quickly. \n", + "\n", + "In the simplest case we can write out the same thing over and over. The code below prints the same phrase on 100 new lines (using the special character ``\"\\n\"`` - try with and without it and see what happens).\n", + "\n", + "```Python\n", + "with open(\"gas_const.txt\", \"w\") as file:\n", + " R = 8.314\n", + " for i in range(100):\n", + " file.write(f\"The gas constant is: {R} J/K.mol \\n\")\n", + "```\n", + "\n", + "But more crucially, we can iterate through a list and store the values. The code below will create a file \"spectrum.txt\" and write each absorbance value on a new line. \n", + "\n", + "```Python\n", + "absorbance = [0.123, 0.132, 0.346, 0.563, 0.998, 0.377, 0.021]\n", + "\n", + "with open(\"spectrum.txt\", \"w\") as file:\n", + " for value in absorbance:\n", + " file.write(str(value) + \"\\n\")\n", + "```\n", + "\n", + "Note! When we read files, we read everything (including numbers) as a string. When we write files, we need to remember to convert them back to a string, or the concatenation will not work!\n", + "\n", + "This is the simplest example of adding structure to a file, by writing each new value on a new line. But this isn't particularly useful. If we could write multiple columns, or add headers, this would become much more flexible." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "
Exercise: Write data to a file\n", + "\n", + "---\n", + "\n", + "For the following list of random background noise, write each item to a text file on a new line. Include a header that describes what the data is.\n", + "\n", + "background = [1.48, 1.23, 1.39, 1.46, 1.31, 1.55, 1.25, 1.36, 1.44, 1.29, 1.58, 1.34, 1.41, 1.53, 1.27, 1.38, 1.52, 1.22, 1.33, 1.49, 1.24, 1.56, 1.26, 1.45, 1.51, 1.28, 1.35, 1.57, 1.43, 1.21]\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "```Python\n", + "background = [1.48, 1.23, 1.39, 1.46, 1.31, 1.55, 1.25, 1.36, 1.44, 1.29, 1.58, 1.34, 1.41, 1.53, 1.27, 1.38, 1.52, 1.22, 1.33, 1.49, 1.24, 1.56, 1.26, 1.45, 1.51, 1.28, 1.35, 1.57, 1.43, 1.21]\n", + "\n", + "with open(\"data_record.txt\", \"w\") as file:\n", + " file.write(\"random background measurements\\n\")\n", + " for i in background:\n", + " file.write(str(i) + \"\\n\")\n", + "```\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "
Exercise: Debugging code \n", + "\n", + "---\n", + "\n", + "Below is a piece of code with numerous errors. Identify as many as possible. Try running the code and look at the error message to more quickly figure out what is wrong. When you are writing a code project, you will encounter lots of error messages, so it is good to get used to recognising them now.\n", + "\n", + ">```Python\n", + ">data_points = 1.2, 5.6, 3.4, 0.5, 4.1, 3.2\n", + ">\n", + ">file = open(data_record)\n", + ">\n", + ">write(\"record of data points\")\n", + ">for point in data_points\n", + "> file.write(point + \"\\n\")\n", + "\n", + "\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "```Python\n", + "data_points = [1.2, 5.6, 3.4, 0.5, 4.1, 3.2]\n", "\n", - "Google Colab: This simple file has been saved in a temporary storage location. You can have a look at the file that's just been written by selecting the File icon on the left-hand side of the Colab page. Within the 'Content' file, you should be able to see the file. Click on the three vertical dots on the right-hand side of the file, download and open.\n", - "**NOTICE FOR EDITORS: we appreciate that we've written this for Google Colab - so we will need to re-write this section**" + "file = open(\"data_record.txt\", \"w\")\n", + "\n", + "file.write(\"record of data points\\n\")\n", + "for point in data_points:\n", + " file.write(str(point) + \"\\n\")\n", + "```\n", + "\n", + "Here were the errors:\n", + "- ``data_points`` should is missing square brackets to make it a list. \n", + "- When we open the file, the file name should be in speech marks ``\"\"``.\n", + "- There should be a file extension on the file name, e.g. ``\"data_record.txt\"``. It is not so important when creating simple files, but you will find your files get confusing if you don't start doing this, especially if you have two files with the same name but different extensions!\n", + "- The function ``open()`` should take a second argument. As we want to write to this file, this will be ``\"w\"``.\n", + "- When writing to the file, the correct syntax is ``file.write()``, not just ``write()``. We need to specify which file we are writing to. This becomes important if you have multiple files open.\n", + "- There should be a ``\"\\n\"`` at the end of the header line, otherwise the first data point will also appear on the header line.\n", + "- There should always be a colon ``:`` at the end of the ``for`` line. \n", + "- When writing an integer or float to a file using concatenation (the ``+`` sign), it must be converted to a string using ``str()``. In this case, it should read ``file.write(str(point) + \"\\n\")``. \n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Adding structure to a file" ] }, { @@ -100,31 +343,123 @@ "id": "JQCkCjKt9UI7" }, "source": [ - "The way in which data is written to a file depends on the type of data itself. So... FINISH" + "The way in which data is written to a file depends on the type of data itself. We could format it with commas separating values (CSV), with tabs separating values, spaces, or anything else we want.\n", + "\n", + "We can also add headers to describe the data. When we do this, we write the headers before the loops." ] }, { "cell_type": "markdown", - "metadata": { - "id": "uYsrtUqF_k_s" - }, + "metadata": {}, "source": [ - "## **Writing a simple structured file**\n", + "
\n", + " CSV Structure\n", + "\n", + "In this example, we take two lines of data and write them to a CSV file. We use a ``for`` loop with the ``range()`` function, and then write to the file the value at the index i which we are iterating through using square brackets. \n", + "\n", + "When you are doing this, remember ``\\n`` to start a new line!\n", + "\n", + "```Python\n", + "energies_1 = [1.01e-19, 1.43e-19, 1.85e-19, 2.28e-19, 2.7e-19, 3.13e-19, 3.55e-19, 3.98e-19, 4.4e-19, 4.83e-19, 5.25e-19, 5.68e-19]\n", + "energies_2 = [1.82e-19, 2.11e-19, 2.4e-19, 2.69e-19, 2.99e-19, 3.28e-19, 3.57e-19, 3.86e-19, 4.15e-19, 4.44e-19, 4.74e-19, 5.03e-19]\n", "\n", - "XXXX\n", + "with open(\"data_record.csv\", \"w\") as file:\n", + " file.write(f\"run1,run2\\n\")\n", + " for i in range(len(energies_1)):\n", + " file.write(f\"{energies_1[i]},{energies_2[i]}\\n\")\n", + "```\n", "\n", - "In the example below, the ... FINISH" + "

" ] }, { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "VPqkYrd1zla5" - }, - "outputs": [], + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Using zip()\n", + "\n", + "We don#t have to use the range() function. In the below example, the two lists are being associated item-wise using the function ``zip()``. \n", + "\n", + "```Python\n", + "energies_1 = [1.01e-19, 1.43e-19, 1.85e-19, 2.28e-19, 2.7e-19, 3.13e-19, 3.55e-19, 3.98e-19, 4.4e-19, 4.83e-19, 5.25e-19, 5.68e-19]\n", + "energies_2 = [1.82e-19, 2.11e-19, 2.4e-19, 2.69e-19, 2.99e-19, 3.28e-19, 3.57e-19, 3.86e-19, 4.15e-19, 4.44e-19, 4.74e-19, 5.03e-19]\n", + "\n", + "with open(\"data_record.csv\", \"w\") as file:\n", + " file.write(\"run1,run2\\n\")\n", + " for i, j in zip(energies_1,energies_2):\n", + " file.write(f\"{i},{j}\\n\")\n", + "```\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, "source": [ - "file = open('spectrum.dat', 'w')\n", + "
\n", + " Zip() and the unpacking operator *\n", + "\n", + "If we had lots and lots of lists that we want to write to the document, both ``range()`` and ``zip()`` seem to require lots of repetitive naming of lists. However, there are ways around this. \n", + "\n", + "When we first learned about ``zip()``, we might have mentioned that if you use only 1 temporary variable for multiple lists (e.g. ``for i in zip(list1,list2,list3):``), the items in the list are still associated with each other, but as a tuple, in this case with the variable name ``i``. Tuples are very similar to lists, with the difference that they are immutable, their contents cannot be changed once it has been created. Once you have the tuple, you can iterate through it, writing each item in the tuple to your document. \n", + "\n", + "```Python\n", + "energies_1 = [1.01e-19, 1.43e-19, 1.85e-19, 2.28e-19, 2.7e-19, 3.13e-19, 3.55e-19, 3.98e-19, 4.4e-19, 4.83e-19, 5.25e-19, 5.68e-19]\n", + "energies_2 = [1.82e-19, 2.11e-19, 2.4e-19, 2.69e-19, 2.99e-19, 3.28e-19, 3.57e-19, 3.86e-19, 4.15e-19, 4.44e-19, 4.74e-19, 5.03e-19]\n", + "energies_3 = [5.17e-19, 5.45e-19, 5.74e-19, 6.02e-19, 6.30e-19, 6.58e-19, 6.86e-19, 7.14e-19, 7.43e-19, 7.71e-19, 7.99e-19, 8.27e-19]\n", + "\n", + "with open(\"data_record.csv\", \"w\") as file:\n", + " file.write(\"run1,run2\\n\")\n", + " for tuple in zip(energies_1,energies_2,energies_3):\n", + " print(tuple)\n", + " for item in tuple:\n", + " file.write(f\"{item},\")\n", + " file.write(\"\\n\")\n", + "```\n", + "\n", + "At the moment, this isn't particularly quicker than range(), or the first examples using zip(). But what if you had 100 lists of data you want to write to a file? You don't want to write ``zip(energies_1,energies_2,energies_3,...)`` all the way to 100! This is where a powerful tool called the unpacking operator ``*`` comes in handy. \n", + "\n", + "The unpacking operator literally 'unpacks' objects from inside other objects. For example, a list ``list_0 = [1,2,3,4]`` which has been acted on by the unpacking operator ``*list_0``, has its contents unpacked and turned into individual objects, in this case a group of integers ``1,2,3,4``. A nested list ``n_list = [[1,2],[5,6],[8,9]]`` when unpacked will just become three lists: ``[1,2],[5,6],[8,9]``.\n", + "\n", + "In the context of tuples and zip(), this means we could have a list containing our lists of data, e.g. ``all_energies = [energies_1, energies_2, energies_3]``, and inside our zip() function unpack it into separate lists like so: ``for tuple in zip(*all_energies):``\n", + "\n", + "An example is below.\n", + "\n", + "```Python\n", + "energies_1 = [1.01e-19, 1.43e-19, 1.85e-19, 2.28e-19, 2.7e-19, 3.13e-19, 3.55e-19, 3.98e-19, 4.4e-19, 4.83e-19, 5.25e-19, 5.68e-19]\n", + "energies_2 = [1.82e-19, 2.11e-19, 2.4e-19, 2.69e-19, 2.99e-19, 3.28e-19, 3.57e-19, 3.86e-19, 4.15e-19, 4.44e-19, 4.74e-19, 5.03e-19]\n", + "energies_3 = [5.17e-19, 5.45e-19, 5.74e-19, 6.02e-19, 6.30e-19, 6.58e-19, 6.86e-19, 7.14e-19, 7.43e-19, 7.71e-19, 7.99e-19, 8.27e-19]\n", + "main_list = [energies_1,energies_2,energies_3]\n", + "\n", + "with open(\"data_record.csv\", \"w\") as file:\n", + " file.write(\"run1,run2\\n\")\n", + " for energy_tuple in zip(*main_list):\n", + " print(energy_tuple)\n", + " for item in energy_tuple:\n", + " file.write(f\"{item},\")\n", + " file.write(\"\\n\")\n", + "```\n", + "\n", + "In this case, we have still had to define the list manually, which is annoying. However, if you are reading data from a file, you can choose to store it in any way you want - you can store it straight into a nested list! Go back and look at the reading files lesson for examples where we pull data straight into a nested list!\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Using tab\n", + "\n", + "Just like with commas as shown above, you can separate items using tab. The special character for this is ``\\t``.\n", + "\n", + "In this example, we opened and closed the file manually. We have also used ``range()``. Run the code and have a look at the file ``spectrum.txt``. Notice that on either side of the tab there is an additional space. This is because there is a space on either side of the special symbol ``\\t``. If you want a specific format, you need to watch out when writing to your file!\n", + "\n", + "```Python\n", + "file = open('spectrum.txt', 'w')\n", "\n", "wavelength = [240, 250, 260, 270, 280, 290]\n", "absorbance = [0.123, 0.132, 0.346, 0.563, 0.998, 0.377, 0.021]\n", @@ -132,40 +467,121 @@ "for i in range(len(wavelength)):\n", " file.write(f\"{wavelength[i]} \\t {absorbance[i]}\\n\")\n", "\n", - "file.close()" + "file.close()\n", + "```\n", + "\n", + "

" ] }, { "cell_type": "markdown", - "metadata": { - "id": "YBO7aNknGp7b" - }, + "metadata": {}, "source": [ - "In the above example, the 'f' in the file.write commands... FINISH" + "
\n", + " Using other delimiters\n", + "\n", + "So far, we have used pretty standard delimiters that make sense to us intuitively, such as commas, spaces, tabs, or semicolons. But this does not have to be the case. You can use anything as a delimiter. You could use a certain word, a combination of letters and numbers, or other symbols. In the example below the string \"&#&#\" has been used as a delimiter. Although it looks strange, you could still read this file just as easily as using a tab, space, or comma, by writing ``.split(\"&#&#\")``.\n", + "\n", + "```Python\n", + "file = open('spectrum.txt', 'w')\n", + "\n", + "wavelength = [240, 250, 260, 270, 280, 290]\n", + "absorbance = [0.123, 0.132, 0.346, 0.563, 0.998, 0.377, 0.021]\n", + "file.write(f\"nm &#&# abs \\n\")\n", + "for i in range(len(wavelength)):\n", + " file.write(f\"{wavelength[i]} &#&# {absorbance[i]}\\n\")\n", + "\n", + "file.close()\n", + "```\n", + "\n", + "

" ] }, { "cell_type": "markdown", - "metadata": { - "id": "RscVg7DyHKVW" - }, + "metadata": {}, "source": [ - "## **Appending to an existing file**\n", + "
\n", + "
Exercise: Read, transform, write \n", + "\n", + "---\n", + "\n", + "You have 3 columns of random background data in the file \"measurements_2.csv\". After calibrating your instrument, you have realised that every data point needs to be increased by 4.35. Write a piece of code that reads the file, adds 4.35 to every item, and writes the new data into a new CSV file. Use ``zip()`` and the unpacking operator.\n", "\n", - "You can also write data to an existsing file. In the example below, we will append some more data to the spectrum data created above.\n", + "Hint: When tackling an open-ended question like this, break the problem into chunks and do not get overwhelmed by the overall problem. Start with reading the file and storing the data, remembering that if we want to use the unpacking operator later on, we want to store the data in a nested list. \n", "\n", - "... FINISH" + "Once you have written your code, think about how you might want to adjust this code later to take many more (even hundreds or thousands) of columns of data.\n", + "\n", + "\n", + "

" ] }, { - "cell_type": "code", - "execution_count": null, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "This is one way of solving this problem. If you have used another way and it works, that's great!\n", + "\n", + "```Python\n", + "# This will be a nested list of each column\n", + "# data = [[data from column 0], [data from column 1], [data from column 2]]\n", + "data = []\n", + "with open(\"measurements_2.csv\") as file:\n", + " file = file.read()\n", + " contents = file.split()\n", + " # We have 3 columns in the CSV, so we will extract each column using range(3)\n", + " for i in range(3):\n", + " # The temporary list stores a column, and gets reset to empty when moving to the next column\n", + " temp_list = []\n", + " for line in contents:\n", + " line = line.split(\",\")\n", + " temp_list.append(float(line[i]))\n", + " # Once the entire column has been recorded in temp_list, the whole list is appended to the list data\n", + " data.append(temp_list)\n", + "\n", + "# Take each value and add 4\n", + "for i in range(len(data[1])):\n", + " for column in data:\n", + " column[i] = column[i] + 4.35\n", + "\n", + "# Write the new values to a new CSV file\n", + "# Using zip() and the unpacking operator\n", + "with open(\"data_record.csv\", \"w\") as file:\n", + " file.write(\"column0,column1,column2\\n\")\n", + " for temp_tuple in zip(*data):\n", + " for item in temp_tuple:\n", + " file.write(str(item) + \",\")\n", + " file.write(\"\\n\")\n", + "```\n", + "\n", + "If I then wanted to do the same thing, but on a file that has 80 columns of data, all I need to change is the line ``for i in range(3):`` in the first section, and replace ``3`` with ``80``. Check it works for yourself by changing it to ``2``. \n", + "

" + ] + }, + { + "cell_type": "markdown", "metadata": { - "id": "xpAqJWu2_ss2" + "id": "RscVg7DyHKVW" }, - "outputs": [], "source": [ - "file = open('spectrum.dat', 'a')\n", + "## Appending to an existing file" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In all of the examples above. When we run the code over and over again the data that was there previously is truncated (cut off/deleted), and replaced with the current program. \n", + "\n", + "Append mode, ``\"a\"``, is a bit different. It can still create a new file if it doesn't already exist, however for existing files, it will simply append to the bottom of the file. \n", + "\n", + "Run the code below a few times and see how data appears at the bottom of the file.\n", + "\n", + "```Python\n", + "file = open('spectrum.txt', 'a')\n", "\n", "wavelength = [300, 310]\n", "absorbance = [0.007, 0.002]\n", @@ -173,52 +589,212 @@ "for i in range(len(wavelength)):\n", " file.write(f\"{wavelength[i]} \\t {absorbance[i]}\\n\")\n", "\n", - "file.close()" + "file.close()\n", + "```" ] }, { "cell_type": "markdown", "metadata": { - "id": "Kp8OJXO1_oMr" + "id": "aVs6rJBuJLiw" }, "source": [ - "## **User-defined save paths**\n", - "\n", - "Although a library is required for a file dialogue pop-up, ... FINISH ALSO NEED TO CREATE CODE FOR THIS." + "## Further Practice" ] }, { "cell_type": "markdown", - "metadata": { - "id": "aVs6rJBuJLiw" - }, + "metadata": {}, "source": [ - "## **Exercises**\n", - "\n", - "**Exercise 1**
\n", - "Take the day of the month in which you were born (e.g. this would be 10 is you were born on the 10th April), and create a file named 'element.txt' and write the name of the element corresponding to the atomic number matching this.

\n", - "\n", - "**Exercise 2**
\n", - "Determine the group that the element identified in Exercise 1 below to and append this information to your file.

\n", - "\n", - "**Exercise 3:**
\n", - "Three moles of an ideal gas are ontained within a frictionless piston at 298.15 K. Use Python to calculate the volume of the gas at the following four different pressures:
\n", + "### Question 1\n", + "Three moles of an ideal gas are contained within a frictionless piston at 298.15 K. Use Python to calculate the volume of the gas at the following four different pressures:
\n", "1.00 kPa
\n", "10.00 kPa
\n", "50.00 kPa
\n", "100.00 kPa
\n", - "and output the results in a file, formatted as two columns of numbers (to two d.p.), with the first column being pressure and the second being volume." + "\n", + "Output the results in a file, formatted as two columns of numbers (to two d.p.), with the first column being pressure and the second being volume. Choose your own delimiter. \n", + "\n", + "Ideal gas equation:\n", + "\n", + "$V = \\frac{nRT}{p}$" ] }, { "cell_type": "markdown", - "metadata": { - "id": "tOX5HbrsJR02" - }, + "metadata": {}, "source": [ - "## **Learning Outcomes**\n", + "
\n", + " Click to view answer\n", + "\n", + "```Python\n", + "pressure_kPa = [1.00, 10.00, 50.00, 100.00] # kPa\n", + "\n", + "# Convert to SI units, Pa\n", + "pressure_Pa = [] # Pa\n", + "for i in pressure_kPa:\n", + " press = i * 1000\n", + " pressure_Pa.append(press)\n", + "print(pressure_Pa)\n", + "\n", + "# Calculate the volumes\n", + "volume = []\n", + "for p in pressure_Pa:\n", + " vol = (3*8.314*298.15)/p\n", + " volume.append(vol)\n", + "print(volume)\n", "\n", - "FINISH" + "# Write to a new file\n", + "with open(\"data_record.txt\", \"w\") as file:\n", + " file.write(\"Pressure / kPa \\t Volume / m^3 \\n\")\n", + " for p, V in zip(pressure_kPa, volume):\n", + " file.write(f\"{p} \\t {V:.2f} \\n\")\n", + "```\n", + "\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Question 2\n", + "\n", + "Add an additional four values of pressure and the associated volume. Copy and adapt your above script to append the following values of pressure and associated volume to the end of your file.\n", + "\n", + "200.00 kPa
\n", + "500.00 kPa
\n", + "1000.00 kPa
\n", + "5000.00 kPa
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "This code is very similar to the one above. The only changes are changing ``\"w\"`` to ``\"a\"`` when opening our file, and removing the line inserting a header.\n", + "\n", + "```Python\n", + "pressure_kPa = [200.00, 500.00, 1000.00, 5000.00] # kPa\n", + "\n", + "# Convert to SI units, Pa\n", + "pressure_Pa = [] # Pa\n", + "for i in pressure_kPa:\n", + " press = i * 1000\n", + " pressure_Pa.append(press)\n", + "print(pressure_Pa)\n", + "\n", + "# Calculate the volumes\n", + "volume = []\n", + "for p in pressure_Pa:\n", + " vol = (3*8.314*298.15)/p\n", + " volume.append(vol)\n", + "print(volume)\n", + "\n", + "# Write to a new file\n", + "with open(\"data_record.txt\", \"a\") as file:\n", + " for p, V in zip(pressure_kPa, volume):\n", + " file.write(f\"{p} \\t {V:.2f} \\n\")\n", + "```\n", + "\n", + "However, if we wanted to use both pieces of chunks of code in the same program and over and over again, there are a few changes we could make.\n", + "- Watch out for repeated variable names. This answer and the answer from above share lots of variable names. If placed in the same program, this could get confusing quickly. Another way to combat this is using functions, remembering our discussion of local and global variables.\n", + "- Use functions\n", + " - To avoid writing the same code twice, we could write a function to calculate the volume from SI units. We could also write a function to convert from kPa to Pa, especially if we know that a lot of our data will be given in kPa. \n", + " - We could write a function that writes a new file, so we can call it whenever we want a new file. \n", + " - We could also write a function that just appends to the named file. \n", + "\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Question 3\n", + "\n", + "We have the coordinates of two hydrogen atoms in an XYZ file called \"hydrogen_atoms.xy\". Translate these coordinates +10 Angstroms in the x direction, -5 Angstroms in the y direction, and +1 Angstrom in the z direction. Then, create a new XYZ file to store the translated coordinates. Make sure it is stored in an XYZ format!\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Click here to view an answer\n", + "\n", + "```Python\n", + "atoms = []\n", + "x_coords = []\n", + "y_coords = []\n", + "z_coords = []\n", + "\n", + "# Open XYZ file and extract the atoms and x, y, and z coordinates\n", + "with open(\"hydrogen_atoms.xyz\") as file:\n", + " file = file.read()\n", + " contents = file.split(\"\\n\")\n", + " for line in contents:\n", + " line = line.split()\n", + " if len(line) < 4:\n", + " continue\n", + " else:\n", + " atoms.append(line[0])\n", + " x_coords.append(float(line[1]))\n", + " y_coords.append(float(line[2]))\n", + " z_coords.append(float(line[3]))\n", + "\n", + "# Translate in space\n", + "for i in range(len(atoms)):\n", + " x_coords[i] += 10\n", + " y_coords[i] -= 5\n", + " z_coords[i] += 1\n", + "\n", + "# Write to an XYZ file\n", + "with open(\"data_record.xyz\", \"w\") as file:\n", + " file.write(\"2\\n\")\n", + " file.write(\"two hydrogen atoms translated in space\\n\")\n", + " for a, x, y, z in zip(atoms, x_coords, y_coords, z_coords):\n", + " file.write(f\"{a}\\t{x:.3f}\\t{y:.3f}\\t{z:.3f}\\n\")\n", + "```\n", + "\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Extension Practice (classroom exercise? Mini-project? 'Approaching problems' section?)\n", + "\n", + "You have many columns of data from the lab in a CSV file, all in Joules. You want to be able to take this data, convert all values to eV, and write it all back into a CSV file. You want to write this code such that it works for an arbitrary number of columns in our initial CSV file, and can write an arbitrary number of columns (potentially of different lengths) to our CSV file.\n", + "\n", + "Let's break down the steps together:\n", + "1. Extract the data from the file by reading. \n", + " - What do we need to consider in this step?\n", + " - What inputs will we take?\n", + " - What will our output(s) be?\n", + " - What problems might we face?\n", + " - How have we done this in the past?\n", + "2. Convert all the data from J to eV:\n", + " - What format is our data in?\n", + " - What format will we output it as?\n", + " - What problems might we face?\n", + " - How have we done this in the past?\n", + "3. Write all our lists of data into a new CSV file:\n", + " - What do we need to consider?\n", + " - What inputs will we take?\n", + " - What will our output be?\n", + " - What problems might we face?\n", + " - How have we done something similar in the past?\n", + "\n", + "For step 1, we have written code in the past to allow us to extract columns of data. We can repurpose this for this code.\n", + "\n", + "For step 2, we have written code in the past to convert items in a list from J to eV. We can repurpose this to work for many lists.\n", + "\n", + "For step 3, we have written code to append lists to a CSV file before. How can we repurpose this to take lists of different lengths? How can we repurpose this to take an arbitrary number of lists?" ] }, { @@ -226,7 +802,139 @@ "execution_count": null, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "# Take data, transform it, write to a CSV file\n", + "\n", + "# Read a certain number of columns and return the data in a nested list\n", + "def read_file(data_file, columns):\n", + " \"\"\"\n", + " Read a file and output any of the columns\n", + " \"\"\"\n", + " column_index = []\n", + " data = []\n", + " \n", + " for column in columns:\n", + " column_index.append(column)\n", + "\n", + " with open(data_file) as file:\n", + " file = file.read()\n", + " contents = file.split()\n", + " for i in column_index:\n", + " temp_list = []\n", + " for line in contents:\n", + " line = line.split(\",\")\n", + " if line[i] == '':\n", + " break\n", + " else:\n", + " temp_list.append(float(line[i]))\n", + " data.append(temp_list)\n", + " return data\n", + "\n", + "def J_to_eV(data):\n", + " \"\"\" \n", + " Convert list values in J to eV.\n", + "\n", + " Parameters:\n", + " *data : LIST\n", + " An arbitrary number of lists\n", + " Returns:\n", + " final_list : LIST\n", + " A nested list of all the input lists\n", + " Now converted to eV\n", + " \"\"\"\n", + " final_list = []\n", + " for measurements in data:\n", + " temp_list = []\n", + " for value in measurements:\n", + " eV_val = value / 1.602e-19\n", + " temp_list.append(eV_val)\n", + " final_list.append(temp_list)\n", + " return final_list\n", + "\n", + "def CSV_data_write(file_name, lists):\n", + " \"\"\"\n", + " Create a CSV file of data with an arbitrary number of columns of arbitrary length.\n", + "\n", + " Parameters:\n", + " file_name : STR\n", + " The name of the file we want to create or append to.\n", + " *lists : LIST\n", + " An arbitrary number of lists of data or arbitrary length. \n", + " Each list of data will become a column in the CSV file\n", + " \"\"\"\n", + " longest = []\n", + " final_lists = []\n", + " # Identifies the longest data list\n", + " for i in lists:\n", + " if len(i) > len(longest):\n", + " longest = i\n", + " else:\n", + " continue\n", + " # For all lists shorter than the longest, appends \"\" to make them all equal length\n", + " # Nests all equal length lists in variable final_lists\n", + " for j in lists:\n", + " for k in range(len(longest)-len(j)):\n", + " j.append(\"\")\n", + " final_lists.append(j)\n", + "\n", + " file = open(file_name, \"a+\")\n", + " # Unpacks and iterates through each of the lists in final_lists\n", + " # Storing each value item-wise in a tuple\n", + " # For each tuple, appends data to file in CSV format\n", + " for tuple in zip(*final_lists):\n", + " for item in tuple:\n", + " file.write(f\"{item},\")\n", + " file.write(\"\\n\")\n", + " file.close()\n", + " return\n", + "\n", + "# List of the 100 columns I want to extract from\n", + "columns = []\n", + "for i in range(100):\n", + " columns.append(i)\n", + "\n", + "# take the data from the CSV file and store as a list\n", + "J_data = read_file(\"./practice_files/energy_data_large.csv\", columns)\n", + "\n", + "# Convert to eV\n", + "eV_data = J_to_eV(J_data)\n", + "\n", + "# Store back into a CSV file\n", + "CSV_data_write(\"data_record.csv\", eV_data)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "tOX5HbrsJR02" + }, + "source": [ + "## Learning Outcomes\n", + "\n", + "- Write to a file\n", + "- Add structure to a file" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Summary" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "- Use \"w\" when you open a file to change to write mode, and \"a\" for append mode. \n", + "\n", + "- If the file does not exist, it will be created. \n", + "- In \"w\" mode, if data already exists in a file that you open, it will be erased and any new data added on top.\n", + "- In \"a\" mode, if data already exists in the file that you open, any new data will be added at the bottom. \n", + "- You can write to files either using `file = open(\"file.txt\", \"w\")`, or `with open(\"file.txt\", \"w\") as file:`.\n", + "- Use iteration to write many things to a file.\n", + "- Add structure to a file using special characters like `\\t` (tab) and `\\n` (new line)." + ] } ], "metadata": { @@ -235,7 +943,7 @@ "provenance": [] }, "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "base", "language": "python", "name": "python3" }, @@ -249,7 +957,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.12" + "version": "3.12.3" } }, "nbformat": 4, diff --git a/lessons/formatting_guide.md b/lessons/formatting_guide.md new file mode 100644 index 00000000..c5456039 --- /dev/null +++ b/lessons/formatting_guide.md @@ -0,0 +1,140 @@ +# Formatting Guide +All of the following formatting works in BOTH raw Jupyter Book ipynb and as a built website. + +## Built-in Jupyter Books formatting + +Hashtags # dictate header levels. The more hashtags, the lower the header level. +Single asterisk * makes text *italic* +Double asterisk ** makes text **bold** +Ticks ` ` Makes text into code `code` +Three dashes --- on their own line inserts a line break +Single dollar signs $ $ makes things into $ maths\ using\ latex $ +Double dollar signs $$ $$ on a new line place the maths block into the centre +Tables are written by separating with | and headers separated with ---- + |Header 1 | Header 2 | Header 3 | + | ----- | ----- | ----- | + | Row 1 | Row 1 | Row 1 | + | Row 2 || Row 2 | Row 2 | +- Bullet points are written using - +1. Numbered lists written using 1., 2., etc + + + + +## Code + +```Python +All code between these ticks +Is formatted like Python code +var = "hello" +This has a transparent background +``` + +`Inline monospaced code can be written with a single tick` This has a dark highlighted background. ```Multiple ticks are the same``` + +>```Python +>Python formatted code with a dark background +>Can be written with three ticks and 'Python' on the first line +>And arrows > before every line + + + + +## Images + +Built-in Jupyter method: + ![Optional description of image. Image must include directory if in a folder](logo.png). Cannot adjust size. + +HTML method (allows for image sizing): + fishy + +The tag only takes +- src (soure location of image, filepath if not in same directory), +- alt (alternate text for an image), +- width (width in pixels), +- height (height in pixels), and +- class (further styles for the image, defined with CSS) attributes. Anything further requires a class (example below, defined using ). + + + + + +## Maths + +Written in LaTex inbetween $ signs. Double dollar signs $$ $$ create centred maths. +- \theta for a symbol +- \ to insert a small space +- \frac{}{} to insert a fraction, with the numerator in the first brackets and denominator in the second + + + + +## Clear examples menu + +
+ Title + +Content + +```Python +Code + +More code +``` + +Content. ``Inline code`` + +

+ + + + +## Green exercise box + +
+
Exercise: Write some code for... + +--- + +Question content. Question content. Question content. + +Question content. Question content. Question content. + +Useful information: + +$equation\ in\ latex$ + +The ``math`` function for $sin^-1$ is: ``asin()``. + +Hint: Here is a hint. + +
+
+ + + + +## Answers box + +
+ Click to view answer + +Answer explanation, potentially. + +Can add a line break if you want. +--- +```Python +import answer + +Code answer. +This might be quite long. + +it is auto-for-matted +``` + +More answer explanation, potentially. ``inline code``. inline code inline code or print in a different style. + +

\ No newline at end of file diff --git a/lessons/further_info/further_info.md b/lessons/further_info/further_info.md new file mode 100644 index 00000000..41e210e3 --- /dev/null +++ b/lessons/further_info/further_info.md @@ -0,0 +1,3 @@ +# Further Information + +In this section you will find work books that contain further information on programming. They are here as interest and are not needed for the tutorials \ No newline at end of file diff --git a/lessons/further_info/numerical_errors.ipynb b/lessons/further_info/numerical_errors.ipynb new file mode 100644 index 00000000..15dc8ecd --- /dev/null +++ b/lessons/further_info/numerical_errors.ipynb @@ -0,0 +1,221 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Numerical errors\n", + "\n", + "We like to think that if we run the same model/programme twice with the same inputs we would get the same outputs. This isn't always strictly true.\n", + "\n", + "We also like to think about the computer as being deterministic (if not in those words), we have at least tacitly assumed that the computer always does the calculations correctly. Again, this isn't strictly true\n", + "\n", + "We will, very, briefly, consider why and we now have to understand something about how computers work and handle numbers.\n", + "\n", + "(some of the examples are taken from here https://docs.python.org/2/tutorial/floatingpoint.html)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Binary\n", + "\n", + "Computers work in binary. So numbers are stored as a series of bits representing powers of 2. When a computer is described as having a certain number of bits this is what is meant. So most computers are now 64 bit, so the base representation of a number can have up to 64 bits. So an unsigned integer could be $2^{64}-1$ \n", + "(as it starts at 0) in size or 18,446,744,073,709,551,615. If we allow the integer to be signed then it could be $2^{63}-1$ or 9,223,372,036,854,775,807 (but it can also be negative).\n", + "\n", + "Binary works as each bit in the integer represents that power of 2. So the first bit (bit 0) can be equal to 0 or 1 ($2^1$)\n", + "The next bit (bit 1) can be 0 or 1 where the 1 means the value is $2^2$.\n", + "\n", + "So a value of 1 in binary is 0 1, while a value of 2 is 1 0, and 3 would be 1 1. This then carries on as more bits are added.\n", + "\n", + "So the 32-bit signed integer -2080215094 can be broken down into the following bits:\n", + "\n", + "|31|30|29|28|27|26|25|24|23|22|21|20|19|18|17|16|15|14|13|12|11|10|9|8|7|6|5|4|3|2|1|0\n", + "|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|\n", + "|1|0|0|0|0|1|0|0|0|0|0|0|0|0|1|0|0|1|1|0|1|1|1|1|1|1|0|0|1|0|1|0|\n", + "\n", + "This means if a value can be represented as an integer, then it can be represented exactly in a computer program.\n", + "\n", + "The same is not true to a decimal" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Decimals\n", + "\n", + "A quick reminder, not all numbers can be represented exactly as a decimal. For example 1/3 repeats infinitely as 0.33333333... while Pi can not even be represented as a fraction and again occurs as an decimal which is infinite in length. \n", + "\n", + "We can have similar issues in other bases, so though we can represent 1/10 perfectly in base10 as 0.1. It is not possible for it to be represented in base2 (binary). Instead, in binary it is an infinitely repeating fraction.\n", + "\n", + "So before we have even included a computer in the mix we can recorgnise that not all numbers can be represented with exact precision in all bases. \n", + "\n", + "## Decimals Floating Point\n", + "\n", + "The first thing to recorgnise is that nearly all computer languages offer a floating point representation rather than a decimal representation.\n", + "\n", + "Floats represent a decimal in two parts. The one part are the digits (called the significand) to a given number of significant figures and represented as an integer, the other part is the power of ten (the exponent). \n", + "\n", + "This allows flexibilty in calculations but it is very common for a number to not be easily represented in this format and all floats are, to a certain extent, approximations of the true decimal, and in the cases such as 1/3 or PI are already approximations of an approximation.\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Types of Numeric Error\n", + "\n", + "Having briefly covered these problems we can introduce the numeric errors we can meet\n", + "\n", + "### Representation Error\n", + "\n", + "Consider 1/10 in a float. As we discussed it can not be shown exactly as an integer, but floats are stored (in part as integers)\n", + "\n", + "try the following code\n", + "```python\n", + "from decimal import Decimal\n", + "print(0.1)\n", + "Decimal(0.1)\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "What happened, with print we get a nice 0.1, with Decimal we get a very odd number. This is because print rounds off the float to make our life easier. Using the Decimal function we round nothing.\n", + "\n", + "Now the difference looks insignificant, but imagine running a calculation many times:\n", + "\n", + "```python\n", + "su = 0\n", + "for val in range(100):\n", + " su = su + 0.1\n", + "print(su)\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Oh dear\n", + "\n", + "This is an error due to how the number is represented. \n", + "\n", + "It will also appear when numbers are rounded.\n", + "\n", + "try:\n", + "```python\n", + "round(2.675, 2)\n", + "```\n", + "\n", + "then\n", + "\n", + "```python\n", + "Decimal(2.675)\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Again, the representation and how it is displayed has hidden the fact that the closest floating point representation to 2.675 is smaller, so it rounds down. This can lead to common logic fails where > or < comparisions don't give the expected results.\n", + "\n", + "This is why you are always advised to use integers in comparisions, or if you must use floats use a range for the comparision." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Round off \n", + "\n", + "Round off error is due to the limit in size of the floating point representation. So pi is represented as 3.141592653589793115997963468544185161590576171875. But this is a truncation of the true expansion. Again it is only a small difference. \n", + "\n", + "But if you repeat the calculation many times, these small errors can accumulate until it becomes meaningful.\n", + "\n", + "The other issue where round off can occur is when a big and a small number are added together. Due to how the float is represented the effect of the small number might be lost as it can not be represented with in the precision. For example if the float has 8 digits of representation then if the magnitude of the difference between the numbers is greater than 8 orders it can not be included.\n", + "\n", + "Therefore, where possible it is advised to add the small numbers together before adding them to a bigger number to make sure they get included." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Precision\n", + "\n", + "Something to consider is how precise a number can be, we can print out or represent a number to a large number of figures. But are these all meaningful or is it *superious* precision.\n", + "\n", + "The concept of *machine epsilon* helps to decide. Machine Epsilon is the difference between 1 and the next largest floating point number. It is the value that can be added to 1 and generate a new floating point number. If a value less than the machine epsilon is added to 1 then the number is still 1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Conclusion\n", + "\n", + "If you are aware of this errors then they can be worked around, or included as part of analysis. But it is always something to consider when running any calculation\n", + "\n", + "Also, remember that a lot of the workings of a programming language are hidden from you. Particularly in Python which is designed for simplicity" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "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.8.3" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/lessons/loops_functions/For_Loop_Lesson.ipynb b/lessons/loops_functions/For_Loop_Lesson.ipynb deleted file mode 100644 index 0306d385..00000000 --- a/lessons/loops_functions/For_Loop_Lesson.ipynb +++ /dev/null @@ -1,387 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "id": "UuDCTZ7LX9Jb" - }, - "source": [ - "# The `for` loop\n", - "\n", - "## Learning Outcomes\n", - "- TODO\n", - "- \n", - "\n", - "## Prerequisites:\n", - "- Variables\n", - "- Comparison\n", - "- `if` statements" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "2VRPDborAVn1" - }, - "source": [ - "

The `for` loop

\n", - "\n", - "

One area where you will see a real benefit of using programming in your work is when you need to repeat a task over and over again. For example maybe you need to process the same type of data file many times with different values. This can take a lot of time one by one but Python can really come to your rescue and save you hours. Plus all your lab colleagues will be beating a path to your door to ask for your help. You will soon become the lab data processing guru!

\n", - "\n", - "\n", - "

One of the easiest way to perform this task is to use a 'for' loop.

\n", - "\n", - "

Here is an example:

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "VSiGQd0PKsxD" - }, - "outputs": [], - "source": [ - "molecules = [\"H2\", \"H2O\", \"CH4\"]\n", - "\n", - "for mol in molecules:\n", - " print(mol)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "hwu0INZoK5FO" - }, - "source": [ - "The cell above results in three strings printed despite having only used a single `print()` statement. Let's look at this closer.\n", - "\n", - "We begin by defining a list of strings:\n", - "```python\n", - "molecules = [\"H2\", \"H2O\", \"CH4\"]\n", - "```\n", - "\n", - "We then start a loop with the line:\n", - "```python\n", - "for mol in molecules:\n", - "```\n", - "- `for` indicates that we will begin a loop.\n", - "- `mol` is a new variable that we are currently defining.\n", - "- `in molecules` indicates that we want to do repeat the operations in the loop once per element in the list `molecules`.\n", - "- `:` signals the beginning of the loop.\n", - "\n", - "After this line of code, `print(mol)` prints the contents of the `mol` variable to the screen.\n", - "\n", - "Notice how `print(mol)` has some leading spaces (typed with the `` key). We say that this piece of code is _indented_, meaning that it has one `` space separating it from the left side of the screen.\n", - "\n", - "When we write indented code below a line starting with `for`, all of that code gets repeated within the `for` loop. Conveniently, while we are within this loop, the variable `mol` will adopt the values of each element of `molecules` in sequence, changing at every loop.\n", - "\n", - "This is why `print(mol)` is effectively becoming `print(\"H2\")`, `print(\"H2O\")`, and `print(\"CH4\")` one after another.\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
Task 1: Understanding a Loop \n", - "\n", - " Take a look at this code block and answer the questions\n", - "\n", - ">``` Python\n", - ">\n", - ">gas_list = ['Nitrogen', 'Oxygen', 'Fluorine']\n", - ">for gas in gas_list:\n", - "> print(gas)\n", - "\n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "MULTIPLE CHOICE QUESTION\n", - "\n", - "- The loop will print the name of each gas on a separate line (correct)\n", - "- the loop will print one line with all the gas names\n", - "- The variable gas takes on each value of gas list in turn (correct)\n", - "- the variable gas_list changes each time around the loop" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
Task 2: Understanding a Loop \n", - "\n", - "In the lab you are making methyl benzoate according using the scheme below. Five scientists repeat the reaction starting with 3 g of benzoic acid and get of 2.5 g, 2.7 g, 3.1 g, 1.6 g and 4 g of product.\n", - "\n", - "\"The\n", - "\n", - "Lets use your understanding of for loops to quickly work out the yields for each person.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "product_mass_list = [2.5,2.7,3.1,1.6,4]\n", - "starting_mass = 3 # grams\n", - "theoretical_yield = (_______/_______)*136\n", - "for product_mass in product_mass_list:\n", - " percent_yield = (_________ / ___________) * 100\n", - " # the print statement uses the f-string syntax to format the output of the calculation\n", - " print(f\"Percent yield: {percent_yield:.0f}%\")\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
Click here to see a possible solution to Task 2 \n", - "\n", - ">```Python\n", - ">product_mass_list = [2.5,2.7,3.1,1.6,4]\n", - ">starting_mass = 3 # grams\n", - ">theoretical_yield = (starting_mass/122)*136\n", - ">for product_mass in product_mass_list:\n", - "> percent_yield = (product_mass / theoretical_yield) * 100\n", - "> # the print statement uses the f-string syntax to format the output of the calculation\n", - "> print(f\"Percent yield: {percent_yield:.0f}%\")\n", - ">```\n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
Task 3: Understanding a Loop \n", - "\n", - "You have a series of temperature measurements from your reaction in degrees C and you want to print them out in Kelvin. One of your colleagues writes some code but it doesn't seem to be working. Can you identify the problem and fix the code?\n", - "\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Your colleagues code\n", - "\n", - "# The code below is not working. Can you fix it?\n", - "temperature_measurements = [27.3, 28.1, 26.9, 27.5, 28.0]\n", - "for temperature_C in temperature_measurements:\n", - " temperature_K = temperature_C + 273.15\n", - "print(f\"Temperature: {temperature_K}°C\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
Click here to see a possible solution to Task 3 \n", - "\n", - "Remember that the items that you want to do each time you go around the for loop need to be indented. In the example the print statement is not indented and so is not executed each time, but only one the loop is finished. You can fix the code just by indenting the print statement with the tab key.\n", - ">```Python\n", - ">temperature_measurements = [27.3, 28.1, 26.9, 27.5, 28.0]\n", - ">for temperature_C in temperature_measurements:\n", - "> temperature_K = temperature_C + 273.15\n", - "> print(f\"Temperature: {temperature_K}°C\")\n", - ">```\n", - "\n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "When we are talking about for loops more generally we use the following terms:\n", - "- **Discrete variable**: a variable changes its value at every iteration of the loop (e.g. `temperature_C` in task 3).\n", - "- **Iterator**: a variable containing multiple values, which can be used in a `for` loop (e.g. `temperature_measurements` in the last example). Lists are the most common kind of operator in Python.\n", - "\n", - "The general syntax of a `for` loop is:\n", - "```python\n", - "for discrete_variable in iterator:\n", - " # some\n", - " # indented\n", - " # code\n", - "```\n", - "\n", - "You can write Python code of any length inside a `for` loop as long as you respect its indentation. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
Task 4: Understanding a Loop \n", - "\n", - "Run the code below and answer the following questions to check your understanding\n", - "\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "natural_amino_acids = [\"Alanine\", \"Arginine\", \"Asparagine\", \"Aspartic acid\", \"Cysteine\", \"Glutamic acid\", \"Glutamine\", \"Glycine\", \"Histidine\", \"Isoleucine\", \"Leucine\", \"Lysine\", \"Methionine\", \"Phenylalanine\", \"Proline\", \"Serine\", \"Threonine\", \"Tryptophan\", \"Tyrosine\", \"Valine\"]\n", - "for amino_acid in natural_amino_acids:\n", - " print(f\"Amino acid: {amino_acid}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "MULTIPLE CHOICE QUESTION\n", - "\n", - "- The discrete variable is amino acid (correct)\n", - "- The discrete variable is amino acids\n", - "- The iterator is amino_acid\n", - "- The iterator is amino_acids (correct)\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
Task 5: Using loops \n", - "\n", - "When chemists want to store molecular structures in a computer they can store in an encoded way called SMILES strings. You don't need to understand what these mean but just to know that libraries that can handle chemical structure can read them. The code below will import the RDKit package and print the structure of benzoic acid. The code works by passing the SMILES string for benzoic acid to the function display_molecule that then draws it out. Check out the functions lesson if you want to understand more about functions, but for this lesson all you just need to follow the syntax below.\n", - "\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from rdkit import Chem\n", - "\n", - "def display_molecule (smiles_string):\n", - " mol = Chem.MolFromSmiles(smiles_string)\n", - " img=Chem.Draw.MolToImage(mol)\n", - " display(img)\n", - "\n", - "# display the structure of benzoic acid\n", - "benzoic_acid_miles = \"C1=CC=C(C=C1)C(=O)O\"\n", - "display_molecule(benzoic_acid_miles)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
Task 5 continued \n", - "Now you know how to print one molecule lets use your understanding of for loops to print lots of molecules. Here are a list of the smiles strings of some interesting molecules, Dolutegravir a very important anti-hiv drug, Atovaquone which treats malaria and paclitaxol that is an important \n", - "\n", - "\n", - "
\n", - "
    \n", - "
  • C[C@@H]1CCO[C@@H]2N1C(=O)C3=C(C(=O)C(=CN3C2)C(=O)NCC4=C(C=C(C=C4)F)F)O\n", - "
  • C1CC(CCC1C2=CC=C(C=C2)Cl)C3=C(C4=CC=CC=C4C(=O)C3=O)O\n", - "
  • CC1=C2[C@H](C(=O)[C@@]3([C@H](C[C@@H]4[C@]([C@H]3[C@@H]([C@@](C2(C)C)(C[C@@H]1OC(=O)[C@@H]([C@H](C5=CC=CC=C5)NC(=O)C6=CC=CC=C6)O)O)OC(=O)C7=CC=CC=C7)(CO4)OC(=O)C)O)C)OC(=O)C\n", - "
\n", - " \n", - "
\n", - "\n", - "Using the concepts above write a for loop that will draw the structrue of all 3 molecules. You need to:\n", - "- define a list of the smiles strings\n", - "- loop through the list and display each molecule using the display_molecule function\n", - "\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "molecule_smiles = ['C[C@@H]1CCO[C@@H]2N1C(=O)C3=C(C(=O)C(=CN3C2)C(=O)NCC4=C(C=C(C=C4)F)F)O',\n", - "'C1CC(CCC1C2=CC=C(C=C2)Cl)C3=C(C4=CC=CC=C4C(=O)C3=O)O',\n", - "'CC1=C2[C@H](C(=O)[C@@]3([C@H](C[C@@H]4[C@]([C@H]3[C@@H]([C@@](C2(C)C)(C[C@@H]1OC(=O)[C@@H]([C@H](C5=CC=CC=C5)NC(=O)C6=CC=CC=C6)O)O)OC(=O)C7=CC=CC=C7)(CO4)OC(=O)C)O)C)OC(=O)C']\n", - "\n", - "for smiles in molecule_smiles:\n", - " display_molecule(smiles)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
Click here to see a possible solution to Task 5 \n", - "\n", - "\n", - "```Python\n", - "molecule_smiles = ['C[C@@H]1CCO[C@@H]2N1C(=O)C3=C(C(=O)C(=CN3C2)C(=O)NCC4=C(C=C(C=C4)F)F)O',\n", - "'C1CC(CCC1C2=CC=C(C=C2)Cl)C3=C(C4=CC=CC=C4C(=O)C3=O)O',\n", - "'CC1=C2[C@H](C(=O)[C@@]3([C@H](C[C@@H]4[C@]([C@H]3[C@@H]([C@@](C2(C)C)(C[C@@H]1OC(=O)[C@@H]([C@H]>>>(C5=CC=CC=C5)NC(=O)C6=CC=CC=C6)O)O)OC(=O)C7=CC=CC=C7)(CO4)OC(=O)C)O)C)OC(=O)C']\n", - "\n", - "for smiles in molecule_smiles:\n", - " display_molecule(smiles)\n", - "```" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "Ejspk6fFPXFK" - }, - "source": [ - "## TODO\n", - "A second part of the lesson covering the following.\n", - "- Iterating with `range()`\n", - "- Using a loop to generate a list (and maybe list comprehension)\n", - "- Nesting loops\n", - "- Continue statements" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "tpuihpop9duI" - }, - "outputs": [], - "source": [] - } - ], - "metadata": { - "colab": { - "provenance": [] - }, - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "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.10.12" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/lessons/loops_functions/PyinC_while_loops_WIP.ipynb b/lessons/loops_functions/PyinC_while_loops_WIP.ipynb deleted file mode 100644 index 40512e64..00000000 --- a/lessons/loops_functions/PyinC_while_loops_WIP.ipynb +++ /dev/null @@ -1,260 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# The ```while``` Loop" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Learning Objectives\n", - "- Understand how to construct and use `while` loops\n", - "- Know how to control iterations in a loop\n", - "\n", - "## Prerequisites: \n", - "- boolean variables\n", - "- comparisons\n", - "- `if` statements\n", - "- `for` loops\n", - "\n", - "## The `while` Loop\n", - "\n", - "A `while` loop is similar to a [`for` loop](./For_Loop_Lesson.ipynb), with the main difference being it will continuosly loop while a condition is `True`. As as example see the cell below which prints integers from 1 to 5." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "count=0\n", - "while count<5:\n", - " count+=1\n", - " print(count)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The first line defines our starting value and the second initiates our loop.\n", - "```python\n", - "while(count<5):\n", - "```\n", - "Looking closer at this line we have:\n", - "\n", - "- `while` which signals we want to start a loop\n", - "- `count<5` is our conditional statement\n", - "- `:` signals the start of the loop\n", - "\n", - "If our conditional statement is `True` the code prints out the current value of `count` and increases it by one for each iteration using the `+=` operator.\n", - "\n", - "In general `while` loops take the structure:\n", - "\n", - "```python\n", - "while condition:\n", - " code \n", - " block\n", - "```" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Exercise\n", - "Create a `while` loop to print even integers from zero to 10." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Answer" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "count = 0\n", - "while count < 11:\n", - " print(count)\n", - " count += 1" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Infinite `while` loops\n", - "\n", - "When constructing `while` loops be wary of your condition, one common bug can be creating a loop that runs forever:\n", - "\n", - "```python\n", - "count = 5\n", - "while count != 0:\n", - " print(count)\n", - " count -= 2\n", - "```\n", - "\n", - "In this example, `count` is never exactly equal to 0: it counts down from 5, to 3, 1, -1, and continues down. As a result, the condition `count != 0` is never `False`, and the loop will run forever." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Break Clauses\n", - "\n", - "In order to avoid infinite loops, we might want to add a second condition under which the code should stop looping. We can do this using the keyword `break`.\n", - "\n", - "For example, the code below is the same as the code above, but with an additional `break` added, which will be executed once `count < 9`.\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "count = 5\n", - "while count != 0:\n", - " print(count)\n", - " count -= 2\n", - " if count < -9:\n", - " break" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Password Example\n", - "\n", - "The code below pulls together everything we've seen in this lesson. It continuially asks the user for a password, while counting the number of attempts the user has made. If the user either enters the password correctly, or reaches the maximum permitted number of attempts, we use `break` to exit the loop." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Password example\n", - "\n", - "MAX_ATTEMPTS = 3\n", - "\n", - "correct_password = \"secret123\"\n", - "attempts = 0\n", - "\n", - "while True:\n", - " password = input(\"Password: \").strip()\n", - " attempts += 1\n", - "\n", - " if password == correct_password:\n", - " print(\"Login successful! Welcome!\")\n", - " break\n", - "\n", - " if attempts >= MAX_ATTEMPTS:\n", - " print(\"Too many failed attempts.\")\n", - " break\n", - " else:\n", - " print(f\"Incorrect password. {MAX_ATTEMPTS - attempts} attempts left.\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Exercise\n", - "\n", - "The code above uses two `break` statements, and begins `while True:`. Rewrite the code so that only one `break` statement is used." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Answer" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "MAX_ATTEMPTS = 3\n", - "\n", - "correct_password = \"secret123\"\n", - "attempts = 0\n", - "\n", - "while attempts < MAX_ATTEMPTS:\n", - " password = input(\"Password: \").strip()\n", - " attempts += 1\n", - "\n", - " if password == correct_password:\n", - " print(\"Login successful! Welcome!\")\n", - " break\n", - " else:\n", - " if attempts < MAX_ATTEMPTS:\n", - " print(f\"Incorrect password. {MAX_ATTEMPTS - attempts} attempts left.\")\n", - " else:\n", - " print(\"Too many failed attempts.\")\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## TO DO\n", - "- Useful chemical applications/exercises?\n", - "- applications? -> program inputs, chemical?" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "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.10.12" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/lessons/loops_functions/advanced_functions.ipynb b/lessons/loops_functions/advanced_functions.ipynb new file mode 100644 index 00000000..1d004e13 --- /dev/null +++ b/lessons/loops_functions/advanced_functions.ipynb @@ -0,0 +1,30 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "f2458be8", + "metadata": {}, + "source": [ + "# Advanced functions" + ] + }, + { + "cell_type": "markdown", + "id": "57e070a7", + "metadata": {}, + "source": [ + "More advanced lesson?\n", + "- Unpacking operator (as part of *args and **kwargs?)\n", + "- Returning different data structures (dictionaries, tuples, etc)\n", + "- Object and class functions?" + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/lessons/loops_functions/conditional_statements.ipynb b/lessons/loops_functions/conditional_statements.ipynb new file mode 100644 index 00000000..06dbbcf6 --- /dev/null +++ b/lessons/loops_functions/conditional_statements.ipynb @@ -0,0 +1,461 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "1a27a6a9", + "metadata": {}, + "source": [ + "# Conditional Statements" + ] + }, + { + "cell_type": "markdown", + "id": "87bc9c8a", + "metadata": {}, + "source": [ + "## Learning Outcomes\n", + "\n", + "- To build statements and scripts that can do different tasks when given different inputs.\n", + "- To use comparison operators in `if` statements." + ] + }, + { + "cell_type": "markdown", + "id": "3ad88990", + "metadata": {}, + "source": [ + "## Prerequisites\n", + "\n", + "- [Variables](../variables/Variable_data_types.ipynb) \n", + "- [Data types](../variables/Variable_data_types.ipynb)\n", + "- [Mathematical operators](../variables/mathematical_operators.ipynb)\n", + "- [Comparisons and logic](../variables/Comparisons.ipynb)" + ] + }, + { + "cell_type": "markdown", + "id": "9510c118", + "metadata": {}, + "source": [ + "## 'if' statements" + ] + }, + { + "cell_type": "markdown", + "id": "f7ea7d89", + "metadata": {}, + "source": [ + "For most real programs we want certain actions to be performed only when specific conditions are met. For example, we want to record a data point only ``if`` it has an uncertainty within acceptable tolerance, or only ``if`` it is above baseline noise. We use [comparisons and logic](..variables/Comparisons.ipynb) to establish those conditions.\n", + "\n", + "To ensure an action is only executed under a certain condition, we use ``if statements``. These require a specific syntax.\n", + "\n", + ">```text\n", + ">if condition:\n", + "> what to do if condition is True\n", + "\n", + "When the condition is True, Python will go on to run the code which is indented. Indentation is how Python knows what is part of the ``if`` statement, and what is the rest of the code. Often, programs in which you write Python will automatically insert indentation after the ``if condition:`` (not forgetting the colon!), but you can also use the 'tab' key to insert the correct indentation (which as a standard is 4 spaces). If there is no colon and no indentation, errors can occur.\n", + "\n", + "If the condition is False, the indented code is ignored, and Python continues onto whatever the next non-indented lines are." + ] + }, + { + "cell_type": "markdown", + "id": "e0dbebd5", + "metadata": {}, + "source": [ + "
\n", + " Using if \n", + "\n", + "The main way we can use `if` statements is in conjunction with comparisons. \n", + "\n", + "```Python\n", + "x = \"CH4\"\n", + "y = \"CH4\"\n", + "if x == y:\n", + " # This part of the code is indented, and is run only if the if statement is true\n", + " print(\"Yes, these are the same formula\")\n", + "```\n", + "\n", + "Running this code, we get the output `Yes, these are the same formula`. If we were to then change one of the variables:\n", + "\n", + "```Python\n", + "x = \"CH4\"\n", + "y = \"NH3\"\n", + "if x == y:\n", + " print(\"Yes, these are the same formula\")\n", + "print(\"The indentation has ended, this code line is always run\")\n", + "```\n", + "\n", + "The code skips straight to the new line and prints only the second statement. This is because `x == y` is False. \n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "2d12b05b", + "metadata": {}, + "source": [ + "
\n", + "
Exercise: Write a simple 'if' statement \n", + "\n", + "---\n", + "\n", + "A nickel surface has workfunction 5.08 eV. If a photon incident on the surface has energy greater or equal to this energy, an electron will be liberated from the surface. Write a conditional ('if') statement to test if a photon of energy 6.17 eV will liberate an electron, and print the energy, and a sentence explaining if an electron has been released.\n", + "\n", + "
\n", + "
" + ] + }, + { + "cell_type": "markdown", + "id": "76e675f7", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "```Python\n", + "workfunction_Ni = 5.08 # eV\n", + "photon_energy = 6.17 # eV\n", + "\n", + "if photon_energy >= workfunction_Ni:\n", + " print(f\"The photon has energy {photon_energy} eV, and will release an electron from the nickel surface\")\n", + "```\n", + "\n", + "Don't forget the colon after the conditional statement, and to indent the `print()` line.\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "11268c0c", + "metadata": {}, + "source": [ + "## If...elif...else" + ] + }, + { + "cell_type": "markdown", + "id": "5d5db013", + "metadata": {}, + "source": [ + "What if we want to have multiple different categories and multiple different outcomes? We can use ```if... else``` if we want to do one thing if a statement is true, and then something else for all other possibilities. \n", + "\n", + ">```text\n", + ">if condition:\n", + "> what to do if condition is True\n", + ">else:\n", + "> what to do if condition is False\n", + "\n", + "Alternatively, if we have more than two decisions to make, we can use ```if... elif... else```, with ```elif``` statements acting like further 'if' statements that are only checked if all the statements above are False. `Elif` is short for 'else if', and will only be checked if the condition above is not met. For example:\n", + "\n", + ">```text\n", + ">if condition:\n", + "> what to do if condition is True\n", + ">elif other_condition:\n", + "> what to do if previous conditions are False, but this condition is True\n", + ">else final_condition:\n", + "> what to do if all previous conditions are False\n", + "\n", + "
Note!
\n", + "You can put in as many conditions as you like, but be careful, conditional statements are strictly ordered. If the first ``if`` block is True, only that code block will run, and further ``elif`` statements are ignored, even if they would be True!" + ] + }, + { + "cell_type": "markdown", + "id": "ee23bb99", + "metadata": {}, + "source": [ + "
\n", + " Using if...else...\n", + "\n", + "We can use if...else... when we have only two outcomes we want to test. \n", + "\n", + "```Python\n", + "x = \"CH4\"\n", + "if x == \"CH4\":\n", + " print(\"This compound is methane\")\n", + "else:\n", + " print(\"This compound is not methane\")\n", + "```\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "ecba019b", + "metadata": {}, + "source": [ + "
\n", + " Understanding if...elif...else... logic\n", + "\n", + "When writing 'if...elif...' statements, it is important to remember that once a conditional statement has returned true, no further elif or else statements will be tested. \n", + "\n", + "This is demonstrated in the code below:\n", + "\n", + "```Python\n", + "wavelength = 4.82e-8\n", + "\n", + "if wavelength < 1e-11:\n", + " print(\"This is a gamma wave\")\n", + "elif wavelength < 1e-8:\n", + " print(\"This is an x-ray\")\n", + "elif wavelength < 3.8e-7:\n", + " print(\"This is a UV ray\")\n", + "elif wavelength < 7.4e-7:\n", + " print(\"This is in the visible range\")\n", + "elif wavelength < 1e-3:\n", + " print(\"This is infrared\")\n", + "else:\n", + " print(\"This is a radiowave\")\n", + "```\n", + "\n", + "The output is:
\n", + "`This is a UV ray`\n", + "\n", + "Even though all comparisons after \"This is a UV ray\" are also True, no other statements are printed. If you wanted to test every single comparison, you would have to use multiple `if` statements. \n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "1eac36c7", + "metadata": {}, + "source": [ + "
\n", + "
Exercise: Predict if...elif...else logic \n", + "\n", + "---\n", + "\n", + "Look at each of the code snippets below and for each, predict which print() statements will execute. Write them out yourself and check you were correct.\n", + "\n", + "a)\n", + ">```Python\n", + ">x = \"CH4\"\n", + ">if x == \"CH4\":\n", + "> print(\"This compound is methane\")\n", + ">elif x != \"NH3\":\n", + "> print(\"This compound is not ammonia\")\n", + ">else:\n", + "> print(\"This compound is ammonia\")\n", + "\n", + "b)\n", + ">```Python\n", + ">x = \"H2O\"\n", + ">if x == \"CH4\":\n", + "> print(\"This compound is methane\")\n", + ">elif x != \"NH3\":\n", + "> print(\"This compound is not ammonia\")\n", + ">elif x != \"H2\":\n", + "> print(\"This compound is not hydrogen\")\n", + ">else:\n", + "> print(\"This compound is ammonia\")\n", + "\n", + "c)\n", + ">```Python\n", + ">x = \"H2\"\n", + ">if x != \"H2O\":\n", + "> print(\"This compound is not water\")\n", + ">if x == \"H2\":\n", + "> print(\"This molecule is hydrogen\")\n", + ">else:\n", + "> print(\"This compound is not hydrogen\")\n", + "\n", + "
\n", + "
" + ] + }, + { + "cell_type": "markdown", + "id": "e8acc105", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "
\n", + "a) Only the first print() statement is executed. Even though the `elif` statement is also True, this is not executed because the first condition has already been met. \n", + "\n", + "b) The first `if` condition is False, so the program moved on to check the `elif` statement. The first `elif` statement is True, so that print() statement is executed, but the second `elif` statement and the `else` statement are ignored. \n", + "\n", + "c) Two `if` statements are being used instead of a following `elif`. This means that both conditions are checked, even if the first one is True. Therefore, both statements are executed.\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "9bd80acc", + "metadata": {}, + "source": [ + "### Visualising ``if`` statements using flowcharts\n", + "\n", + "``if`` statements can be complex, and abstract. They can be visualised using a flowchart. Further information on flowcharts and how to use them can be found [here](..lessons/solving_problems/flowcharts.ipynb). \n", + "\n", + "If statements can be summarised by the following flowchart:\n", + "\n", + "\"if-statements-flowchart\"\n", + "\n", + "You can see that if the first statement is True, the code completely skips the ``elif`` and ``else`` statements, which are not checked. \n" + ] + }, + { + "cell_type": "markdown", + "id": "3245cb35", + "metadata": {}, + "source": [ + "## Further Practice" + ] + }, + { + "cell_type": "markdown", + "id": "33db858c", + "metadata": {}, + "source": [ + "### Question 1\n", + "\n", + "When doing IR spectroscopy, a peak with low % transmittance corresponds to a strong spike on the spectrum (the compound strongly absorbing light). When analysing a particular spectrum, any peaks with transmittance greater than 95% are indistinguishable from background noise, and are ignored. \n", + "\n", + "Write a Python conditional statement that will print whether our peak is background noise or not." + ] + }, + { + "cell_type": "markdown", + "id": "71574d59", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "```Python\n", + "peak_frequency = 3200 # cm-1\n", + "peak_transmittance = 97 # %\n", + "\n", + "if peak_transmittance >= 95 and peak_transmittance <= 100:\n", + " print(f\"The peak at {peak_frequency} cm-1 has an absorbance of {peak_transmittance}% and can be considered background noise.\")\n", + "elif peak_transmittance < 0 or peak_transmittance >100:\n", + " print(\"Peak absorbance cannot be less than zero or greater than 100. There may be an error in your instrument.\")\n", + "else:\n", + " print(f\"The peak at {peak_frequency} cm-1 has an absorbance of {peak_transmittance}%\")\n", + "```\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "a36d82c8", + "metadata": {}, + "source": [ + "### Question 2\n", + "\n", + "Using your code to calculate the pH of a solution from concentration of H+ ions (from the [mathematical operators](../variables/mathematical_operators.ipynb) lesson, example shown below), add an ``if`` statement which will print whether the pH is basic, acidic, or a superacid (pH < 0 ). Test for each of the following values of `H_conc`:\n", + "\n", + "H_conc = 1.0e-10
\n", + "H_conc = 1.0e-7
\n", + "H_conc = 1.0e-3
\n", + "H_conc = 1.0e12
\n", + "\n", + ">```Python\n", + "> # Calculate pH of a solution from [H+]\n", + "> H_conc = 1.0e12\n", + ">\n", + "> pH = log10(H_conc)\n", + "> pH *= -1\n", + ">\n", + "> print(pH)" + ] + }, + { + "cell_type": "markdown", + "id": "c210ea26", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "Below is a possible answer. Note that since this is done from superacid upwards, the first `elif` statement does not need the addition of ``elif pH > 0 and pH < 7:``, since it will only run if `pH <= 0` is False. However, if you were working from base downwards, you would have to specify that pH must be both larger than 0 and smaller than 7 to be marked as acidic.\n", + "\n", + "```Python\n", + "from math import log10\n", + "\n", + "# Defining the initial concentration\n", + "# Change this value to test your 'if' statements are correct\n", + "H_conc_1 = 1.0e-10\n", + "H_conc_2 = 1.0e-7\n", + "H_conc_3 = 1.0e-3\n", + "H_conc_4 = 1.0e12\n", + "\n", + "pH = log10(H_conc_1)\n", + "pH *= -1\n", + "\n", + "# It is good to print your answer to check it is what you are expecting\n", + "print(f\"The pH of this solution is: {pH}\")\n", + "\n", + "# Checks pH and assigns it 'superacid', 'acidic', 'neutral', or 'basic'\n", + "if pH <= 0:\n", + " print(\"This solution is a superacid\")\n", + "elif pH < 7:\n", + " print(\"This solution is acidic\")\n", + "elif pH == 7:\n", + " print(\"This solution is neutral\")\n", + "elif pH > 7:\n", + " print(\"This solution is basic\")\n", + "```\n", + "\n", + " Think further . This program contains 4 values for the concentration of H+ ions, but can only check one at a time. This is quite slow. A better way would be to use loops iterate through all four values and output the desired phrase for them all at the same time, removing the laborious task of changing the value for the concentration manually. We will learn about loops in the next few lessons.\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "da0c5f62", + "metadata": {}, + "source": [ + "## Learning Outcomes\n", + "\n", + "- How to use ```if...elif...else``` statements to do certain tasks only if certain comparisons or statements are the case.\n", + "- Utilising comparisons in `if` statements." + ] + }, + { + "cell_type": "markdown", + "id": "f7e18758", + "metadata": {}, + "source": [ + "## Summary of learning\n", + "\n", + "- ``if...elif...else`` is used to create code that only executes if a certain condition is met.\n", + "- Syntax is important. Use a colon after every `if`/`elif`/`else` condition, and indent any following code that should execute if that condition is met.\n", + "- When an `if` statement is True, `elif` and `else` statements directly following it will not execute.\n", + "- Use multiple `if` statements if you want every statement checked. Consider how you can minimise the number of `if` statements to have a more efficient and less cluttered code. \n", + "- Use [flowcharts](../solving_problems/flowcharts.ipynb) to visualise your conditional statements." + ] + } + ], + "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.12.3" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/lessons/loops_functions/for_loops.ipynb b/lessons/loops_functions/for_loops.ipynb new file mode 100644 index 00000000..64c684a0 --- /dev/null +++ b/lessons/loops_functions/for_loops.ipynb @@ -0,0 +1,1423 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "UuDCTZ7LX9Jb" + }, + "source": [ + "# The `for` loop\n", + "\n", + "## Learning Outcomes\n", + "- Iterate using a ``for`` loop.\n", + "- Iterate through a list.\n", + "- Understand `enumerate()` and ``zip()``.\n", + "- Iterate using the ``range()`` function.\n", + "- Use nested loops.\n", + "- Understand ``continue`` and ``break``.\n", + "\n", + "## Prerequisites:\n", + "- [Variables](/lessons/variables/Variable_data_types.ipynb)\n", + "- [Comparison](/lessons/variables/Comparisons.ipynb)\n", + "- [`if` statements](/lessons/loops_functions/conditional_statements.ipynb)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "2VRPDborAVn1" + }, + "source": [ + "## Iterating with a list\n", + "\n", + "You will often find tasks that you need to do over and over again, such as the same calculation on multiple data points. To save writing out the same equation over and over again, you can instead use loops to do thousands of calculations incredibly quickly, making you a lab data processing wizard!\n", + "\n", + "Just like with ``if`` statements, ``for`` loops require specific syntax.\n", + "\n", + "```Python\n", + "for number in list_of_numbers:\n", + " do action\n", + "```\n", + "\n", + "- `for` indicates that we will begin a loop.\n", + "- `number` is a new variable we are defining, describing each item within the list of numbers in turn. For each loop, it will automatically redefine to refer to the next item in the list.\n", + "- `in list_of_numbers` indicates that we want to repeat the action in the loop once per item in the list `list_of_numbers`.\n", + "- `:` signals the beginning of the loop.\n", + "- The actions within the loop are indented with the ```` key. All lines of code indented just below the ``for`` line gets repeated within the loop. When the code is no longer indented, the loop is over. You can write code of any length within a ``for`` loop as long as you respect its indentation.\n", + "\n", + "Here is an example:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "VSiGQd0PKsxD" + }, + "outputs": [], + "source": [ + "molecules = [\"H2\", \"H2O\", \"CH4\"]\n", + "\n", + "for mol in molecules:\n", + " print(mol)\n", + "\n", + "# This is no longer indented, and represents the rest of the program" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "hwu0INZoK5FO" + }, + "source": [ + "The cell above prints three strings despite having only used a single `print()` statement. Let's look at this closer.\n", + "\n", + "We begin by defining a list of strings:\n", + "\n", + "`molecules = [\"H2\", \"H2O\", \"CH4\"]`\n", + "\n", + "We start a loop with the line:\n", + "\n", + "`for mol in molecules:`\n", + "\n", + "- `for` indicates that we will begin a loop.\n", + "- `mol` is a new variable we are defining, describing each item within the list of molecules in turn. In the first loop it is a variable referring to `\"H2\"`, in the second loop it refers to `\"H2O\"`, and in the last loop it refers to `\"CH4\"`.\n", + "- `in molecules` indicates that we want to do repeat the operations in the loop once per molecule in the list `molecules`.\n", + "- `:` signals the beginning of the loop.\n", + "\n", + "We print the contents of the `mol` variable to the screen using:\n", + "\n", + "`print(mol)`\n", + "\n", + "While we are within this loop, the variable `mol` will adopt the values of each element of the list `molecules` in sequence, changing at every loop. This is why `print(mol)` is effectively becoming `print(\"H2\")`, `print(\"H2O\")`, and `print(\"CH4\")` one after another.\n", + "\n", + "When the code is no longer indented, the loop is over. You can write Python code of any length inside a `for` loop as long as you respect its indentation. \n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Iterating to perform many maths operations\n", + "\n", + "``for`` loops can iterate through lists containing both strings and numbers. By iterating through lists of floats or integers, you can perform maths on each item in turn. The new values can then be saved (by appending to a new list) for later.\n", + "\n", + "```Python\n", + "# Create a list of pressures in mmHg\n", + "pressure_mmHg = [2945.01, 1671.43, 908.56, 625.3]\n", + "\n", + "# Create an empty list which we will populate with pressures in bar\n", + "# This must be created outside the loop\n", + "pressure_bar = []\n", + "\n", + "for value in pressure_mmHg:\n", + " # Calculate pressure in bar and check with a print() statement\n", + " new_pressure = value / 750.06\n", + " print(new_pressure)\n", + "\n", + " # Add the calculated pressure in bar to the empty list\n", + " pressure_bar.append(new_pressure)\n", + "\n", + "# We can now use the list of pressures in bar throughout the rest of the program\n", + "print(pressure_bar)\n", + "```\n", + "\n", + "In this piece of code, we are converting pressure in mmHg to bar. Each value in the list ``pressure_mmHg`` is converted into bar, printed, and appended into a new list which contains all the associated values in bar. This list can then be used throughout the rest of the code.\n", + "\n", + "The empty list ``pressure_bar`` is first defined outside of the loop. If it was defined inside the loop, it would be re-defined as empty on every loop, and by the end would only contain the final value. Try it yourself to see. \n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Iterating through a string\n", + "\n", + "``for`` loops can also iterate over characters in a string.\n", + "\n", + "```Python\n", + "string = \"hydrogen2oxygen\"\n", + "\n", + "for letter in string:\n", + " print(letter)\n", + "```\n", + "\n", + "This has limited use for chemistry purposes, but it is good to be aware of.\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Iterating using nested lists\n", + "\n", + "You can also iterate over nested lists, keeping in mind that each nested list is the item being referred to when assigning your temporary variable. You can refer to items within the nested list using square brackets, or nested loops (more on that later). Try out this code:\n", + "\n", + "```Python\n", + "bimolecular_atom_masses = [[1.008, 1.008], [12.011, 15.999], [15.999, 15.999]]\n", + "molecule_mass = []\n", + "\n", + "for molecule in bimolecular_atom_masses:\n", + " total_mass = molecule[0] + molecule[1]\n", + " print(total_mass)\n", + " molecule_mass.append(total_mass)\n", + "\n", + "print(molecule_mass)\n", + "```\n", + "\n", + "In this program, each nested list in ``bimolecular_atom_masses`` is assigned the temporary variable name ``molecule``. To refer to an item within this nested list, you must refer to it as ``molecule[0]`` or ``molecule[1]``, where the square bracketed number refers to the item's position within the list. Remember that Python is zero-indexed, so the first item in a list is called '0', the second item is called '1' and so on. \n", + "\n", + "Reminder: To refer straight to an item in a nested list, you can use double sets of square brackets. For example, to refer to the float 12.011 in the above list, you can call it with `bimolecular_atom_masses[1][0]`. This calls the item in position zero of the list in position 1. Remember that lists are zero-indexed, and so the first item in a list always has the index 0.\n", + "\n", + "

\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Combining loops and conditional statements\n", + "\n", + "You can test a condition by using an `if` statement within your ``for`` loop. For example, to find outliers in your data.\n", + "\n", + "This is an imaginary data set, with standard deviation and the mean already found. We want to identify any points that are more than 3 standard deviations above the mean.\n", + "\n", + "```Python\n", + "data_points = [5.6, 11.4, 4.1, 3.4, 2.5, 37.2, 2.9, 12.2, 14.9, 9.6]\n", + "standard_deviation = 5.5\n", + "mean = 8.6\n", + "\n", + "for point in data_points:\n", + " if point > mean + 3 * standard_deviation:\n", + " print(point, \" is an outlier\")\n", + " elif point < mean + 3 * standard_deviation:\n", + " print(point, \"is an outlier\")\n", + "```\n", + "\n", + "The output is:\n", + " 37.2 is an outlier \n", + "\n", + "We could also use loops to calculate the mean and standard deviation of a dataset in the first place!\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "
Exercise 1: Write a basic loop \n", + "\n", + "---\n", + "\n", + "Write a code that prints out each item in the following list, using a ``for`` loop. Then answer the following True/False questions.\n", + "\n", + " gas_list = ['Nitrogen', 'Oxygen', 'Neon'] \n", + "\n", + "1. The loop will print the name of each gas on the same line. \n", + "2. The variable ``gas_list`` does not change on each loop.\n", + "3. The ``for`` statement does not need a colon.\n", + "\n", + "

\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "Here is an example of the code you should have written:\n", + "\n", + "``` Python\n", + "gas_list = ['Nitrogen', 'Oxygen', 'Neon']\n", + "for gas in gas_list:\n", + " print(gas)\n", + "```\n", + "\n", + "1. False. Each gas name will be printed on a separate line.\n", + "2. True. The variable ``gas_list`` is the same throughout the loop.\n", + "3. False. The end of every ``for`` statement requires a colon, otherwise Python will throw an error.\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "
Exercise 2: Understanding a Loop \n", + "\n", + "---\n", + "\n", + "In the lab you are making methyl benzoate using the scheme below, starting with 3 g of benzoic acid. Five scientists repeat the reaction, and get the following yields of product: \n", + "\n", + "Product yields: 2.5 g, 2.7 g, 3.1 g, 1.6 g, 4 g. \n", + "\n", + "\"The\n", + "\n", + "Use your understanding of ``for`` loops to work out the percentage yields for each person. Use an `if` statement within the loop to test the following conditions:\n", + "- Percentage yield is smaller than 50 % - print a statement that the yield is poor. \n", + "- Percentage yield is between 50 % and 100 % - print that the yield is good. \n", + "- Percentage yield is over 100 % - print a statement that the product is likely impure.\n", + "\n", + "The theoretical yield is equal to the starting mass ÷ 122, then × 136.\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "```Python\n", + "product_masses = [2.5,2.7,3.1,1.6,4] # grams\n", + "starting_mass = 3 # grams\n", + "\n", + "theoretical_yield = (starting_mass/122)*136 # grams\n", + "\n", + "# For each item in the list product_masses\n", + "for product_mass in product_masses:\n", + " # Calculate percentage yield and print to no decimal places\n", + " percent_yield = (product_mass / theoretical_yield) * 100 # %\n", + " print(f\"Percent yield: {percent_yield:.0f}%\")\n", + " # Use conditional statements to assign purity\n", + " if percent_yield < 50:\n", + " print(\"Poor yield\")\n", + " elif percent_yield >= 50 and percent_yield < 100:\n", + " print(\"Good yield\")\n", + " elif percent_yield >= 100:\n", + " print(\"Likely Impure\")\n", + "```\n", + "\n", + "Note the use of `:.0f` to give the percentage to no decimal places.\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "
Exercise 3: Debugging a loop\n", + "\n", + "---\n", + "\n", + "You have a series of temperature measurements from your reaction in degrees C and you want to print all of them out in Kelvin. One of your colleagues writes some code but it doesn't seem to be working. Can you identify the problem and fix the code?\n", + "\n", + ">```Python\n", + "># Your colleagues code\n", + ">\n", + "># The code below is not working. Can you fix it?\n", + ">temperature_measurements = [27.3, 28.1, 26.9, 27.5, 28.0]\n", + ">\n", + ">for temperature_C in temperature_measurements:\n", + "> temperature_K = temperature_C + 273.15\n", + ">\n", + ">print(f\"Temperature: {temperature_K}°C\")\n", + "\n", + "
\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "Remember that code you want to run every time the loop repeats need to be indented. In the example the `print` statement is not indented and so is not executed each time, but only once when the loop is finished. You can fix the code just by indenting the print statement with the tab key.\n", + "\n", + "```Python\n", + "temperature_measurements = [27.3, 28.1, 26.9, 27.5, 28.0]\n", + "for temperature_C in temperature_measurements:\n", + " temperature_K = temperature_C + 273.15\n", + " print(f\"Temperature: {temperature_K}°C\")\n", + "```\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Using ``enumerate()``\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Each entry in a list has two things associated with them: the **index** of the entry and the **value** of the entry. \n", + "\n", + "Python is zero-indexed, meaning that each value in a list carries an index from 0 upwards. For example, in the list `[\"H\", \"He\", \"Li\", \"Be\"]`, \"H\" is at index position 0, \"He\", is at index position 1, \"Li\" is at index position 2, and \"Be\" at index position 3. Sometimes it is useful to know the index for a particular list or item in a list. Python allows us to find out the index while we iterate through a list using the function ``enumerate()``\n", + "\n", + "The ``enumerate()`` function assigns each element in a list a number, from 0 upwards. This is the index, which can then be referred to to call items from that list. This is a good way of identifying where in a list a certain item is. The basic syntax of ``enumerate()`` is:\n", + "\n", + "``for i, j in enumerate(list):``\n", + "\n", + "- `i` is a temporary variable referring to the index number that is being assigned (i for index). \n", + "- `j` is the item value within the list.\n", + "- `list` is the list we are assigning index values to. \n", + "\n", + "Here is an example:\n", + "\n", + "```Python\n", + "atom_names = [\"H\", \"He\", \"Li\", \"Be\"]\n", + "\n", + "for index, atom in enumerate(atom_names):\n", + " print(atom, \"is at position\" , index, \"in the list\")\n", + "```\n", + "\n", + "Resulting in the following output:\n", + "\n", + " H is at position 0 in the list
\n", + "He is at position 1 in the list
\n", + "Li is at position 2 in the list
\n", + "Be is at position 3 in the list
\n", + "\n", + "Note that H is at position 0, not 1. This goes back to Python's 0-indexing, where ordered items are assigned values starting from 0, not 1. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Using enumerate to find a list index\n", + "\n", + "You have a very long list of amino acids, and you want to find the position of the amino acid \"Proline\".\n", + "\n", + "```Python\n", + "natural_amino_acids = [\"Alanine\", \"Arginine\", \"Asparagine\", \"Aspartic acid\", \"Cysteine\", \"Glutamic acid\", \"Glutamine\", \"Glycine\", \"Histidine\", \"Isoleucine\", \"Leucine\", \"Lysine\", \"Methionine\", \"Phenylalanine\", \"Proline\", \"Serine\", \"Threonine\", \"Tryptophan\", \"Tyrosine\", \"Valine\"]\n", + "\n", + "for index, amino_acid in enumerate(natural_amino_acids):\n", + " if amino_acid == \"Proline\":\n", + " print(f\"Proline is at position {index} in the list.\")\n", + "```\n", + "\n", + "The code will output: \n", + "\n", + " Proline is at position 14 in the list \n", + "\n", + "If you had another list of corresponding masses, you could then identify which mass belonged to proline and set it as a useful variable. For example, from a the list of masses called ``amino_acid_masses`` you could retrieve and define the variable ``mass_proline = amino_acid_masses[14]``.\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Using enumerate to iterate through two lists \n", + "\n", + "You could use `enumerate()` to iterate through two or more lists at once.\n", + "\n", + "```Python\n", + "atom_names = [\"H\", \"He\", \"Li\", \"Be\"]\n", + "atom_masses = [1.008, 4.003, 6.94, 9.012] # g mol-1\n", + "atom_neutrons = [0, 2, 4, 5]\n", + "\n", + "for index, atom in enumerate(atom_names):\n", + " print(f\"The mass of {atom} with {atom_neutrons[index]} neutrons is {atom_masses[index]}\")\n", + "```\n", + "\n", + "The result is:
\n", + "The mass of H with 0 neutrons is 1.008
\n", + "The mass of He with 2 neutrons is 4.003
\n", + "The mass of Li with 4 neutrons is 6.94
\n", + "The mass of Be with 5 neutrons is 9.012
\n", + "\n", + "In this case, all three lists are associated item-wise, meaning the element at index 0 in `atom_names` is related to the mass at index 0 of `atom_masses` and the number at index 0 in `atom_neutrons`. You only need to enumerate one of these lists (in this case, `atom_names`) to be able to reference the corresponding index for the other two lists. \n", + "\n", + "It is of course possible to have more complicated relationships between the indexes of multiple lists. An example would be where a range of values is needed from the second list, rather than just a single point. These could be accessed using additional `if` statements within the loop.\n", + "\n", + "However, if the relationship is direct then Python offers a simple alternative: ```zip```.\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "
Exercise: Compare near-identical lists \n", + "\n", + "---\n", + "\n", + "Two minerals in the same series have very similar formulas. Write a program to compare the two and identify where they differ. Also identify the index at which they differ.\n", + "\n", + "```Python\n", + "# The formulae of the two minerals\n", + "mineral_1 = [\"Pb\", \"Pb\", \"Cu\", \"Cr\", \"O\", \"O\", \"O\", \"O\", \"As\", \"O\", \"O\", \"O\", \"O\", \"O\", \"H\"]\n", + "mineral_2 = [\"Pb\", \"Pb\", \"Cu\", \"Cr\", \"O\", \"O\", \"O\", \"O\", \"P\", \"O\", \"O\", \"O\", \"O\", \"O\", \"H\"]\n", + "```\n", + "\n", + "
\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "You can do this by first zipping the two lists to compare element-wise, then appending both elements to another list in order to find the discrepancy. It is pretty obvious when using fairly short lists of strings, but imagine if you were using huge arrays of numbers - it would take a lot longer playing spot-the-difference with that!\n", + "\n", + "```Python\n", + "# The formula of the two minerals\n", + "mineral_1 = [\"Pb\", \"Pb\", \"Cu\", \"Cr\", \"O\", \"O\", \"O\", \"O\", \"As\", \"O\", \"O\", \"O\", \"O\", \"O\", \"H\"]\n", + "mineral_2 = [\"Pb\", \"Pb\", \"Cu\", \"Cr\", \"O\", \"O\", \"O\", \"O\", \"P\", \"O\", \"O\", \"O\", \"O\", \"O\", \"H\"]\n", + "\n", + "# Check if the two minerals have the same number of elements\n", + "if len(mineral_1) != len(mineral_2):\n", + " print(\"The two minerals do not have the same number of elements and are not identical.\")\n", + "else:\n", + " # Iterate through the first mineral and compare each element with the second mineral\n", + " for index, element in enumerate(mineral_1):\n", + " # Check if elements at each index are identical\n", + " if element != mineral_2[index]:\n", + " print(f\"{element} does not match {mineral_2[index]} at index {index}\")\n", + " else:\n", + " print(f\"These minerals are identical at each index\")\n", + "```\n", + "\n", + "This potential solution uses ``zip()``, ``enumerate``, and nested lists. You can see how you can combine lots of aspects of Python to get a more powerful code.\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Using ``zip()``" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "``zip()`` is a built-in Python function which gives lists a bit more functionality, especially within loops. It is very important you understand its purpose and syntax.\n", + "\n", + "This function takes multiple lists and associates them element-wise. Elements from each list can then be called using individual temporary variables. It allows you to call multiple lists within one ``for`` loop.\n", + "\n", + "```Python\n", + "atom_names = [\"H\", \"He\", \"Li\", \"Be\"]\n", + "atom_masses = [1.008, 4.003, 6.94, 9.012]\n", + "\n", + "for name, mass in zip(atom_names, atom_masses):\n", + " print(f\"The mass of {name} is {mass}\")\n", + "```\n", + "\n", + "The result is:
\n", + "The mass of H is 1.008
\n", + "The mass of He is 4.003
\n", + "The mass of Li is 6.94
\n", + "The mass of Be is 9.012
\n", + "\n", + "- ``name`` is the temporary variable for items in the list ``atom_names``\n", + "- ``mass`` is the temporary variable for items in the list ``atom_masses``\n", + "\n", + "Within the ``for`` loop, both temporary variables can be called. When the next loop begins, both temporary variables move on to the next item in each list. \n", + "\n", + "**Important**: all lists being zipped together must be the same length. If they are not, you will almost certainly get an index error. If you want to check the length of a list, you can do that with the function `len(list)`." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Zipping a list and a nested list\n", + "\n", + "You are able to zip both lists and nested lists, as long as the number of nested lists is equal to the length of the other list. \n", + "\n", + "Run the code below.\n", + "\n", + "```Python\n", + "molecules = [\"H2O\", \"CO2\", \"HCN\"]\n", + "masses = [[1.008, 1.008, 12.011] , [12.011, 15.999, 15.999], [1.008, 12.011, 14.007]]\n", + "\n", + "# Assigns the temporary variable name 'mol' to each string in the list 'molecules'\n", + "# Assigns the temporary variable name 'mass' to each list within the list 'masses'\n", + "for mol, mass in zip(molecules, masses):\n", + " # Find molecule total mass\n", + " molecular_mass = mass[0] + mass[1] + mass[2]\n", + " print(f\"Molecular mass of {mol} is {molecular_mass:.3f}\")\n", + "\n", + "print(\"This is the end of the loop.\")\n", + "```\n", + "\n", + "You will see that for each string within the list `molecules` and for each list within the list `masses`, we can call both items at the same time. For nested lists, we can call entries within the nested lists using square brackets. Remember that due to Python's zero-indexing, the first item in the nested list has to be called with the number '0' and so on. \n", + "\n", + "Note that the method of calling the index of the nested list would not work if those lists were varying lengths. If you try to call an index larger than the largest index in the list, you would get an index error and Python would not be able to run the code. In that case, you would instead want to use nested loops (discussed later in the lesson).\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Zipping more than 2 lists\n", + "\n", + "You can zip more than just two lists together. Copy out and run this code:\n", + "\n", + "```Python\n", + "atom_names = [\"H\", \"He,\", \"Li\", \"Be\"]\n", + "atom_masses = [1.008, 4.003, 6.94, 9.012]\n", + "atom_proton_number = [1, 2, 3, 4]\n", + "\n", + "for name, mass, proton_number in zip(atom_names, atom_masses, atom_proton_number):\n", + " print(f\"The mass of {name} is {mass}. It has {proton_number} protons.\")\n", + "```\n", + "\n", + "Here, we have associated 3 lists element-wise, and are able to refer to all three temporary variables within the loop.\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "
Exercise: Transform coordinates from lists of x and y \n", + "\n", + "--- \n", + "\n", + "A cartesian coordinate, $(x, y)$ can be rotated clockwise to a new position $(x', y')$ by an angle $\\theta$ around the origin using the following formulae:\n", + "\n", + "$ x' = x \\ cos(\\theta) + y\\ sin(\\theta) $
\n", + "$ y' = -x \\ sin(\\theta) + y\\ cos(\\theta) $\n", + "\n", + "A group of hydrogen atoms have the following x and y coordinates:\n", + "\n", + "```Python\n", + "x_coords = [1.12, -6.99, -9.48, 8.89, -6.28, -4.98, 6.27, 7.35, 0.87, -9.50]\n", + "y_coords = [-1.87, 1.43, 6.38, 4.44, -0.12, -1.56, -8.71, -3.78, -0.31, -1.24]\n", + "```\n", + "\n", + "By zipping together these lists and iterating through with a `for` loop, rotate these coordinates by 30 $\\degree$ clockwise around the origin. Store the new values in two new lists.\n", + "\n", + "**Hint**: Remember that you can access `sin()` and `cos()` functions using the Python module `math`, and that these modules take values in *radians*, not degrees. \n", + "\n", + "This is the answer you should get:\n", + "\n", + "```Python\n", + "Rotated x coordinates: [0.03, -5.34, -5.02, 9.92, -5.5, -5.09, 1.07, 4.48, 0.6, -8.85]\n", + "Rotated y coordinates: [-2.18, 4.73, 10.27, -0.6, 3.04, 1.14, -10.68, -6.95, -0.7, 3.68]\n", + "```\n", + "\n", + "
\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "```Python\n", + "import math\n", + "\n", + "# Coordinates to be rotated\n", + "x_coords = [1.12, -6.99, -9.48, 8.89, -6.28, -4.98, 6.27, 7.35, 0.87, -9.50]\n", + "y_coords = [-1.87, 1.43, 6.38, 4.44, -0.12, -1.56, -8.71, -3.78, -0.31, -1.24]\n", + "\n", + "# Define the angle of rotation in radians\n", + "angle = math.radians(30) # degrees\n", + "\n", + "# Empty lists to store the rotated coordinates\n", + "rot_x_coords = []\n", + "rot_y_coords = []\n", + "\n", + "# Loop through the original coordinates, zipping x and y together\n", + "for x, y in zip(x_coords, y_coords):\n", + " # Rotate the coordinates by the specified angle\n", + " new_x = x * math.cos(angle) + y * math.sin(angle)\n", + " new_y = -1 * x * math.sin(angle) + y * math.cos(angle)\n", + " # Round the new coordinates to 2 decimal places\n", + " new_x = round(new_x, 2)\n", + " new_y = round(new_y, 2)\n", + " # Append the new coordinates to the respective lists\n", + " rot_x_coords.append(new_x)\n", + " rot_y_coords.append(new_y)\n", + "\n", + "print(\"Rotated x coordinates: \", rot_x_coords)\n", + "print(\"Rotated y coordinates: \", rot_y_coords)\n", + "```\n", + "\n", + "Here is a summary of notable features: \n", + "\n", + "- Converting degrees to radians using the `math` function `radians()`.\n", + "- Define our new lists outside the loop.\n", + "- Calculate the new values using the rotation formulae.\n", + "- Round our answer to two decimal places using the Python function `round()`. This function takes two arguments: firstly the value, and secondly the number of decimal places you would like to round it to. \n", + "- The transformed coordinates are appended to new lists and printed to the screen.\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Iterating using ``range()``\n", + "\n", + "Instead of using lists we can also iterate using the built-in Python function ``range()``. This allows you to iterate a loop a set number of times, from 0 upwards. We often use `i` or `x` as the variable representing the number in the range.\n", + "\n", + "Try running the following piece of code:\n", + "\n", + "```Python\n", + "for i in range(3):\n", + " print(i)\n", + "```\n", + "\n", + "It will print the following:\n", + "\n", + "\n", + "0
\n", + "1
\n", + "2
\n", + "
\n", + "\n", + "You will notice it has printed ``0``,``1``,``2``, but not any further than that. This is again because of Python's 0-indexing, which has been mentioned previously. In this case, Python will print 3 numbers starting from 0. This means if you want to print up to and including the number 3, you have to put ``range(4)``.\n", + "\n", + "The ``range()`` function is also able to count from one specified number to another specified number in integer jumps. When we are providing more than one modifier to the function, we must input them in the following way:\n", + "\n", + "```Python\n", + "for i in range(start, end, jump):\n", + " print(i)\n", + "```\n", + "\n", + "This will start counting from and including the start number, up to and not including the end number, in intervals specified by the third number. These can be positive or negative, and Python can count up or down. However, beware, as the ``range()`` function cannot take float values, only integer values." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Predicting range() output\n", + "\n", + "Write out and run the following `for` loops and predict the output. Make sure to look at what number it starts and ends at.\n", + "\n", + "```Python\n", + "for x in range(2, 10):\n", + " print(\"Count: \", x)\n", + "```\n", + "\n", + "The code above will first print `Count: 2`, and then print every integer number up to and including `Count: 9`. It will not print the number 10. This is because of Python's zero-indexing. It prints 8 numbers overall. \n", + "\n", + "```Python\n", + "for x in range (10,-1,-1):\n", + " print(\"Count: \", x)\n", + "```\n", + "\n", + "The code above will first print `Code: 10`, and then count backwards in integer numbers down to `Count: 0`. It will not print the number -1. \n", + "\n", + "```Python\n", + "for x in range(3,9,2):\n", + " print(\"Count in twos: \", x)\n", + "```\n", + "\n", + "This code will print the following:\n", + "\n", + "\n", + "Count in twos: 3
\n", + "Count in twos: 5
\n", + "Count in twos: 7 \n", + "

\n", + "\n", + "It starts at the number 3 and counts upwards in twos. The final number we have given in in the code is the number 9, however because of Python's zero-indexing, this really corresponds to the number 8, and so the loop stops after only three iterations and does not print 'Count: 9'.\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Creating a list using loops\n", + "\n", + "If you want to quickly create a list containing lots of numbers, you could use a ``for`` loop. In the following example, we are creating a list of the values of ml, the magnetic quantum number, for an f orbital. This takes values of -3 to 3.\n", + "\n", + "```Python\n", + "# ml values of an f orbital\n", + "ml_d_orbital = []\n", + "\n", + "for i in range(-3, 4, 1):\n", + " ml_d_orbital.append(i)\n", + "\n", + "print(ml_d_orbital)\n", + "```\n", + "\n", + "This prints: \n", + "\n", + "[-3, -2, -1, 0, 1, 2, 3]\n", + "\n", + "This is especially useful when you need a large list of regularly-spaced numbers. \n", + "\n", + "To access floating point numbers, you could either use functions in the library `NumPy`, or you can simply scale the list and divide `i` by the required number. \n", + "\n", + "For example, to create a list of numbers from 0 to 2.5 increasing in steps of 1, you could use the following code:\n", + "\n", + "```Python\n", + "floats = []\n", + "for i in range(0,26,1):\n", + " floats.append(i/10)\n", + "print(floats)\n", + "```\n", + "\n", + "which results in the following list:\n", + "\n", + "[0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5]\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Iterating the length of a list using len() \n", + "\n", + "You can use the built-in Python function ``len()`` to find the length of a list. You could then iterate a number of times corresponding to the length of the list.\n", + "\n", + "```Python\n", + "atom_list = [\"H\",\"He\",\"Li\",\"Be\"]\n", + "\n", + "for index in range(len(atom_list) + 3):\n", + " print(index)\n", + " print(\"This is a calculation\")\n", + "```\n", + "\n", + "Here, we have a list of strings. I want to do a calculation the same number of times as is in my list, plus three more times. By using ``len()``, I can achieve this. \n", + "\n", + "Note! In this case, the temporary variable ``index`` does not refer to items within ``atom_list``, but is an index created from the ``range()`` function.\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Creating an empty nested list\n", + "\n", + "In a certain projects you may need to create a list of empty coordinates to use later. In this case, the coordinate [0,0,0] repeated 1000 times. Instead of writing it out manually, you can use a ``for`` loop. Copy out and run this code. Check the correct number of coordinates are being outputted, then change it to create a list of 1000 empty coordinates.\n", + "\n", + "```Python\n", + "coordinates = []\n", + "\n", + "for i in range(10):\n", + " temp_coord = [0]*3\n", + " coordinates.append(temp_coord)\n", + "\n", + "print(coordinates)\n", + "```\n", + "\n", + "The output is:
\n", + " [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]] \n", + "\n", + "For the purposes of testing that the program will work, you could only create 10 coordinates and count them by hand. However, you can make this number as large as you want. Change `range(10)` to `range(1000)` to see this in action.\n", + "\n", + "If you have not seen the syntax ``[0]*3``, all it means is to create a list comprised of '0' three times. It is a quicker way of creating large lists of identical contents. \n", + "\n", + "

\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "
Exercise: Correct the error \n", + "\n", + "---\n", + "\n", + "Try the following `for` loops. They will return an error, try to figure out why.\n", + "\n", + ">```Python\n", + ">for x in range(10,5):\n", + "> print(x)\n", + "\n", + "\n", + "\n", + ">```Python\n", + ">for x in range(5.5):\n", + "> print(x)\n", + "\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "The first example will not return any output, as it does not know it needs to count down. Add the number -1 separated by a comma to the `range()` function to correct it.\n", + "\n", + "The second example returns an error, because the ``range()`` function cannot handle float numbers. It also cannot jump in floats.\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "
Exercise: List certain elements using ``range`` \n", + "\n", + "---\n", + "\n", + "In the neutral state, elements higher than Lanthanum (atomic number = 57) contain filled or partially-filled f orbitals. Quickly create a list of atomic numbers of all elements (up to and including Nobelium at 102) of elements containing f electrons. \n", + "\n", + "\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "``` Python\n", + "# Empty list of atomic weights for all elements with f electrons in the neutral state\n", + "f_electrons = []\n", + "\n", + "for i in range(58, 103):\n", + " f_electrons.append(i)\n", + "\n", + "print(f_electrons)\n", + "```\n", + "\n", + "First we create an empty list. The element Cerium, just after Lanthanum, is the first element with f electrons, so it is the start of the range. Nobelium, with atomic number 102, is the last element, however because of Python's 0-indexing, we must set the final value as 103, not 102. The output of this is a list of elemental atomic numbers:\n", + "\n", + " [58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102] \n", + "\n", + "Think further: What if we wanted to create a list of elemental symbols from this list of atomic numbers. You could do this through a dictionary storing `symbol:number` as the `key:value` pairs.\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Nested loops\n", + "\n", + "You can also have loops inside of loops, just as you can have lists inside of lists. We call this nested loops.\n", + "\n", + "Try this code to help your understanding:\n", + "\n", + "```Python\n", + "for i in range(4):\n", + " print(\"The start of the outer loop\")\n", + " for j in range(1,4):\n", + " print(j)\n", + "```\n", + "\n", + "The inner code ``for j in range(1,4):`` runs three times, counting from 1 to 3 (remember 0-indexing!). It does this the number of times dictated by the outer loop ``for i in range(4)``. Every time this outer loop starts, it has been signposted by the print() phrase. \n", + "\n", + "If you are struggling to understand nested loops, have a look at the [flowcharts](../solving_problems/flowcharts.ipynb) lesson." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Exhaustive multiplication - combining every item with every other item\n", + "\n", + "Below is a piece of code with two lists. Every number in the first list is multiplied by every value in the second, exhausting every possibility. This is one of the easiest ways to visualise a nested ``for`` loop.\n", + "\n", + "```Python\n", + "numbers = [2, 3, 4]\n", + "multipliers = [5, 6, 7]\n", + "\n", + "for n in numbers:\n", + " for m in multipliers:\n", + " ans = n * m\n", + " print(f\"{n} * {m} = {ans}\")\n", + "```\n", + "\n", + "This prints the following:\n", + "\n", + "2 * 5 = 10
\n", + "2 * 6 = 12
\n", + "2 * 7 = 14
\n", + "3 * 5 = 15
\n", + "3 * 6 = 18
\n", + "3 * 7 = 21
\n", + "4 * 5 = 20
\n", + "4 * 6 = 24
\n", + "4 * 7 = 28

\n", + "\n", + "In this example, we can see that the first value from the list 'numbers' is taken, and is used to multiply by each value within 'multipliers'. Then the loop moves on to the second value in 'numbers' and again multiplies by all three values in 'multipliers'. \n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "
\n", + " Identifying items repeated in two lists\n", + "\n", + "You have two lists and want to make sure than none are repeated from one list to the other. You could use nested lists to check every combination of the two lists.\n", + "\n", + "```Python\n", + "molecules_1 = [\"H2O\", \"HCN\", \"CO2\", \"NH3\"]\n", + "molecules_2 = [\"NO2\", \"CO2\", \"CH3\", \"H2\", \"HCN\"]\n", + "\n", + "for i in molecules_1:\n", + " for j in molecules_2:\n", + " if i == j:\n", + " print(i)\n", + "```\n", + "\n", + "The output would correctly identify that both ``CO2`` and ``HCN`` are repeated. \n", + "\n", + "

\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Creating a list of coordinates\n", + "\n", + "Create a list of 2-dimensional coordinates for every point in a grid running from x = 0 to x = 2 and from y = 0 to y = 4.\n", + "\n", + "```Python\n", + "# Define the lists we will use\n", + "x_axis = []\n", + "y_axis = []\n", + "coord_grid = []\n", + "\n", + "# Create x axis values\n", + "for i in range(3):\n", + " x_axis.append(i)\n", + "\n", + "# Create y axis values\n", + "for j in range(5):\n", + " y_axis.append(j)\n", + "\n", + "for x_coord in x_axis:\n", + " for y_coord in y_axis:\n", + " coord_grid.append([x_coord,y_coord])\n", + "\n", + "print(coord_grid)\n", + "```\n", + "\n", + "The output of this is a 2D grid covering all integer points from x = 0 to x = 2, and y = 0 to y = 4:
\n", + " [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4]] \n", + "\n", + "Think further: If we wanted to plot these positions, we could do this using the Python module ``matplotlib.pyplot``, which is discussed in a further [tutorial](/lessons/common_libs/Matplotlib_Documentation.ipynb).\n", + "\n", + "This example highlights a common issue of loops, repeating the same loop several times. In this example we can do away with the first two loops that generate the x-axis by combining them with the nested loop.\n", + "\n", + "It is always a good idea to check your code for extra loops that could be combined into one. It can often improve the efficiency and neatness of your code.\n", + "\n", + "``` python\n", + "# Define the list we will use\n", + "coord_grid = []\n", + "\n", + "for x_coord in range(3):\n", + " # Create x axis value\n", + " for y_coord in range(5):\n", + " # Create y axis value\n", + " coord_grid.append([x_coord,y_coord])\n", + "\n", + "print(coord_grid)\n", + "```\n", + "\n", + "

\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "
Exercise: Nested loops and nested lists \n", + "\n", + "---\n", + "\n", + "Write a program that adds up each molecule's mass from a nested list of their atomic masses, given below. \n", + "\n", + "Since the nested lists are different lengths, you cannot use square brackets to retrieve items as we did in the `enumerate()` lesson, or you will receive indexing errors. Instead, iterate through the larger list, then through the smaller lists, to obtain your masses. \n", + "\n", + "\n", + "molecules = [\"H2O\", \"H2\", \"C2H4\", \"NaOH\", \"CH3OH\"]
\n", + "atom_masses = [[1.008, 1.008, 15.999], [1.008, 1.008], [12.011, 1.008, 1.008, 12.011, 1.008, 1.008], [22.989, 15.999, 1.008], [12.011, 1.008, 1.008, 1.008, 15.999]]\n", + "
\n", + "\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "
\n", + "\n", + "``` Python\n", + "molecules = [\"H2O\", \"H2\", \"C2H4\", \"NaOH\", \"CH3OH\"] \n", + "atom_masses = [[1.008, 1.008, 15.999], [1.008, 1.008], [12.011, 1.008, 1.008, 12.011, 1.008, 1.008], [22.989, 15.999, 1.008], [12.011, 1.008, 1.008, 1.008, 15.999]]\n", + "\n", + "# An empty list to store the molecular masses\n", + "molecule_masses = []\n", + "\n", + "# Loop through each molecule's atomic masses and calculate the total mass\n", + "for molecule in atom_masses:\n", + " mass = 0\n", + " # Loop through each atom's mass in the molecule\n", + " for atom_mass in molecule:\n", + " mass += atom_mass\n", + " mass = round(mass, 3)\n", + " # This occurs after the inner loop, so it gives the total mass of the molecule\n", + " molecule_masses.append(mass)\n", + "\n", + "print(f\"Molecules: {molecules}\")\n", + "print(f\"Molecular masses / g mol-1: {molecule_masses}\")\n", + "```\n", + "\n", + "---\n", + "\n", + "Let's talk through this code step by step:\n", + "\n", + "- The first thing we do is define an empty list that will hold the masses of each molecule. \n", + "\n", + "- The outer loop `for molecule in atom_masses:` will loop through each nested list. The temporary variable name `molecule` will first take the value of [1.008, 1.008, 15.999], then on the next loop will become [1.008, 1.008], and so on. Each time this loop moves on to a new list, the value of `mass` will reset to 0.\n", + "\n", + "- The inner loop `for atom_mass in molecule:` will loop through each mass in the list stored by the temporary variable `molecule`, each time adding it to the mass variable. This loop is effectively doing `mass = 0 + 1.008 + 1.008 + 15.999` for the first molecule, and then resetting to 0 to do the same for the second molecule. \n", + "\n", + "- The mass calculated for each molecule is appended to our empty list of masses in the *outer* loop (indented only once). If it did this within the inner loop (indented twice), then every single calculation of the mass would be added to the list. Try running it with this line indented twice to see the outcome. \n", + "\n", + "- Finally, our molecules and their corresponding masses are printed to the console. If we wanted to print them out item-wise, we could use another `for` loop and `zip()` the two lists together. Another option could be to zip them together in the outer loop and place our print function within there. \n", + "\n", + "The built-in function `round()` is used here to ensure every mass is given to 3 decimal places. The function takes two arguments (things placed within the brackets of the function): the variable you want to round, and the number of decimal places you want to round it to. \n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Continue and Break\n", + "\n", + "One way we can have more control over our loops is by using the Python commands ``continue`` and ``break``.\n", + "\n", + "- ``continue`` is used to end the current iteration of the loop, and *continue* on to the next iteration.\n", + "\n", + "- ``break`` is used to *end* the entire loop.\n", + "\n", + "Run the two sets of code below and compare them.\n", + "\n", + ">```Python\n", + "># Continue\n", + ">molecules = [\"H2O\", \"HCN\", \"CO2\", \"NH3\", \"CH3\"]\n", + ">\n", + ">for formula in molecules:\n", + "> if formula == \"CO2\":\n", + "> continue\n", + "> print(formula)\n", + ">\n", + ">print(\"This represents the rest of the code continuing\")\n", + "\n", + "
\n", + "\n", + ">```Python\n", + "># Break\n", + ">molecules = [\"H2O\", \"HCN\", \"CO2\", \"NH3\", \"CH3\"]\n", + ">\n", + ">for formula in molecules:\n", + "> if formula == \"CO2\":\n", + "> break\n", + "> print(formula)\n", + ">\n", + ">print(\"This represents the rest of the code continuing\")\n", + "\n", + "
\n", + "\n", + "In the ``continue`` statement, \"CO2\" is not printed, as the loop has already restarted onto the next iteration, which is to print \"NH3\". \n", + "\n", + "In the ``break`` statement, nothing is printed from \"CO2\" onwards, as the entire loop has ended as soon as the condition became True." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Using continue\n", + "\n", + "To retrieve only molecules containing oxygen, this code uses a ``continue`` statement. \n", + "\n", + "``` Python\n", + "molecules = [\"HCN\", \"H2O\", \"NH3\", \"CO2\"]\n", + "\n", + "for mol in molecules:\n", + " if \"O\" not in mol:\n", + " continue\n", + " print(mol)\n", + "```\n", + "\n", + "The output will be:\n", + "\n", + "H2O
\n", + "CO2
\n", + "\n", + "Notice that we have used the [logic operator](../variables/Comparisons.ipynb) ``not`` to indicate that we are ending the loop for every molecule that does not contain an oxygen.\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Using break\n", + "\n", + "To retrieve only the first molecule that contains an oxygen atom, this code uses ``break``.\n", + "\n", + "```Python\n", + "molecules = [\"HCN\", \"NH3\", \"H2O\", \"CO2\"]\n", + "\n", + "for mol in molecules:\n", + " if \"O\" in mol:\n", + " print(mol)\n", + " break\n", + "print(\"This represents the rest of the code\")\n", + "```\n", + "\n", + "Notice that in this code, we haven't used ``not``, and instead placed ``print()`` within the ``if`` statement. This allows the program to first print 'H2O' before breaking out of the loop. It is really important to understand which parts of your code are within which statement, and the order in which they occur. If you are struggling to imagine it, try creating or looking at some [flowcharts](../solving_problems/flowcharts.ipynb).\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Further Practice" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Question 1\n", + "\n", + "The workfunction of a metal is the energy required by an incoming photon to remove an electron from its surface. The energy of a photon in J can be calculated using: \n", + "\n", + "$ E = \\frac{hc}{\\lambda} $\n", + "\n", + "Where E is energy in Joules, c is the speed of light in vacuum (3.00×108) and $\\lambda$ is wavelength in metres.\n", + "\n", + "A metal has a workfunction of 6.35 eV, which is equal to 1.017×10-18 J. From the following list of wavelengths in nm, print all values which will result in a photon being released. (Hint: you will need to use an ``if`` statement)\n", + "\n", + "```Python\n", + "wavelengths = [276, 59, 0.5, 1183, 52, 0.002, 127, 474] # nm\n", + "\n", + "h = 6.626e-34 # m^2kgs^-1\n", + "c = 3.00e8 # ms^-1\n", + "workfunction = 1.017e-18 # J\n", + "```\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "Remember that there could be multiple ways to approach the same question. Below is one solution.\n", + "\n", + "``` Python\n", + "wavelengths = [276, 59, 0.5, 1183, 52, 0.002, 127, 474] # nm\n", + "h = 6.626e-34 # m^2kgs^-1\n", + "c = 3.00e8 # ms^-1\n", + "workfunction = 1.017e-18 # J\n", + "\n", + "for value in wavelengths:\n", + " energy = (h * c) / (value * 1e-9) # J\n", + " if energy >= workfunction:\n", + " print(value, \"nm will release an electron\")\n", + " else:\n", + " print(value, \"nm will NOT release an electron\")\n", + "```\n", + "\n", + "The output of this code works, but is a bit difficult to read. Perhaps you could try instead appending to a list of wavelengths that do release an electron and a list of wavelengths that do not release an electron.\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Question 2\n", + "\n", + "Some IR data has been retrieved after a lab. Every peak retrieved by the system has been saved as a list of wavelengths (in cm-1) and a separate list of corresponding transmittance. \n", + "\n", + "Any peaks with a wavenumber below 1500 cm-1 belong to the 'fingerprint zone', and needs to be discarded. A transmittance of 100% means that all light has passed through the compound, and for this particular lab, any transmittance above 95% can be considered background noise, and be discarded. \n", + "\n", + "Using the following data, print the peak values that should be considered in analysis, and append them to separate lists of shifts and transmittance for use later.\n", + "\n", + "```Python\n", + "peak_shift = [3542.63, 3497.12, 3077.12, 3002.03, 2930.46, 2925.47, 2919.60, 2740.36, 1730.00, 1715.89, 1710.20, 1705.23, 1700.458, 1599.30, 1434.42, 1109.34, 808.34, 550.02, 428.43] # cm-1\n", + "peak_transmittance = [66, 73, 41, 57, 95, 96, 97, 70, 38, 35, 97.2, 95.9, 96.1, 50, 59, 97.8, 99.0, 74, 66.0] # %\n", + "```\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "This is the perfect opportunity to use ``zip()``. Do not worry if your code looks a bit different.\n", + "\n", + "```Python\n", + "# Data retrieved from the lab.\n", + "peak_shift = [3542.63, 3497.12, 3077.12, 3002.03, 2930.46, 2925.47, 2919.60, 2740.36, 1730.00, 1715.89, 1710.20, 1705.23, 1700.458, 1599.30, 1434.42, 1109.34, 808.34, 550.02, 428.43] # cm-1\n", + "peak_transmittance = [66, 73, 41, 57, 95, 96, 97, 70, 38, 35, 97.2, 95.9, 96.1, 50, 59, 97.8, 99.0, 74, 66.0] # %\n", + "\n", + "# Empty lists of the major peaks we want to keep\n", + "maj_peak_shift = []\n", + "maj_peak_transmittance = []\n", + "\n", + "# Zip the two data lists together to consider both element-wise\n", + "for shift, transmittance in zip(peak_shift, peak_transmittance):\n", + " # We will only keep data if its shift is above 1500 AND its transmittance is below 95\n", + " if shift > 1500 and transmittance < 95:\n", + " print(f\"{shift} cm-1, {transmittance} %\")\n", + " maj_peak_shift.append(shift)\n", + " maj_peak_transmittance.append(transmittance)\n", + " else:\n", + " continue\n", + " \n", + "print(maj_peak_shift)\n", + "print(maj_peak_transmittance)\n", + "```\n", + "\n", + "Try out this code. Does the output of this code match yours? \n", + "\n", + "Let's talk through it step by step.\n", + "\n", + "- First we have defined out lists of data, and our empty lists to contain our major peaks.\n", + "\n", + "- With a `for` loop, we have zipped the two lists together. Values in the list `peak_shift` are given the temporary variable name `shift` and values in the list `peak_transmittance` are given the temporary variable name `transmittance`. \n", + "\n", + "- With an `if` statement, we are checking that two comparisons are *both* true using the logical operator `and`. For each loop, we must ensure that the shift is greater than 1500 AND the transmittance is less than 95.\n", + "\n", + "- The lines of indented code just after the `if` statement will only run *if* both comparisons above are True. The peak wavenumber and its transmittance are printed, and both numbers appended to separate lists. \n", + "\n", + "- The `else:` statement contains the indented word `continue` and nothing else. If either of the comparisons in the `if` statement are False, the code will simply *continue* onto the next loop. \n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Learning Objectives\n", + "\n", + "- Use a ``for`` loop\n", + "- Iterate through a loop and using ``range()``" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Summary\n", + "\n", + "- The syntax of a ``for`` loop is: ``for i in list:``, and the code within the loop is on the lines immediately following it, indented using ````\n", + "- If retrieving a value in a nested list, you can use ``i[0]`` to retrieve the first item, ``i[1]`` to retrieve the second item, and so on. It is not recommended to use Python lists for anything higher than a 2-dimensional list, as it gets confusing very quickly. Instead, you might want to consider [NumPy](../common_libs/Introduction_to_NumPy.ipynb) arrays (covered in a further lesson).\n", + "- When iterating through two related lists of the same size, you can associate them pairwise using the ``zip()`` function. The syntax is: ``for i, j in zip(list1, list2):``. The two lists MUST be the same dimensions.\n", + "- You can assign each item in a list an index value using the ``enumerate()`` function. The syntax is: ``for index, value in enumerate(list):``.\n", + "- Use the ``range()`` function to iterate a set number of times. The syntax is: ``for i in range(2,8,1))``, where '2' is the start number, '8' is the end number (which, if printed, would be '7' because of Python's zero-indexing), and '1' is the increase step (which can be negative if you are counting down). If you only put a single number into the ``range()`` function, it will count from 0 up to but not including the number you have put in. \n", + "- The built-in function ``len()`` will find the length of a list.\n", + "- Loops inside of loops can compare every combination, iterate multiple actions on each element in a list, and more.\n", + "- ``continue`` will move the program onto the next iteration of the loop.\n", + "- ``break`` will end the loop entirely" + ] + } + ], + "metadata": { + "colab": { + "provenance": [] + }, + "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.12.3" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/lessons/loops_functions/functions_and_scope.ipynb b/lessons/loops_functions/functions_and_scope.ipynb index ad79c3f8..e8d369ba 100644 --- a/lessons/loops_functions/functions_and_scope.ipynb +++ b/lessons/loops_functions/functions_and_scope.ipynb @@ -9,20 +9,18 @@ "\n", "## Prerequisites\n", "\n", - "- Variables and Data Types\n", - "- Mathematical Operators\n", - "- Conditional Execution\n", - "- Loops\n", + "- [Variables and Data Types](../variables/Variable_data_types.ipynb)\n", + "- [Mathematical Operators](../variables/mathematical_operators.ipynb)\n", + "- [Conditional Statements](../loops_functions/conditional_statements.ipynb)\n", + "- [For Loops](../loops_functions/for_loops.ipynb)\n", "- Lists, Dictionaries and Tuples\n", "\n", "## Learning Objectives\n", "\n", - "- To learn how to re-run code which will be used often\n", - "- To understand the purpose of a function\n", - "- Understanding how function arguments work\n", - "- Understanding how functions return information\n", - " \n", - " \n" + "- To understand the purpose of a function, how they are written, and how they are called.\n", + "- To define your own functions, and use them in your code.\n", + "- To understand function arguments and return statements.\n", + "- To write and use a docstring." ] }, { @@ -30,181 +28,286 @@ "id": "1c23b1aa-bffb-4400-867c-042a065273f8", "metadata": {}, "source": [ - "## Functions\n", - "\n", - "When running Python scripts, we often use statements to change or read the values of variables. Take the following code, for instance, which looks to add up the values of numbers in a list. Here we can use it to generate the molecular mass of a molecule from a list of atomic masses. The script iterates through the list, and adds each element in it to a running total variable, which at the end of the function contains the total:" + "## Functions\n" ] }, { - "cell_type": "code", - "execution_count": null, - "id": "9c60cd53-dab9-4810-9ec2-6bc1914af9a9", + "cell_type": "markdown", + "id": "9989ffd4", "metadata": {}, - "outputs": [], "source": [ - "m1 = [12,12,1,1,1,1]\n", + "We have already seen a number of functions in Python, although you might not have realised that that's what they were. For example, the built-in functions, ``print()``, ``range()``, ``type()``, ``len()``, as well as some those from the module ``math``, including ``math.cos()`` and ``math.log10()``. Each of these functions do a specific task which would take a long time to write out by hand in your program. Each function takes one or multiple inputs (known as **arguments**), which you place inside the brackets (like ``print(\"hello\")``, where in this case the string ``\"hello\"`` is the argument, and word 'hello' is returned on your console). You don't need to write a script explaining to the computer how to translate the input and put it onto your screen, because it is already linked to the word ``print()``, which runs all that code automatically once typed. \n", + "\n", + "Long story short, functions save time.\n", + "\n", + "This is relevant because we will want to use the same lines of code over and over again. For example, the code below takes a list of atomic masses and iterates through it, adding each individual atom mass to output the total molecule's mass.\n", + "\n", + "```Python\n", + "ethene_atom_masses = [12.011, 12.011, 1.008, 1.008, 1.008, 1.008]\n", "\n", - "m1_total = 0\n", + "total_mass = 0\n", "\n", - "for i in m1:\n", - " m1_total += i\n", + "for atom_mass in ethene_atom_masses:\n", + " total_mass = total_mass + atom_mass\n", "\n", - "print(m1_total)\n" + "print(total_mass)\n", + "```\n", + "\n", + "It works to add up the numbers in the list, and if we're just doing it only once, it will serve perfectly fine. However, if you had another list you needed to add up this way, you would need to write this expression again. If you had 100 lists, you could be spending a lot of time writing just these few lines of code.\n", + "\n", + "This is where functions come in. \n", + "\n", + "In Python, you can define your own function that will run these lines of code for you, so by just typing a short phrase, like ``add_atomic_masses()``, the program will run these lines of code. The next section describes how to go about defining your function. " ] }, { "cell_type": "markdown", - "id": "6603b780-f776-4993-9f61-b02a303b5e8a", + "id": "c4c048a9-fa8c-43d2-ae91-48939a2d02c2", "metadata": {}, "source": [ - "This code works well to add up the numbers in the list, and if we're just doing this once, will serve perfectly fine. However, if you had another list you needed to add up this way, you would need to write this expression again. If you had 100 lists, you could be spending a lot of time writing just these few lines of code." + "## Defining functions\n" ] }, { "cell_type": "markdown", - "id": "c4c048a9-fa8c-43d2-ae91-48939a2d02c2", + "id": "f04a6451", "metadata": {}, "source": [ - "## Defining functions\n", + "Defining functions, like the rest of Python, always takes a specific syntax. This is:\n", + "\n", + "```Python\n", + "def function_name(an_argument):\n", + " Code block, e.g. doing maths on an_argument\n", + " return an_output\n", + "```\n", + "\n", + "- ``def`` indicates that we are about to define a new function. \n", + "- ``function_name()`` is what we will use to call our function later on.\n", + "- ``(an_argument)`` is the variable that the function will act on, known as the function's argument. It could be a number, string, list, etc., but whatever it is, we need to make sure that we treat it like the correct variable type throughout the main code block. \n", + "- ``:`` indicates the start of the code that will run whenever we call our function.\n", + "- ``Code block`` is a placeholder indicating the main body of the code. This could be a calculation, reading from a file, or many other things. The main body of the code is indented using the ```` key, just like with 'if', 'for, and 'while'. All the code belonging to this function must be indented and directly below the line ``def function_name():``. You can use 'if', 'for' and 'while' within this code block, but they must respect the first indent.\n", + "- ``return`` indicates the end of the function, and must be one indent away from the margin (unless it is nested within another statement - more on that later). The real meaning of ``return`` is that the variables which comes after it (in this case, ``an_output``) are what the function will spit out (or return) at the end. In reality, this means you could have a ``return`` statement halfway down your function.\n", + "- ``an_output`` is what this function will return at the end of its process. You can have multiple outputs (discussed later) separated by commas. \n", + "\n", + "Using this syntax, we will now turn the above code for adding masses into a function. \n", "\n", - "Functions offer a way for us to package up frequently-run code into an easily callable package, which we can call repeatedly. Let's now wrap the code used to add up the list elements in a function, called `add_up`" + "```Python\n", + "def add_atomic_masses(list_of_atoms):\n", + " total_mass = 0\n", + " for atom_mass in list_of_atoms:\n", + " total_mass = total_mass + atom_mass\n", + " return total_mass\n", + "```\n", + "\n", + "The function's argument (what we are putting in) has been named ``list_of_atoms``, instead of the more specific ``ethene_atom_masses``. This is because we want this function to be general, to apply not only to a list of atoms in ethene, but also to other lists containing the masses of atoms in other molecules.\n", + "\n", + "Another thing you will notice is that the variable ``list_of_atoms`` is treated like a list even though it is never explicitly defined as such. When you call your function (discussed in the next section), you must make sure your input is the correct variable type.\n" ] }, { - "cell_type": "code", - "execution_count": null, - "id": "d03d38ba-1447-4f03-86b0-6c09c09297af", + "cell_type": "markdown", + "id": "41c61d71", "metadata": {}, - "outputs": [], "source": [ - "def add_up(list_of_atoms):\n", - " total = 0\n", - " for atom in list_of_atoms:\n", - " total += atom\n", - " return total" + "## Calling functions" ] }, { "cell_type": "markdown", - "id": "59c43866-bfd3-4e98-abe9-fa41d97cf5b1", + "id": "0f0e0996", "metadata": {}, "source": [ - "To turn our adding up into a function, we have added a line before and after. To start with, we have added the statement `def add_up(list_of_atoms):` to the start of our code. This tells Python that we are defining a function, and that it is to treat all indented lines following the colon as part of the function. The `list_of_atoms` contained within the brackets is the function's _argument_. Functions can take many arguments (or none) but this function just takes one: the list which we are asking it to add up. \n", + "Now that we have created our function ``add_atomic_masses()``, we need to know how to use it in our program. To run the function on a list, we just need to write ``add_atomic_masses(my_list)``. To make the output useable, we then set this to a variable, such as ``formaldehyde_mass = add_atomic_masses(formaldehyde_atom_masses)``, as seen below.\n", "\n", - "Following the iterative adding process, the function is asked to `return` the total. Whatever is on the return line of the function is what the function will give back once it has finished running. Occasionally functions will just end in `return`, but generally something should be put on this line so that the function can pass it back. \n", + ">```Python\n", + ">formaldehyde_atom_masses = [15.999, 12.011, 1.008, 1.008]\n", + ">\n", + ">formaldehyde_mass = add_atomic_masses(formaldehyde_atom_masses)\n", + ">\n", + ">print(formaldehyde_mass, \"g mol-1\")\n", "\n", - "Below, we use our new `add_up` function to perform the same operation on `l1` and store the result in variable `x`:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4a30ee2e-a69a-4495-b681-cb58d2437655", - "metadata": {}, - "outputs": [], - "source": [ - "x = add_up(m1)\n", + "The output of this is:
\n", + "`30.025999999999996 g mol-1`\n", + "\n", + "An important thing to note is that you can only reference variables from within your function definition if they appear on the ``return`` line. In this case, we can only access `total_mass` (which has been renamed to `formaldehyde_mass`). If `total_mass` did not appear on the return line we would not be able to refer to it. \n", + "\n", + "This would work exactly the same with another list of atoms, for example:\n", "\n", - "print(x)" + ">```Python\n", + ">glycine_atom_masses = [1.008, 1.008, 14.007, 12.011, 1.008, 1.008, 12.011, 15.999, 15.999, 1.008]\n", + ">\n", + ">glycine_mass = add_atomic_masses(glycine_atom_masses)\n", + ">\n", + ">print(glycine_mass)\n", + "\n", + "Try putting all three chunks of code into the same program and run it. Be careful though, your function should always be defined at the beginning. \n", + "\n", + "Below is another example of calling a function. In this example, we are calling the function within a ``for`` loop. \n", + "\n", + ">```Python\n", + ">many_sets_of_atoms = [\n", + "> [12.011,12.011,1.008,1.008,1.008,1.008],\n", + "> [12.011,1.008,1.008,1.008,12.011,15.999,12.011,1.008,1.008,1.008],\n", + "> [12.011,12.011,12.011,12.011,12.011,12.011]\n", + ">]\n", + ">\n", + ">total_masses = []\n", + ">\n", + ">for atom_mass_list in many_sets_of_atoms:\n", + "> calculated_mass = add_atomic_masses(atom_mass_list)\n", + "> total_masses.append(calculated_mass)\n", + ">\n", + ">print(total_masses)\n", + "\n", + "This code takes each nested list within the list ``many_sets_of_atoms`` and adds up the values within, then appends them to a new list containing only the final masses. In fact, ``.append()`` is another built-in Python function which we have seen before. It is associated with a certain list, signified by ``.`` (in this case, associated with the list ``total_masses``), and the argument is what you want to put into the list (in this case ``calculated_masses``)." ] }, { "cell_type": "markdown", - "id": "d417fb60-282e-4457-a911-c0f94b50afb4", + "id": "49ccc08e", "metadata": {}, "source": [ - "## Scope\n", + "
\n", + "
Exercise: Write a function to convert units \n", "\n", - "You may be asking why we need the `return total` statement in our code, as we should be able to reference just the variable `total` which is used as our running total during the function's loop. However, if we try that, we will get an error:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f8a25e4c-cd67-4ae3-a784-a8f7b1078cd2", - "metadata": {}, - "outputs": [], - "source": [ - "x = add_up(m1)\n", + "---\n", + "\n", + "Write a function that will convert eV to J by multiplying by 1.602×10-19. Do this for:\n", + "\n", + "1. A single value of 4.08 eV. Print the answer, and remember to include units.\n", + "\n", + "2. The following list of workfunctions: ``metal_workfunctions = [4.08, 5.0, 4.07, 2.9, 4.81, 2.1, 5.0, 4.7, 5.1, 4.5] # eV``.\n", + " \n", + " 2.1. Print the new list of workfunctions in J.\n", + "\n", + " 2.2. Print each item in the list on a new line. Include units. \n", "\n", - "print(total)" + "
\n", + "

" ] }, { "cell_type": "markdown", - "id": "fc7bffb4-2db8-4ab2-9570-49a13975ec9b", + "id": "64cc781b", "metadata": {}, "source": [ - "Here, Python is telling us that the variable named `total` is not defined. This highlights an important feature of functions in Python. Functions only return what is included on the return line, and any other variables which we define in them which are not returned are lost once the function has finished executing. However, this is not true the other way around. Functions *do* have access to variables which have not been given to them explicitly as arguments.\n", + "
\n", + " Click to view answer for Part 1\n", "\n", - "In the code below we can initialise a variable `string` which contains the string `\"benzene\"`. We can then also initialise the function `read_string()` which takes no arguments, but prints the value of the variable `string`. If we call this function, we can see that the string `benzene` is printed to the console." + "In part 1, we are creating a function to take a single variable as an argument and return a single variable. \n", + "\n", + "```Python\n", + "eV_value = 4.08 # eV\n", + "\n", + "def convert_eV_J(value_eV):\n", + " value_J = value_eV * 1.602e-19\n", + " return value_J\n", + "\n", + "print(convert_eV_J(eV_value), \"J\")\n", + "```\n", + "\n", + "You should have got the output: 6.53616e-19 J .\n", + "\n", + "Instead of creating another variable to describe the new value in Joules, this piece of code executes the function within a ``print()`` statement. If we wanted to use this value again later, it would be better to store it in a relevantly named variable.\n", + "\n", + "

" ] }, { - "cell_type": "code", - "execution_count": null, - "id": "b8cdf670-d3e8-4504-8240-4628fd65ec6a", + "cell_type": "markdown", + "id": "14b129da", "metadata": {}, - "outputs": [], "source": [ - "string = \"benzene\"\n", + "
\n", + " Click to view answer for Part 2\n", "\n", - "def read_string():\n", - " print(string)\n", - " return\n", + "In Part 2, we need to take the program we wrote above, and convert it to take a list as an argument, and also return a list.\n", + "\n", + "```Python\n", + "metal_workfunctions = [4.08, 5.0, 4.07, 2.9, 4.81, 2.1, 5.0, 4.7, 5.1, 4.5] # eV\n", + "\n", + "# Converts a list in eV to a list in J\n", + "def convert_eV_J(list_value_eV):\n", + " list_value_J = []\n", + " for value in list_value_eV:\n", + " value_J = value * 1.602e-19\n", + " list_value_J.append(value_J)\n", + " return list_value_J\n", + "```\n", + "\n", + "Once you have this, you can then either print the whole list in a similar way to Part 1:\n", + "\n", + "```Python\n", + "print(convert_eV_J(metal_workfunctions))\n", + "```\n", + "\n", + "Or you can print each value on a new line:\n", "\n", - "read_string() # Note here that even though readfoo takes no arguments, we still need to supply some empty brackets after it when calling it.\n" + "```Python\n", + "for num in convert_eV_J(metal_workfunctions):\n", + " print(num, \"J\")\n", + "```\n", + "\n", + "Try both. Although lists are better to use throughout the rest of a program, it is easier to look at when they have a new value on each line. \n", + "\n", + "

" ] }, { "cell_type": "markdown", - "id": "ba898076-1abc-45bc-9198-2d22fc0bbdb3", + "id": "7f2b2e67", "metadata": {}, "source": [ - "This shows us that even though we did not explicitly pass the variable `string` to our function, it was able to find the value of the variable `string` and output it to the console anyway. This is because `string`, having been declared in our main script, is a *global* variable, in contrast to function variables, which are *local* variables. Remember that if you see an error like this in your code output, it is likely because you have referenced a value which only exists inside the function from outside of it. " + "## Function Scope" ] }, { "cell_type": "markdown", - "id": "10374f42-0a0f-4457-b3b7-b0f8443d3fd9", + "id": "cffc10a9", "metadata": {}, "source": [ - "## Calling functions\n", + "In Python, the word 'scope' refers to the parts of the program in which a variable or function name is valid. For example, if you define a variable at the top of one Python file, you cannot retrieve that variable from another Python file, but you can refer to it from anywhere within the program it belongs to. It is a global variable.\n", "\n", - "Now that we've written our `add_up` function, we can use it to add up lots of lists very quickly. Here, we can define a list of lists, then iterate through that to provide a list of their totals. To call the function, all we need to do is write the name of the function, and enclose the list on which we would like it to operate in the brackets:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6f554c80-ff5a-4db0-b432-ef087b1d5252", - "metadata": {}, - "outputs": [], - "source": [ - "many_sets_of_atoms = [\n", - " [12,12,1,1,1,1],\n", - " [12,1,1,1,12,16,12,1,1,1],\n", - " [12,12,12,12,12,12]\n", - "]\n", + "Within a function, there is what is called a 'local scope'. This means that variables created within the function cannot be referred to outside the function unless it has been specified to by ``return``, and assigned a new variable name. They are local variables.\n", "\n", - "totals = []\n", + "Here is an example, using the above function ``add_atomic_masses``. \n", "\n", - "for atom_set in many_sets_of_atoms:\n", - " set_total = add_up(atom_set)\n", - " totals.append(set_total)\n", + "```Python\n", + "water_atom_masses = [15.999, 1.008, 1.008]\n", "\n", + "water_mass = add_atomic_masses(water_atom_masses)\n", "\n", - "print(totals)" - ] - }, - { - "cell_type": "markdown", - "id": "8e0c9d02-ebf4-4467-83d5-d281a3cb6132", - "metadata": {}, - "source": [ - "In the example above, we are actually calling two functions every time our loop executes. The first is the `add_up` function which we have written, but the second is a the function we use to add the number to the list. We call the `list.append()` function, which adds its argument to the end of the list. Note here that the dot `.` between the `totals` and `append` is a signifier that this append function is specifically associated with the list stored in the `totals` variable. This type of function is quite common in Python, but is outside the scope of this lesson. For now, the important thing to note from this is that due to this association, we do not need to pass the `totals` list as an argument to the `append` function. \n", + "print(total_mass)\n", + "```\n", + "\n", + "``total_mass`` is a name we gave to our output when defining our function, but if we then try to print it outside the function, Python will return a 'name not defined' error. The name ``total_mass`` belongs to the local scope of the function, and therefore the name cannot be referred to in the rest of the program. However, we can refer to it indirectly and reassign it a new variable name (in this case ``water_mass``).\n", + "\n", + "Thinking in reverse, a function does however have access to variables which have not been given to them explicitly as arguments. For example, below is a function which converts pressure in bar to pressure in mmHg. The conversion rate is 1 bar to 750.062 mmHg, which is stored in a variable before the function. The function is still completely valid, and will work just as well as any of the other examples. \n", + "\n", + "```Python\n", + "bar_mmHg_conversion = 750.062\n", + "\n", + "def pressure_conversion(a_pressure):\n", + " pressure_mmHg = a_pressure * bar_mmHg_conversion\n", + " return pressure_mmHg\n", + "```\n", + "\n", + "The thing to be mindful of when doing this is to keep track of your variables! If you start changing them around, or copy and paste a function from one program into another, your variables might result in errors! It is also possible to reuse a variable inside the function without wanting to.\n", + "\n", + "```python\n", + "scount = 5\n", + "\n", + "def sum_list(list_to_sum):\n", + " for entry in list_to_sum:\n", + " scount = scount + entry\n", + " \n", + " return scount\n", "\n", - "Python has a huge amount of pre-set functions, many of which you may have already used. The `print()` and `type()` functions are ubiquitious in Python programming, but there are also many other functions which are pre-packaged in Python. In fact, the function that we have been looking at so far, `add_up()` replicates the behaviour of the inbuilt Python `sum()` function. " + "mylist = [1,2,3,4,5]\n", + "\n", + "mysum = sum_list(mylist)\n", + "```\n", + "In this example it is likely that the variable scount is meant to start at 0, but is likely to start at 5, giving the wrong answer." ] }, { @@ -214,279 +317,1247 @@ "source": [ "## More complex functions\n", "\n", - "So far we have covered basic functions, but there are more complex facets to function writing. In this section, we will look at a few of these facets, although there are many more which will not be covered here.\n", + "So far we have covered basic functions, but there are more complex facets to function writing. Some of these complex facets are not often used, especially by beginners, so do not feel you have to memorise all of them. The most important aspects are: empty arguments and return, multiple return conditions, and multiple positional arguments. \n", "\n", - "### Multiple return conditions\n", "\n", - "Functions we have written so far have only had one return statment right at the end. This is not, however, a requirement. A function can have a return statement anywhere, and it can have more than one. This is usually encountered when functions contain if statements, where depending on whether the conditions are met, different sections of the function may execute. Take the below function, for example, which checks if a supplied letter is a vowel or not:\n", "\n" ] }, { - "cell_type": "code", - "execution_count": null, - "id": "03ea1aea-92db-4b13-97cd-ef159f206cd3", + "cell_type": "markdown", + "id": "b70a96a7", "metadata": {}, - "outputs": [], "source": [ - "def is_vowel(letter):\n", - " if type(letter) is not str or len(letter) != 1:\n", - " print(\"Input must be a single character\")\n", - " return None\n", - " elif letter in [\"a\",\"e\",\"i\",\"o\",\"u\"]:\n", - " return True\n", - " else:\n", - " return False" + "### Functions without arguments and/or return variables" ] }, { "cell_type": "markdown", - "id": "354eeb4c-e5bf-42ed-b877-9550d7f30730", + "id": "2b554baf", "metadata": {}, "source": [ - "There are three different possible return values in the above function, depending on the input. The first conditional statement confirms that a single character has been passed to the function as a string. There are more sophisticated ways to handle this sort of error, but these are outside the scope of this lesson. The key thing here is that based on this test, we can have the function return `None` rather than true or false, if an incompatible input is supplied. Following this, the function uses if/else tests to check if the single character is a vowel or not. \n", - "\n", - "We can also return more than one thing on the return line. If we define a function which uses the inbuilt python `min()` and `max()` functions to return the largest and smallest items in a list, we can return both in one statement:" + "It is possible to create a function that takes no arguments and returns no variables. All you do is write the function name with nothing in the brackets, add your code, and write return. When you call the code, do not put in any arguments. An example is shown below. " ] }, { "cell_type": "code", "execution_count": null, - "id": "1fcf6271-7e69-43c3-bd14-de1e1aff0c7f", + "id": "8ea44927", "metadata": {}, "outputs": [], "source": [ - "def minmax(number_list):\n", - " min_value = min(number_list)\n", - " max_value = max(number_list)\n", - " return min_value, max_value" + "def write_message():\n", + " print(\"This is an important message. It could be an error message, or a long output that you want to call multiple times. An interesting thing about it is that it has no inputs and returns no outputs. Strange, right? Whatever it is, it is very important. Important enough and long enough that I want to give it its own function. A function just for this message. Imagine that. Being so important you get your own function. Well this is what this message is. A very, very important one. It is so important that I don't want to store it as a mere string inside a variable, for fear that it may get accidentally overwritten by some other, less important message. No. It needs - no, **deserves** its own function. A function that takes no inputs and returns no outputs. Just this message. This very, very, important, long, message. Have you made it this far? I should hope so. You shouldn't skip such an important message, especially when you know it is so important. I said that at the beginning, didn't I, that this message was important. Do you remember? Seems so long ago now. Like yesterday, last month, last year, last decade, a time before you were born. The world was a different place, and yet still it still spun, endlessly, through the dark void of space, days still passed and the sun and moon rose and set, the stars endlessly identical, passing over the horizon, infinite worlds stretching out into the cosmos, vast and unknowable. Makes you think, doesn't it, about life, the universe, and everything. Hm? What was that? What is the message, you ask? Oh, can't remember now. Couldn't be that important now, could it?\")\n", + " return\n", + "\n", + "write_message()" ] }, { - "cell_type": "code", - "execution_count": null, - "id": "279c982c-39a6-4414-a5e9-487979d3eb8e", + "cell_type": "markdown", + "id": "98cbe94f", "metadata": {}, - "outputs": [], "source": [ - "x = minmax([1,2,3])\n", - "\n", - "print(x)\n", - "\n", - "y,z = minmax([1,2,3])\n", + "The function ``write_message()`` has been called later on in the code simply by typing ``write_message()`` on a new line, at which point the message will be printed to the screen. This is the simplest kind of function - no arguments and no returned variables, and it only does one thing. Therefore, these often have limited uses. Keep in mind, however, that some functions can take no arguments but return a variable, and vice versa. It is important to use the correct syntax depending on the function.\n", "\n", - "print(y)\n", - "print(z)" + "Note also, that even though the function takes no argument, you must still supply empty brackets in order to use it. " ] }, { "cell_type": "markdown", - "id": "9db49603-743b-43ee-9351-3a3cf09a8008", + "id": "199b97f9", "metadata": {}, "source": [ - "As you can see above, when we store the output of this function in a single variable, it is returned as a tuple containing both values. However, in Python we can also use the multiple assignment variable unpacking feature to assign the minimum and maximum values in a single statement. This sort of behaviour is useful when we want to return and assign multiple variables from a single function." + "### Multiple return conditions" ] }, { "cell_type": "markdown", - "id": "14e8bd90-4002-4b5e-92eb-8a6fe0eee1a1", + "id": "f2b126d3", "metadata": {}, "source": [ - "# Debugging\n", - "\n", - "The following code chunks have errors in them. See what output the chunk is currently providing, and fix the errors to give the expected output" + "So far, all the functions we have seen have only one `return` statement, in which only one variable is returned. But not only is it possible to return multiple variables, it is also possible to use multiple `return` statements within the function. " ] }, { - "cell_type": "code", - "execution_count": null, - "id": "47374f25-3d38-4b46-9442-acdff2dddd26", + "cell_type": "markdown", + "id": "3a226cf5", "metadata": {}, - "outputs": [], "source": [ - "def say_hello():\n", - " print(\"Hello World\")\n", + "
\n", + " Returning multiple outputs\n", "\n", + "So far, our functions have only returned one variable. However, it is possible to return multiple values. \n", "\n", - "say_hello\n", + "This is a function which returns both the maximum and the minimum of a list of numbers:\n", + "\n", + "```Python \n", + "def minmax(number_list):\n", + " min_value = min(number_list)\n", + " max_value = max(number_list)\n", + " return min_value, max_value\n", "\n", - "#Expected output: Hello World" + "masses = [1.008, 12.011, 14.007, 6.94]\n", + "\n", + "min_mass, max_mass = minmax(masses)\n", + "print(min_mass)\n", + "print(max_mass)\n", + "```\n", + "\n", + "This returns:\n", + "
\n", + "1.008
\n", + "14.007
\n", + "
\n", + "\n", + "Note the following:\n", + "- The two variables we want from the function are both on the ``return`` line, separated by a comma.\n", + "- When we use the function, we need to assign it two variables: ``min_mass`` and ``max_mass``.\n", + " - If we do not do this, we will get the result as a tuple (see [variable lesson](../variables/Variable_data_types.ipynb)). For example:\n", + " ```Python\n", + " mass = minmax(masses)\n", + " print(mass)\n", + " ```\n", + "\n", + " Will return: (1.008, 14.007), a tuple. This is not a data type you, as a beginner, will often use. \n", + "- If you only want one of the returned variables, you can put a double underscore ``__`` to indicate that you will not retrieve that answer: ``min_mass, __ = minmax(masses)``. \n", + " The function is 'throwing away' the second value. This is useful if you want to test or use only one aspect of the function, or if one of the returned variables takes up a lot of storage space, making your program slow.\n", + "\n", + "

" ] }, { "cell_type": "markdown", - "id": "4b8b293d-cc79-40e9-a83c-b8f75454aec2", + "id": "1893bde5", "metadata": {}, "source": [ - "# Exercises\n", + "
\n", + " Using multiple return statements\n", + "\n", + "So far, all our functions have had one ``return`` statement, right at the end, but this is not a requirement. A function can have a return statement anywhere, and it can have more than one. This is usually encountered when functions contain `if` statements, where depending on whether the conditions are met, different sections of the function may execute. \n", + "\n", + "The below function checks if a given elemental symbol is a noble gas or not using [Boolean logic](../variables/Comparisons.ipynb). There are three different possible return values in the above function, depending on the input.\n", + "\n", + "```Python \n", + "def is_noble_gas(symbol):\n", + " if type(symbol) is not str or len(symbol) > 2:\n", + " print(\"Input must be a 1 or 2 character elemental symbol\")\n", + " return None\n", + " elif symbol in [\"He\", \"Ne\", \"Ar\", \"Kr\", \"Xe\", \"Rn\", \"Og\"]:\n", + " return True\n", + " else:\n", + " return False\n", + "```\n", "\n", - "1. Write a function that takes one argument, `num`, and returns `True` if it is even and `False` if it is odd. \n", + "The first conditional statement confirms that a symbol of no more than two characters has been passed to the function as a string. There are more sophisticated ways to handle this sort of error, but these are outside the scope of this lesson. The key thing here is that based on this test, we can have the function return `None` rather than True or False, if an incompatible input is supplied. \n", "\n", - "Remember that the modulo operator (%) returns the remainder of the left hand quantity when divided by the right hand quantity." + "The second conditional statement checks if the symbol is a noble gas. If it is, the function will finish and return True. \n", + "\n", + "The last statement is ``else:``. Now that we have eliminated every other option, the inputted symbol cannot be a noble gas. \n", + "\n", + "However, it is important to recognise limitations. This code would not flag the first ``if`` statement for strings with integers ``\"10\"``, empty strings ``\"\"``, or made-up symbols ``\"TM\"``. You could fix this by adjusting the comparative statement to exclude strings of length 0, and add an 'elif' statement checking that the given symbol is within a list containing all the symbols of the periodic table. It is also quite common to store the periodic table in a dictionary, where the key:value pairs are element_name:element_mass. Return to the [variables lesson](../variables/Variable_data_types.ipynb) for revision on dictionaries. \n", + "\n", + "

" ] }, { - "cell_type": "code", - "execution_count": null, - "id": "950d5308-327c-41f4-9560-3d96e72996e2", + "cell_type": "markdown", + "id": "1961efb0", "metadata": {}, - "outputs": [], - "source": [] + "source": [ + "
\n", + "
Exercise: Returning two values \n", + "\n", + "---\n", + "\n", + "Write a program that returns both the energy in J and the energy in eV in separate lists, taking a list of wavelengths as an argument.\n", + "\n", + "$ E = \\frac{hc}{\\lambda} $\n", + "\n", + "Remember: To convert from J to eV you must divide by 1.602 $\\times$ 10-19.\n", + "\n", + "\n", + "wavelengths_light = [276, 59, 0.5, 1183, 52, 0.002, 127, 474] # nm\n", + "\n", + "\n", + "
\n", + "
" + ] }, { "cell_type": "markdown", - "id": "abf7a379-edaf-4d04-857a-ba5ffccd01c4", + "id": "f22eb8bd", "metadata": {}, "source": [ - "2. Using your function above, write a function which takes a list of integers, and returns only the even integers of this list" + "
\n", + " Click to view answer\n", + "\n", + "```Python\n", + "def energy_calc(wavelengths):\n", + " # Constants\n", + " h = 6.626e-34 # m^2kgs^-1\n", + " c = 3.00e8 # ms^-1\n", + " \n", + " # Empty lists of energies\n", + " E_J = []\n", + " E_eV = []\n", + "\n", + " # Iterate through wavelength list, calculate energies in J and eV and append to our lists. \n", + " for value in wavelengths:\n", + " energy_J = (h * c) / (value * 1e-9) # J\n", + " energy_eV = energy_J / 1.602e-19 # eV\n", + " E_J.append(energy_J)\n", + " E_eV.append(energy_eV)\n", + " \n", + " # Return 2 values. \n", + " return E_J, E_eV\n", + "\n", + "wavelengths_light = [276, 59, 0.5, 1183, 52, 0.002, 127, 474] # nm\n", + "\n", + "energy_light_J, energy_light_eV = energy_calc(wavelengths_light)\n", + "print(f\"The energies in J are: {energy_light_J}\")\n", + "print(f\"The energies in eV are: {energy_light_eV}\")\n", + "```\n", + "\n", + "In this code, we are defining our constants h and c within the function. This means if you want to copy this function to a new program, you do not need to worry about ensuring the correct variables are defined in the program. It also prevents name clashes (there might, for some reason, be a different variable also called `c` in another program). \n", + "\n", + "

" ] }, { - "cell_type": "code", - "execution_count": null, - "id": "cbe33a5b-28c9-433f-a8ab-8bea29570d2b", + "cell_type": "markdown", + "id": "4f9071ba", "metadata": {}, - "outputs": [], - "source": [] + "source": [ + "### Multiple Arguments" + ] }, { "cell_type": "markdown", - "id": "7a07fe93-0917-4b8b-ac26-cc6c13353b25", + "id": "2d2ff6b0", "metadata": {}, "source": [ - "3. The function `add_up()` defined earlier in the document accepted a list of atomic masses. However, molecules are more generally referred to using formulae rather than lists of masses. Write a series of functions as directed in the comments in the cell below to allow calculation of molecular masses from molecular formulae for simple organic molecules:" + "Your function can also take multiple arguments. You simply add them into the brackets of your function name, separated by a comma, and call them in the same way. \n", + "\n", + "```Python\n", + "def my_function(argument_1, argument_2):\n", + " Code block\n", + " return an_answer\n", + "\n", + "answer = my_function(20.10, 2003)\n", + "```\n", + "\n", + "Here is an example of a function to calculate the number of mols from a given mass and molecular mass.\n", + "\n", + ">```Python\n", + ">def no_mols(mass, molar_mass):\n", + "> n_mols = mass / molar_mass\n", + "> return n_mols\n", + ">\n", + ">aspirin_mass = 1.48 # g\n", + ">aspirin_molar_mass = 180.158 # g mol-1\n", + ">\n", + ">mols_aspirin = no_mols(aspirin_mass, aspirin_molar_mass)\n", + ">print(mols_aspirin , \"mols of aspirin\")\n", + "\n", + "Which will output 0.008215011267887077 mols of aspirin, which you can check on a calculator. \n", + "\n", + "Your arguments do not have to be the same variable type, you could have a number and a list, as long as you treat them as that variable type in your function. You can add as many arguments as you like, but be aware it might make your function hard to use if you add too many. \n", + "\n", + "Furthermore, you need to make sure you input the right number of arguments when calling your function. If your function expects two arguments but only receives one, you will get a missing argument error message, and similarly if you put in too many arguments you will get a function expects 'x' arguments but 'y' were given error." ] }, { - "cell_type": "code", - "execution_count": null, - "id": "991aba54-f8ab-4431-aba2-36fd3843401a", + "cell_type": "markdown", + "id": "5ff6d78c", "metadata": {}, - "outputs": [], "source": [ - "# The dictionary below can be used to look up an atom's mass from its symbol. \n", - "# Don't worry about other elements for the time being, you can assume that these are the only elements that matter.\n", - "# (pretend you're an organic chemist)\n", + "
\n", + " Positional Arguments\n", "\n", - "atom_masses = {\n", - " \"C\" : 12,\n", - " \"H\" : 1,\n", - " \"O\" : 16,\n", - " \"N\" : 14\n", - "}\n", + "But be careful! The arguments you see above are called positional arguments, ``arg``, and the order in which you list them when you call your function matters! \n", "\n", - "# Write a function to take a list of atomic symbols, and return a list of masses.\n", - "\n" + "Try calling the following using the above function:\n", + "\n", + "```Python\n", + "mols_aspirin = no_mols(aspirin_molar_mass , aspirin_mass)\n", + "print(mols_aspirin, \"mols of aspirin\")\n", + "```\n", + "\n", + "It will result in the output 121.72837837837837 mols of aspirin. Not the right answer! \n", + "\n", + "Positional arguments are passed into the function in the order they are listed when defining the function (in this case, ``mass`` first, then ``molar_mass``). If you put in 'aspirin_molar_mass' first, then 'aspirin_mass' when you call the function, then 'aspirin_molar_mass' will take the place of ``mass`` within the function, and 'aspirin_mass' will take the place of ``molar_mass`` within the function, resulting in the wrong division. \n", + "\n", + "

" ] }, { "cell_type": "markdown", - "id": "203732e1-509b-436a-a2b3-fcde5b3d8ab6", + "id": "33506f36", "metadata": {}, "source": [ - "# Answers" + "\n", + "
\n", + " Keyword Arguments\n", + "\n", + "A keyword argument, or ``kwarg`` is the alternative to positional arguments, and do not have to be called in a specific order. Instead, they are identifiable by the name given when defining the function, which must be referenced when calling the function. \n", + "\n", + "```text\n", + "def my_function(kwarg_1, kwarg_2):\n", + " Code block\n", + " return an_answer\n", + "\n", + "answer = my_function(kwarg_2 = 2006, kwarg_1 = 3.01)\n", + "```\n", + "\n", + "Be aware that nothing has actually changed in the function itself, it is just how the arguments are treated that makes them positional or keyword arguments. Using our example of calculating mols:\n", + "\n", + "```Python\n", + "def no_mols(mass, molar_mass):\n", + " \"\"\"kwargs: mass, molar_mass \"\"\"\n", + " n_mols = mass / molar_mass\n", + " return n_mols\n", + "\n", + "# Calculate number of mols of aspirin\n", + "aspirin_mass = 1.48 # g\n", + "aspirin_molar_mass = 180.158 # g mol-1\n", + "\n", + "# Keyword Argument\n", + "mols_aspirin = no_mols(molar_mass = aspirin_molar_mass, mass = aspirin_mass)\n", + "print(mols_aspirin, \"mols of aspirin\")\n", + "```\n", + "\n", + "Even though we have put ``aspirin_molar_mass`` and ``aspirin_mass`` in a different order than how it is in the function, the code still outputs the correct answer: 0.008215011267887077 mols of aspirin.\n", + "\n", + "Warning! If you are using both positional and keyword arguments (for example if the function takes many arguments), all the positional arguments must come before the keyword arguments.\n", + "\n", + "

" ] }, { - "cell_type": "code", - "execution_count": null, - "id": "e14aea88-2dd4-486a-8a11-ba69db8256c5", + "cell_type": "markdown", + "id": "43dad2f7", "metadata": {}, - "outputs": [], "source": [ - "# Exercise 1:\n", + "
\n", + " Default/Optional Arguments\n", "\n", - "def is_even(num):\n", - " if num%2 == 0:\n", - " return True\n", - " else:\n", - " return False\n", + "Default arguments are keyword arguments whose values are assigned within the function. They are often also referred to as optional arguments. You set it by adding ``=\"value\"`` to the end of the argument in your function. This means that even if your function takes two arguments, if one is a default argument, you only need to call one, the other will take the default value, and you won't receive an error.\n", "\n", - "print(is_even(9))\n", - "print(is_even(42))\n", - " " + "```\n", + "def my_function(arg_1, default_argument=2000):\n", + " Code Block\n", + " return an_answer\n", + "\n", + "answer = my_function(18.08)\n", + "```\n", + "\n", + "For example, if you know that throughout your program you will mostly be using ``aspirin_molar_mass``, you can set that as the default value to save time.\n", + "\n", + "```Python\n", + "def no_mols(mass, molar_mass=180.158):\n", + " n_mols = mass / molar_mass\n", + " return n_mols\n", + "\n", + "aspirin_mass = 1.48 # g\n", + "\n", + "mols_aspirin = no_mols(aspirin_mass)\n", + "print(mols_aspirin, \"mols of aspirin\")\n", + "```\n", + "\n", + "When we've called the function, we have only specified one argument (``aspirin_mass``). The other argument is automatically taken as 180.158 g mol-1.\n", + "\n", + "You can also set a default value to ``None``. None is a data type of its own (NoneType), and describes the absence of a value. \n", + "\n", + "```Python\n", + "def no_mols(mass, molar_mass=None):\n", + " if molar_mass is None:\n", + " print(\"You must have a molecular mass\")\n", + " return\n", + " n_mols = mass / molar_mass\n", + " return n_mols\n", + "\n", + "aspirin_mass = 1.48 # g\n", + "no_mols(aspirin_mass)\n", + "```\n", + "\n", + "Here, we are expecting that someone might forget the argument 'molar_mass', so we have added the optional argument 'None' to ensure we do not get errors down the line. You probably will not have much use of None as a beginner.\n", + "\n", + " Warning! When using positional, keyword, and default arguments, they must be defined in a strict order within your function. Positional arguments first, then keyword arguments, and then all your default arguments at the end. When you call your function, you must first specify your positional arguments, then your keyword arguments, and then any default arguments you wish to change. \n", + "\n", + "

" ] }, { - "cell_type": "code", - "execution_count": null, - "id": "df8b0816-99f6-4f09-8636-96c14fa153e7", + "cell_type": "markdown", + "id": "fdb290c9", "metadata": {}, - "outputs": [], "source": [ - "# Exercise 2:\n", + "
\n", + "
Exercise: Using positional and keyword arguments \n", "\n", - "def keep_evens(num_list):\n", - " evens = []\n", - " for num in num_list:\n", - " if is_even(num):\n", - " evens.append(num)\n", + "---\n", "\n", - " return evens\n", + "The cosine rule allows you to find the length of one side of a triangle, c, when you know the lengths of the other two sides, a and b, and one angle, $\\theta$. \n", "\n", - "print(keep_evens([1,2,3,4,5,6,7,8,9,10]))" + "$ c = \\sqrt{a^2 + b^2 - 2ab cos(\\theta)} $\n", + "\n", + "Write a function which will output the length of the final side of a triangle in cm, taking a positional argument of 'side_a' and 'side_b', and a keyword argument of 'angle'. \n", + "\n", + "Test your program works by using side_a = 3 cm, side_b = 4 cm, and the known angle = 15°, which should result in side_c = 1.35 cm.\n", + "\n", + " Hint! Remember that you need to import the module ``math`` to use the function ``cos()``. Also consider the units in which the function ``cos()`` works.\n", + "\n", + "\n", + "
" ] }, { - "cell_type": "code", - "execution_count": null, - "id": "22ba62ed-7af1-42f9-90dd-93cf68f828ca", + "cell_type": "markdown", + "id": "2dc6e4a2", "metadata": {}, - "outputs": [], "source": [ - "# Exercise 3:\n", + "
\n", + " Click to view answer\n", "\n", - "# The dictionary below can be used to look up an atom's mass from its symbol. \n", - "# Don't worry about other elements for the time being, you can assume that these are the only elements that matter.\n", - "# (pretend you're an organic chemist)\n", + "Here is a potential answer. \n", "\n", - "atom_masses = {\n", - " \"C\" : 12,\n", - " \"H\" : 1,\n", - " \"O\" : 16,\n", - " \"N\" : 14\n", - "}\n", + "```Python\n", + "import math\n", "\n", - "# Write a function to take a list of atomic symbols, and return a list of masses.\n", + "def triangle_side(side_a, side_b, angle):\n", + " angle = math.radians(angle)\n", + " answer = side_a**2 + side_b**2 - (2 * side_a * side_b * math.cos(angle))\n", + " answer **= 1/2\n", + " return answer\n", "\n", - "def get_masses(atoms):\n", - " mass_list = []\n", - " for atom in atoms:\n", - " mass_list.append(atom_masses[atom])\n", - " return mass_list\n", + "print(triangle_side(3, 4, angle = 15), \"cm\")\n", + "```\n", "\n", - "print(get_masses([\"C\",\"H\",\"H\",\"H\",\"C\",\"H\",\"O\"]))\n", + "Remember! When writing your code you always start by importing relevant modules/libraries, then define all your functions, then write the rest of your code. \n", "\n", - "\n" + "

" ] }, { "cell_type": "markdown", - "id": "26af8885-0ec8-4421-8947-89f371cf350f", + "id": "5739b8a2", "metadata": {}, "source": [ - "## TODO:\n", + "
\n", + "
Exercise: Using a default argument \n", + "\n", + "---\n", + "\n", + "Write a function which will output an atomic velocity from its mass and temperature. Set the default temperature to be 20°C. Use the relationship: \n", "\n", - "- More relation to chemistry in some of the later examples?\n", - "- Discussion of use of *args etc to supply multiple arguments to a function\n", - "- More debugging exercises\n", - "- Default arguments\n", + "$v = \\sqrt{\\frac{3k_bT}{m}} $\n", "\n", - "Please email theo.tanner@chem.ox.ac.uk with any questions" + "where v is velocity in ms-1, kb is the Boltzmann constant and is equal to 1.38 $\\times$ 10-23 JK-1, and T is temperature in Kelvin.\n", + "\n", + "Find the velocity for an N2 molecule of mass 4.6 $\\times$ 10-26 g.\n", + "\n", + "
\n", + "
" ] }, { - "cell_type": "code", - "execution_count": null, - "id": "a571c19b-6970-4073-8a24-4cf10d757fb8", + "cell_type": "markdown", + "id": "c0ec0856", "metadata": {}, - "outputs": [], - "source": [] + "source": [ + "
\n", + " Click to view answer\n", + "\n", + ">```Python\n", + ">def molecule_velocity(mass, temperature=20):\n", + "> k_b = 1.38e-23\n", + "> temperature += 273\n", + "> vel = ((3 * k_b * T) / m) ** (1 / 2)\n", + "> return vel\n", + ">\n", + ">mass_N2 = 4.6e-26\n", + ">velocity_answer = molecule_velocity(mass_N2)\n", + ">print(velocity_answer, \"ms-1\")\n", + "\n", + "The correct answer should be ``513.52 ms-1``.\n", + "\n", + "Notice that the default argument for temperature is given in Celsius, then is converted to Kelvin inside the function. This is an interesting point in usability. When writing a function, you want it to be as easy to use as possible. If you know the user will usually have their temperatures in Celsius, then it is up to you as a programmer to make the function easy to use in Celsius. \n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "0ab4a76f", + "metadata": {}, + "source": [ + "### More advanced arguments" + ] + }, + { + "cell_type": "markdown", + "id": "e5639ed7", + "metadata": {}, + "source": [ + "There are some kinds of function arguments that are more complex, and less often used. If you are a beginner, you probably won't have a reason to use these, and you might want to consider moving straight onto the next section." + ] + }, + { + "cell_type": "markdown", + "id": "fb0c93f4", + "metadata": {}, + "source": [ + "
\n", + " Positional-only arguments ``, /`` and keyword-only arguments ``* ,``\n", + "\n", + "In the sections about positional and keyword arguments above, there is nothing in the function line itself that describes whether the arguments are positional or keyword. The way in which you call the function (and the order) is what defines it. In the first example, we treated both as positional, but in the second we treated both as keyword. \n", + "\n", + "But there is a way of forcing the function to only take positional or only take keyword arguments. If you then try to treat the input differently, it will raise an error. \n", + "\n", + "- ``, /`` after the argument makes it positional-only\n", + "- ``* ,`` before the argument makes it keyword-only\n", + "\n", + "For example in:\n", + "\n", + "def my_function(argument_1, /, *, argument_2):\n", + "\n", + "``argument_1`` is positional only, and ``argument_2`` is keyword-only.\n", + "\n", + "Using our mols example from above\n", + "\n", + "```Python\n", + "def no_mols(mass, /, *, molar_mass):\n", + " n_mols = mass / molar_mass\n", + " return n_mols\n", + "\n", + "aspirin_molar_mass = 180.158 # g mol-1\n", + "\n", + "mols_aspirin = no_mols(aspirin_molar_mass, aspirin_mass = 1.48)\n", + "print(mols_aspirin, \"mols of aspirin\")\n", + "```\n", + "\n", + "Here, we received an error. We are trying to use ``aspirin_molar_mass`` as a positional argument and ``aspirin_mass`` as a keyword argument. However, the function takes ``molar_mass`` as a keyword argument, and ``mass`` as a positional argument - the other way around than we have tried to call it. If we try it the correct way around: \n", + "\n", + " mols_aspirin = no_mols(aspirin_mass, molar_mass = 180.158) \n", + "\n", + "We will get the correct output.\n", + "\n", + "Be aware: you can only use ``, /`` and ``*,`` once each in each function argument line. \n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "60b2325b", + "metadata": {}, + "source": [ + "
\n", + " Arbitrary positional arguments: ``*args``\n", + "\n", + "Up until this point, the number of arguments passed into the function has been fixed. Whether positional, keyword, or default, the function will only accept a certain number of arguments. But what if we do not know how many arguments we will need in advance? We can use arbitrary positional arguments ``*args`` and arbitrary keyword arguments ``**kwargs``. Note single asterisk for positional arguments and double asterisk for keyword arguments. This is defined in the function in the following way:\n", + "\n", + "``def my_function(*date, year=2000):``\n", + "\n", + "Our above code for calculating the number of mols has been adjusted so that it can take an arbitrary number of masses (each of the type float).\n", + "\n", + "```Python\n", + "def no_mols(*masses, molar_mass=180.158):\n", + " for mass in masses:\n", + " n = mass / molar_mass\n", + " print(n, \"mols\")\n", + " return\n", + "\n", + "no_mols(1.48, 1.01, 0.62, 0.21, 0.06)\n", + "```\n", + "\n", + "The output of this is:\n", + "\n", + " 0.008215011267887077 mols
\n", + "0.005606190122004019 mols
\n", + "0.003441423639249992 mols
\n", + "0.001165643490713707 mols
\n", + "0.0003330409973467734 mols
\n", + "\n", + "The arbitrary argument ``*masses`` represents every mass given when we call the function. Since we have multiple of these, we must iterate through the collection of masses using a ``for`` loop and calculate the number of mols for each. \n", + "\n", + "The real meaning of arbitrary positional arguments is that the arbitrary number of arguments you are putting into the function are stored as a tuple, which you then iterate through in the function, but you don't really need to know this for it to work.\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "147d2fcd", + "metadata": {}, + "source": [ + "
\n", + " Arbitrary keyword arguments: ``**kwargs``\n", + "\n", + "Arbitrary keyword arguments are a bit more complicated than ``*args``. \n", + "\n", + "Essentially, while ``*args`` stores the input as a tuple, ``**args`` stores it as a dictionary. This means there are a number of things that need to happen. Have a look at our code, where ``**masses`` is now an arbitrary keyword argument (note that ``**kwargs`` comes after ``args``, ``kwargs``, and ``*args`` in the function).\n", + "\n", + "```Python\n", + "def no_mols(molar_mass = 180.158, **masses):\n", + " for name, mass in masses.items(): \n", + " n_mols = mass / molar_mass\n", + " print(name, \"has\" , n_mols, \"mols\")\n", + " return\n", + "\n", + "no_mols(mass1 = 1.48, mass2 = 1.01, mass3 = 0.62)\n", + "```\n", + "\n", + "Which returns: \n", + "\n", + " mass1 has 0.008215011267887077 mols
\n", + "mass2 has 0.005606190122004019 mols
\n", + "mass3 has 0.003441423639249992 mols
\n", + "\n", + "Let's talk through what is happening here.\n", + "- Calling the function: Each of the masses we are trying to find the number of mols for has a name and a value. The names are 'mass1', 'mass2', 'mass3', and each has a corresponding value (1.48, 1.01, 0.62). This is exactly how dictionaries store information (revise [data types lesson](../variables/Variable_data_types.ipynb) if you want a reminder).\n", + "- ``**masses``: When we write ``**masses`` into our function, we are saying that we want to take that unknown number of named masses below and store both their names and their value in a dictionary to use in our function. \n", + "- ``name, mass`` in the ``for`` loop: Since ``**kwargs`` has taken both the the name and the value of our input (e.g. both 'mass1' and '1.48'), we need to be able to iterate through each by assigning them a variable name. It is kind of like when we zipped lists together in the ``for`` loop lesson, assigning a variable to items in each list.\n", + "- ``masses.items()``: This takes all the ``**kwargs``, (mass1, mass2, mass3), and puts them in a list of tuples, allowing the ``for`` loop to iterate through. In this case, it becomes: ``[(\"mass1\", 1.48), (\"mass2\", 1.01), (\"mass3\", 0.62)]``. You can now see how ``name, mass`` extracts the information as each tuple is iterated through.\n", + "- Once we have all this information, we can use both the name and the mass to calculate the number of mols and print a statement. \n", + "\n", + "Again, ``**kwargs`` are not commonly used, especially amongst beginners, so if this is a bit too complicated, do not worry. \n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "b42b4be6", + "metadata": {}, + "source": [ + "
\n", + " Using the unpacking operator, *, when calling a function\n", + "\n", + "The single asterisk unpacking operator `*` can be used on any iterable that Python provides (lists, tuples, strings, etc.), while the double asterisk operator, `**`, can only be used on dictionaries. When placed just before an iterable, `*` unpacks the items within the iterable to be separate objects. \n", + "\n", + "For example, in a list of integers, the unpacking operator will unpack them into separate variables. \n", + "\n", + "```Python\n", + "my_list = [2, 3, 5, 7, 11]\n", + "\n", + "print(\"A list: \", my_list)\n", + "print(\"Separate variables: \", *my_list)\n", + "```\n", + "\n", + "Returns the following:\n", + "\n", + "```Text\n", + "A list: [2, 3, 5, 7, 11]\n", + "Separate variables: 2 3 5 7 11\n", + "```\n", + "\n", + "An example where this could be used is when a function takes lots of arguments, and you don't want to remember what each should be every time. You can store your arguments in a list, and then unpack them when calling the function. \n", + "\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "37cb2c58", + "metadata": {}, + "source": [ + "## Recursion" + ] + }, + { + "cell_type": "markdown", + "id": "75d1184e", + "metadata": {}, + "source": [ + "We will only touch on recursion briefly, for completeness. Essentially, it means that a function can call itself, looping to get a result. \n", + "\n", + "For example, here is a function that finds the factorial of a number. The factorial of 5 would be 5×4×3×2×1 = 120. \n", + "\n", + "```Python\n", + "def factorial(x):\n", + " if x == 1:\n", + " return 1\n", + " else:\n", + " ans = x * factorial(x-1)\n", + " return ans\n", + "\n", + "print(\"The factorial of\", 3, \"is\", factorial(3))\n", + "```\n", + "\n", + "The function takes the number 3. As 3 != 1, it multiplies it by a number which is the output of its own factorial function, each time checking if it has reached 1. The output is ``6``. However, you must be careful, as it is easy to accidentally create an infinite loop (just like with ``while`` loops). With this program, if you call the function for a number less than 0, it will loop until error, because the condition ``if x == 1`` will never be fulfilled." + ] + }, + { + "cell_type": "markdown", + "id": "6d37c923", + "metadata": {}, + "source": [ + "## Functions within functions" + ] + }, + { + "cell_type": "markdown", + "id": "53b18234", + "metadata": {}, + "source": [ + "It is possible to define another function within a function, however this is generally not useful, as it means the nested function cannot be called anywhere else in the program. This is because the nested function is then local, not global (see above for discussion on scope).\n", + "\n", + "Try to avoid nesting functions in your program. You can, however, call another function you have defined from within your function. \n", + "\n", + "```Python\n", + "def function_1(arg_1, arg_2):\n", + " total = arg_1 + arg_2\n", + " return total\n", + "\n", + "def function_2(arg_3):\n", + " ans = function_1(arg_3, 6) + 100\n", + " return ans\n", + "\n", + "print(function_2(3))\n", + "```\n", + "\n", + "Here, instead of nesting the functions, we have used the first function within the second function. This means we could call either function to best suit our purpose. " + ] + }, + { + "cell_type": "markdown", + "id": "bc30edc8", + "metadata": {}, + "source": [ + "## Docstrings" + ] + }, + { + "cell_type": "markdown", + "id": "c07a0673", + "metadata": {}, + "source": [ + "As you can already see, functions can get pretty confusing pretty fast, especially when it takes many arguments, keyword arguments, and returns multiple variables. It gets even more confusing if there are multiple functions in your program that do similar things, and therefore have similar names. Someone else's program, or even your own program after a couple of months, becomes very difficult to understand. \n", + "\n", + "To make it easier to see what is happening in a function, programmers use a convention called a docstring from Python's PEP (a set of guidelines to make Python programs more readable and easy to use). A docstring is a short description of what the function does, its parameters (arguments), and what it returns. \n", + "\n", + "A single-line docstring for a really obvious function might look like this:\n", + "\n", + ">```Python\n", + "> \"\"\" Explain what this function does \"\"\"\n", + "\n", + "As in the program:\n", + "\n", + "```Python\n", + "def pressure_conversion(pressure_bar):\n", + " \"\"\" Convert pressure in bar to pressure in mmHg. \"\"\"\n", + " pressure_mmHg = pressure_bar * 750.062\n", + " return pressure_mmHg\n", + "```\n", + "\n", + "For more complicated functions, you must use a multi-line docstring. For example:\n", + "\n", + "```Python\n", + "def no_mols(mass, molar_mass=180.158):\n", + " \"\"\"\n", + " Calculate the number of mols.\n", + "\n", + " Parameters\n", + " ----------\n", + " mass : Float\n", + " The mass of the substance\n", + " Units: g\n", + " molar_mass : Float\n", + " The molecular weight of the substance\n", + " Units: g mol-1\n", + " Default: aspirin == 180.158\n", + "\n", + " Returns\n", + " -------\n", + " n_mols : Float\n", + " The number of mols of the substance\n", + " Units: mols\n", + " \"\"\"\n", + " n_mols = mass / molar_mass\n", + " return n_mols\n", + "```\n", + "\n", + "Things to note:\n", + "- The first line of the docstring describes what the function does. This is given as an imperative, and ends in a full-stop.\n", + "- The parameters (arguments) are then listed. It is explained what variable type they are, what units they take, and whether they have any default values. \n", + "- It is last explained what is returned by the function, in the same format as the parameters above. \n", + "- If there is any additional information the user requires to use this function, that is also included in the docstring.\n", + "\n", + "The exact format of the docstring is less important than ensuring it is consistent and clear throughout your program.\n", + "\n", + "Note: Why is it called parameters and not arguments? From the function's perspective, a parameter is the variable listed inside the parentheses in the function definition, whereas an argument is the value that is sent to the function when it is called.\n", + "\n", + "For more information on docstrings and PEP, check out the [Style and Comments lesson](../solving_problems/style-and-comments.ipynb)." + ] + }, + { + "cell_type": "markdown", + "id": "17325532", + "metadata": {}, + "source": [ + "
\n", + "
Exercise: Write a docstring for a given function \n", + "\n", + "---\n", + "\n", + "The following function takes a value of wavelength and converts it into energy in Joules and energy in eV using the equation $ E = \\frac{h \\ c}{\\lambda} $. Write a docstring for this function. \n", + "\n", + ">```Python\n", + ">def energy_calc(wavelengths):\n", + "> h = 6.626e-34 # m^2kgs^-1\n", + "> c = 3.00e8 # ms^-1\n", + "> energy_J = []\n", + "> energy_eV = []\n", + "> for value in wavelengths:\n", + "> val_J = (h * c) / (value * 1e-9) # J\n", + "> energy_J.append(val_J)\n", + "> val_eV = val_J / 1.602e-19\n", + "> energy_eV.append(val_eV)\n", + "> return energy_J, energy_eV\n", + ">\n", + ">wavelengths_light = [276, 59, 0.5, 1183, 52, 0.002, 127, 474] # nm\n", + ">\n", + ">energy_light_J, energy_light_eV = energy_calc(wavelengths_light)\n", + ">print(f\"The energies in J are: {energy_light_J}\")\n", + ">print(f\"The energies in eV are: {energy_light_eV}\")\n", + "\n", + "
\n", + "
" + ] + }, + { + "cell_type": "markdown", + "id": "2d4ac768", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "\n", + "\n", + "```Python\n", + "def energy_calc(wavelengths):\n", + " \"\"\"\n", + " Calculate energy in J and eV from a wavelength.\n", + "\n", + " Parameters\n", + " ------------\n", + " wavelengths : LIST\n", + " A list of wavelengths in nm\n", + " \n", + " Returns\n", + " ------------\n", + " energy_J : LIST\n", + " A list of energy values in Joules.\n", + " energy_eV : LIST\n", + " A list of energy values in electron Volts\n", + " \"\"\"\n", + " h = 6.626e-34 # m^2kgs^-1\n", + " c = 3.00e8 # ms^-1\n", + " energy_J = []\n", + " energy_eV = []\n", + " for value in wavelengths:\n", + " val_J = (h * c) / (value * 1e-9) # J\n", + " energy_J.append(val_J)\n", + " val_eV = val_J / 1.602e-19\n", + " energy_eV.append(val_eV)\n", + " return energy_J, energy_eV\n", + "```\n", + "\n", + "The first thing in the docstring is a description of what the function does, written in the imperative tense (as an instruction).\n", + "\n", + "Next, the parameters are given. We only have one in this function: `wavelengths`. \n", + "\n", + "Finally, the returns are given. We have two in this case, `energy_J` and `energy_eV`.\n", + "\n", + "For some, more complex functions, docstrings can be even longer, and include instructions, examples, and usage explanation. \n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "4bb9ee04", + "metadata": {}, + "source": [ + "## Further Practice" + ] + }, + { + "cell_type": "markdown", + "id": "7d817de7", + "metadata": {}, + "source": [ + "### Question 1\n", + "\n", + "Write a function that takes one argument, `num`, and returns `True` if it is even and `False` if it is odd.
\n", + "Hint: Remember that the modulo operator (%) returns the remainder of the left hand quantity when divided by the right hand quantity." + ] + }, + { + "cell_type": "markdown", + "id": "79c80e22", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "```Python\n", + "def is_even(num):\n", + " if num % 2 == 0:\n", + " return True\n", + " else:\n", + " return False\n", + "\n", + "print(is_even(9))\n", + "print(is_even(42))\n", + "```\n", + "\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "0a4d37ed", + "metadata": {}, + "source": [ + "### Question 2\n", + "\n", + "Using your function above, write a function which takes a list of integers, and returns only the even integers of this list" + ] + }, + { + "cell_type": "markdown", + "id": "9f7a2c5a", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "```Python\n", + "def keep_evens(num_list):\n", + " evens = []\n", + " for num in num_list:\n", + " if is_even(num):\n", + " evens.append(num)\n", + "\n", + " return evens\n", + "\n", + "print(keep_evens([1,2,3,4,5,6,7,8,9,10]))\n", + "```\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "b1d8e905", + "metadata": {}, + "source": [ + "### Question 3\n", + "\n", + "The function `add_atomic_masses()` defined earlier in the document accepted a list of atomic masses. However, molecules are more generally referred to using formulae rather than lists of masses. Write a series of functions as directed in the comments in the cell below to allow calculation of molecular masses from molecular formulae for simple organic molecules:\n", + "\n", + "The dictionary below can be used to look up an atom's mass from its symbol. Don't worry about other elements for the time being, you can assume that these are the only elements that matter (pretend you're an organic chemist)\n", + "\n", + "```Python\n", + "\n", + "atom_masses = {\n", + " \"C\" : 12.011,\n", + " \"H\" : 1.008,\n", + " \"O\" : 15.999,\n", + " \"N\" : 14.007\n", + "}\n", + "```\n" + ] + }, + { + "cell_type": "markdown", + "id": "6f470616", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "```Python\n", + "atom_masses = {\n", + " \"C\" : 12,\n", + " \"H\" : 1,\n", + " \"O\" : 16,\n", + " \"N\" : 14\n", + "}\n", + "\n", + "def get_masses(atoms):\n", + " mass_list = []\n", + " for atom in atoms:\n", + " mass_list.append(atom_masses[atom])\n", + " return mass_list\n", + "\n", + "print(get_masses([\"C\",\"H\",\"H\",\"H\",\"C\",\"H\",\"O\"]))\n", + "\n", + "```\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "ca082fe8", + "metadata": {}, + "source": [ + "### Question 4\n", + "\n", + "\n", + "The code below has errors. Have a look at the error message and fix the code to get the expected output. \n", + "\n", + "```Python\n", + "def say_hello()\n", + "print(\"Hello World\")\n", + "\n", + "say_hello\n", + "\n", + "#Expected output: Hello World\n", + "```" + ] + }, + { + "cell_type": "markdown", + "id": "ed462f17", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "```Python\n", + "def say_hello():\n", + " print(\"Hello World\")\n", + " return\n", + "\n", + "say_hello()\n", + "```\n", + "\n", + "Corrections: \n", + "- There must be a colon after the function.\n", + "- Code belonging to the function (in this case, the phrase \"Hello World\"), must be indented by one line.\n", + "- You should include `return`. Technically, this function will work without it, but it is good practice.\n", + "- When calling the function, you must include brackets \"()\" even if the function takes no arguments. \n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "494b0ff8", + "metadata": {}, + "source": [ + "### Question 5\n", + "\n", + "After a lab, a student has extracted IR data from a newly-discovered material, Pythonium ('Py'). The spectrum data is stored in two lists, the first is the peak wavenumbers, and the second is the corresponding transmittance. Only peaks with a wavenumber above 1500 cm-1 and with a transmittance less than 95% can be analysed by the students. Write a function that can take the two lists below and output only the useful values. You should be able to adapt any code you have written for this purpose before (hint, go back to the `for` loops lesson).\n", + "\n", + "\n", + "raw_wavenumbers_Py = [3420.50, 2955.75, 2850.30, 1745.60, 1605.25, 1550.40, 1515.10, 1501.85, 1450.70, 1255.20, 980.55, 750.30]
\n", + "raw_transmittance_Py = [60.3, 47.7, 34.6, 96.2, 48.4, 99.1, 95.8, 51.2, 65.3, 50.0, 97.1, 27.5]
" + ] + }, + { + "cell_type": "markdown", + "id": "f4126a6f", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "When thinking about writing a piece of code, it is important to break it down into simple chunks that you can get your mind around. How you achieve each block is not yet in consideration. For example, with this code, you might write. \n", + "\n", + "```Python\n", + "# Zip together wavenumbers and transmittance\n", + "## Check if wavenumber > 1500\n", + "## Check if transmittance < 95\n", + "### Add to new lists\n", + "```\n", + "\n", + "This is breaking the code down into its component parts. Also notice that there is no mention of a function at this point. It is normally much easier to write out the code before converting it into a function.\n", + "\n", + "```Python\n", + "def parse_IR_data(wavenumbers, transmittances):\n", + " \"\"\"\n", + " Take IR data of wavenumbers and corresponding transmittances.\n", + " Return only wavenumbers which are above 1500cm-1 and below 95% transmittance.\n", + "\n", + " Parameters\n", + " -----------\n", + " wavenumbers : List\n", + " Peak values taken from an IR spectrum\n", + " Units: cm-1\n", + " transmittance : List\n", + " Corresponding transmittance for each peak\n", + " Units : 95%\n", + "\n", + " Returns\n", + " -----------\n", + " maj_peak_wavenumbers : List\n", + " Peak wavenumber\n", + " \"\"\"\n", + " \n", + " # Empty lists of the data we want to keep\n", + " maj_peak_wavenumbers = []\n", + " maj_peak_transmittance = []\n", + "\n", + " # Iterates through the lists\n", + " for v, tr in zip(wavenumbers, transmittances):\n", + " # Checks the values obey the conditional statement\n", + " if v > 1500 and tr < 95:\n", + " print(f\"{v} cm-1, {tr} %\")\n", + " maj_peak_wavenumbers.append(v)\n", + " maj_peak_transmittance.append(tr)\n", + " return maj_peak_wavenumbers, maj_peak_transmittance\n", + "\n", + "\n", + "# Data retrieved from the lab for the substance pythonium.\n", + "raw_wavenumbers_Py = [3420.50, 2955.75, 2850.30, 1745.60, 1605.25, 1550.40, 1515.10, 1501.85, 1450.70, 1255.20, 980.55, 750.30] # cm-1\n", + "raw_transmittance_Py = [60.3, 47.7, 34.6, 96.2, 48.4, 99.1, 95.8, 51.2, 65.3, 50.0, 97.1, 27.5] # %\n", + "\n", + "# Call function\n", + "wavenumbers_Py, transmittance_Py = parse_IR_data(raw_wavenumbers_Py, raw_transmittance_Py)\n", + "print(wavenumbers_Py, transmittance_Py)\n", + "```\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "a9711c77", + "metadata": {}, + "source": [ + "### Question 6\n", + "\n", + "Now adapt the code from Exercise 5 so that it parses the data when it is in the format: ``raw_data = [[wavenumber, transmittance], [wavenumber, transmittance], etc.]`` for each point.
\n", + "\n", + "``raw_data_Py = [[3420.50, 60.3], [2955.75, 47.7], [2850.30, 34.6], [1745.60, 96.2], [1605.25, 48.4], [1550.40, 99.1], [1515.10, 95.8], [1501.85, 51.2], [1450.70, 65.3], [1255.20, 50.0], [980.55, 97.1], [750.30, 27.5]]``" + ] + }, + { + "cell_type": "markdown", + "id": "7ac65955", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "```Python\n", + "raw_data_Py = [\n", + " [3420.50, 60.3],\n", + " [2955.75, 47.7],\n", + " [2850.30, 34.6],\n", + " [1745.60, 96.2],\n", + " [1605.25, 48.4],\n", + " [1550.40, 99.1],\n", + " [1515.10, 95.8],\n", + " [1501.85, 51.2],\n", + " [1450.70, 65.3],\n", + " [1255.20, 50.0],\n", + " [980.55, 97.1],\n", + " [750.30, 27.5],\n", + "]\n", + "\n", + "\n", + "def parse_IR_data(raw_data):\n", + " \"\"\"\n", + " Take IR data and only return points with wavenumber > 1500cm-1 AND transmittance < 95%\n", + "\n", + " Parameters\n", + " -----------\n", + " raw_data : List\n", + " Nested list of raw IR data in the format [[wavenumber, transmittance], [wavenumber, transmittance], etc.]\n", + "\n", + " Returns\n", + " -----------\n", + " parsed_data : List\n", + " Nested list of IR data with wavenumber > 1500cm-1 AND transmittance < 95%\n", + " In the format [[wavenumber, transmittance], [wavenumber, transmittance], etc.]\n", + " \"\"\"\n", + " parsed_data = []\n", + " for point in raw_data:\n", + " if point[0] < 1500 or point[1] > 95:\n", + " continue\n", + " else:\n", + " print(f\"{point[0]} cm-1 {point[1]} %\")\n", + " parsed_data.append(point)\n", + " return parsed_data\n", + "\n", + "\n", + "parse_IR_data(raw_data_Py)\n", + "```\n", + "\n", + "This version is much shorter, and highlights the importance of considering the way in which to present your data. By placing into a nested list containing both wavenumber and transmittance, we have made the code significantly shorter.\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "e31e8b18", + "metadata": {}, + "source": [ + "## Summary" + ] + }, + { + "cell_type": "markdown", + "id": "20b08856", + "metadata": {}, + "source": [ + "- Define a function using the following syntax:\n", + " ```Python\n", + " def function_name(argument_1, argument_2):\n", + " Code\n", + " return a_variable, b_variable\n", + " ```\n", + "\n", + "- Call a function using:\n", + " - General syntax: ``my_function()``. \n", + " - Assign it a variable using: ``result_1, result_2 = my_function(some_argument, other_argument)``. \n", + " - Avoid getting outputs by replacing with a double underscore ``__``, like so: ``result_1, __ = my_function(some_argument, other_argument)``. \n", + "- A variable declared inside a function has 'local scope', it cannot be accessed from outside the function. However, from within a function you can access variables from outside without them being passed through as an argument. \n", + "- Functions can have as many (or no) arguments or return statements as you like. You can nest return statements in ``if`` statements.\n", + "- There are different kinds of arguments:\n", + " - Positional arguments, ``args``. These must be in a certain order when the function is called. \n", + " - Keyword arguments, ``kwargs``. These can be in any order (although always after positional arguments), and are called by the name in the function. ``result = my_function(argument_1 = \"He\", argument_2 = 4)``\n", + " - Positional-only arguments, ``, /``. Adding a forward slash aftera parameter in the function forces it to only take a positional argument: ``def function_name(argument_1, /)``.\n", + " - Keyword-only arguments, ``*,``. Adding an asterisk beforea parameter in the function forces it to only take a keyword argument: ``def function_name(*, argument_1)``.\n", + " - Default/optional arguments. ``=``. If a value is not specified, the function will take that value for that parameter. ``def function_name(argument_1=21)``.\n", + " - Arbitrary positional arguments, ``*args``. Allows an arbitrary number of arguments to be called. You must iterate through them. ``def function_name(*argument_1)``.\n", + " - Arbitrary keyword arguments, ``**kwargs``. Allows an arbitrary number of keyword arguments to be called. You can convert the dictionary to a list using the function '.items()'. ``def my_function(**argument)``.\n", + "- Functions can call themselves. This is called recursion. \n", + "- Avoid defining functions within functions. Instead, define it separately and call that function from inside the first function. \n", + "- Use docstrings to explain to the user the purpose of the function, the arguments, its returns, limitations, and any other information needed to use it effectively. \n" + ] + }, + { + "cell_type": "markdown", + "id": "5e912c77", + "metadata": {}, + "source": [ + "### Good Practise with Functions\n", + "\n", + "When using functions the following is good advice on how to use them:\n", + "\n", + "- Declare all functions at the beginning of the programme, don't scatter the declarations throughout the programme, it breaks the flow and makes it hard to understand.\n", + "\n", + "- Don't declare a function within a function. This is an unusual coding style, which is only necessary in a few specialist cases.\n", + "- Pass values into function through the arguments, don't rely on variable scope.\n", + "- Generally, it is easier to first write a version of your code (or part of your code) and then turn it into a function, rather than start writing a function straight away." + ] } ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "base", "language": "python", "name": "python3" }, @@ -500,7 +1571,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.12" + "version": "3.12.3" } }, "nbformat": 4, diff --git a/lessons/loops_functions/StockCake-Overwhelmed with paperwork_1744290627.jpg b/lessons/loops_functions/images/StockCake-Overwhelmed with paperwork_1744290627.jpg similarity index 100% rename from lessons/loops_functions/StockCake-Overwhelmed with paperwork_1744290627.jpg rename to lessons/loops_functions/images/StockCake-Overwhelmed with paperwork_1744290627.jpg diff --git a/lessons/loops_functions/images/if-statements-flowchart.jpg b/lessons/loops_functions/images/if-statements-flowchart.jpg new file mode 100644 index 00000000..310aa284 Binary files /dev/null and b/lessons/loops_functions/images/if-statements-flowchart.jpg differ diff --git a/lessons/loops_functions/methyl_benzoate.png b/lessons/loops_functions/images/methyl_benzoate.png similarity index 100% rename from lessons/loops_functions/methyl_benzoate.png rename to lessons/loops_functions/images/methyl_benzoate.png diff --git a/lessons/loops_functions/organising_code.md b/lessons/loops_functions/organising_code.md new file mode 100644 index 00000000..b8356c72 --- /dev/null +++ b/lessons/loops_functions/organising_code.md @@ -0,0 +1,10 @@ +# Organising Code + +These lessons describe how to write code efficiently by organising it into conditional statements, loops, functions, and importing modules. + + + +When we are talking about for loops more generally we use the following terms: +- **Discrete variable**: a variable changes its value at every iteration of the loop (e.g. `temperature_C` in task 3). +- **Iterator**: a variable containing multiple values, which can be used in a `for` loop (e.g. `temperature_measurements` in the last example). Lists are the most common kind of iterator in Python. + diff --git a/lessons/loops_functions/tut_import_mod.ipynb b/lessons/loops_functions/tut_import_mod.ipynb new file mode 100644 index 00000000..38db1f84 --- /dev/null +++ b/lessons/loops_functions/tut_import_mod.ipynb @@ -0,0 +1,226 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "4808672f", + "metadata": {}, + "source": [ + "# Importing Modules" + ] + }, + { + "cell_type": "markdown", + "id": "262ad1e9", + "metadata": {}, + "source": [ + "## Prerequisites\n", + "\n", + "- [Understanding directories](../files/files_file_types.ipynb)." + ] + }, + { + "cell_type": "markdown", + "id": "4703b507", + "metadata": {}, + "source": [ + "## Learning Outcomes" + ] + }, + { + "cell_type": "markdown", + "id": "e8948a40", + "metadata": {}, + "source": [ + "- Importing a function\n", + "- Importing a module\n", + "- Importing a library" + ] + }, + { + "cell_type": "markdown", + "id": "e561f0bb", + "metadata": {}, + "source": [ + "## What are modules and libraries?" + ] + }, + { + "cell_type": "markdown", + "id": "21a29d39", + "metadata": {}, + "source": [ + "A module is a file consisting of Python code. A library is a collection of modules. \n", + "\n", + "Modules can define functions, variables, and classes, and can include runable code. Any Python file can be referenced as a module. \n", + "\n", + "This is extremely useful, as it means you do not have to write out complex functions in your program itself. You can store them externally, and just import them for use in your program. " + ] + }, + { + "cell_type": "markdown", + "id": "c465b64d", + "metadata": {}, + "source": [ + "## Accessing a module or library" + ] + }, + { + "cell_type": "markdown", + "id": "6ba6434e", + "metadata": {}, + "source": [ + "In order for your program to be able to access a module or library, they must be in an accessible location. \n", + "\n", + "Built-in Python modules include `math`, `statistics` and `time`, and will be accessible as long as you have Python fully installed. \n", + "\n", + "If you are using an environment such as Anaconda, many common libraries will already be accessible. However, if you want to access more niche libraries such as RDKit, you will have to add this to your environment. You can usually do this by writing `conda install module_name` to the command line, where `module_name` is the name of the library or module you want to add. " + ] + }, + { + "cell_type": "markdown", + "id": "32cf2fd2", + "metadata": {}, + "source": [ + "## Importing a module or library in your code" + ] + }, + { + "cell_type": "markdown", + "id": "1ef7b1b3", + "metadata": {}, + "source": [ + "\n", + "\n", + "Often, we wish to use pre-written libraries, for example the NumPy library for data analysis. To do this we use the import command.\n", + "\n", + "```python\n", + "# Import numpy into the code\n", + "import numpy\n", + "\n", + "# Import numpy and give it an alias\n", + "\n", + "import numpy as np\n", + "\n", + "# Import the whole math module\n", + "import math\n", + "\n", + "# Import just the square root function\n", + "from math import sqrt\n", + "```\n", + "You then call the function from the library you imported by typing the library name (or alias) dot the function name.\n", + "\n", + "```python\n", + "# Import math and use the function sqrt\n", + "import math\n", + "\n", + "answer = math.sqrt(4)\n", + "```\n" + ] + }, + { + "cell_type": "markdown", + "id": "ab496835", + "metadata": {}, + "source": [ + "### Using aliases" + ] + }, + { + "cell_type": "markdown", + "id": "87e9a880", + "metadata": {}, + "source": [ + "An alias is a name that you give to an imported library or module that you can use to refer to it throughout your code. This is very useful when your libraries or modules have long names. You do this using the keyword `as`. For example:\n", + "\n", + "`import module as mod`\n", + "\n", + "You will notice that aliases are very consistent across institutions, making it very easy to understand code that other people have written. Each library/module has recommended aliases to help consistency.\n", + "\n", + "Some common aliases include:\n", + "\n", + "```Python\n", + "# The library NumPy is for advanced mathematics\n", + "import numpy as np\n", + "\n", + "# The library Matplotlib is for visualisations\n", + "import matplotlib as mpl\n", + "\n", + "# The module Pyplot (from Matplotlib) creates plots, graphs and charts\n", + "from matplotlib import pyplot as plt\n", + "\n", + "# The library pandas is for data analysis and manipulation\n", + "import pandas as pd\n", + "```\n", + "\n", + "For some modules, it is recommended not to use an alias, as shortening some names can lead to a **name clash**. This is when multiple variables, functions, or modules have the same name. This could happen if you gave your module a single-letter name, for example `import math as m`. " + ] + }, + { + "cell_type": "markdown", + "id": "d27eb612", + "metadata": {}, + "source": [ + "### Using import `*`" + ] + }, + { + "cell_type": "markdown", + "id": "44a0aa27", + "metadata": {}, + "source": [ + "in some tutorials it will be suggested you use the \n", + "```python \n", + "from [] import *\n", + "```\n", + "this is bad practise as it imports everything and removes the need to reference the function using the dot notation above. This can lead to name clashes between functions and unexpected behaviour.\n", + "\n", + "we can also import our own modules into our code. This can lead to much simpler code.\n", + "\n", + "If we have a python script file called my_funcs.py\n", + "\n", + "We can import any functions in this script using the following\n", + "\n", + "```python\n", + "import my_funcs as mine\n", + "```" + ] + }, + { + "cell_type": "markdown", + "id": "0c5430c2", + "metadata": {}, + "source": [ + "## Summary" + ] + }, + { + "cell_type": "markdown", + "id": "0ce994db", + "metadata": {}, + "source": [ + "- A module is a file consisting of Python code, and a library is a collection of modules.\n", + "\n", + "- Import libraries and build-in modules using the syntax `import name`, for example `import math`.\n", + "\n", + "- Libraries and modules must be accessible by your code. If you use an environment like Anaconda, many will already be supported, however others may need to be installed via your environment. \n", + "\n", + "- Import functions using `from`, for example `from math import cos`.\n", + "\n", + "- Import modules from libraries using `from`, for example `from matplotlib import pyplot`.\n", + "\n", + "- Assign an alias which you can use to refer to your module name rather than writing it out using the keyword `as`. Common aliases are:\n", + " - `import numpy as np`\n", + " - `import matplotlib as mpl`\n", + " - `from matplotlib import pyplot as plt`\n", + " - `import pandas as pd`" + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/lessons/loops_functions/while_loops.ipynb b/lessons/loops_functions/while_loops.ipynb new file mode 100644 index 00000000..cf86feb1 --- /dev/null +++ b/lessons/loops_functions/while_loops.ipynb @@ -0,0 +1,342 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# The ```while``` Loop" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Learning Objectives\n", + "- Understand how to construct and use `while` loops\n", + "- Know how to control iterations in a loop" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Prerequisites: \n", + "- [boolean variables](/lessons/variables/Variable_data_types.ipynb)\n", + "- [comparisons](/lessons/variables/Comparisons.ipynb)\n", + "- [`if` statements](/lessons/loops_functions/conditional_statements.ipynb)\n", + "- [`for` loops](/lessons/loops_functions/for_loops.ipynb)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## The `while` Loop" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "A `while` loop is similar to a [`for` loop](./For_Loop_Lesson.ipynb), with the main difference being it will continuously loop while a condition is `True`. Where a ``for`` loop is used when you know how many times you need to iterate, and a ``while`` loop is for when you do not know how many times you need to iterate. \n", + "\n", + "In general, if you could use a ``for`` loop, try to do it that way, as ``while`` loops have the potential for infinite looping errors to occur if they are not properly controlled (discussed in more detail in the next section).\n", + "\n", + "`while` loops take the syntax:\n", + "\n", + "```python\n", + "while condition:\n", + " code block\n", + "```\n", + "\n", + "As as example see the cell below which prints integers from 1 to 5." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1\n", + "2\n", + "3\n", + "4\n", + "5\n" + ] + } + ], + "source": [ + "count = 0\n", + "while count < 5:\n", + " count += 1\n", + " print(count)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The first line defines our starting value and the second initiates our loop.\n", + "```python\n", + "while count < 5:\n", + "```\n", + "Looking closer at this line we have:\n", + "\n", + "- `while` which signals we want to start a loop\n", + "- `count < 5` is our conditional statement\n", + "- `:` signals the start of the loop\n", + "\n", + "If our conditional statement is `True` the code prints out the current value of `count` and increases it by one for each iteration using the `+=` operator.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "
Exercise: Use a 'while' loop to print integers \n", + "\n", + "---\n", + "\n", + "Create a `while` loop to print even integers from zero to 10.\n", + "\n", + "
\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "```Python\n", + "count = 0\n", + "while count < 11:\n", + " print(count)\n", + " count += 1\n", + "```\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Infinite `while` loops\n", + "\n", + "When constructing `while` loops be wary of your condition, one common bug can be creating a loop that runs forever:\n", + "\n", + "```python\n", + "count = 5\n", + "while count != 0:\n", + " print(count)\n", + " count -= 2\n", + "```\n", + "\n", + "In this example, `count` is never exactly equal to 0: it counts down from 5, to 3, 1, -1, and continues down. As a result, the condition `count != 0` is never `False`, and the loop will run forever.\n", + "\n", + "If this happens, you need to force stop your program. How to do this varies depending on how you run the instrument. In an IDE Look for a little square, it usually represents stopping the program while it is still running. In a terminal press `ctrl+c` to force stop. \n", + "\n", + "If the program runs for too long without stopping, it could crash your computer.\n", + "\n", + "The simplest kind of infinite loop is this:\n", + "\n", + "```Python\n", + "while True:\n", + " print(\"This loop will run forever!\")\n", + "```\n", + "\n", + "If you start your loop with `while True:`, that loop will run forever unless a `break` statement is placed somewhere within it." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "
Exercise: Debug this infinite loop\n", + "\n", + "--- \n", + "\n", + "This code will run forever, predict why and fix the problem. \n", + "\n", + ">```Python\n", + ">answers = []\n", + ">count = 0\n", + ">while count < 10:\n", + "> print(\"Count is:\", count)\n", + "> answers.append(count**2)\n", + ">\n", + ">print(answers)\n", + ">```\n", + "\n", + "
\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "The problem here is that the count is never increased, and so the code just runs over and over with `count = 0`. Add the line `count = count + 1` into the loop to prevent this.\n", + "\n", + "\n", + "```Python\n", + "answers = []\n", + "count = 0\n", + "while count < 10:\n", + " print(\"Count is:\", count)\n", + " answers.append(count**2)\n", + " count = count + 1\n", + "\n", + "print(answers)\n", + "```\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Break and Continue Clauses\n", + "\n", + "Just like with `for` loops, we can use `break` and `continue` to control a `while` loop. Particularly useful here is `break`, as without breaking the loop it becomes easy to make it run forever. \n", + "\n", + "In order to avoid infinite loops, we might want to add a second condition under which the code should stop looping. We can do this using the keyword `break`.\n", + "\n", + "For example, the code below is the same as the infinite loop example above, but with an additional `break` added, which will be executed once `count < 9`. This stops it running forever. \n", + "\n", + "```Python\n", + "count = 5\n", + "while count != 0:\n", + " print(count)\n", + " count -= 2\n", + " if count < -9:\n", + " break\n", + "```\n", + "\n", + "With this additional conditional clause, the loop will no longer run forever. \n", + "\n", + "While writing a `while` loop, it is useful to put a counter and a conditional clause into your loop to ensure it will not run more than a certain number of times, as it is easy to accidentally remove the condition that would otherwise end the loop (for example, in the above code by changing how large the decrease in count it).\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Uses of `while` loops" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "`while` loops are used when you do not know (or do not want to know) how many times a loop will run. This has uses in many areas of programming, for example a loop that must run until the user inputs the correct password, or a video game that must repeat a level until the player defeats the boss. \n", + "\n", + "In scientific programming, we usually know how many times we want a loop to run, so `while` loops are not very common. However, there are times when we do not know how many times we want the program to run. For example until the uncertainty reaches an acceptable level, until we reach a certain precision (e.g. a certain number or decimal places), or until the program has elapsed a certain amount of time. \n", + "\n", + "Below is one such example. This code scans over a given function to find a local minimum (between a given start and end point). With each loop, the step size decreases by a factor of 10 to give a more precise answer.\n", + "\n", + "```Python\n", + "# Scan over the quadratic equation y = 5.23x^2 + 2.7x - 1.5 to find the minimum value\n", + "\n", + "# Initial range and step size\n", + "start = -100\n", + "fin = 100\n", + "step = 1\n", + "\n", + "# Loop until the step size is sufficiently small\n", + "while step > 0.000000001:\n", + "\n", + " # Identify x values over which to evaluate the function\n", + " x_vals = []\n", + " for q in range(int((fin - start) / step)):\n", + " x_vals.append(start + q * step)\n", + "\n", + " # Evaluate the function at each x value.\n", + " y_vals = []\n", + " for x in x_vals:\n", + " y = 5.23 * x**2 + 2.7 * x - 1.5\n", + " y_vals.append(y)\n", + "\n", + " # Find the index of the minimum y value\n", + " index = y_vals.index(min(y_vals))\n", + "\n", + " # Print out the minimum y value found and the corresponding x value\n", + " print(round(x_vals[index], 10), \",\", round(min(y_vals), 10))\n", + "\n", + " # Narrow the range to be around the minimum value found\n", + " start = x_vals[index] - step\n", + " fin = x_vals[index] + 2 * step # * 2 due to zero-indexing\n", + "\n", + " # Decrease the step size\n", + " step = step / 10\n", + "```\n", + "\n", + "The first 5 lines produced by this code read:\n", + "\n", + "\n", + "0 , -1.5
\n", + "-0.3 , -1.8393
\n", + "-0.26 , -1.848452
\n", + "-0.258 , -1.84847028
\n", + "-0.2581 , -1.8484703597
\n", + "
\n", + "\n", + "Each time, the x coordinate gains a decimal place, becoming more precise, and the the y-coordinate approximates closer and closer to the minimum value. This could be used, for example, to find local peaks in spectrum data.\n", + "\n", + "One function in this program you might not have seen before is `index()`, used here to find the position of the minimum y value. This returns the index of the first occurrence of the specified value. In this case, it is more efficient than `enumerate()` because we do not care about any of the other values in the list. \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Summary\n", + "- `While` loops take the syntax:\n", + " ```Python\n", + " while condition:\n", + " do action\n", + " ```\n", + " \n", + "- `While` loops are used when you do not know how many loops you will need. \n", + "- In scientific contexts it can be used to loop until a certain condition is met, for example a certain precision or time elapsed.\n", + "- You must be careful, as while loops have the potential to loop infinitely without end. \n", + " - If this happens, you must force-stop your program by either clicking the little square in your IDE, or running `ctrl+c` in a command line. \n", + "- You can control infinite loops using a `break` clause. " + ] + } + ], + "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.12.3" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/lessons/manipulating_variables.md b/lessons/manipulating_variables.md deleted file mode 100644 index f588326d..00000000 --- a/lessons/manipulating_variables.md +++ /dev/null @@ -1,3 +0,0 @@ -# Manipulating Variables - -These lessons introduce different types of variables used in Python, and how to manipulate them. diff --git a/lessons/organising_code.md b/lessons/organising_code.md deleted file mode 100644 index b4619469..00000000 --- a/lessons/organising_code.md +++ /dev/null @@ -1,3 +0,0 @@ -# Organising Code - -These lessons describe how to write code efficiently by organising it into loops and functions. diff --git a/lessons/solving_problems/command_line.md b/lessons/solving_problems/command_line.md new file mode 100644 index 00000000..934ea36a --- /dev/null +++ b/lessons/solving_problems/command_line.md @@ -0,0 +1,63 @@ +# Using the command line + +It is often necessary (or quicker) to run Python from the command line. This is a *very* quick guide to using a command line, it will get you started. + +The first step is to open your terminal. How you do this depends on the type of PC you are using. + +On Windows see if the following are installed: +- Terminal (this is a more modern implementation) +- Powershell (if you have conda installed run Anaconda Powershell Prompt) +- Cmd (this is considered a bit out of date now, if you have conda installed run Anaconda Prompt) + +On a Mac +- Terminal + +On Linux it will depend on your distro. Generally look for an app called one of the following: +- Terminal +- Command +- Prompt +- Shell + +Once opened we can do various things. Initially it should look something like this: + +![An image of a terminal with just the current directory showing](/lessons/solving_problems/images/term_1.png) + +Depending on the 'shell' that you have you might have more information, such as your user name. We can now enter commands into this prompt. + +Most useful will be + +| Command | Effect | +|---|---| +| *cd* | Followed by a path will change directory | +| *ls* | Lists the contents of the current directory | +| *mkdir* | Followed by a name will create a directory of that name | + +When we type a path we can do so in two ways. Either absolute or relative. Absolute is a full path from the users *root* directory. This is normally the folder you start in when you open a terminal. In the example above we start in Users/User. Say we want to open the Documents folder that is in this User folder. We can type the following: + +```bash + cd Users/User/Documents +``` +However, we can also do a relative path. + +```bash +cd ./Documents +``` +Here the path is relative to which ever directory we are *currently* in. A single period means the current folder while two periods means go up a level. + +For example, when we are in the Users/User/Documents folder, if we type: + +```bash +cd ../ +``` +Then we will move back into the Users/User folder. Or again starting in Users/User/Documents +```bash +cd ../../ +``` +this will move us up two levels in the Users folder + +To then run a Python script, easiest is to navigate to the folder where the script is and run the following (assuming that the script is call python_prog.py) + +```bash +python ./python_prog.py +``` + diff --git a/lessons/solving_problems/debugging.ipynb b/lessons/solving_problems/debugging.ipynb new file mode 100644 index 00000000..804bbe37 --- /dev/null +++ b/lessons/solving_problems/debugging.ipynb @@ -0,0 +1,45 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "d7a062ba", + "metadata": {}, + "source": [ + "# Debugging\n", + "\n", + "A lesson on how to go about debugging your code" + ] + }, + { + "cell_type": "markdown", + "id": "f4b642ff", + "metadata": {}, + "source": [ + "## Approaches to debugging" + ] + }, + { + "cell_type": "markdown", + "id": "1304ae80", + "metadata": {}, + "source": [ + "We will highlight a few ways to find errors in your programmes.\n", + "\n", + "* Add print statements. When constructing your code add print statements to check that you are getting the values you expect at each step. If you want to see if a condition is being met, add print statements into a condition which says that it has been met.\n", + "\n", + "* If there are calculations, do simple examples by hand and then run those examples through your programme. Make sure you get the same answer.\n", + "\n", + "* When writing loops, make sure the code works for a single loop then check it works for 2 etc... build up.\n", + "\n", + "* Use an Integrated Development Environment (IDE) and similar tools. These can help track through code for errors, through break points and linting." + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/lessons/solving_problems/errors_and_debug.ipynb b/lessons/solving_problems/errors_and_debug.ipynb new file mode 100644 index 00000000..679a5dee --- /dev/null +++ b/lessons/solving_problems/errors_and_debug.ipynb @@ -0,0 +1,304 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "4807e838", + "metadata": {}, + "source": [ + "# Programming Errors and Debugging\n", + "\n", + "## Learning Outcomes\n", + "\n", + "- An understanding of what types of coding errors you might face\n", + "- How to *debug* your code to solve errors\n", + "\n", + "## Prerequisites\n", + " - [A working Python installation](/lessons/basics/write_run_python.md)\n" + ] + }, + { + "cell_type": "markdown", + "id": "53bf7456", + "metadata": {}, + "source": [ + "## Errors\n", + "\n", + "Errors come in a variety of types, some easy to find and fix some more insiduous" + ] + }, + { + "cell_type": "markdown", + "id": "f2aafb76", + "metadata": {}, + "source": [ + "
\n", + "Typos\n", + "\n", + "Perhaps the most common errors, where the user mistypes the code they are writing. Can be subtle, remember that Python is case-sensitive. So it is easy to type the wrong variable name with different capitalisation. To minimise typos, try autocompleting your words using the `` key.\n", + "\n", + "This can be controlled by having **meaningful** variable names that aren't to long\n", + "\n", + "Example\n", + "\n", + "```python\n", + "my_Value = 5\n", + "my_value = 90\n", + "\n", + "#Will do a calculation on my_Value\n", + "my_Value = my_Value * 50 + 2\n", + "#now print my result\n", + "print(my_value)\n", + "```\n", + "

" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "eed815ba", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "52649529", + "metadata": {}, + "source": [ + "
\n", + "Syntax errors\n", + "\n", + "These are generally the easiest errors to spot. When the code runs the compiler tends to pick up these errors and inform the user. Try putting the following in the box below \n", + "```python\n", + " i = 0\n", + " i = 0 + \"error\"\n", + "```\n", + "You should get the following error:\n", + " \n", + " ---------------------------------------------------------------------------\n", + " TypeError Traceback (most recent call last)\n", + " in ()\n", + " 1 i = 0\n", + " ----> 2 i = 0 + \"error\"\n", + "\n", + " TypeError: unsupported operand type(s) for +: 'int' and 'str'\n", + "\n", + "Though often appearing unintelligble there is a lot of useful information contained in these reports. Perhaps most important is which line is in error (indicated by the `---->`) allowing you to at least track it down. If there is ever more than one error it is usually best to start with the first error, often correcting this corrects the others. The error in the code above is that the code is attempting to add a string (`'str'`) to an integer (`'int'`) using the `+` command (the operand). This is not allowed for `+`.\n", + "\n", + "Example\n", + "```python\n", + "my_Value = 5\n", + "my_value = 90\n", + "\n", + "#Will do a calculation on my_Value\n", + "my_Value = my_Value * 50 + 2\n", + "#now print my result\n", + "print(my_alue)\n", + "```\n", + "\n", + "

" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e7e26c11", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "102cbf2a", + "metadata": {}, + "source": [ + "
\n", + "Logic errors\n", + "\n", + "These are the most insidious errors and by far the hardest to find. The code will be correct in terms of syntax and will work as written. However the code won't run as intended. Common places to find this type of error are in conditional statements.\n", + "\n", + "Example:\n", + "\n", + "Imagine we are checking values, if they are less than 10 we want to do something to them that is different to if they are over 10. However, what if we also want something to happen when the value is 5?\n", + "\n", + "We might write the following code\n", + "```python\n", + "import_test = 5\n", + "\n", + "if import_test <10:\n", + " print(\"Less than 10\")\n", + "elif import_test == 5:\n", + " print(\"This is really important and needs recording\")\n", + "else:\n", + " print(\"Over 10\")\n", + "```\n", + "But this will never trigger the important condition. We check if the value is less than 10, if it is no other checks are peformed. Therefore we will never check if it is 5.\n", + "\n", + "This is correct Python, we have just broken the logic!\n", + "\n", + "Or other common errors are fogetting about the rules for priority of operators in Python, so a calculation is performed that isn't what you meant:\n", + "\n", + "```python\n", + "\n", + "value = 5 * 3 - 2 * 6\n", + "```\n", + "This gives an answer of 3, which might be right if you meant the equation to be\n", + "$ (5 \\times 3) - (2 \\times 6)$, but not if you meant $ 5 \\times (3 - 2) \\times 6 $\n", + "\n", + "Use brackets in your code to remove any ambiguity, don't rely on priority\n", + "

" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "18623da7", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "2e7d39a9", + "metadata": {}, + "source": [ + "## Debugging\n", + "\n", + "Now we have an understanding of what errors can arise we can look at how to find them in the code and how to fix them\n", + "Debugging can be done in a variety of ways depending on how you have set up your python installation. If you are just writing your scripts in a text editor and running when done then these following methods can be used\n", + "\n", + "
\n", + "Simple Debugging\n", + "\n", + "* Add *print* statements. When constructing your code add print statements to check that you are getting the values you expect at each step. If you want to see if a condition is being met, add print statements into a condition which says that it has been met. This can lead to an overwhelming amount of outputs\n", + "\n", + "* *Testing*, make sure the bits of code produce the answer ou expect. If there are calculations, do simple examples by hand and then run those examples through your programme. Make sure you get the same answer. If not go look carefully at your code\n", + "\n", + "* When writing loops, make sure the code works for a single loop then check it works for 2 etc... build up your complexity.\n", + "\n", + "

\n", + "However, if you use an Integrated Development Environment (IDE) or similar tools. Then as well as the simple methods they will have built in methods that can help track through code for errors, such as break points and linting.\n", + "We will give examples of how to debug using VScode or Spyder, other IDEs will have similar methods available\n", + "\n", + "\n", + "
\n", + "Advanced Debugging - VScode\n", + "VScode has extensive Python debugging abilities.[ If you are using VScode](/lessons/basics/write_run_python.md#installation) you should have the Python extension already installed. If not install it by going to the extensions tab. Which is this icon on the left \n", + "\n", + "![An image of 3 icons, one play image with bug in front, second a set of four squares with one rotated with a red circle around it. The third is a monitor](images/code_extensions_icon.png) \n", + "\n", + "Search here for Python and install the [Microsoft Python extension](https://marketplace.visualstudio.com/items?itemName=ms-python.python). This will give us what we need to get started working with Python in VScode effectively.\n", + "\n", + "To get the most out of VScode it is best to open what is called a *workspace*. This sounds complicated but just means opening the folder that contains your script file. How to create a workspace and a rationale behind it are [here](https://code.visualstudio.com/docs/editing/workspaces/workspaces). They are a common concept found in other IDEs, they are very useful.\n", + "Here is an example workspace opened in VScode:\n", + "![An image of VScode screen, largely blank it has 2 columns visible, one small with some icons. The other is large and empty](images/code_start.png)\n", + "\n", + "Currently it is rather sparse as nothing is opened. But we can see the main features, which includes saying that there is a file *debug_example_1.py* in the workspace. We can open this file by clicking on it.\n", + "\n", + "![An image of VScode screen, it has 2 columns visible, one small with some icons. The other is large and now has Python code visible from the loaded file](images/code_file_open.png)\n", + "The code is now visible, as is information on the code layout in the outline table on the left. Here the structure of the code is broken down into its functional chunks.\n", + "Notice that the code has been coloured to indicate the [syntax](), i.e what is a variable or a function.\n", + "\n", + "This code will run, but let's make an intentional error. On line 5 of the code (*note that the lines are numbered in the code window to aid navigation*) we will remove the second \". This is a breaking change.\n", + "\n", + "![An image of VScode screen, it has 2 columns visible, one small with some icons. The other is large and now has Python code visible from the loaded file. The code on line 5 is underlined in red](images/code_error.png)\n", + "\n", + "Notice that the line with the broken code is now underlined in red, indicating the error. If I hover the mouse over the error a pop up will explain the error.\n", + "\n", + "![An image of the VScode pop up saying \"String Literal is unterminated\"](images/code_error_explain.png)\n", + "\n", + "I can now fix this error by terminating the string literal, i.e putting the \" back in place.\n", + "\n", + "How do we run the code to test. The first way is to run it in an integrated terminal. Got to the terminal menu and choose *New Terminal*. A new terminal will open in the bottom of the window. We can then run our programme by typing the following command:\n", + "\n", + "```bash\n", + "python debug_example_1.py\n", + "```\n", + "and the output is then written to screen\n", + "\n", + "![Image of a terminal prompt where the command \"python debug_example_1.py\" has been executed the output of 720.66 is shown](images/code_terminal.png)\n", + "\n", + "Useful, but we can do it better than that. We can run in [debug mode](https://code.visualstudio.com/docs/debugtest/debugging).\n", + "\n", + "To do this we go to the debug tab\n", + "\n", + "![An image of 3 icons, one play image with bug in front with a red circle around it, second a set of four squares with one rotated. The third is a monitor](images/code_debug_icon.png)\n", + "\n", + "Then we can either click the *Run and Debug* button or the *create a launch.json file* link. I would click the link over the button as it makes the steps quicker in future as your choices are saved. Once clicked a little choice window will appear\n", + "\n", + "![A list of choices in rows](images/code_select_debugger.png)\n", + "\n", + "select the *Python Debugger* then in the next selection choose *Python File*, there are lots of other options available but they are more advanced and beyond the scope of this lesson. This has now created a *launch.json* files which can be edited to control how the debugger works. It is good to add an extra option ```\"stopOnEntry\":true```\n", + "Adding this makes the final *launch.json* look like this (note the comma on the line before the stopOnEntry)\n", + "\n", + "```json\n", + "{\n", + " // Use IntelliSense to learn about possible attributes.\n", + " // Hover to view descriptions of existing attributes.\n", + " // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387\n", + " \"version\": \"0.2.0\",\n", + " \"configurations\": [\n", + "\n", + " {\n", + " \"name\": \"Python Debugger: Current File\",\n", + " \"type\": \"debugpy\",\n", + " \"request\": \"launch\",\n", + " \"program\": \"${file}\",\n", + " \"console\": \"integratedTerminal\",\n", + " \"stopOnEntry\":true\n", + " }\n", + " ]\n", + "}\n", + "```\n", + "Now either press *F5* or the green play button in the debug tab to start debugging (make sure the file you want to debug has the focus in the document window)\n", + "\n", + "![An image of VScode screen, it has 2 columns visible, one small with some icons. The other is large and now has Python code visible from the loaded file. The top line is highlighted in yellow](images/code_start_debug.png)\n", + "\n", + "The top line is highlighted in yellow, this indicates that the execution of the code is stopped on that line. In the top left is a set of debug controls\n", + "\n", + "![Strip of icons, a play icon, an icon of a circle with an arrow curving over it, an icon of a circle with an arrow pointing at it. An icon of a circle with an arrow pointing away from it. An icon of a green arrow on a circle pointing anti-clockwise](images/code_debug_controls.png)\n", + "\n", + "If we press the green button the code will run until the next set breakpoint, the other icons allow the code to be stepped through a line at a time.\n", + "We can set a breakpoint, that is a section of code the debugger will stop on (that is break), by clicking to the left of the line number we want to stop on. We shall do this on line 83, which is where the programme proper starts.\n", + "\n", + "![Image of a section of the script window with the line \"print(mol_mass(\"C60\"))\" to the left is a small filled red circle](images/code_break1.png)\n", + "\n", + "Notice the red circle, this is the set breakpoint. Now press the green play button in the debug controls. The programme will stop and highlight line 83. If you look in the Debug tab the Variables list is now populated.\n", + "\n", + "![List of varibles in a tree format. Some now have numbers afer them](images/code_debug_variables.png)\n", + "\n", + "Next press the third icon (the circle with an arrow pointing to it), this is *step into* and will take us to the next line of code.\n", + "\n", + "Use of breakpoints and the variables in the debug tab will allow you to easily step through code and find where a calculation is not working quite how you expect.\n", + "\n", + "

\n", + "\n", + "
\n", + "Advanced Debugging - Spyder\n", + " TO DO\n", + "

" + ] + } + ], + "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.12.9" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/lessons/solving_problems/flowcharts.ipynb b/lessons/solving_problems/flowcharts.ipynb new file mode 100644 index 00000000..d28640ea --- /dev/null +++ b/lessons/solving_problems/flowcharts.ipynb @@ -0,0 +1,122 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "f6641546", + "metadata": {}, + "source": [ + "# Flowcharts\n", + "\n", + "A lesson on how to use flowcharts to visualise and represent your problem.\n", + "\n", + "If you are stuck on understanding how to iterate through a loop or use an if statement, you can use a flowchart to help you visualise the problem. They are also good to help others understand what your program is achieving." + ] + }, + { + "cell_type": "markdown", + "id": "ca99bbcb", + "metadata": {}, + "source": [ + "## Guide to flowcharts and their symbols\n", + "\n", + "All programming flowcharts use a similar system of symbols to make them easier to comprehend.\n", + "- Oval boxes indicate the start or end.\n", + "- Rhombus boxes represent an input or output.\n", + "- Square boxes show a process, e.g. a calculation. \n", + "- Diamond indicates a decision.\n", + "\n", + "All follow the same rules:\n", + "\n", + "- All must have a start and end point.\n", + "- The arrows must be single-headed and show progression. The arrows must start at the start point and end at an end-point. " + ] + }, + { + "cell_type": "markdown", + "id": "46d9dc6e", + "metadata": {}, + "source": [ + "## Flowcharts for visualising conditional ``if`` statements" + ] + }, + { + "cell_type": "markdown", + "id": "9c35144f", + "metadata": {}, + "source": [ + "### Basic `if` statements" + ] + }, + { + "cell_type": "markdown", + "id": "1d4f7f27", + "metadata": {}, + "source": [ + "### Statements using `if`...`elif`...`else`" + ] + }, + { + "cell_type": "markdown", + "id": "d84f2484", + "metadata": {}, + "source": [ + "### Nested ``if`` statements" + ] + }, + { + "cell_type": "markdown", + "id": "f0f7d019", + "metadata": {}, + "source": [ + "## Flowcharts for visualising ``for`` loops" + ] + }, + { + "cell_type": "markdown", + "id": "536a6901", + "metadata": {}, + "source": [ + "### Basic ``for`` loops" + ] + }, + { + "cell_type": "markdown", + "id": "b4e3da37", + "metadata": {}, + "source": [ + "### Nested ``for`` loops\n" + ] + }, + { + "cell_type": "markdown", + "id": "09118b67", + "metadata": {}, + "source": [ + "### Using ``break`` and ``continue``" + ] + }, + { + "cell_type": "markdown", + "id": "006d343d", + "metadata": {}, + "source": [ + "## Flowcharts for visualising ``while`` loops" + ] + }, + { + "cell_type": "markdown", + "id": "d9ed6d12", + "metadata": {}, + "source": [ + "## Creating your own flowcharts" + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/lessons/solving_problems/images/code_break1.png b/lessons/solving_problems/images/code_break1.png new file mode 100644 index 00000000..554e2c40 Binary files /dev/null and b/lessons/solving_problems/images/code_break1.png differ diff --git a/lessons/solving_problems/images/code_debug_controls.png b/lessons/solving_problems/images/code_debug_controls.png new file mode 100644 index 00000000..f99b5f73 Binary files /dev/null and b/lessons/solving_problems/images/code_debug_controls.png differ diff --git a/lessons/solving_problems/images/code_debug_icon.png b/lessons/solving_problems/images/code_debug_icon.png new file mode 100644 index 00000000..b37aa68c Binary files /dev/null and b/lessons/solving_problems/images/code_debug_icon.png differ diff --git a/lessons/solving_problems/images/code_debug_variables.png b/lessons/solving_problems/images/code_debug_variables.png new file mode 100644 index 00000000..7d906497 Binary files /dev/null and b/lessons/solving_problems/images/code_debug_variables.png differ diff --git a/lessons/solving_problems/images/code_error.png b/lessons/solving_problems/images/code_error.png new file mode 100644 index 00000000..93fcb5a3 Binary files /dev/null and b/lessons/solving_problems/images/code_error.png differ diff --git a/lessons/solving_problems/images/code_error_explain.png b/lessons/solving_problems/images/code_error_explain.png new file mode 100644 index 00000000..a5bb9d71 Binary files /dev/null and b/lessons/solving_problems/images/code_error_explain.png differ diff --git a/lessons/solving_problems/images/code_extensions_icon.png b/lessons/solving_problems/images/code_extensions_icon.png new file mode 100644 index 00000000..cf648a18 Binary files /dev/null and b/lessons/solving_problems/images/code_extensions_icon.png differ diff --git a/lessons/solving_problems/images/code_file_open.png b/lessons/solving_problems/images/code_file_open.png new file mode 100644 index 00000000..5ee3613f Binary files /dev/null and b/lessons/solving_problems/images/code_file_open.png differ diff --git a/lessons/solving_problems/images/code_icon.png b/lessons/solving_problems/images/code_icon.png new file mode 100644 index 00000000..58fc64a1 Binary files /dev/null and b/lessons/solving_problems/images/code_icon.png differ diff --git a/lessons/solving_problems/images/code_select_debugger.png b/lessons/solving_problems/images/code_select_debugger.png new file mode 100644 index 00000000..0e1775c4 Binary files /dev/null and b/lessons/solving_problems/images/code_select_debugger.png differ diff --git a/lessons/solving_problems/images/code_start.png b/lessons/solving_problems/images/code_start.png new file mode 100644 index 00000000..3ea3da9d Binary files /dev/null and b/lessons/solving_problems/images/code_start.png differ diff --git a/lessons/solving_problems/images/code_start_debug.png b/lessons/solving_problems/images/code_start_debug.png new file mode 100644 index 00000000..26088dfe Binary files /dev/null and b/lessons/solving_problems/images/code_start_debug.png differ diff --git a/lessons/solving_problems/images/code_terminal.png b/lessons/solving_problems/images/code_terminal.png new file mode 100644 index 00000000..34933997 Binary files /dev/null and b/lessons/solving_problems/images/code_terminal.png differ diff --git a/lessons/solving_problems/solving-problems.md b/lessons/solving_problems/solving-problems.md new file mode 100644 index 00000000..1d1b0e30 --- /dev/null +++ b/lessons/solving_problems/solving-problems.md @@ -0,0 +1,6 @@ +# Approaching Coding Problems + +In this section there is some guidance on how to approach a coding problem, how to debug your code and how to represent your problem/program in a descriptive manner. + +There is also a worked example of how to go from a question and blank file to a working programme + diff --git a/lessons/solving_problems/style-and-comments.ipynb b/lessons/solving_problems/style-and-comments.ipynb new file mode 100644 index 00000000..61645f3a --- /dev/null +++ b/lessons/solving_problems/style-and-comments.ipynb @@ -0,0 +1,501 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "406b4e39", + "metadata": {}, + "source": [ + "# Style and Comments" + ] + }, + { + "cell_type": "markdown", + "id": "b7878ee6", + "metadata": {}, + "source": [ + "## Learning Outcomes:\n", + "\n", + "- Understand why style is important in Python\n", + "- Use the correct styles in Python" + ] + }, + { + "cell_type": "markdown", + "id": "59f114cb", + "metadata": {}, + "source": [ + "## Prerequisites\n", + "\n", + "A general understanding of Python" + ] + }, + { + "cell_type": "markdown", + "id": "9f33481e", + "metadata": {}, + "source": [ + "## Python's PEP8" + ] + }, + { + "cell_type": "markdown", + "id": "90412e16", + "metadata": {}, + "source": [ + "\"A foolish consistency is the hobgoblin of little minds\" \n", + " - Ralph Waldo Emerson " + ] + }, + { + "cell_type": "markdown", + "id": "9aae836d", + "metadata": {}, + "source": [ + "PEP stands for 'Python Enhancement Proposal', and presents some of the key points you can use to make your code more organized and readable. Within PEP, [PEP8 is the style guide](https://peps.python.org/pep-0008/), and lists the conventions for ensuring Python code looks good, focussing on readability, simplicity, adaptability, and consistency.\n", + "\n", + "Readability is one of the key aspects of PEP8. Programming code is always read more than it is written. Whether this is you going back to check and edit your work, a colleague working on the same piece of code as you, or your lecturer marking your work, it will be read many more times than written down. This is why making your code look good and readable is very important. It also needs to be adaptable for different purposes. \n", + "\n", + "Following a specific style guide also ensures Python code is readable across different workplaces, industries, and countries, understand the format and layout of your code. It also means they can easily pick up from where you left off, adapting, improving, or developing your code.\n", + "\n", + "For these reasons, it is highly recommended that you follow the PEP8 style guide as closely as possible. However, this is not always possible. PEP8 quotes the essayist Ralph Waldo Emerson: \"A foolish consistency is the hobgoblin of little minds\". In other words: Following the style guide is important, but you need to know when to be inconsistent and break the style guide - sometimes the style guide doesn't apply, and you need to use your best judgement in those cases. If applying the style guide makes your code less readable, you should break it. " + ] + }, + { + "cell_type": "markdown", + "id": "51c56c00", + "metadata": {}, + "source": [ + "## Variables" + ] + }, + { + "cell_type": "markdown", + "id": "03fe71b3", + "metadata": {}, + "source": [ + "In Python, there is no difference between `\"\"` and `''`. It does not matter which you use, but pick one and be consistent." + ] + }, + { + "cell_type": "markdown", + "id": "c47ea131", + "metadata": {}, + "source": [ + "## Indentation" + ] + }, + { + "cell_type": "markdown", + "id": "001f59ed", + "metadata": {}, + "source": [ + "The standard indent is one ``, which is equivalent to four spaces. \n", + "\n", + "It is possible to use a different number of spaces for your indent (some programs use a single space), and Python may even accept inconsistent indents in different parts of your code, however this is not recommended. If you must use a different number of spaces in your indent (for example for compatibility with an already written program), ensure it is consistently used throughout. \n", + "\n", + "Code within conditional statements, loops, functions, and `with` statements should be indented evenly. Once the indent is no longer respected, code does not occur within the statement, function, or loop." + ] + }, + { + "cell_type": "markdown", + "id": "142f2d04", + "metadata": {}, + "source": [ + "## Wrapping long lines" + ] + }, + { + "cell_type": "markdown", + "id": "75ea035f", + "metadata": {}, + "source": [ + "All lines should be limited to a maximum of 79 characters. For docstrings or comments, limit the line length to 72 characters. This limits the required editor window width and makes it easier to have multiple files open side-by-side, as well as using review tools that present two versions of the code in adjacent columns (see lesson on [version control](./version_control.ipynb)).\n", + "\n", + "Continuation lines should be aligned wrapped vertically (lined up with similar objects), or using a hanging indent (wrapped to the start of the line, with an additional indent). Hanging indents should have no arguments on the on the first line, and additional indents should be used to distinguish it as a continuation line rather than the rest of the code. \n", + "\n", + "Wrapped vertically: \n", + "\n", + "```Python\n", + "answer = long_function_name(var_one, var_two,\n", + " var_three, var_four)\n", + "```\n", + "\n", + "Using hanging indents:\n", + "```Python\n", + "# An additional level of indent distinguishes arguments from function code\n", + "def long_function_name(\n", + " variable_one, variable_two, variable_three, \n", + " variable_four, variable_five):\n", + " \"\"\"Docstring\"\"\"\n", + " print(var_one)\n", + "\n", + "# Adding an additional level of indent helps distinguish condition from statement code\n", + "if (this_one_long_condition and\n", + " this_other_long_condition):\n", + " do_something()\n", + "\n", + "# Otherwise just add a level\n", + "answer = long_function_name(\n", + " variable_one, variable_two, variable_three, \n", + " variable_four, variable_five):\n", + "```\n", + "\n", + "It is acceptable to indent continuation lines to an indent other than four spaces (but if you do this, do it consistently!).\n", + "\n", + "When you have a very long list, dictionary, or array, you should wrap these as well. You may wrap items one to a line, or multiple to a line. The closing bracket/brace may end up under the first non-whitespace character of the last line of the list, or it may be lined up under the first character of the line that starts the multiline construct.\n", + "\n", + "```Python\n", + "# One item to a line\n", + "# Closing bracket lined up under first non-whitespace character\n", + "list_of_random_numbers = [\n", + " 0.8765321945,\n", + " 0.4561209876,\n", + " 0.9328456712,\n", + " 0.2754610298,\n", + " 0.7132098456,\n", + " 0.5737299874,\n", + " ]\n", + "\n", + "# Two items to a line\n", + "# Closing bracket under the first character of the list name\n", + "list_of_random_numbers = [\n", + " 0.8765321945, 0.4561209876,\n", + " 0.9328456712, 0.2754610298,\n", + " 0.7132098456, 0.5737299874,\n", + "]\n", + "```\n", + "\n", + "Notice that you may use a trailing comma at the end of the list. This makes it easy to write additional items." + ] + }, + { + "cell_type": "markdown", + "id": "2a02937b", + "metadata": {}, + "source": [ + "## Imports" + ] + }, + { + "cell_type": "markdown", + "id": "b58287a0", + "metadata": {}, + "source": [ + "Imports should be on separate lines. However, you may import multiple modules from the same library on one line. If is recommended to use absolute imports, and not paths such as `matplotlib.pyplot`.\n", + "\n", + "```Python\n", + "import math\n", + "from numpy import linalg, polynomial\n", + "\n", + "# Recommended\n", + "from matplotlib import pyplot as plt\n", + "\n", + "# Not recommended\n", + "import matplotlib.pyplot as plt\n", + "```\n", + "\n", + "Imports are always put at the top of the file, just under any comments about these imports. They should be imported in the following order: \n", + "1. Standard library imports\n", + "2. Related third party imports\n", + "3. Local application/library specific imports (such as a dictionary of the periodic table)\n", + "\n", + "Be careful with aliases. Where possible, use standard names. " + ] + }, + { + "cell_type": "markdown", + "id": "92e70919", + "metadata": {}, + "source": [ + "## Whitespace" + ] + }, + { + "cell_type": "markdown", + "id": "d058f8da", + "metadata": {}, + "source": [ + "Surround top-level functions with two blank lines. Extra blank lines may be used (sparingly) to separate groups of related functions. Use blank lines in functions, sparingly, to indicate logical sections. \n", + "\n", + "Surround logical sections (such as if statements and loops) with single blank lines. \n", + "\n", + "A single space should be added before and after operators (e.g. =, +, ==, !=, and, or, not, etc). Some auto-formatters will take `**` as an exception. For example: \n", + "\n", + "```Python\n", + "maths = 5 * 5 + 6 / 2 ** 3\n", + "if x == 5:\n", + "```\n", + "\n", + "An exception to this is keyword arguments and optional arguments, which have no space around the '='. \n", + "\n", + "```Python\n", + "def my_function(var_1, var_2=\"name\"):\n", + " print(var_1, var_2)\n", + "\n", + "my_function(var_1=42)\n", + "```\n", + "\n", + "Avoid extraneous whitespace in the following situations: \n", + "- Immediately inside brackets:\n", + " - Correct: `print(my_list[1], type(my_variable))`\n", + " - Wrong: `print( my_list[ 1 ] , type( my_variable ) )`\n", + "\n", + "- Between a trailing comma the the closing brackets:\n", + " - Correct: `list = [1,]`\n", + " - Wrong: `list = [1, ]`\n", + "\n", + "- Immediately before a comma, semicolon, or colon:\n", + " - Correct: `if x == 4:` or `[1, 2, 3]`\n", + " - Wrong: `if x == 4 :` or `[1 , 2 , 3]`\n", + "\n", + "- Immediately before the open bracket in a function:\n", + " - Correct: `my_function(10)`\n", + " - Wrong: `my_function (10)`" + ] + }, + { + "cell_type": "markdown", + "id": "4c01a879", + "metadata": {}, + "source": [ + "## Comments + Docstrings" + ] + }, + { + "cell_type": "markdown", + "id": "604830e3", + "metadata": {}, + "source": [ + "Comments should be added to explain what is going on, and kept up-to-date when you make changes.\n", + "\n", + "Do not overstate the obvious, and comments that contradict the code are worse than no comments.\n", + "\n", + "```Python\n", + "# Bad comments\n", + "\n", + "# Time is 10\n", + "time = 10 \n", + "\n", + "# Add 5 seconds to time\n", + "time_difference = time - 5\n", + "```\n", + "\n", + "Comments should be complete sentences. The first word should be capitalised, unless it is an identifier that begins with a lower case letter (e.g. a variable name), which should never have their case changed. \n", + "\n", + "Ensure your comments are clear and easily identifiable to other speakers of the language you are writing in. Write in English unless your code will not be read by people who speak English.\n", + "\n", + "Block comments generally apply to some (or all) of the code that follows them, and are indented to the same level as that code. Each line of a block comment starts with a `#` and a single space.\n", + "\n", + "```Python\n", + "# A good block comment\n", + "if a == b:\n", + " # An indented block comment\n", + " var = a\n", + "```\n", + "\n", + "Inline comments appear on the same line as the code, and should be used sparingly. They should also start with `#` and a single space. They are unnecessary and distracting if they state the obvious. The best use in scientific programming is to state units. \n", + "\n", + "```Python\n", + "# Good\n", + "radius = 1.3 # Angstroms\n", + "\n", + "# Bad\n", + "radius = radius - 0.1 # Decrease by 0.1\n", + "\n", + "# Good\n", + "radius = radius - 0.1 # Compensate for lone valence electron removal\n", + "```" + ] + }, + { + "cell_type": "markdown", + "id": "f9c8a28e", + "metadata": {}, + "source": [ + "## Docstrings" + ] + }, + { + "cell_type": "markdown", + "id": "64e74360", + "metadata": {}, + "source": [ + "Docstrings are placed just inside a function and explain what the function does. At a minimum, it summarises the purpose of a function, but most docstrings also specify parameters, returns, and some even contain examples. You should write a docstring after every function that other people will see, and it is good practice to write them for functions that others won't see too. Docstrings are indicated using `\"\"\" \"\"\"`. \n", + "\n", + "One-line docstrings are used for very obvious cases. \n", + "\n", + "```Python\n", + "def my_function()\n", + " \"\"\"Print Hello.\"\"\"\n", + " print(\"Hello\")\n", + " return\n", + "```\n", + "\n", + "Note:\n", + "- Triple quotes are used even though the string fits on one line. This makes it easy to later expand it.\n", + "- The closing quotes are on the same line as the opening quotes. This looks better for one-liners.\n", + "- There’s no blank line either before or after the docstring.\n", + "- The docstring is a phrase ending in a period.\n", + "- The docstring prescribes the function description as a command. Always write `\"\"\"Calculate the mean\"\"\"` rather than `\"\"\"Calculates the mean\"\"\"`.\n", + "\n", + "Multi-line docstrings have no specific given format, however they should always include the following:\n", + "- A summary line, followed by a blank line, followed by a more elaborate description.\n", + "- Include explanation of all parameters and returns, including data type. \n", + "\n", + "A good style for docstrings is the [NumPy style](https://numpydoc.readthedocs.io/en/latest/format.html). This generally looks like this:\n", + "\n", + "```Python\n", + "def my_function(var_1, var_2, var_3=40, var_4=0.001):\n", + " \"\"\"\n", + " Perform a sum on radii of atoms in a given molecule.\n", + "\n", + " Parameters\n", + " ----------\n", + " var_1 : LIST\n", + " Radius values given in Angstroms.\n", + " All values as floating points.\n", + " var_2 : STR\n", + " Molecule name.\n", + " var_3 : INT\n", + " Conversion constant.\n", + " Default is 40.\n", + " var_4 : FLOAT\n", + " Standard number.\n", + " \n", + " Returns\n", + " -------\n", + " var_5 : LIST\n", + " Converted radius values. \n", + " In Angstroms.\n", + " var_6 : STR or NONE\n", + " A value that depends on the input.\n", + " \"\"\"\n", + "```\n", + "\n", + "There are many other things you can add to a docstring, but this is the basics. \n" + ] + }, + { + "cell_type": "markdown", + "id": "6dea0852", + "metadata": {}, + "source": [ + "## Code order " + ] + }, + { + "cell_type": "markdown", + "id": "5c7437c5", + "metadata": {}, + "source": [ + "1. Import modules, libraries, and functions\n", + "2. Declare functions\n", + "3. Declare constants\n", + "4. Declare variables\n", + "5. Write code" + ] + }, + { + "cell_type": "markdown", + "id": "ee462892", + "metadata": {}, + "source": [ + "## Naming conventions" + ] + }, + { + "cell_type": "markdown", + "id": "de65e656", + "metadata": {}, + "source": [ + "- Snake case for variables and functino names\n", + "- Camelcase and mixed case used for other Python things\n", + "\n", + "Never use lowercase 'l' ('el'), uppercase I ('i'), or uppercase O ('oh'). In some fonts these characters are indistinguishable from each other or the numerals 1 (one) and 0 (zero).\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "0d96e9a5", + "metadata": {}, + "source": [ + "## Functions" + ] + }, + { + "cell_type": "markdown", + "id": "0c463ea8", + "metadata": {}, + "source": [ + "- Either all return statements should return something or none should. If even one return statement returns an object, any empty return statements should explicitly read `return None`." + ] + }, + { + "cell_type": "markdown", + "id": "c40ff1fd", + "metadata": {}, + "source": [ + "## Scientific Programming" + ] + }, + { + "cell_type": "markdown", + "id": "3972c683", + "metadata": {}, + "source": [ + "As we are doing scientific programming, there are some things you must remember.\n", + "\n", + "- Always include units. \n", + " - Be careful with capitalisation. \n", + " - Units following a number should have a space, e.g. `print(\"There are 25 dm of solvent.\")`\n", + " - Units comprised of multiple parts should have a space, e.g. `print(\"There are 25 mol dm^3 of solvent.\")`\n", + " - Use LaTeX to format units. \n", + " - Add units using inline comments in your code, and every time you print something.\n", + "\n", + "- Always add titles and axes labels to graphs." + ] + }, + { + "cell_type": "markdown", + "id": "1458111d", + "metadata": {}, + "source": [ + "## The Zen of Python" + ] + }, + { + "cell_type": "markdown", + "id": "bfb7f5d5", + "metadata": {}, + "source": [ + "Python has an inbuilt easter egg, a poem of 20 aphorisms that succinctly channels the guiding principles of Python's design. \n", + "\n", + "Try running: \n", + "\n", + "`import this`" + ] + } + ], + "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.12.3" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/lessons/solving_problems/version_control.ipynb b/lessons/solving_problems/version_control.ipynb new file mode 100644 index 00000000..fc80f7a1 --- /dev/null +++ b/lessons/solving_problems/version_control.ipynb @@ -0,0 +1,47 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "f582127a", + "metadata": {}, + "source": [ + "# Version Control" + ] + }, + { + "cell_type": "markdown", + "id": "edba83c4", + "metadata": {}, + "source": [ + "## Prerequisites\n", + "\n", + "- Files and file management\n", + "- Writing a program" + ] + }, + { + "cell_type": "markdown", + "id": "87f4693d", + "metadata": {}, + "source": [ + "## Contents\n", + "\n", + "- Saving many separate files with versions (code_V1.py, code_V2.py etc)\n", + "- What is version control using Git, motivation\n", + "- Description of main branch, commits, working branches, sync\n", + "- How to view past versions\n", + "- Tutorial with images how to do this in VSCode/Spyder.\n", + "- How to \n", + "- Potential issues and debugging them\n", + "- More advanced version control (directories, forks, clone, pull/push, stage etc ?)" + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/lessons/solving_problems/writing_a_program.ipynb b/lessons/solving_problems/writing_a_program.ipynb new file mode 100644 index 00000000..4021a959 --- /dev/null +++ b/lessons/solving_problems/writing_a_program.ipynb @@ -0,0 +1,622 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "0a5934f7", + "metadata": {}, + "source": [ + "# Writing a Program From Scratch" + ] + }, + { + "cell_type": "markdown", + "id": "990d1dc4", + "metadata": {}, + "source": [ + "## Learning Outcomes" + ] + }, + { + "cell_type": "markdown", + "id": "dabd0fac", + "metadata": {}, + "source": [ + "- How to create a programme from scratch\n", + "- How to create the programme outline\n", + "- How to fill in the outline\n", + "- How to debug and check the code\n", + "\n", + "## Prerequisites\n", + " - [A working Python installation](/lessons/basics/write_run_python.md)\n", + " - Worked through the tutorials" + ] + }, + { + "cell_type": "markdown", + "id": "00f8437c", + "metadata": {}, + "source": [ + "## Writing a program to calculate the mean and standard deviation of a set of numbers" + ] + }, + { + "cell_type": "markdown", + "id": "0dd85a2b", + "metadata": {}, + "source": [ + "### Establishing the basics" + ] + }, + { + "cell_type": "markdown", + "id": "aacee4f1", + "metadata": {}, + "source": [ + "Now we can pull all we have learnt and write our own program.\n", + "\n", + "We will create a program to calculate the mean and standard deviation of a set of numbers. We will therefore need the following equations:\n", + "\n", + "For the mean: \n", + "\n", + "$$ = \\frac{1}{N}(x_1 + x_2 + x_3 + ...+x_n)= \\frac{1}{N}\\sum(x_i) $$\n", + "\n", + "So the mean is the sum of N numbers from $x_1$ to $x_n$\n", + "\n", + "The Population has variance: \n", + "\n", + "$$ v(x,x)=<(x-\\bar{x})^2> = \\frac{1}{N}\\sum((x_i -\\bar{x})^2) $$\n", + "\n", + "The variance is the sum of the squared differences of N numbers from $x_1$ to $x_n$\n", + "\n", + "For the standard deviation: \n", + "\n", + "$$\\sigma(\\bar{x}) = \\sqrt{v(x,x)}$$\n", + "\n", + "The standard deviation is the square root of the variance.\n", + "\n", + "We will take these equations and turn them into a working programme" + ] + }, + { + "cell_type": "markdown", + "id": "94571ac5", + "metadata": {}, + "source": [ + "### First steps" + ] + }, + { + "cell_type": "markdown", + "id": "2e09d0ab", + "metadata": {}, + "source": [ + "The first thing we need are some numbers we can work with. We will use\n", + "1, 2, 3, 4, 5, 6, 7, 8, 9, 10 as our numbers. We have choosen these as they give us a simple test case.\n", + "\n", + "We can calculate the sum, the mean, variance and standard deviation of this list by hand easily. Which will allow us to test the code as we go along.\n", + "\n", + "Sum = 55,\n", + "\n", + "Mean = 5.5,\n", + "\n", + "Variance = 8.25,\n", + "\n", + "Standard deviation = 2.87" + ] + }, + { + "cell_type": "markdown", + "id": "2c9a4316", + "metadata": {}, + "source": [ + "
\n", + "Outline 1\n", + "\n", + "Our next step will be to create an initial outline of the programme and how it will work. This is our chance to make sure we have clear in our head how the programme and its algorithm will work\n", + "\n", + "First we build up the outline using comments\n", + "\n", + "```python\n", + "\n", + "# Start and import any libraries\n", + "\n", + "# Set up key variables needed later\n", + "\n", + "# Input data to work with\n", + "\n", + "# Do calculations on data\n", + "\n", + "# Output the results\n", + "\n", + "```\n", + "This is a very sparse barebones outline. But the key points are covered\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "9117c860", + "metadata": {}, + "source": [ + "
\n", + "Outline 2\n", + "\n", + "We will now fill in our outline with some more detail. We will not add any code yet, we first work out what is going to happen.\n", + "\n", + "The main part of the programme is going to be under the *Do* calculation comment. So we will next look at that.\n", + "\n", + "Lets expanded it, we know the aim of this programme is to calculate the mean, variance and standard deviation of a population\n", + "\n", + "```python\n", + "# Do calculations on data\n", + "## Calculate Mean\n", + "\n", + "## Calculate Variance\n", + "\n", + "## Calculate std\n", + "\n", + "```\n", + "Next lets think of how we will calculate the mean.\n", + "\n", + "$$ = \\frac{1}{N}(x_1 + x_2 + x_3 + ...+x_n)= \\frac{1}{N}\\sum(x_i) $$\n", + "\n", + "So we need to sum our numbers and then divide them by how many they are. Let us make that clear in our outline\n", + "\n", + "```python\n", + "# Do calculations on data\n", + "## Calculate Mean\n", + " ## Sum up all the numbers - get sum\n", + " ##divide the sum by the number of values - get mean\n", + "\n", + "## Calculate Variance\n", + "\n", + "## Calculate std\n", + "\n", + "```\n", + "Next how do we calculate the variance?\n", + "\n", + "$$ v(x,x)=<(x-\\bar{x})^2> = \\frac{1}{N}\\sum((x_i -\\bar{x})^2) $$\n", + "\n", + "So, for each number we take its difference from the mean, square that difference and then sum all the difference. Finally we divide this summed squared difference by the number of values. We will add that to our outline\n", + "\n", + "```python\n", + "# Do calculations on data\n", + "## Calculate Mean\n", + " ## Sum up all the numbers - get sum\n", + " ##divide the sum by the number of values - get mean\n", + "\n", + "## Calculate Variance\n", + " ## For each number\n", + " ## take difference from the mean - get diff\n", + " ## square that diff - get square diff\n", + " ## add to total square diff - get total diff\n", + " ## divide the total diff by the number of values - get variance\n", + " \n", + "## Calculate std\n", + "\n", + "```\n", + "\n", + "Finally, for the calculations how do we get the standard deviation?\n", + "\n", + "$$\\sigma(\\bar{x}) = \\sqrt{v(x,x)}$$\n", + "\n", + "So we just need to take the square root of the variance. Lets add this to the outline\n", + "\n", + "```python\n", + "# Do calculations on data\n", + "## Calculate Mean\n", + " ## Sum up all the numbers - get sum\n", + " ##divide the sum by the number of values - get mean\n", + "\n", + "## Calculate Variance\n", + " ## For each number\n", + " ## take difference from the mean - get diff\n", + " ## square that diff - get square diff\n", + " ## add to total square diff - get total diff\n", + " ## divide the total diff by the number of values - get variance\n", + " \n", + "## Calculate std\n", + " ## Take square root of variance - get std\n", + "```\n", + "We can now go back and fill in the rest of our outline.\n", + "\n", + "For the imports, we now know we need to import the math library as we need the square root function\n", + "\n", + "```python\n", + "# Start and import any libraries\n", + "## Import math library for square root\n", + "\n", + "```\n", + "For the variables we don't know what we'll need just yet\n", + "\n", + "For inputting data we know we will need a list of numbers from somewhere\n", + "\n", + "```python\n", + "# Input data to work with\n", + "## Get list of numbers\n", + "\n", + "```\n", + "For the output of results, we need to put the values of the mean, variance and standard deviation somewhere\n", + "\n", + "```python\n", + "# Output the results\n", + "## Print out mean, variance and standard deviation\n", + "```\n", + "\n", + "Putting that all together gives us a final outline.\n", + "Note that we have done **no coding yet**, we have just laid out a plan to help us code\n", + "\n", + "```python\n", + "\n", + "# Start and import any libraries\n", + "## Import math library for square root\n", + "\n", + "# Set up key variables needed later\n", + "\n", + "# Input data to work with\n", + "## Get list of numbers\n", + "\n", + "# Do calculations on data\n", + "## Calculate Mean\n", + " ## Sum up all the numbers - get sum\n", + " ##divide the sum by the number of values - get mean\n", + "\n", + "## Calculate Variance\n", + " ## For each number\n", + " ## take difference from the mean - get diff\n", + " ## square that diff - get square diff\n", + " ## add to total square diff - get total diff\n", + " ## divide the total diff by the number of values - get variance\n", + " \n", + "## Calculate std\n", + " ## Take square root of variance - get std\n", + "\n", + "\n", + "# Output the results\n", + "## Print out mean, variance and standard deviation\n", + "```\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "fd576aab", + "metadata": {}, + "source": [ + "
\n", + "Coding 1: Inputs\n", + "We will now start out coding.\n", + "\n", + "We need to import the square root function\n", + "\n", + "```python\n", + "from math import sqrt\n", + "```\n", + "So we add that into our outline\n", + "\n", + "We need to input our data. We shall create a list. \n", + "In the real world these numbers could be loaded from a data file or from the command line. But it is **always** quicker and easier when setting up a programme and debugging to hard code a simple example. Later when we are sure the code works we can extend it.\n", + "\n", + "```python\n", + "print(\"Load Numbers\")\n", + "nums = [1,2,3,4,5,6,7,8,9,10]\n", + "print(\"Loaded\")\n", + "```\n", + "We add this into our outline under the ```Get list of numbers``` comment. **Note** we have added print statements so that when we run this programme we know what is happening.\n", + "\n", + "Once we have finished writing the code many of the statments can be commented out or removed.\n", + "\n", + "We will also add the following:\n", + "```python\n", + "print(nums)\n", + "```\n", + "so we can check the numbers have loaded correctly.\n", + "\n", + "Run the code so far in the box below. Be sure it is working correctly.\n", + "\n", + "The output should be:\n", + "\n", + "Load Numbers\n", + "\n", + "Loaded\n", + "\n", + "[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\n", + "Add it to the outline\n", + "\n", + "```python\n", + "# Start and import any libraries\n", + "## Import math library for square root\n", + "\n", + "\n", + "# Set up key variables needed later\n", + "\n", + "# Input data to work with\n", + "## Get list of numbers\n", + "\n", + "# Do calculations on data\n", + "## Calculate Mean\n", + " ## Sum up all the numbers - get sum\n", + " ##divide the sum by the number of values - get mean\n", + "\n", + "## Calculate Variance\n", + " ## For each number\n", + " ## take difference from the mean - get diff\n", + " ## square that diff - get square diff\n", + " ## add to total square diff - get total diff\n", + " ## divide the total diff by the number of values - get variance\n", + " \n", + "## Calculate std\n", + " ## Take square root of variance - get std\n", + "\n", + "\n", + "# Output the results\n", + "## Print out mean, variance and standard deviation\n", + "\n", + "```\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "99f466f5", + "metadata": {}, + "source": [ + "
\n", + "Coding 2: The mean \n", + "Now we calculate the mean. This means first calculating the sum of the numbers we have loaded\n", + "\n", + "The fact that we have to sum tells us that we need a loop\n", + "\n", + "So we will create a loop in which to calculate the mean.\n", + "But first we will add the following code below the ``sum up all numbers comment`` (watch out for your indent). Then **run and test**\n", + "```python\n", + "for x in nums:\n", + " print(x)\n", + "```\n", + "When we run this we should get all the numbers printed out one by one. Doing simple tests like this as we construct our code means we can trust our results and we should spot errors sooner\n", + "\n", + "We will now add the following after the ```print(x)``` command, this will add the value of x into the variable mean remembering to indent so it is included in the loop\n", + "```python\n", + "mean = mean + x\n", + "print(mean)\n", + "```\n", + "**Run this**\n", + "\n", + "You should get an error that `mean` is not definied. So we need to remember to define mean before we use it. Currently we are asking the program to add a number to itself before it has a value, this is clearly wrong.\n", + "\n", + "We need to define mean before using it. More subtly we must set it to 0 when we start, this is not a syntax issue, we could start it with any value we like. **Think** about why it must start at 0 for a sum?\n", + "\n", + "We can place the line ``` mean = 0 ``` in two different places in our code. It can either go inside the for loop before the `mean = mean + x` line or it can go above the for loop. Try both positions and then consider which is the correct place.\n", + "\n", + "**Run and test** it. You should get the final mean value to be 55. Currently this is the sum, we know from earlier that it should be 55. So far our code is correct\n", + "\n", + "The final step in the calculation of the mean is to divide it by the number of elements. So now after the loop (so we reduce the indent by one) we need the following lines\n", + "```python\n", + "n_points = len(nums)\n", + "mean = mean / n_points\n", + "print(\"The mean is \", mean)\n", + "```\n", + "The first line gets the length of the list using a function built into Python called `len()`. We could also calculate this by counting how many times we go around the loop\n", + "We do this division outside the loop - why? What would we calculate if we did it inside the loop?\n", + "\n", + "```python\n", + "# Start and import any libraries\n", + "## Import math library for square root\n", + "from math import sqrt\n", + "\n", + "# Set up key variables needed later\n", + "\n", + "# Input data to work with\n", + "## Get list of numbers\n", + "print(\"Load Numbers\")\n", + "nums = [1,2,3,4,5,6,7,8,9,10]\n", + "print(\"Loaded\")\n", + "print(nums)\n", + "# Do calculations on data\n", + "## Calculate Mean\n", + " ## Sum up all the numbers - get sum\n", + " ##divide the sum by the number of values - get mean\n", + "\n", + "## Calculate Variance\n", + " ## For each number\n", + " ## take difference from the mean - get diff\n", + " ## square that diff - get square diff\n", + " ## add to total square diff - get total diff\n", + " ## divide the total diff by the number of values - get variance\n", + " \n", + "## Calculate std\n", + " ## Take square root of variance - get std\n", + "\n", + "\n", + "# Output the results\n", + "## Print out mean, variance and standard deviation\n", + "```\n", + "\n", + "We now have a program that will calculate the mean for a given list of numbers.\n", + "```python\n", + "# Start and import any libraries\n", + "## Import math library for square root\n", + "from math import sqrt\n", + "\n", + "# Set up key variables needed later\n", + "mean = 0\n", + "\n", + "# Input data to work with\n", + "## Get list of numbers\n", + "print(\"Load Numbers\")\n", + "nums = [1,2,3,4,5,6,7,8,9,10]\n", + "print(\"Loaded\")\n", + "print(nums)\n", + "# Do calculations on data\n", + "## Calculate Mean\n", + " ## Sum up all the numbers - get sum\n", + "for x in nums:\n", + " print(x)\n", + " mean = mean + x\n", + " print(mean)\n", + " ##divide the sum by the number of values - get mean\n", + "\n", + "n_points = len(nums)\n", + "mean = mean / n_points\n", + "print(\"The mean is \", mean)\n", + "\n", + "## Calculate Variance\n", + " ## For each number\n", + " ## take difference from the mean - get diff\n", + " ## square that diff - get square diff\n", + " ## add to total square diff - get total diff\n", + " ## divide the total diff by the number of values - get variance\n", + " \n", + "## Calculate std\n", + " ## Take square root of variance - get std\n", + "\n", + "\n", + "# Output the results\n", + "## Print out mean, variance and standard deviation\n", + "\n", + "```\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "bf5ce6cc", + "metadata": {}, + "source": [ + "
\n", + "Coding 2: The standard deviation \n", + "\n", + "Next we need to calculate the standard deviation. This means another for loop to calculate the squared difference from the mean.\n", + "Again any time we know we need to sum a list of numbers there must be a loop\n", + "```python\n", + "var = 0\n", + "for x in nums:\n", + " var = var + ((x-mean)*(x-mean))\n", + " print(var)\n", + " \n", + "var = var /n_points\n", + "print(\"The variance is \",var)\n", + "```\n", + "In this case we take the square by multiplying two values together, we could also use the power operator \\*\\*. For simple powers taking the square this way can be more efficient.\n", + "Note that we have defined the var varible and set to zero\n", + "We have also removed some of the earlier print statements we used for checking our code.\n", + "\n", + "**Run and test** you should get a value of 8.25. Again this agrees with the value we expect that we calculated earlier. Our code is doing what we want\n", + "\n", + "Our last step in the calculation is to take the square root of the variance to get the standard deviation\n", + "```python\n", + "std = sqrt(var)\n", + "print(\"Standard Deviation \",std)\n", + "```\n", + "**Run and test** the value of the standard deviation should be 2.87 exactly as we expect.\n", + "\n", + "We have outline and constructed a programme that calculates the sum, the mean, the variance and the standard deviation of a dataset.\n", + "\n", + "We have tested it part as we went so we are happy everything is working correctly.\n", + "\n", + "**So that is our first program**\n", + "\n", + "\n", + "The final step is just to move the print statements into the output section of code (if we want)\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "79f54723", + "metadata": {}, + "source": [ + "
\n", + "Final Programme \n", + "\n", + "```python\n", + "# Start and import any libraries\n", + "## Import math library for square root\n", + "from math import sqrt\n", + "\n", + "# Set up key variables needed later\n", + "mean = 0\n", + "var = 0\n", + "\n", + "# Input data to work with\n", + "## Get list of numbers\n", + "print(\"Load Numbers\")\n", + "nums = [1,2,3,4,5,6,7,8,9,10]\n", + "print(\"Loaded\")\n", + "\n", + "# Do calculations on data\n", + "## Calculate Mean\n", + " ## Sum up all the numbers - get sum\n", + "for x in nums:\n", + " mean = mean + x\n", + " ##divide the sum by the number of values - get mean\n", + "\n", + "n_points = len(nums)\n", + "mean = mean / n_points\n", + "\n", + "\n", + "## Calculate Variance\n", + " ## For each number\n", + " ## take difference from the mean - get diff\n", + " ## square that diff - get square diff\n", + " ## add to total square diff - get total diff\n", + "\n", + "for x in nums:\n", + " var = var + ((x-mean)*(x-mean))\n", + "\n", + " ## divide the total diff by the number of values - get variance\n", + "var = var /n_points\n", + "\n", + " \n", + " \n", + "## Calculate std\n", + " ## Take square root of variance - get std\n", + "std = sqrt(var)\n", + "\n", + "\n", + "# Output the results\n", + "## Print out mean, variance and standard deviation\n", + "print(\"The mean is \", mean)\n", + "print(\"The variance is \",var)\n", + "print(\"Standard Deviation \",std)\n", + "\n", + "```\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "919003d3", + "metadata": {}, + "source": [ + "Though our program works it could be improved.\n", + "\n", + "Try to alter the code in the following ways\n", + "\n", + "* Improve the commenting of the code\n", + "* Improve the formatting of the outputs print statements \n", + "* Add functions\n", + " - For loading data\n", + " - For Mean\n", + " - For variance\n", + " - For standard deviation\n", + " - For outputting the results\n", + "* Alter the programme so it calculates the sample variance and standard deviation rather than population (N-1)\n", + "* **Advanced** - Improve the efficiency by calculating the variance and the mean in a single loop, the equation to do that is below\n", + " \n", + " $$v(x,x) = \\sum{(x_i - \\bar{x})^2} = \\frac{\\sum{x_i^2}-\\frac{1}{N}(\\sum{x_i})^2}{N} $$\n" + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/lessons/variables/Comparisons.ipynb b/lessons/variables/Comparisons.ipynb new file mode 100644 index 00000000..71c42ce3 --- /dev/null +++ b/lessons/variables/Comparisons.ipynb @@ -0,0 +1,730 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "bfa23092-475a-4e40-a6cd-538bb1b16a5a", + "metadata": {}, + "source": [ + "# Comparison Statements and Boolean Logic" + ] + }, + { + "cell_type": "markdown", + "id": "63b3ed50-5670-4fcb-9cd4-81e0a50b650e", + "metadata": {}, + "source": [ + "## Learning Objectives" + ] + }, + { + "cell_type": "markdown", + "id": "b56ee7b2-cffc-471e-9fd2-bf2b2c437894", + "metadata": {}, + "source": [ + "- Use Python comparison operators to compare objects. \n", + "- Use logical statements to perform multiple comparisons at once." + ] + }, + { + "cell_type": "markdown", + "id": "27111d44-d8ba-4393-bb63-7a1521a4a956", + "metadata": {}, + "source": [ + "## Prerequisites" + ] + }, + { + "cell_type": "markdown", + "id": "98242630-1ee1-4fe6-bd25-d3bd5805c7ee", + "metadata": {}, + "source": [ + "- [Variables](/lessons/variables/Variable_data_types.ipynb)\n", + "- [Data types](/lessons/variables/Variable_data_types.ipynb#types-of-variables)\n", + "- [Mathematical Operations](/lessons/variables/mathematical-operators.ipynb)" + ] + }, + { + "cell_type": "markdown", + "id": "dad9b34b-ec0d-4b52-abd3-07b9efc631f4", + "metadata": {}, + "source": [ + "## Comparisons in Python" + ] + }, + { + "cell_type": "markdown", + "id": "423201d6-956c-4bab-973f-981ee93188ef", + "metadata": {}, + "source": [ + "Python has a number of different ways in which it can compare objects, variables or just numbers. These can be very useful both for simple tasks (\"Does H2O have a higher molecular weight than NH3\") and more complex ones (\"How do we know that this peak in an IR spectrum is above the baseline noise?\")\n", + "\n", + "In computing, the term Boolean means a result that can only have one of two possible values: ``True`` or ``False``. Using comparison operators (listed in the below table) we can compare two values. The output is a Boolean (either True or False). " + ] + }, + { + "cell_type": "markdown", + "id": "230060d7", + "metadata": {}, + "source": [ + "| Operator | Definition | Example |\n", + "| --------- | --------- | -------|\n", + "| == | is equal to | ``a == b`` |\n", + "| ! = | is not equal to, ≠ | ``a != b`` |\n", + "| > | is greater than | ``a > b`` |\n", + "| < | is less than | ``a < b`` |\n", + "| >= | is greater than or equal to, ≥ | ``a >= b``|\n", + "| <= | is less than or equal to, ≤ | ``a <= b`` |\n", + "| is | are the same object | ```a is b``` |\n", + "| in | the object contains another object | ```a in b``` |" + ] + }, + { + "cell_type": "markdown", + "id": "57a678ab", + "metadata": {}, + "source": [ + "Running a statement, such as:\n", + "\n", + "`3 == 5`\n", + "\n", + "will return one of two outputs: `True` or `False`. In this case, this statement is False. \n", + "\n", + "Although both the greater than (\">\") and less than (\"<\") mathematical operations are identical to those used in standard mathematical notation, the greater than or equal to operation (\"≥\") is written with two characters, ```>=```. This is the same for the is not equal to (\"≠\") symbol, written instead as `!=`, or the is equal to symbol, written as `==`.\n", + "\n", + "Be especially careful with `==`. We know from our understanding of [variables](Variable_data_types.ipynb) that ```=``` is used in Python to assign values to variable names, and so we cannot use it here, hence using double equal signs.\n", + "\n", + "Comparison operators work for both numerical [data types](Variable_data_types.ipynb) in Python (integers and floats), but also work for some non-numerical data types (such as strings and lists). " + ] + }, + { + "cell_type": "markdown", + "id": "a84760ed", + "metadata": {}, + "source": [ + "
\n", + " Comparing numbers: floats and integers\n", + "\n", + "The most basic use for comparisons is numerically, using integers or floats. You can compare integers to floats. \n", + "\n", + "```Python\n", + "4 < 2\n", + "```\n", + "\n", + "Returns ``False``\n", + "\n", + "```Python\n", + "5.1 >= 3.6 \n", + "```\n", + "\n", + "Returns ``True``\n", + "\n", + "```Python\n", + "4 == 4.0\n", + "``` \n", + "\n", + "Returns ``True``\n", + "\n", + "This is pretty obvious, but it becomes especially useful with number stored in variables. \n", + "\n", + "If we have a very long piece of code where we are doing lots of maths, we probably won't know the exact value stored inside every variable, especially if its a long float, so instead we can refer to it by its variable name.\n", + "\n", + "```Python\n", + "num_1 = 53.09127281\n", + "\n", + "num_1 > 10\n", + "```\n", + "\n", + "Returns ``True``\n", + "\n", + "```Python\n", + "num_1 = 53.09127281\n", + "num_2 = 53.09283821\n", + "\n", + "num_1 == num_2\n", + "```\n", + "\n", + "Returns ``False``\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "cf5fa523", + "metadata": {}, + "source": [ + "
\n", + " Comparing other data types: strings and lists\n", + "\n", + "As well as comparing numbers, you can use comparison operators on strings and lists.\n", + "\n", + "Note that all parts of the string (including order of characters) and all parts of a list (including the order of elements and data type) need to be identical for the ```==``` operation to return True. \n", + "\n", + "The operators `>`, `<`, `>=`, and `<=` comment only on the length of the list.\n", + "\n", + "```Python\n", + "\"CH4\" == \"CH4\"\n", + "```\n", + "\n", + "Returns ``True``.\n", + "\n", + "```Python\n", + "\"NH3\" == \"H3N\"\n", + "```\n", + "\n", + "Returns ``False``. The numerals are not in the same order.\n", + "\n", + "```Python\n", + "[\"2\", 3, 4] == [\"2\", 3, 4.0]\n", + "```\n", + "\n", + "Returns ``True``. All items in the two lists are equivalent.\n", + "\n", + "```Python\n", + "[\"helium\" , \"neon\" , \"argon\"] == [\"helium\" , \"argon\" , \"neon\"]\n", + "```\n", + "\n", + "Returns ``False``. The items in the lists are in a different order.\n", + "\n", + "```Python\n", + "[\"helium\" , \"neon\" , \"argon\"] == [\"helium\",\"neon\",\"argon\"]\n", + "```\n", + "\n", + "Returns ``True``. The items in the lists are the same, and in the same order.\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "c42c319f-594f-47a2-bb2f-535840c1ed80", + "metadata": {}, + "source": [ + "
\n", + " Comparing different data types\n", + "\n", + "Most different data types, even if they have the same contents, will always yield a ``==`` comparison of False. An exception is floats and integers, which can be compared.\n", + "\n", + "```Python\n", + "\"5\" == 5\n", + "```\n", + "\n", + "Returns ``False``. They are two different data types. The first is a string, the second is an integer. \n", + "\n", + "```Python\n", + "5 == 5.0\n", + "```\n", + "\n", + "Returns ``True``. Floats and integers can be compared.\n", + "\n", + "

\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "71222469", + "metadata": {}, + "source": [ + "
\n", + " Identifying identical objects using is\n", + "\n", + "The comparator `==` identifies if two objects have the same contents (in the same order), but what if we wanted to distinguish if they are also exactly the same object (i.e. rather than just looking the same, they are actually the same 'behind the scenes')? For this, we can use ```is```:\n", + "\n", + "```Python\n", + "x = [\"N\", \"H\", 3] \n", + "y = [\"N\", \"H\", 3]\n", + "x is y\n", + "```\n", + "\n", + "Returns ``False``. Although these two lists contain the same chemical formula in the same order, they have been assigned to two different variables, and are currently two separate instances of variables that happen to look the same. They are not the same object according to Python. \n", + "\n", + "However:\n", + "\n", + "```Python\n", + "y = [\"N\", \"H\", 3]\n", + "x = y\n", + "x is y\n", + "```\n", + "\n", + "Returns ``True``. We have specifically reassigned the variable x to the value of y, and so now the ``is`` comparison is True. \n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "d4dfcd32", + "metadata": {}, + "source": [ + "
\n", + " Finding contents using in\n", + "\n", + "``in`` has two uses - you will see it come back in another way when we do [for loops](../loops_functions/For_Loop_Lesson.ipynb). In this context, ``in`` checks if a certain object is contained within a string or list.\n", + "\n", + "```Python\n", + "\"O\" in \"H2O\"\n", + "```\n", + "\n", + "Returns ```True```\n", + "\n", + "```Python\n", + "masses = [1.008, 12.011, 15.999]\n", + "14.007 in masses\n", + "```\n", + "\n", + "Returns ``False``\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "bcf9b010", + "metadata": {}, + "source": [ + "
\n", + " Chaining together comparisons\n", + "\n", + "You can also chain together these comparisons, but you need to be careful you don't get confused!\n", + "\n", + "```Python\n", + "a = 1\n", + "b = 2\n", + "c = 3\n", + "\n", + "a != b != c\n", + "```\n", + "\n", + "Returns ``True`` because none of those values are the same. However, it is NOT checking the comparison between a and c. You could run the following:\n", + "\n", + "```Python\n", + "3 != 2 != 3\n", + "```\n", + "\n", + "Which would return ``True``, because it is only comparing the adjacent numbers. \n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "75f79025", + "metadata": {}, + "source": [ + "
\n", + "
Exercise: Obtain a True output\n", + "\n", + "---\n", + "\n", + "In the comparisons in the code below, replace each dash with different comparison operators to get a True output.
\n", + "\n", + ">```Python\n", + ">num_nitrogen = 7\n", + ">num_fluorine = 9\n", + ">\n", + ">num_nitrogen -- num_fluorine\n", + ">num_fluorine -- num_nitrogen\n", + ">num_fluorine -- num_nitrogen\n", + ">num_fluorine -- num_fluorine\n", + ">num_nitrogen -- num_nitrogen\n", + "\n", + "
\n", + "
\n" + ] + }, + { + "cell_type": "markdown", + "id": "146885b4", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "```Python\n", + "num_nitrogen = 7\n", + "num_fluorine = 9\n", + "\n", + "num_nitrogen <= num_fluorine\n", + "num_fluorine != num_nitrogen\n", + "num_fluorine > num_nitrogen\n", + "num_fluorine is num_fluorine\n", + "num_nitrogen == num_nitrogen\n", + "```\n", + "\n", + "Any operators that return True in these contexts are correct. \n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "bebc9cbb", + "metadata": {}, + "source": [ + "
\n", + "
Exercise: Test similarity \n", + "\n", + "---\n", + "\n", + "On the following two variables, use Python comparisons to test the following:\n", + "\n", + "1. Are the two calculated values for the Rydberg constant the same?\n", + "2. Which calculated value for the Rydberg constant is larger?\n", + "\n", + ">```Python\n", + "># Two different calculates values for the Rydberg constant \n", + ">rydberg_1 = 10973731.56815712 # m^-1\n", + ">rydberg_2 = 10973731.58615712 # m^-1\n", + "\n", + "
\n", + "
" + ] + }, + { + "cell_type": "markdown", + "id": "a67425ac", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "1. The two values are not the same. You can check this using:\n", + " ```Python\n", + " rydberg_1 == rydberg_2\n", + " ```\n", + " Which will return ``False``.\n", + "\n", + "2. ``rydberg_2`` is larger. You can test this by using either ``<`` or ``>``.\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "0deade2a-b54e-4888-8b22-48f902c82ce4", + "metadata": {}, + "source": [ + "## Boolean logic operators" + ] + }, + { + "cell_type": "markdown", + "id": "b818dedf-8ad5-4926-89d1-76e721599366", + "metadata": {}, + "source": [ + "Can we make multiple comparisons at the same time - i.e. to check if a number is within a certain range of bounds? Yes, and for this, we need Boolean operators - these are written as words but still make comparisons between two things: ```and```, ```or``` and ```not```. " + ] + }, + { + "cell_type": "markdown", + "id": "65de915b", + "metadata": {}, + "source": [ + "| Operator | Definition | Example (x and y are comparisons) |\n", + "| ----- | ---- | ----- |\n", + "| and | Both instances must be True to return True, otherwise will return False | ``x and y`` |\n", + "| or | Either instance can be True in order to return True. If both instances are False, will return False. | `` x or y `` |\n", + "| not | If the Boolean value of the instance is True, the program will return False. Essentially inverts the logic. | ``not y`` |" + ] + }, + { + "cell_type": "markdown", + "id": "e9e3c414", + "metadata": {}, + "source": [ + "Remember, logic operators are used to perform multiple comparisons at once! For example:\n", + "\n", + ">```Python\n", + ">a == b and c > d" + ] + }, + { + "cell_type": "markdown", + "id": "c0b13b2c", + "metadata": {}, + "source": [ + "
\n", + " Using and\n", + "\n", + "When considering ``a and b``, where a and b are individual comparisons, a and b must both be True for the overall result to be True. \n", + "\n", + "```Python\n", + "z = 2\n", + "\n", + "z < 3 and z > 1\n", + "```\n", + "\n", + "The first part of the statement ``z < 3`` is True, and the second part ``z > 1`` is also True. Since both parts are True, the overall result will output ``True``.\n", + "\n", + "However, if the test was instead:\n", + "\n", + "```Python \n", + "z < 3 and z != 2\n", + "```\n", + "\n", + "The output would be ``False``, since the second statement ``z != 2`` is now False. A True and a False outputs a False. \n", + "\n", + "If both parts of the statement were False, the output would also be False. \n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "d954f269", + "metadata": {}, + "source": [ + "
\n", + " Using or\n", + "\n", + "When considering ``a or b``, where a and b are individual comparisons, only one of the two must be True for the whole statement to be True. If neither are True, the whole statement will be False.\n", + "\n", + "```Python\n", + "z = 2\n", + " \n", + "z < 3 or z > 0.1\n", + "```\n", + "\n", + "Returns ``True`` as both statements are True. \n", + "\n", + "The test:\n", + "\n", + "```Python\n", + "z < 3 or z !=2\n", + "```\n", + "\n", + "Also returns ``True``, even though the second statement is False. Only one of the two statements needs to be True to return True. \n", + "\n", + "In order to get an output ``False``, both statements must be False:\n", + "\n", + "```Python\n", + "z > 3 or z != 2\n", + "```\n", + "\n", + "

\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "6c93aafa", + "metadata": {}, + "source": [ + "
\n", + " Using not\n", + "\n", + "Finally, `not` is slightly different. It should be used before a comparison statement, i.e. (```not a == 2```), and 'inverts' the True or False behaviour. If a statement was True, `not` will make it False, or vice versa.\n", + "\n", + "```Python\n", + "not True\n", + "```\n", + "\n", + "Returns ``False``, and vice versa.\n", + "\n", + "```Python\n", + "z = 2\n", + "not z <= 2\n", + "```\n", + "\n", + "Returns ``False``, as the comparison is True.\n", + "\n", + "```Python\n", + "z = 2\n", + "not z > 3 or z != 2\n", + "```\n", + "\n", + "Returns ``True``, as the output from the ``or`` statement is False. \n", + "\n", + "```Python\n", + "# Checking a perovskite does not contain chromium\n", + "perovskite = \"CH3NH3PbBr3\"\n", + "\n", + "\"Cr\" not in perovskite\n", + "```\n", + "\n", + "Returns ``True``.\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "1c2b08e0-672b-46e7-b92e-ee9a35d69907", + "metadata": {}, + "source": [ + "
\n", + " Understanding order of comparisons\n", + "\n", + "Watch out! Python evaluates operators according to a strict order: maths and comparison operators first, then logical operators (and, or, not). If you are getting error messages, try bracketing your 'not' and other logical operators to give them precedence. Try the following lines with and without the brackets and try to understand the order of operations.\n", + "\n", + "```Python\n", + "False == (not True)\n", + "\n", + "(True or False) == False\n", + "\n", + "True == (True and False) == False\n", + "```\n", + "\n", + "Make sure to use round brackets when clarifying the order of operations. Other types of brackets are used to define other data types and may result in errors.\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "ab2e19ee", + "metadata": {}, + "source": [ + "
\n", + "
Exercise: Logical outputs \n", + "\n", + "---\n", + "\n", + "What is the logical output of this piece of code?\n", + "

\n", + "\n", + ">```Python\n", + ">w = \"tungsten\"\n", + ">w == \"neon\" or w == \"iron\" or w == \"bismuth\" or w == \"tungsten\"\n", + "\n", + "
\n", + "
" + ] + }, + { + "cell_type": "markdown", + "id": "f8e5a7d6", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "The answer is True. Because each comparison is separated by `or`, only one of them has to be True for the overall output to be True. since the last comparison, `w == \"tungsten\"` is True, the overall output is True. \n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "0a5899ad-5b4a-439b-bd47-df83a6d37136", + "metadata": {}, + "source": [ + "## Further Practice" + ] + }, + { + "cell_type": "markdown", + "id": "64410c65", + "metadata": {}, + "source": [ + "### Question 1" + ] + }, + { + "cell_type": "markdown", + "id": "116cf3f9-74fa-46fe-a06c-ee5cec0a4b9b", + "metadata": {}, + "source": [ + "Predict the logical output of this code, then write it out and run it to see if you are correct. How could we change it to get the opposite answer?\n", + "\n", + "```Python\n", + "a = 1\n", + "b = 2\n", + "c = 3\n", + "d = a < c\n", + "\n", + "a < b <= c and d == False\n", + "```" + ] + }, + { + "cell_type": "markdown", + "id": "7673c9de", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "When working out logic, it is worth going through step by step. \n", + "\n", + "``a < b`` is True. ``b <= c`` is True. Therefore ``a < b <= c`` is True. \n", + "\n", + "The variable `d` is set as `a < c`. `a < c` is True, therefore `d = True`. Therefore, in the second statement, since d is True, the comparison `d == False` is False.\n", + "\n", + "When using an `and` statement, both statements must be True to return True. Since the first statement is True and the second is False, the overall output is `False`.\n", + "\n", + "If you want to get the opposite answer, you need to make both statements True. You can do this by changing the second statement to ``d == True``.\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "id": "120f98bf-03ef-49b8-8338-6081411d2b10", + "metadata": {}, + "source": [ + "## Learning Outcomes" + ] + }, + { + "cell_type": "markdown", + "id": "b2a04b94-1118-422a-a616-ff6983cb92fa", + "metadata": {}, + "source": [ + "In this lesson we have learned:\n", + "- How to make comparisons between numbers and variables of different data types, getting Boolean True or False statements\n", + "- How we can use Boolean operators such as ```and``` and ```or``` to compare if multiple statements are True or False in different combinations." + ] + }, + { + "cell_type": "markdown", + "id": "f92f1120", + "metadata": {}, + "source": [ + "## Summary\n", + "\n", + "- Python's comparison operators are ``==``, ``!=``, `>`, `<`, `>=`, and `<=`.\n", + "- Python's logic operators are `and`, `or`, and `not`.\n", + "\n", + "\n", + "| Operator | Definition | Example |\n", + "| --------- | --------- | -------|\n", + "| == | is equal to | ``a == b`` |\n", + "| ! = | is not equal to | ``a != b`` |\n", + "| > | is greater than | ``a > b`` |\n", + "| < | is less than | ``a < b`` |\n", + "| >= | is greater than or equal to | ``a >= b``|\n", + "| <= | is less than or equal to | ``a <= b`` |\n", + "| is | are the same object | ```a is b``` |\n", + "| and | Both instances must be True to return True, otherwise will return False | ``x and y`` |\n", + "| or | Either instance can be True in order to return True. If both instances are False, will return False. | `` x or y `` |\n", + "| not | If the Boolean value of the instance is True, the program will return False. Essentially inverts the logic. | ``not y`` |\n", + "\n", + "- You can chain statements together, but be careful to work in order and obey the order Python evaluates operators.\n", + "- Python evaluates operators in the order: maths and comparisons, then logic. You can clarify your intentions by using round brackets. " + ] + } + ], + "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.12.3" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/lessons/variables/Conditions.ipynb b/lessons/variables/Conditions.ipynb deleted file mode 100644 index 748ae870..00000000 --- a/lessons/variables/Conditions.ipynb +++ /dev/null @@ -1,598 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "bfa23092-475a-4e40-a6cd-538bb1b16a5a", - "metadata": {}, - "source": [ - "# Comparisons and Conditional Statements" - ] - }, - { - "cell_type": "markdown", - "id": "63b3ed50-5670-4fcb-9cd4-81e0a50b650e", - "metadata": {}, - "source": [ - "## Learning Objectives" - ] - }, - { - "cell_type": "markdown", - "id": "b56ee7b2-cffc-471e-9fd2-bf2b2c437894", - "metadata": {}, - "source": [ - "- To understand how in python we can compare objects to each other.\n", - "- To understand how we can use logical statements to perform multiple comparisons or assessments at once.\n", - "- To see how we can build statements and scripts that can do different tasks when we give them different inputs." - ] - }, - { - "cell_type": "markdown", - "id": "27111d44-d8ba-4393-bb63-7a1521a4a956", - "metadata": {}, - "source": [ - "## Prerequisites" - ] - }, - { - "cell_type": "markdown", - "id": "98242630-1ee1-4fe6-bd25-d3bd5805c7ee", - "metadata": {}, - "source": [ - "- Variables\n", - "- Mathematical Operations\n", - "- Data types" - ] - }, - { - "cell_type": "markdown", - "id": "dad9b34b-ec0d-4b52-abd3-07b9efc631f4", - "metadata": {}, - "source": [ - "## Comparisons in Python" - ] - }, - { - "cell_type": "markdown", - "id": "423201d6-956c-4bab-973f-981ee93188ef", - "metadata": {}, - "source": [ - "Python has a number of different ways in which it can compare objects, variables or just numbers. These can be very useful both for simple tasks (\"Does H$_2$O have a higher molecular weight than NH$_3$\") and more complex ones (\"How do we know that this peak in an IR spectrum is above the baseline noise?\")\n", - "\n", - "Let us start by looking at a few of the [mathematical operators](./mathematical-operators.ipynb) (either identical or very similar to how you would write them down on paper) that can be used directly in Python:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "de0e669c-1c14-47ad-b12d-5b25c0fdaf35", - "metadata": {}, - "outputs": [], - "source": [ - "4 > 2" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e5d946d4-36d2-4114-bb2f-326975ee0ee5", - "metadata": {}, - "outputs": [], - "source": [ - "5.1 < 3.6" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "dd5f7b7d-b9c7-411c-bef6-af9154332c9f", - "metadata": {}, - "outputs": [], - "source": [ - "4 >= 4" - ] - }, - { - "cell_type": "markdown", - "id": "732d5859-56b9-48d6-beff-8ee521d46879", - "metadata": {}, - "source": [ - "We can see a few things from the above statements: firstly that running a comparison between two numbers in a code block outputs either 'True' if the expression is indeed true, or 'False' if not. Second, both the greater than (\">\") and less than (\"<\") mathematical operations are identical to those used in standard mathematical notation, while the greater than or equal to operation (\"≥\") is written with two characters, ```>=```. Finally, we can see that this works for both numerical [data types](Variable_data_types.ipynb) in Python - integers and floats. \n", - "\n", - "What if we wanted to check if two values were exactly equal? **Be careful!** We know from our understanding of [variables](Variable_data_types.ipynb) that ```=``` is used in python to assign values to variable names, we cannot use it here. Instead:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "962ed8f3-bb4e-4826-a348-4d42fb38025e", - "metadata": {}, - "outputs": [], - "source": [ - "4 == 4" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "39103a6d-8149-4a1e-9be8-f59f8231d729", - "metadata": {}, - "outputs": [], - "source": [ - "4 != 4" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ff5c56d6-1170-4464-8ce3-23395e43a744", - "metadata": {}, - "outputs": [], - "source": [ - "3.1 != 3" - ] - }, - { - "cell_type": "markdown", - "id": "c42c319f-594f-47a2-bb2f-535840c1ed80", - "metadata": {}, - "source": [ - "The double equals ```==``` is used to compare if two values are equal, while ```!=``` checks if two values are not equal.\n", - "\n", - "What about other data types? Let us try some examples of strings or lists using the ```==``` comparison operator." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2331f446-16b9-4b2a-82ca-c7c90aeaa15c", - "metadata": {}, - "outputs": [], - "source": [ - "\"CH4\" == \"CH4\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3c29dc42-ae21-4a7f-beff-8c115fb3a7c8", - "metadata": {}, - "outputs": [], - "source": [ - "\"NH3\" == \"H3N\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "be03a6a0-eff3-4135-9258-97c46a00221d", - "metadata": {}, - "outputs": [], - "source": [ - "[2, 3, 5] == [2, 3, 4]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a6d6ecf7-38ca-4fc8-998f-9987dbd5a024", - "metadata": {}, - "outputs": [], - "source": [ - "[\"helium\", \"neon\", \"argon\"] == [\"helium\", \"neon\", \"argon\"]" - ] - }, - { - "cell_type": "markdown", - "id": "4239a695-24f5-4120-b42e-f7ca60b27aa2", - "metadata": {}, - "source": [ - "Note that all parts of the string (including order of characters) and all parts of a list (including the order of elements) need to be identical for the ```==``` operation to return 'True'. There is an alternative comparison that can be made - what if we wanted to distinguish if those two lists not only contained the same elements in the same order but if they are exactly the same object (i.e. rather than just looking the same, they are actually the same 'behind the scenes')? For this, we can use ```is```:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6ebfdf09-34fa-4919-a6f1-ba1b6fc12e1f", - "metadata": {}, - "outputs": [], - "source": [ - "x = [\"N\", \"H\", 3] \n", - "y = [\"N\", \"H\", 3]\n", - "x is y" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "462ee079-297b-4e00-bd37-6ff3df21a4af", - "metadata": {}, - "outputs": [], - "source": [ - "x = y\n", - "x is y" - ] - }, - { - "cell_type": "markdown", - "id": "be246bfa-183d-42a7-8388-b0af6bbba21c", - "metadata": {}, - "source": [ - "In the first example, despite the two variables, ```x``` and ```y```, containing the same chemical formula (in the same order), the two are currently two separate instances of variables according to python, so ```x is y``` is False. In the second block, we specifically reassign the variable x to the value of y, and so now the ```is``` comparison is true." - ] - }, - { - "cell_type": "markdown", - "id": "0deade2a-b54e-4888-8b22-48f902c82ce4", - "metadata": {}, - "source": [ - "## Boolean logic operators" - ] - }, - { - "cell_type": "markdown", - "id": "b818dedf-8ad5-4926-89d1-76e721599366", - "metadata": {}, - "source": [ - "Can we make multiple comparisons at the same time - i.e. to check if a number is within a certain range of bounds? Yes, and for this, we need Boolean operators - these are written as words but still make comparisons between two things: ```and```, ```or``` and ```not```. \n", - "\n", - "What does these mean? Let's start with ```and```:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "302f094f-766c-47fb-95ae-a89eed39ffac", - "metadata": {}, - "outputs": [], - "source": [ - "z = 2\n", - "z < 3 and z > 0.1 " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b15d57e0-6260-42a5-94d8-f1e45743a40b", - "metadata": {}, - "outputs": [], - "source": [ - "z < 3 and z != 2" - ] - }, - { - "cell_type": "markdown", - "id": "06f35439-6217-4e18-a68b-e4375fa3025a", - "metadata": {}, - "source": [ - "When using ```and```, the statement before the ```and``` and after the ```and``` must **both** be 'True' for the overall result to be 'True', hence why the two code blocks give different answers: while z is less than 3 in both statements, z is equal to 2, and so the second statement in the second code block is 'False'. I.e. if Statement A is True AND Statement B is False, ```A and B``` is False.\n", - "\n", - "What about ```or```?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f016ee5a-25b4-4547-857f-b10f5c1d48d3", - "metadata": {}, - "outputs": [], - "source": [ - "z < 3 or z > 0.1" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e97f2cdf-8e79-4eba-b5dc-2cbca8710b8e", - "metadata": {}, - "outputs": [], - "source": [ - "z < 3 or z !=2" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d14bcff8-6b5f-4055-88bb-e18e3a0cafd0", - "metadata": {}, - "outputs": [], - "source": [ - "z > 3 or z != 2" - ] - }, - { - "cell_type": "markdown", - "id": "448d821c-a069-455f-9992-a6320bbea6fb", - "metadata": {}, - "source": [ - "With ```or``` - only one of the two comparisons must be true for the whole statement to be 'True', though the whole statement will still be False if neither of the two are True. \n", - "\n", - "You don't need to just have two comparisons!" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "87ab9e7d-dc0d-44d5-9f0e-94b79f728f5f", - "metadata": {}, - "outputs": [], - "source": [ - "w = \"tungsten\"\n", - "w == \"neon\" or w == \"iron\" or w == \"bismuth\" or w == \"tungsten\"" - ] - }, - { - "cell_type": "markdown", - "id": "1c2b08e0-672b-46e7-b92e-ee9a35d69907", - "metadata": {}, - "source": [ - "Finally, not is slightly different - first it should be used before a statement, i.e. (```not a == 2```). \n", - "It can then be used to 'invert' the True or False behaviour of a statement: if a statement was true, not will make it False, or vice versa:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f30a769e-184f-4d13-aab3-ccd2a91f6470", - "metadata": {}, - "outputs": [], - "source": [ - "z = 2\n", - "not z <= 2" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "40c9c586-0376-48c5-97cb-279d31c26067", - "metadata": {}, - "outputs": [], - "source": [ - "not z > 3 or z != 2" - ] - }, - { - "cell_type": "markdown", - "id": "79597a1c-5dd4-4426-b21e-eb8135a9bfd0", - "metadata": {}, - "source": [ - "## Conditional Statements" - ] - }, - { - "cell_type": "markdown", - "id": "feabf370-ad13-48b3-aba6-16dc7c74d5c0", - "metadata": {}, - "source": [ - "How are these comparisons useful for working with actual chemical data though? Writing a comparison for every data point would get very tiring! This is where conditional statements come in -- we can use the comparisons we have learned about to check **if** certain relationships are true as part of our data sets, and then either do something or not, or even doing a different operation...\n", - "\n", - "We do this, sensibly, through what are called **if statements**. If statements require specific syntax:\n", - "```\n", - "if :\n", - " what to do if statement is true\n", - "```\n", - "\n", - "When the statement after ```if``` is True, then Python will go on to do whatever is **indented**. Indentation is the way for python to know what is part of the ```if``` statement and what is the rest of the code. As a standard, indenting is 4 spaces before the code line -- many programs like jupyter notebook will automatically do this indenting after the if statement is written and you move to a new line with the Return key.\n", - "\n", - "If what comes after the ```if``` is False, then the indented code is ignored, and Python continues onto whatever the next non-indented lines are. As with loops, there must be a colon after the if statement, and there must be an indentation -- not having these can cause errors." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3761936a-7163-41de-813b-580ce83a8857", - "metadata": {}, - "outputs": [], - "source": [ - "x = \"CH4\"\n", - "y = \"CH4\"\n", - "if x == y:\n", - " ### This part of the code is indented, and is run if the if statement is true\n", - " print(\"Yes, these are the same formula\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "34f11095-cd62-40a6-ad7a-9df4dd7eae14", - "metadata": {}, - "outputs": [], - "source": [ - "x = \"CH4\"\n", - "y = \"NH3\"\n", - "if x == y:\n", - " print(\"Yes, these are the same formula\")\n", - "\n", - "print(\"The indentation has ended, this code line is always run\")" - ] - }, - { - "cell_type": "markdown", - "id": "f5e0ff28-eec5-4508-b5dd-ccea6d24c9e9", - "metadata": {}, - "source": [ - "What if we want to have multiple different categories and multiple different outcomes? We can use ```if... else``` if we want to do one thing if a statement is true, and then something else for for all other possibilities. Alternatively, if we have more than two decisions to make, we can use ```if... elif... else```, with ```elif``` statements acting like other if statements that are checked if they are true. For example:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b66d509c-f888-45a0-ab94-7c8115852979", - "metadata": {}, - "outputs": [], - "source": [ - "x = \"CH4\"\n", - "if x == \"CH4\":\n", - " print(\"This compound is methane\")\n", - "elif x != \"NH3\":\n", - " print(\"This compound is not ammonia\")\n", - "else:\n", - " print(\"This compound is ammonia\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "64bfd426-81a8-44f3-a54e-cd2f9e99687e", - "metadata": {}, - "outputs": [], - "source": [ - "x = \"H2O\"\n", - "if x == \"CH4\":\n", - " print(\"This compound is methane\")\n", - "elif x != \"NH3\":\n", - " print(\"This compound is not ammonia\")\n", - "else:\n", - " print(\"This compound is ammonia\")" - ] - }, - { - "cell_type": "markdown", - "id": "46cb8ac8-5627-4ddb-a169-552794c2099d", - "metadata": {}, - "source": [ - "Be careful, conditional statements are strictly ordered - if the first ```if``` is True, then that code block will be run, while all further ```elif``` statements are ignored, even if they would also be true!" - ] - }, - { - "cell_type": "markdown", - "id": "0a5899ad-5b4a-439b-bd47-df83a6d37136", - "metadata": {}, - "source": [ - "### Exercise" - ] - }, - { - "cell_type": "markdown", - "id": "116cf3f9-74fa-46fe-a06c-ee5cec0a4b9b", - "metadata": {}, - "source": [ - "The following commented code needs the correct operator to replace the **BLANK** in the code to output True - what replaces the **BLANK**?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a827cfbe-7726-4a42-bb38-0468a752b998", - "metadata": {}, - "outputs": [], - "source": [ - "atomic_no_of_nitrogen = 7\n", - "atomic_no_of_fluorine = 9" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "81dd9a93-9296-4da8-be41-3f4fc6989d56", - "metadata": {}, - "outputs": [], - "source": [ - "atomic_no_of_nitrogen BLANK atomic_no_of_fluorine" - ] - }, - { - "cell_type": "markdown", - "id": "bcdbba50-4cb5-4556-bc5c-39a16db6113f", - "metadata": {}, - "source": [ - "### Answer" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b3f749e9-674c-428c-8eeb-df549473ebae", - "metadata": {}, - "outputs": [], - "source": [ - "### ANSWER: <, <= or != all work\n", - "atomic_no_of_nitrogen < atomic_no_of_fluorine" - ] - }, - { - "cell_type": "markdown", - "id": "120f98bf-03ef-49b8-8338-6081411d2b10", - "metadata": {}, - "source": [ - "## Learning Outcomes" - ] - }, - { - "cell_type": "markdown", - "id": "b2a04b94-1118-422a-a616-ff6983cb92fa", - "metadata": {}, - "source": [ - "In this lesson we have learned:\n", - "- How to make comparisons between numbers and variables of different data types, getting Boolean True or False statements\n", - "- How we can use Boolean operators such as ```and``` and ```or``` to compare if multiple statements are True or False in different combinations.\n", - "- How to use ```if...elif...else``` statements to do certain tasks only if certain comparisons or statements are the case." - ] - }, - { - "cell_type": "markdown", - "id": "be1e9adf-0c99-47e1-8fe7-01f461d77e08", - "metadata": {}, - "source": [ - "## TODO" - ] - }, - { - "cell_type": "markdown", - "id": "4163f470-0898-4966-aa1e-fa2f9644278b", - "metadata": {}, - "source": [ - "- add comments to code?\n", - "- note different data type behaviour for is (e.g. strings versus lists as given)\n", - "- Think of more imaginative chemistry related examples for the lessons\n", - "- More tasks!\n", - "- Debugging task - maybe using a complex if not statement giving the wrong output?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "105d0079-c0ae-4a11-bccd-4d84b32ad1b5", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "32454202-0869-460c-b3e6-ed6fec5bf114", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "73a9fb7c-8930-4091-89a3-283eda6f41c1", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "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.10.12" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/lessons/variables/Variable_data_types.ipynb b/lessons/variables/Variable_data_types.ipynb index 1c148243..0de9b36f 100644 --- a/lessons/variables/Variable_data_types.ipynb +++ b/lessons/variables/Variable_data_types.ipynb @@ -19,8 +19,7 @@ "## Learning Outcomes\n", "\n", "* Understand how to print basic outputs in python\n", - "* Understand how to identify and verify the type of variable\n", - "* Create and print lists in python\n" + "* Understand how to identify and verify the type of variable" ] }, { @@ -31,7 +30,7 @@ "source": [ "## Prerequisites\n", "\n", - "- Be able to access Google Colab, Jupyter Notebooks or another piece of software that will allow you to interact and practice the code" + "- [Writing and running a Python program](/lessons/basics/write_run_python.md)" ] }, { @@ -42,251 +41,233 @@ "source": [ "## What is a variable?\n", "\n", - "A variable is a place where some information can be held in the code, and can be used in many different ways within a programme." + "A variable is a place where some information can be held in the code and can be used in many different ways within a programme. You can create a variable like this:" ] }, { - "cell_type": "markdown", - "metadata": { - "id": "pNvKKeprCw5V" - }, + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ - "## Print Function\n", - "\n", - "Python can specified message using the print function. This is one of the main ways you will output information." + "atomic_number = 2" ] }, { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "VQe62zJIDd2s" - }, - "outputs": [], + "cell_type": "markdown", + "metadata": {}, "source": [ - "message = \"we love chemistry\"\n", - "print(message)" + "where the word on the left of the `=` sign is the _name_ of the variable and whatever is on the right is its _value_." ] }, { "cell_type": "markdown", "metadata": { - "id": "6K3DweS-SJkH" + "id": "pNvKKeprCw5V" }, "source": [ - "You can use the print function to print answers to calculations. Remember to use brackets for more complex calculations." + "## Print Function\n", + "\n", + "To reveal the value stored in a variable, you can use the `print()` function. For example:" ] }, { "cell_type": "code", "execution_count": null, "metadata": { - "id": "mIQZr9GdSSzy" + "id": "VQe62zJIDd2s" }, "outputs": [], "source": [ - "print(54*145)" + "atomic_number = 2\n", + "print(atomic_number)" ] }, { "cell_type": "markdown", "metadata": { - "id": "E7oo-rhqLU4O" + "id": "6K3DweS-SJkH" }, "source": [ - "## Type Function\n", - "\n", - "This is a built-in function that is used to return the type of data stored in the objects or variables in the program. For example, if a variable contains a value of 45.5 then the type of that variable is float.\n", - "\n", - "This is useful as when you have multiple data a variable types you check that they are functioning in the correct way." + "Try changing the value of `atomic_number` to 3 and print the new value." ] }, { "cell_type": "code", "execution_count": null, "metadata": { - "id": "e1jc0uR_LXLE" + "id": "mIQZr9GdSSzy" }, "outputs": [], "source": [ - "number = 45.5\n", - "print(type(number))" + "atomic_number = 3\n", + "print(atomic_number)" ] }, { "cell_type": "markdown", - "metadata": { - "id": "0LF3cDZLBe82" - }, + "metadata": {}, "source": [ "## Naming of variables\n", "\n", - "There are few strict conventions with the naming of variables, and Python can be incredibly tolerant in this regard. However, for the ease of legibility of code, and minimise mistakes caused by referring to the wrong variable, it is sensible to try and use a clear and consistent approach to variable naming.\n", + "There are few rules you must follow when naming a variable.\n", "\n", "### Variable name requirements\n", "\n", - "\n", "* Variables can only start with a letter or underscore (_) character and may not start with a number.\n", - "* Can only include upper and lowercase letters, numbers and the underscore character (A-z, 0-9, and _ )\n", - "* Names must not be a [Python keyword](https://docs.python.org/3/reference/lexical_analysis.html#keywords)\n", + "* Can only include upper and lowercase letters, numbers and the underscore character (A-z, 0-9, and _ ).\n", + "* Names must not be a [Python keyword](https://docs.python.org/3/reference/lexical_analysis.html#keywords).\n", "\n", - "### Choosing variable names\n", - "Short, descriptive names are generally a good choice, as variables will often need to be entered in multiple places in code. Names can consist of multiple words, but cannot use spaces. Commonly 'camelCase' is used with variable naming, where a multiple word variable name is closed together (ie the spaces are removed), and the initial letter of each word being capitalised (excluding the first word).\n", + "You do not need to memorise all Python keywords. Any good code editor should highlight keywords in a different colour to your regular variables, thereby alerting you of potential conflicts.\n", "\n", - "Examples might include:\n", + "### Good variable naming\n", "\n", + "Choosing the right variable name will allow your code to be easier to understand for you and future programmers interacting with your code. Good names increase clarity, therefore they should be:\n", "\n", - "* elementMass\n", - "* elementAtomicNumber\n", + "#### Descriptive\n", + "The name gives a hint about what the value means.\n", "\n", + "| Bad example | Good example |\n", + "|---------------|--------------------|\n", + "| `number = 12` | `atomic_mass = 12` |\n", "\n", + "#### Short\n", + "The name is brief without compromising clarity.\n", "\n", + "| Bad example | Good example |\n", + "|--------------------------------------------|-----------------------|\n", + "| `molecular_mass_of_protium_oxide = 18.015` | `water_mass = 18.015` |\n", "\n", + "Note that if your programme distinguishes between different kinds of masses or between light and heavy water, the former choice could be the correct one.\n", "\n", + "#### Consistent\n", + "The name follows a convention to avoid multiple spellings of one same thing. The preferred convention for variable names in Python is called `snake_case`, where all letters are lower-case and words can be separated by underscore characters (`_`).\n", "\n", + "| Bad example | Good example |\n", + "|----------------------------|-----------------------------|\n", + "| `roomTemperature = 298.15` | `room_temperature = 298.15` |\n", "\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "VPhG17aLAcBb" - }, - "source": [ - "## Types of variables\n", - "Some of the common variable types are outlined below. For each type of variable, there is a code snippet which shows how the variable is set, the variable is printed, and the type of variable is printed." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "PwADJGso9G7-" - }, - "source": [ - "### Strings\n", - "\n", - "These store a sequence of characters. You signify what characters are stored by writing quotation marks either side of the characters. These can be double or single quotation marks, as long as they are consistent - it will still work either way." + "Sometimes, descriptiveness, shortness, and consistency come into conflict, and it is up to you to decide which one should win out for the best clarity. As an exercise, think of a good variable name for the molecular mass of the last molecule you synthesised. For example:" ] }, { "cell_type": "code", "execution_count": null, - "metadata": { - "id": "ObD5OOJswqse" - }, + "metadata": {}, "outputs": [], "source": [ - "subject = \"Chemistry\"\n", - "print(subject)\n", - "print(type(subject))" + "C9H8O_mass = 132.16" ] }, { "cell_type": "markdown", - "metadata": { - "id": "j2LOZu_qAnti" - }, + "metadata": {}, "source": [ - "### Numbers" + "Can you tell what naming rule is broken here?" ] }, { "cell_type": "markdown", "metadata": { - "id": "5Zzn3B9OAq1d" + "id": "E7oo-rhqLU4O" }, "source": [ - "#### Integer\n", + "## Types\n", "\n", - "This is any whole number, e.g. 5. If your variable type is an integer you will see the class output will be displayed as 'int'." + "Variables are classified in terms of their _type_. This is an indicator of the kind of value stored inside, such as a number or a word.\n", + "\n", + "We can check the type of the variable `atomic_number` like this:" ] }, { "cell_type": "code", "execution_count": null, "metadata": { - "id": "FV_SqZ4N3edG" + "id": "e1jc0uR_LXLE" }, "outputs": [], "source": [ - "number = 5\n", - "print(number)\n", - "print(type(number))" + "atomic_number = 2\n", + "print(type(atomic_number))" ] }, { "cell_type": "markdown", - "metadata": { - "id": "tmlYe2PTAzCN" - }, + "metadata": {}, "source": [ - "#### Float\n", + "This code prints out the result: ``. The important part of this line is the word `'int'`. As we will see next, this stands for _integer_, which is the type of `2`.\n", + "\n", + "Here is a summary of the most common variable types:\n", + "\n", + "| Name | Abbreviation | Example | Explanation |\n", + "|---------|--------------|----------|-------------------------------|\n", + "| Integer | `int` | `3` | A whole number |\n", + "| Float | `float` | `3.14` | A number with a decimal point |\n", + "| Boolean | `bool` | `True` | Either `True` or `False` |\n", + "| String | `str` | `\"acid\"` | Any kind of text |\n", "\n", - "This is any number where you have a decimal place. If your variable type is a float, you will see the class output will be displayed at 'float'." + "What follows is an explanation for each one. For each type, there is a code snippet which shows how the variable is assigned, the variable is printed, and the type of variable is printed." ] }, { - "cell_type": "code", - "execution_count": null, + "cell_type": "markdown", "metadata": { - "id": "axf-MWdz4V03" + "id": "j2LOZu_qAnti" }, - "outputs": [], "source": [ - "number = 5.3\n", - "print(number)\n", - "print(type(number))" + "### Numbers" ] }, { "cell_type": "markdown", "metadata": { - "id": "xuiU47q1A3qV" + "id": "5Zzn3B9OAq1d" }, "source": [ - "#### Standard form\n", + "#### Integer\n", "\n", - "When writing standard form, as is the case for Avogadro's constant you would use the letter `e` to show that the number is multipled by 10 to the power of 23." + "An integer (`int`) is any whole number. Integers can also be negative." ] }, { "cell_type": "code", "execution_count": null, "metadata": { - "id": "SF6MngZc5LTw" + "id": "FV_SqZ4N3edG" }, "outputs": [], "source": [ - "avogadro = 6.023e23\n", - "print(avogadro)\n", - "print(type(avogadro))" + "ionic_charge = -2\n", + "print(ionic_charge)\n", + "print(type(ionic_charge))" ] }, { "cell_type": "markdown", "metadata": { - "id": "aWRMOW5M7b2D" + "id": "tmlYe2PTAzCN" }, "source": [ - "#### Complex Numbers\n", - "\n", - "You may not use complex numbers when you first start out on your chemistry course, but you will come across them later in maths and potentially when you study crystallography, quantum mechanics and other areas of science.\n", + "#### Float\n", "\n", - "When using complex numbers in python, you cannot use $i$ for imaginary numbers, you must use $j$ instead. In the example below we have the complex number $3+3i$, which is written as $3+3j$ in the code." + "A float (`float`) is any number where you have a decimal place. For very big or very small numbers, you can use scientific notation to write floats. For example, for Avogadro's number, you can write `6.023e23`." ] }, { "cell_type": "code", "execution_count": null, "metadata": { - "id": "v6df_hB45r-3" + "id": "axf-MWdz4V03" }, "outputs": [], "source": [ - "complexNumber=(3+3j)\n", - "print(complexNumber)\n", - "print(type(complexNumber))" + "nitrogen_mass = 14.0067\n", + "print(nitrogen_mass)\n", + "print(type(nitrogen_mass))\n", + "\n", + "electron_charge = 1.602e-19\n", + "print(electron_charge)\n", + "print(type(electron_charge))" ] }, { @@ -295,9 +276,9 @@ "id": "K6aMfYCUAjMn" }, "source": [ - "#### Boolean\n", + "### Boolean\n", "\n", - "Boolean variables are the simplest type of variable - they can be equal to either `True` or `False`, and nothing else." + "Boolean (`bool`) can only have the value `True` or `False`." ] }, { @@ -308,40 +289,40 @@ }, "outputs": [], "source": [ - "Answer = True\n", - "print(Answer)\n", - "print(type(Answer))" + "boiling = True\n", + "print(boiling)\n", + "print(type(boiling))" ] }, { "cell_type": "markdown", "metadata": { - "id": "HFWW4cO9BlLI" + "id": "PwADJGso9G7-" }, "source": [ - "#### Lists\n", + "### Strings\n", "\n", - "Lists are collections of variables, separated by commas. These variables do not have to be of the same type." + "A string (`str`) stores a sequence of text characters. They can be used to write words or sentences. You signify what characters are stored by writing quotation marks either side of the characters, like `'this'` or `\"this\"`." ] }, { "cell_type": "code", "execution_count": null, "metadata": { - "id": "3C66kNgC4sQf" + "id": "ObD5OOJswqse" }, "outputs": [], "source": [ - "elements = ['H', 'He', 'Li']\n", - "print(elements)\n", - "print(type(elements))" + "molecule_name = \"acetaldehyde\"\n", + "print(molecule_name)\n", + "print(type(molecule_name))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "Individual entries within a list can be accessed by writing the variable name, followed by the index of the entry within the list inside square brackets. Note that Python starts counting at 0, not 1, so the first entry in a list has index 0." + "There is another way of writing strings which allows you to combine them with other variables of any type. We call this an _f-string_. Before the quotation mark, include the letter `f`, then within the string, you can include other variables enclosed in curly brackets `{}`." ] }, { @@ -350,73 +331,74 @@ "metadata": {}, "outputs": [], "source": [ - "print(elements[0])\n", - "print(elements[2])" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "98-HGTmIBoSl" - }, - "source": [ - "#### Dictionaries\n", + "atomic_mass = 14.0067\n", + "element_name = \"nitrogen\"\n", + "heavier = True\n", "\n", - "Dictionaries are similar to lists, in that they are a collection of information. However, instead of using numbers to index each entry in a dictionary, we use \"keys\" instead, which are usually strings. In the example below the names of the elements are the keys. Using dictionaries usually leads to more human readable code." + "result_string = f\"The atomic mass of {element_name} is {atomic_mass}.\\nHeavier than carbon: {heavier}.\"\n", + "print(result_string)" ] }, { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "lAOQrm4LE24D" - }, - "outputs": [], + "cell_type": "markdown", + "metadata": {}, "source": [ - "ram = {\n", - " \"Hydrogen\": 1.008,\n", - " \"Helium\": 4.002602,\n", - " \"Lithium\": 6.941\n", - "}\n", - "\n", - "print(ram)\n", - "print(ram['Hydrogen'])" + "The previous f-string used an additional trick. Including `\\n` in a string indicates a line-break." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "**Exercise** Can you work out what the data dictionary below is describing?" + "
\n", + "
Exercise: Correct variable typing\n", + "\n", + "---\n", + "\n", + "The following piece of code only correctly if `mass` is correctly defined as a number:\n", + "\n", + ">```Python\n", + ">mass = \"35\"\n", + ">double_mass = mass*2\n", + ">print(f\"Two times {mass} kg makes {double_mass} kg.\")\n", + "\n", + "Run this code, find what is wrong with it and fix it.\n", + "
\n", + "
" ] }, { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "EbJjHF7fD0Ea" - }, - "outputs": [], + "cell_type": "markdown", + "metadata": {}, "source": [ - "data = {\n", - "'H' : [(1.007825, 99.9885),(2.014102, 0.0115)],\n", - "'C' : [ (12.0, 98.93),(13.003355, 1.07)],\n", - "'N' : [(14.003074, 99.632),(15.000109, 0.368)],\n", - "'O' : [(15.994915 , 99.757),(16.999132, 0.038),(17.999160,0.205)]\n", - "}" + "
\n", + " Click to view answer \n", + "You should have noticed that the number 35 was multiplied incorrectly. This is because mass was defined as a string, since the number \"32\" was written with quotation markss. If you remove the quotation marks, the result should become correct:\n", + "\n", + ">```Python\n", + ">mass = 35\n", + ">double_mass = mass*2\n", + ">print(f\"Two times {mass} kg makes {double_mass} kg.\")\n", + "\n", + "In a few lessons, we will look more closely at how operators (like multiplication) work on different data types. For the moment, you can conclude that in order to do maths with a variable, it should be a number.\n", + "

" ] }, { "cell_type": "markdown", - "metadata": { - "id": "5Rep96srUZeM" - }, + "metadata": {}, "source": [ - "### TO-DO List\n", + "## Learning outcomes\n", + "\n", + "* Understand how to print basic outputs in python using `print()`\n", + "* Understand how to identify and verify the type of variable with `type()`\n", "\n", - "Add in an introduction to f-strings.\n", + "## Summary \n", "\n", - "Add in some more worked examples\n" + "- A variable is a named place that contains a value.\n", + "- The most common values are a number (`int`, `float`), a word (`str`), or a `True/False` statement (`bool`).\n", + "- When naming a variable, make sure that the name is short, descriptive, and consistent.\n", + "- To make a string out of several data types, you can use an f-string, like this: `output = f\"The charge is {charge}\"." ] }, { @@ -432,7 +414,7 @@ "provenance": [] }, "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "base", "language": "python", "name": "python3" }, @@ -446,7 +428,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.12" + "version": "3.12.9" } }, "nbformat": 4, diff --git a/lessons/variables/lists_and_indexing.ipynb b/lessons/variables/lists_and_indexing.ipynb new file mode 100644 index 00000000..35e9c6af --- /dev/null +++ b/lessons/variables/lists_and_indexing.ipynb @@ -0,0 +1,514 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "VqjrEzS2z1Ol" + }, + "source": [ + "# Lists\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "_iRikrUPUjs3" + }, + "source": [ + "## Learning Outcomes\n", + "\n", + "* Creating lists and dictionaries\n", + "* Extract information from them\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Kup00O1iVHOG" + }, + "source": [ + "## Prerequisites\n", + "\n", + "You should be able to:\n", + "- [Write and run a Python program](/lessons/basics/write_run_python.md)\n", + "- [Be familiar with the concept of data types](/lessons/variables/Variable_data_types.ipynb)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "HFWW4cO9BlLI" + }, + "source": [ + "## Lists\n", + "\n", + "A list (`list`) is a collection of any number of values. To declare a list, write different values in between square brackets `[]` and separated by commas." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "3C66kNgC4sQf" + }, + "outputs": [], + "source": [ + "elements = ['H', 'He', 'Li']\n", + "print(elements)\n", + "print(type(elements))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Lists can contain more lists. A list containing lists (which themselves could contain more lists) is called a _nested list_. To make them more legible, we often write them over several lines." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# A list of molecules where each molecule is represented by a list of atoms\n", + "molecules = [[\"H\",\"H\",\"O\"],[\"H\",\"H\",\"H\",\"C\"]]\n", + "\n", + "# The list can identically be written like this\n", + "molecules = [[\"H\",\"H\",\"O\"], # water\n", + " [\"H\",\"H\",\"H\",\"C\"]] # methane\n", + "\n", + "print(molecules)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "
Exercise: Nesting lists\n", + "\n", + "---\n", + "\n", + "Writing lists of lists requires a lot of brackets, which can lead to typos. What follows is a broken list which should contain two lists: the first with the numbers 0.1, 0.2, and 0.3, and the second with 1.0, 2.0, and 3.0. Find the errors in this list and fix them:\n", + "\n", + ">```Python\n", + "> coordinates = [[0.1, 0.2, 0.3[]1.0, 2.0 3.0]]\n", + ">print(coordinates)\n", + "\n", + "
\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "You should keep close track of both the commas inside each sublist and in between each sublist:\n", + ">```Python\n", + "> coordinates = [[0.1, 0.2, 0.3],[1.0, 2.0, 3.0]]\n", + ">print(coordinates)\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "98-HGTmIBoSl" + }, + "source": [ + "## Dictionaries\n", + "\n", + "A dictionary (`dict`) also contains multiple values, like a list. However, a dictionary always contains entries in the form of pairs. The first part of the pair is called the \"key\", and represents the known value (like a word in a real dictionary). The second part is the \"value\" and represents the unknown value (like the definition). To declare a dictionary, write pairs of \"keys\" and \"values\" in between curly braces `{}` like this: `{key_1: value_1, key_2: value_2}`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "lAOQrm4LE24D" + }, + "outputs": [], + "source": [ + "atomic_weights = {\n", + " \"Hydrogen\": 1.008,\n", + " \"Helium\": 4.002602,\n", + " \"Lithium\": 6.941\n", + "}\n", + "\n", + "print(atomic_weights)\n", + "print(type(atomic_weights))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "EbJjHF7fD0Ea" + }, + "source": [ + "
\n", + "
Exercise: Writing a dictionary\n", + "\n", + "---\n", + "\n", + "The pKa of methanol is 15.3. For ammonia, it's 32.5. Write a dictionary where the names of these molecules are the keys, and the values are their pKas.\n", + "\n", + "
\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "
\n", + " Click to view answer\n", + "\n", + "Here is the correct syntax. Make sure that your colons `:` and commas `,` are in the right places!\n", + "\n", + ">```Python\n", + ">pKas = {\n", + ">'methanol' : 15.3,\n", + ">'ammonia' : 32.5,\n", + ">}\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "
Exercise: Combining dictionaries and lists\n", + "\n", + "---\n", + "\n", + "Can you work out what information is contained in `data`?\n", + ">```Python\n", + ">data = {\n", + ">'H' : [[1.007825, 99.9885],[2.014102, 0.0115]],\n", + ">'C' : [[12.0, 98.93],[13.003355, 1.07]],\n", + ">'N' : [[14.003074, 99.632],[15.000109, 0.368]],\n", + ">'O' : [[15.994915 , 99.757],[16.999132, 0.038],[17.999160,0.205]]\n", + ">}\n", + "\n", + "
\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "
\n", + " Click to view answer\n", + "\n", + "Here, we can clearly see why descriptive variable names could be useful. The word `data` is not helping us at all.\n", + "\n", + "In fact, this is a dictionary containing lists of lists of two numbers. The keys are clearly element symbols. As for the values, if we look at each pair of numbers carefully, the first is always close to an integer, much like an atomic mass, and the second is always just under 100 or just above 0.\n", + "\n", + "With these clues, we could guess that this dictionary contains a list of the atomic masses and abundances of different isotopes for each of four elements.\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Accessing parts of a list or dictionary\n", + "### Indexing lists\n", + "\n", + "It can be handy to store sequences of data into a list. For example, if we want to store an absorption spectrum of 100 data points, we just need one list for absorbance and another for wavelength, instead of 200 variables containing different floats.\n", + "\n", + "However, we can find ourselves wanting to access only one part of the list at a time. To this end, we can use _indexing_. To indicate that we are only referring to a specific element of a list, we follow the name of the list by a number in square brackets:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "elements = ['H', 'He', 'Li']\n", + "print(elements[1])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this example, we used the number `1`, which returned the _second_ element of the list. This is because the Python programming language counts the position of an element in a list starting from `0`. This position is called the _index_." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "
Exercise: Indexing\n", + "\n", + "---\n", + "\n", + "Print the first element of this list:\n", + "\n", + ">```Python\n", + ">elements = ['H', 'He', 'Li']\n", + "
\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "
\n", + " Click to view answer\n", + "\n", + "All you have to do is to use the index `0`.\n", + "\n", + ">```Python\n", + ">elements = ['H', 'He', 'Li']\n", + ">print(elements[0])\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If you want to count indices from the end instead of the beginning, use negative numbers and start from `-1`:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "elements = ['H', 'He', 'Li']\n", + "print(elements[-1])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Slicing\n", + "You may also need to access ranges of values within a list. In this case, instead of writing one index, write two of them separated by a colon `:`. The resulting list will be the range of values between the two numbers, including the first value and excluding the last. This process is called _slicing_." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "elements = ['H', 'He', 'Li', 'Be']\n", + "print(elements[1:3])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Note how `Be` was not printed, despite the fact that it corresponds to `elements[3]`." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "
Exercise: Slicing\n", + "\n", + "---\n", + "\n", + "Indexing and slicing gets a little more delicate when dealing with nested lists. Try to extract the list `[2,3]` from the following nested list:\n", + "\n", + ">```Python\n", + ">elements = [[1,2,3,4],\n", + "> [5,6,7,8]]\n", + "
\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "
\n", + " Click to view answer\n", + "\n", + "It may help to work step by step. First, we want to isolate the first sublist (`[1,2,3,4]`). Since it's the first list, we can use the index `0`:\n", + "\n", + ">```Python\n", + ">elements = [[1,2,3,4],\n", + "> [5,6,7,8]]\n", + ">print(elements[0])\n", + "\n", + "Thanks to this, we can verify that `elements[0]` indeed corresponds to the first sublist, so we can further slice this list by adding more square brackets:\n", + "\n", + ">```Python\n", + ">elements = [[1,2,3,4],\n", + "> [5,6,7,8]]\n", + ">print(elements[0][1:3])\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "
Exercise: Slicing a nested list\n", + "\n", + "---\n", + "\n", + "Print the list containing `Li` and `Be` by slicing the following list\n", + "\n", + ">```Python\n", + ">elements = ['H', 'He', 'Li', 'Be']\n", + "
\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "
\n", + " Click to view answer\n", + "\n", + "We should change the indices accordingly.\n", + "\n", + ">```Python\n", + ">elements = ['H', 'He', 'Li', 'Be']\n", + ">print(elements[2:4])\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Accessing dictionary values\n", + "You can also use access values inside dictionaries but the syntax is different than for lists. Here, instead of writing a number in square brackets, you write a key. In return, you will obtain the corresponding value:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "atomic_weights = {\n", + " \"Hydrogen\": 1.008,\n", + " \"Helium\": 4.002602,\n", + " \"Lithium\": 6.941\n", + "}\n", + "\n", + "print(atomic_weights[\"Helium\"])\n", + "print(type(atomic_weights))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "
Exercise: Accessing dictionaries\n", + "\n", + "---\n", + "\n", + "Print the atomic weight of lithium, using the dictionary provided:\n", + "\n", + ">```Python\n", + ">atomic_weights = {\n", + "> \"Hydrogen\": 1.008,\n", + "> \"Helium\": 4.002602,\n", + "> \"Lithium\": 6.941\n", + ">}\n", + "\n", + "
\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "
\n", + " Click to view answer\n", + "\n", + "Simply use `\"Lithium\"` as the key:\n", + ">```Python\n", + ">atomic_weights = {\n", + "> \"Hydrogen\": 1.008,\n", + "> \"Helium\": 4.002602,\n", + "> \"Lithium\": 6.941\n", + ">}\n", + ">print(atomic_weights[\"Lithium\"])\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Learning outcomes\n", + "\n", + "* Creating lists with square brackets and dictionaries with braces.\n", + "* Extract information from them by indexing, slicing, and using keys for dictionaries.\n", + "\n", + "## Summary \n", + "\n", + "- Lists can store multiple values in one same variable. They use `[]`.\n", + "- Dictionaries can do this too but are only useful when we will later want to access values by using keys. They use `{}`.\n", + "- You can use indexing or slicing by writing the name of a list followed by square brackets containing numbers: `masses[3:5]`.\n", + "- For a dictionary, instead of numbers, write the key inside the square brackets: `masses['Li']`." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [] + } + ], + "metadata": { + "colab": { + "provenance": [] + }, + "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" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/lessons/variables/manipulating_variables.md b/lessons/variables/manipulating_variables.md new file mode 100644 index 00000000..8fce5259 --- /dev/null +++ b/lessons/variables/manipulating_variables.md @@ -0,0 +1,3 @@ +# Manipulating Variables + +These lessons introduce different types of variables used in Python, and how to manipulate them using maths and comparison operators. It will also introduce you to the Boolean operators `or`, `and`, and `not`. diff --git a/lessons/variables/mathematical-operators.ipynb b/lessons/variables/mathematical-operators.ipynb deleted file mode 100644 index 25046427..00000000 --- a/lessons/variables/mathematical-operators.ipynb +++ /dev/null @@ -1,231 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Mathematical Operators \n", - "\n", - "## Learning outcomes\n", - "\n", - "- Develop familiarity with basic mathematical operations in Python\n", - "- Understand how to access some additional, more complex mathematical operations. \n", - "\n", - "## Prerequisites\n", - "\n", - "- Variables and their data types\n", - "- Printing f-strings\n", - "\n", - "## Arithmetic\n", - "\n", - "Python is extremely relevant to numerical computing. Therefore, it is useful to outline some of the mathematical operations that can be natively performed with Python. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Python natively supports some mathematical operations. \n", - "\n", - "| Operation | Mathematical Notation | Pythonic Notation |\n", - "| -------- | ------- | ------- |\n", - "| Addition | $a + b$ | `a + b` |\n", - "| Subtraction | $a - b$ | `a - b` |\n", - "| Multiplication | $a \\times b$ | `a * b` |\n", - "| Division | $a \\div b$ | `a / b` |\n", - "| Exponent | $a ^ b$ | `a ** b` |\n", - "| Modulo | $a \\textrm{ mod } b$ | `a % b` |\n", - "\n", - "The modulo operation may be new to you, you may know it as the remainder from the division of two numbers. Other, more complicated operations are typically also available through Python libraries such as [NumPy](https://numpy.org/), which is introduced below.\n", - "\n", - "A single line of code may have many mathematical operations. In this event, Python will follow the standard order of operations for mathematical operations: you might know this as [BODMAS](https://en.wikipedia.org/wiki/Order_of_operations#Mnemonics)." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Example: The Quadratic Formula\n", - "\n", - "The quadratic formula is an expression to solve quadratic equations with the form, \n", - "\n", - "$$\n", - "ax^2 + bx + c = 0,\n", - "$$\n", - "\n", - "where, $x$ is an unknown value that we want to find, and $a$, $b$, and $c$ are fixed parameters. \n", - "The quadratic formula states that the value of $x$ is, \n", - "\n", - "$$\n", - "x = \\frac{-b \\pm \\sqrt{b^2 - 4ac}}{2a}.\n", - "$$\n", - "\n", - "This becomes relevant in chemistry if we consider the following problem: Formic acid is a weak acid with a dissociation constant $K_a$ of 1.8×10-4. \n", - "The dissociation constant relates the concentration of the H+ ions and the amount of acid dissolve, $N$, by the equation: \n", - "\n", - "$$\n", - "K_a = \\frac{[\\textrm{H}^+]^2}{N - [\\textrm{H}^+]}.\n", - "$$\n", - "\n", - "This equation can be reformulated as a quadratic equation, \n", - "\n", - "$$\n", - "[\\textrm{H}^+]^2 + K_a[\\textrm{H}^+] - K_aN = 0.\n", - "$$\n", - "\n", - "Therefore, we can use the quadratic formula to solve for the concentration of hydrogen ions for a given amount of dissolved acid, where $a = 1$, $b=K_a$ and $c=-K_aN$. \n", - "\n", - "We can write Python code to compute [H+] for 0.1 moles of dissolved acid. \n", - "Don't worry if some of the code specifics below are a bit new, the table below explains each of the operators. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "K_a = 1.8e-4\n", - "N = 0.1\n", - "\n", - "a = 1.\n", - "b = K_a\n", - "c = -K_a * N\n", - "\n", - "H_conc_plus = (-b + (b ** 2 - 4 * a * c) ** (1 / 2)) / (2 * a)\n", - "H_conc_minus = (-b - (b ** 2 - 4 * a * c) ** (1 / 2)) / (2 * a)\n", - "\n", - "print(f'H_conc_plus = {H_conc_plus:.5f} M')\n", - "print(f'H_conc_minus = {H_conc_minus:.5f} M')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Clearly, the variable `H_conc_minus` should be disregarded as it is not possible to have a negative concentration. \n", - "This means that the concentration of [H+] is 0.00415 (to 5 decimal places). " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## More Complex Mathematical Operations\n", - "\n", - "The `numpy` module provides access to a range of advanced mathematical functions. \n", - "Information about all of the functions that the `numpy` module has can be found in the [numpy lesson](../common_libs/Introduction_to_NumPy.ipynb). To access a given function, we must `import` it `from` the module. Below, we import the base 10 logarithm function, `log10`. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from numpy import log10" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We can then use this with the result from above to compute the pH of the solution. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "pH = log10(H_conc_plus)\n", - "print(f'pH = {pH:.2f}')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Exercise\n", - "Find the velocity, $v$, of a N2 molecule with a mass, $m$ of 4.6×10-26 kg at a temperature, $T$, of 293 K, given the following equation,\n", - "\n", - "$$\n", - "v = \\sqrt{\\frac{3k_bT}{m}}, \n", - "$$\n", - "\n", - "where, $k_b$ is 1.38×10−23 J/K." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Answer" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "k_b = 1.38e-23\n", - "T = 293\n", - "m = 4.6e-26\n", - "\n", - "v = ((3 * k_b * T) / m) ** (1 / 2)\n", - "print(f'velocity = {v:.1f} m/s')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Learning outcomes\n", - "\n", - "- Develop familiarity with basic mathematical operations in Python, including `+`, `-`, `*`, `/`. \n", - "- Understand how to access some additiona, more complex mathematical function using the `numpy` module. \n", - "\n", - "## TODO \n", - "\n", - "- Add more exercises for other operations" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "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.10.12" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/lessons/variables/mathematical_operators.ipynb b/lessons/variables/mathematical_operators.ipynb new file mode 100644 index 00000000..a79b3cc9 --- /dev/null +++ b/lessons/variables/mathematical_operators.ipynb @@ -0,0 +1,984 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Mathematical Operators " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Learning outcomes\n", + "\n", + "- Develop familiarity with basic mathematical operations in Python.\n", + "- Understand the consequences of doing maths on non-numerical data types.\n", + "- Understand how to access some additional, more complex mathematical operations.\n", + "\n", + "## Prerequisites\n", + "\n", + "- [Variables and their data types](/lessons/variables/Variable_data_types.ipynb)\n", + "- [Printing f-strings](/lessons/variables/Variable_data_types.ipynb#strings)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Arithmetic" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Python is extremely useful for numerical computing. There are seven principle mathematical operations that Python can do, the notation for which might be slightly different to what you're used to (e.g. × is written as ``*`` in Python). Further mathematical operations (such as logarithms, trigonometry, and calculus) are available through imported modules and libraries (such as [`math`](https://docs.python.org/3/library/math.html)).\n", + "\n", + "These are the principal mathematical operations:\n", + "\n", + "| Operation | Mathematical Notation | Pythonic Notation |\n", + "| -------- | ------- | ------- |\n", + "| Addition | $a + b$ | `a + b` |\n", + "| Subtraction | $a - b$ | `a - b` |\n", + "| Multiplication | $a \\times b$ | `a * b` |\n", + "| Division | $a \\div b$ | `a / b` |\n", + "| Exponent | $a ^ b$ | `a ** b` |\n", + "| Modulo | $a \\textrm{ mod } b$ | `a % b` |\n", + "| Floored Division | $a // b$ | `a // b` |\n", + "\n", + "The modulo and floored division operations may be new to you. \n", + "- Modulo computes the remainder from the division of two numbers. For example, ``5 % 2`` returns ``1``, and ``19 % 4`` returns ``3``. \n", + "- Floored division is the partner to modulo, and returns only the integer part of the division. For example. ``5 // 2`` returns ``2``, and ``19 // 4`` returns ``4``. \n", + "- Other, more complicated operations are also available through Python libraries.\n", + "\n", + "Importantly, Python can only perform maths on variables of the data type ``integer`` or ``float``. Maths performed on strings or lists will result in strange outcomes (see below for some examples).\n", + "\n", + "A single line of code may have many mathematical operations. In this event, Python will follow the standard order of mathematical operations: you might know this as [BODMAS](https://en.wikipedia.org/wiki/Order_of_operations#Mnemonics). Use round brackets \"()\" when coding your formulas to avoid ambiguity.\n", + "\n", + "Maths can be done both with numbers and with variable, as long as the variable is of the correct type (integer or float). Storing numbers as variables becomes extremely useful when they are being used often, and when they are needed to a large number of significant figures. For example, instead of writing out π or Avogadro's number each time it is used, you can store it at the beginning and only call it by the name you have given it.\n", + "\n", + "``` Python \n", + "pi = 3.141592653589\n", + "avogadro = 6.02214e23\n", + "\n", + "product = pi * avogadro * 4\n", + "```\n", + "\n", + "The value of the variable `product` is now that of 3.14 × 6.022×10-23 × 4, which equals 7.567644313153783e+24 .\n", + "\n", + "Note that to represent standard form, Python uses the symbol `en` instead of ×10n." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Assigning variables using maths\n", + "\n", + "You can perform a mathematical calculation and assign it to a variable, which can be called inside a print statement.\n", + "\n", + "```Python\n", + "mass_H = 1.008 # g mol-1\n", + "mass_O = 15.999 # g mol-1\n", + "\n", + "mass_H2O = 2 * mass_H + mass_O\n", + "print(\"The mass of water is: \" , mass_H2O, \" g mol-1\") \n", + "```\n", + "\n", + "The output of this code is:
\n", + "The mass of water is: 18.015 g mol-1\n", + "\n", + "Remember to separate objects in a print statement with commas, and always provide units for an output!\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Using maths inside a print() statement \n", + "\n", + "You can do mathematical calculations within the print statement.\n", + "\n", + "```Python\n", + "mass_H = 1.008 # g mol-1\n", + "print(\"The mass of a hydrogen molecule is: \", 2 * mass_H, \" g mol-1\")\n", + "```\n", + "\n", + "The output of this code is:
\n", + " The mass of a hydrogen molecule is: 2.016 g mol-1 \n", + "\n", + "The value 2.016 has been calculated, but is not stored as a variable like it is in the previous example. If you wanted to do further calculations with the number 2.016, it would be better to store it as a variable.\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "
\n", + " Maths in an f-string \n", + "\n", + "You can do mathematical calculations inside f-strings. Just like previously, we can store the results inside a variable and then call it from the f-string, or do the calculation within the f-string itself.\n", + "\n", + "```Python\n", + "mass_C = 12.008 # g mol-1\n", + "mass_H = 1.008 # g mol-1\n", + "mass_methane = mass_C + 4 * mass_H\n", + "\n", + "# Calling up a variable that has already been calculated\n", + "print(f\"The mass of methane is: {mass_methane:.2f} g mol-1\")\n", + "\n", + "# Doing maths inside an f string\n", + "print(f\"The mass of ethane is: {2 * mass_C + 6 * mass_H:.5f} g mol-1\")\n", + "```\n", + "\n", + "The output of this is:
\n", + "```text\n", + "The mass of methane is: 16.04 g mol-1\n", + "The mass of ethane is 30.06400 g mol-1\n", + "```\n", + "\n", + "The syntax :.5f indicates that the calculation should be given to 5 decimal places. The number can be changed to any number of desired decimal places.\n", + "More information on the formatting codes can be found [here](https://docs.python.org/3/library/string.html#formatspec)\n", + "Most useful will be the *f* specifier (for floats to control number of decimal points) and the *e* specifier (for scientific notation).\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "
Exercise: Addition and Subtraction\n", + "\n", + "---\n", + "\n", + "Using variables to store the atomic masses of hydrogen, carbon, oxygen, and nitrogen, write a program to calculate the molecular masses of the following species.\n", + "\n", + "
    \n", + "1. Ethanol (C2H6O), doing the calculation inside a print() statement
    \n", + "2. cyclohexanone (C6H10O), doing the calculation in a variable which you then print
    \n", + "3. Nitrobenzene (C6H5NO2), using an f string
    \n", + "
\n", + "\n", + "The atomic masses are:\n", + "> ```Python\n", + "> H = 1.008\n", + "> C = 12.011\n", + "> O = 15.999\n", + "> N = 14.007\n", + "\n", + "
\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "
\n", + " Click to view answer\n", + "\n", + "Your code should look something like this:\n", + "\n", + "```Python\n", + "H = 1.008 # g mol-1\n", + "C = 12.011 # g mol-1\n", + "O = 15.999 # g mol-1\n", + "N = 14.007 # g mol-1\n", + "\n", + "print(\"The mass of ethanol is: \" , 2 * C + 6 * H + O, \" g mol-1\" )\n", + "\n", + "mass_cyclohexanone = 6 * C + 10 * H + O\n", + "print(\"The mass of cyclohexanone is: \" , mass_cyclohexanone, \"g mol-1\")\n", + " \n", + "print(f\"The mass of nitrobenzene is: {6 * C + H * 5 + N + 2 * O} g mol-1\")\n", + "```\n", + "\n", + "You should have got the output:
\n", + " The mass of ethanol is: 46.069 g mol-1
\n", + "The mass of cyclohexanone is: 98.145 g mol-1
\n", + "The mass of nitrobenzene is: 123.111 g mol-1
\n", + "\n", + "We only have to define the masses once, and they can be reused for all three sums.\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "
Exercise: Multiplication and Division \n", + "\n", + "---\n", + "\n", + "The interaction potential between two isolated ions in water, Na+ (ionic radius = 116 pm) and Cl- (ionic radius = 157 pm) is given by the following equation:\n", + "\n", + "$ V(r) = \\frac{q_{Na^+} \\ q_{Cl^-}}{4 \\ \\pi \\ \\epsilon \\ \\epsilon_{0} \\ r}\\ $\n", + "\n", + "Where $q_{Na^+}$ and $q_{Cl^-}$ are the relative charges on the ions (equivalent to ± the charge on an electron, 1.602×10-19 Coulombs), $r$ is the distance between ionic nuclei (sum of ionic radii given above) in m, $\\epsilon$ is the relative permittivity ($\\epsilon$ = 78.7 Fm-1 in water), and $\\epsilon_0$ is the permittivity of free space ($\\epsilon_0$ = 8.85×10-12 Fm-1).\n", + "\n", + " By copying out and completing the code below, calculate the interaction potential of a sodium and chlorine ion in water using the above equation.\n", + "\n", + ">``` Python\n", + ">\n", + "> q_Na = \n", + "> q_Cl = \n", + "> pi = 3.1415\n", + "> e = \n", + "> e_0 = \n", + "> r = \n", + ">\n", + "> interaction_potential = \n", + ">\n", + "> print(interaction_potential)\n", + "\n", + "
\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "Your code should look something like this:\n", + "```Python\n", + "q_Na = 1.602e-19 # Coulombs \n", + "q_Cl = -1.602e-19 # Coulombs\n", + "e = 78.7 # F m-1\n", + "e_0 = 8.85e-12 # F m-1\n", + "r = 116e-12 + 157e-12 # m\n", + "pi = 3.1415 \n", + "\n", + "interaction_potential = (q_Na*q_Cl)/(4 * pi * e * e_0 *r)\n", + "\n", + "print(interaction_potential , \" J\")\n", + "```\n", + "\n", + "You should have got the output:\n", + "``` -1.074e-20 J```\n", + "\n", + "In this sum, we have used round brackets to avoid ambiguity with the top and bottom of the fraction. \n", + "\n", + "Once we have defined each of the constants, it becomes very easy to use them again later in the code. One thing to always remember is to put units on your outputs! \n", + "\n", + "

\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "
Exercise: Exponents\n", + "\n", + "---\n", + "\n", + "The equilibrium constant of an equation\n", + "\n", + "aA + bB ⇌ cC + dD\n", + "\n", + "is given by\n", + "\n", + "$ K_c = \\frac{[C]^c \\ [D]^d}{[A]^a \\ [B]^b} $\n", + "\n", + "For the following equation at equilibrium, write a program which calculates the equilibrium constant to 1 decimal place. Work it out on a calculator and compare your answers.\n", + "\n", + "2SO2(g) + O2(g) ⇌ 2SO3(g)\n", + "\n", + "Concentrations at equilibrium:
\n", + "[SO3] = 5.0 × 10−2
\n", + "[O2] = 3.5 × 10−3
\n", + "[SO2] = 3.0 × 10−3
\n", + "
\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "You should have got the output:\n", + " 7.9e4 \n", + "\n", + "The answer you got from Python should match your calculator.\n", + "\n", + "Think further: Double the value of SO3. What happens to the answer? What if we had lots of different concentrations we wanted to find the equilibrium constant for; how could we store the information to use later, or to plot in a graph? What if we wanted to identify what concentrations of reagents lead to the reverse reaction being favoured (equilibrium constant less than 1)? What if we wanted to do all of this at once, in one program? \n", + "\n", + "We will learn how to do more powerful and complex analysis later on, using lists, `for` loops, and `if` statements in a few lesson's time. \n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Mathematical operations on non-numerical data types" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In Python, you need to be careful with variable types. As alluded to in the introduction, using the wrong data type can lead to numerous unintended consequences. It can be made obvious with an error message when you try to run your code (e.g. TypeError or ValueError messages), or it could just output an incorrect answer without an error message (e.g. with string concatenation).\n", + "\n", + "If you are getting errors in your code, it is often useful to check the data type of your variables using the function ``type()``.\n", + "\n", + "If your variables are the wrong data types, you can convert between data types (as long as they are in the correct format) using the functions ``float()``, ``int()``, and ``str()``. This is referred to as casting, e.g. casting an integer to a float variable.\n", + "\n", + "```python\n", + " int_var = 1 #This declares an integer of 1\n", + " float_var = float(int_var) #This casts the integer, 1, to a float, 1.0,\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Error message: TypeError\n", + "\n", + "Many mathematical operations can only be performed on variables of the ``integer`` or ``float`` type, and cannot be performed on variables of the ``string`` type, even if that string is a number. Often, this will result in an error message popping up when you try to run it. Or, potentially worse, no error but unexpected behaviour.\n", + "\n", + ">```Python\n", + ">\n", + ">print(\"3\" / 2)\n", + ">\n", + "\n", + "The code above results in the error: ``TypeError: unsupported operand type(s) for /: 'str' and 'int'``. \n", + "\n", + "This is a TypeError, which is raised when an operation is performed on an unsupported data type. When we put the number 3 in speech marks, we are telling Python that this is just plain text, not a number. To Python, it is as incomprehensible as writing ``answer = sausage / 2``. \n", + "\n", + "If we do accidentally try to use division on a string, the error message straight away tells us what has gone wrong.\n", + "\n", + "However, it is not always this simple. \n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " String concatenation \n", + "\n", + "Run the two print statements below. \n", + "\n", + "```Python\n", + "print(\"3\" + \"1\")\n", + "print(\"3\" * 5)\n", + "```\n", + "\n", + "Instead of the mathematical answers 4 and 15, you get this:
\n", + "31
\n", + "33333
\n", + "\n", + "Instead of adding the numbers together, Python has added the two strings together in the first instance, or multiplied the same one multiple times in the second instance. This is called concatenation, and is an operation that can be performed not just on strings, but also other data types, like lists:\n", + "\n", + "```Python\n", + "print([1, 2, 3] + [2, 2, 2])\n", + "print([1, 2, 3] * 3)\n", + "```\n", + "\n", + "Which results in:
\n", + "[1, 2, 3, 2, 2, 2]
\n", + "[1, 2, 3, 1, 2, 3, 1, 2, 3]
\n", + "\n", + "The most important thing to realise here is that this is *not* an error in the behaviour of Python. So Python will not shout at you that something has gone wrong, and the printed line on your screen doesn't give any indication that something is wrong. If you aren't careful, you might print an output that looks right, but is in fact a mistake borne from unintentional concatenation.\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "
Exercise: Maths errors \n", + "\n", + "---\n", + "\n", + "You are writing a program to calculate the mean of some data. Which of the below programs will result in an error, and why?\n", + "\n", + "a) \n", + ">```Python\n", + ">a = 12.0\n", + ">b = 5.1\n", + ">c = 8.5\n", + ">mean = a + b + c / 3\n", + ">print(mean)\n", + "\n", + "b)\n", + ">```Python\n", + ">a = \"12.0\"\n", + ">b = \"5.1\"\n", + ">c = \"8.5\"\n", + ">mean = (a + b + c)/3\n", + ">print(mean)\n", + "\n", + "c)\n", + ">```Python\n", + ">a = \"12.0\"\n", + ">b = \"5.1\"\n", + ">c = \"8.5\"\n", + ">mean = (int(a) + float(b) + float(c))/3\n", + ">print(mean)\n", + "\n", + "
\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer \n", + "\n", + "The answer is all three will result in error! Try for yourself to confirm!\n", + "\n", + "a) This will not produce an error message, but that does not mean there is not an error present. Due to maths order of operations, this code will produce the answer ``19.93``, which is clearly not a correct mean. To avoid ambiguity, the top of the fraction should be in round brackets (). It is important to only use round brackets in a sum, because other kinds of brackets are used to define other data types and would result in TypeErrors.\n", + "\n", + "b) This will produce an error message. The variables here are defined as strings, and although these strings can be concatenated together using ``+``, they cannot be divided using ``/``. You will get the error message ``TypeError: unsupported operand type(s) for /: 'str' and 'int'``.\n", + "\n", + "c) This one looks correct, and it almost works! The problem in this code is ``int(a)``, which has resulted in the error message: ``ValueError: invalid literal for int() with base 10: '12.0'``. Value errors occur when a function (in this case, the ``int()`` function) receives a value of the wrong type. The ``int()`` function can only take floats, or integer strings, as an input. \n", + "\n", + "Here are two correct versions of this code:\n", + "\n", + "```Python\n", + "a = 12.0\n", + "b = 5.1\n", + "c = 8.5\n", + "mean = (a + b + c) / 3\n", + "print(mean)\n", + "```\n", + "\n", + "```Python\n", + "a = \"12.0\"\n", + "b = \"5.1\"\n", + "c = \"8.5\"\n", + "mean = (float(a) + float(b) + float(c))/3\n", + "print(mean)\n", + "```\n", + "\n", + "Both versions result in the output: ``8.53``\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## More complex mathematical operations" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As mentioned previously, some mathematical functions are not native to Python. We must import them from another module or library in order to use them. One of the most basic and useful is the built-in Python module ``math`` (documentation can be found [here](https://docs.python.org/3/library/math.html)) or ``cmath`` if dealing with complex numbers.\n", + "\n", + "Quick note on terminology: a module is a file containing the functions we want to import. A library is a collection of modules. More information on importing modules can be found in the [importing modules lesson](../loops_functions/tut_import_mod.ipynb), although this is not necessary to understand this section of the lesson.\n", + "\n", + "It is always important to look up the documentation of the functions you are importing to use, as some can only take specific inputs. For example, in ``math``, the value of pi is called without using brackets (just ``math.pi`` will call the correct value), and trigonometric functions will do their calculations using radians, not degrees!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Importing a specific function" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To access a specific function, we must `import` it `from` the module. Below, we import the base 10 logarithm function, `log10()`\n", + "(more information on importing modules will be found in [later lessons](/lessons/loops_functions/tut_import_mod.ipynb)):\n", + "\n", + "```Python\n", + "from module import function\n", + "```\n", + "\n", + "The function can then be used throughout the rest of the program. \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Importing a function from math\n", + "\n", + "In this code, we want to import the function ``log10()`` to use when calculating pH from proton concentration using $ pH = -log_{10}[H^+]$.\n", + "\n", + "```Python\n", + "from math import log10\n", + "\n", + "conc_H = 1.0e-7\n", + "\n", + "pH = log10(conc_H)\n", + "pH *= -1\n", + "\n", + "print(pH)\n", + "```\n", + "\n", + "The `*=` simply means to take the previous variable also called `pH` and multiply it by -1. Only the new value of pH can be called now, so only use this if you will no longer need to call the previous value of pH. Similarly, you can use `+=`, `-=`, and `/=`.\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Importing pi and other constants\n", + "\n", + "We can also import constants from ``math``, such as ``pi``, ``e``, and even ``inf``, infinity. \n", + "\n", + "We import constants in the same way we import functions. The only difference is in how we use them. Constants are not the same as functions, and therefore do not need brackets.\n", + "\n", + "```Python\n", + "from math import pi\n", + "\n", + "circle_area = 4**2 * pi\n", + "print(circle_area)\n", + "```\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "
Exercise: Importing a function \n", + "\n", + "---\n", + "\n", + "Using the relation\n", + "\n", + "$ pH = -log_{10}[H^+]$\n", + "\n", + "Write a program that calculates the pH of a solution in which [H+] = 2.3 ×10-5 M.\n", + "\n", + "
\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "You should have got the output:\n", + " pH = 4.64 \n", + "\n", + "Think further: Is this solution acidic or basic? We can work that out quite easily, but what if we had hundreds of values for hundreds of different solutions and wanted to identify only which ones were acidic? Later lessons will give you the tools to be able to do this.\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Importing an entire module/library" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can also import the entire library, giving you access to all the functions within it. You do this by writing simply:\n", + "\n", + "```Python\n", + "import module\n", + "```\n", + "\n", + "If you import the entire library, you can then call their functions in the following way:\n", + "\n", + "```Python\n", + "answer = module.function()\n", + "```\n", + "\n", + "Which tells us that we are referencing a function from the module named just after the full-stop (in this case, the module is called 'module'). Referencing the module we are calling the function from is necessary because you often import lots of different modules and libraries, and you want to prevent errors caused by multiple different functions having the same name.\n", + "\n", + "There are lots of libraries and modules which you can import, which serve different purposes, such as the scientific module [NumPy](../common_libs/Introduction_to_NumPy.ipynb), and the graphing library [matplotlib.pyplot](../common_libs/python-in-chem_pyplot_basics_SM.ipynb). " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Importing the entire 'math' module\n", + "\n", + "For example with the module ``math``:\n", + "\n", + "```Python\n", + "import math\n", + "\n", + "# Calculate area of a circle using pi\n", + "radius = 4\n", + "circle_area = radius**2 * math.pi\n", + " \n", + "# Calculate e^6\n", + "exp_answer = math.exp(6)\n", + "\n", + "# Calculate cosine of 10 in radians\n", + "trig_ans = math.cos(10)\n", + "```\n", + "\n", + "The `math.` part is very important if you are importing an entire library (not just a specific function). Without it, Python won't know you are trying to call a function from the math module - it will think you have forgotten to define your own function! It gets especially confusing if you are importing many different libraries and modules, some of whom might use the same function name for a slightly different purpose. Python needs to know which one you are referring to!\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Importing other modules\n", + "\n", + "You can also import other modules and libraries, such as NumPy, SciPy, or MatPlotLib.pyplot. \n", + "\n", + "For libraries with longer names, you can give them an **alias** which you can refer to instead of their full name. For example:\n", + "\n", + "```Python\n", + "import numpy as np\n", + "\n", + "# Calculate the numpy cosine of 0.78\n", + "ans = np.cos(0.78)\n", + "print(ans)\n", + "```\n", + "\n", + "This is not recommended for modules with an already short name, such as `math`. If you give your modules extremely short names, you may well end up with other variables having the same name, causing errors!\n", + "\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "
Exercise: Import the module math and use multiple functions\n", + "\n", + "---\n", + "\n", + "A right-angled triangle sits inside a circle, with its hypotenuse equal to the diameter of the circle. \n", + "\n", + "Write a program to calculate one of the angles, θ, of the triangle in degrees, given that the opposite edge of the triangle has length 2 cm and the circumference of the circle is 10 cm. Import the module ``math``.\n", + "\n", + "Useful information:\n", + "\n", + "$circle \\ diameter = \\frac{circumference}{\\pi}$ \n", + "\n", + "$\\theta = sin^{-1}(\\frac{length\\ of\\ triangle\\ edge\\ opposite\\ \\theta}{length\\ of\\ triangle\\ hypotenuse})$\n", + "\n", + "The ``math`` function for $sin^{-1}$ is: ``asin()``.\n", + "\n", + "The ``math`` function ``degrees()`` converts any value inside the brackets to degrees from radians.\n", + "\n", + "Hint: The answer you should get is 38.9°.\n", + "\n", + "
\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer\n", + "\n", + "```Python\n", + "import math\n", + "\n", + "circumference = 10 # cm\n", + "opposite_side = 2 # cm\n", + "\n", + "diameter = 10 / math.pi # cm\n", + "hypotenuse = diameter # cm\n", + "\n", + "theta_rads = math.asin(opposite_side/hypotenuse)\n", + "theta_degrees = math.degrees(theta_rads)\n", + "\n", + "print(theta_degrees)\n", + "```\n", + "\n", + "Since we know that the diameter and hypotenuse are equal to each other, we can easily set the variable 'hypotenuse', which will change when a new diameter is calculated. Note that we have used the function `math.degrees()` to convert our answer into degrees from radians. \n", + "\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Further Practice" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Question 1\n", + "\n", + "Find the velocity, $v$, of a N2 molecule with a mass, $m$, of 4.6×10-26 kg at a temperature, $T$, of 293 K, given the following equation,\n", + "\n", + "$$\n", + "v = \\sqrt{\\frac{3k_bT}{m}}, \n", + "$$\n", + "\n", + "where, $k_b$ is 1.38×10−23 J/K.\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer
\n", + "\n", + "```Python\n", + "k_b = 1.38e-23\n", + "T = 293\n", + "m = 4.6e-26\n", + "\n", + "v = ((3 * k_b * T) / m) ** (1 / 2)\n", + "print(f'velocity = {v:.1f} m/s')\n", + "```\n", + "\n", + "You should have got the output:
\n", + " velocity = 513.5 m/s \n", + "\n", + "Remember there are many different ways of writing the same piece of code. Don't worry about finding the 'best' solution at this point. As long as it works, you have succeeded!\n", + "\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Question 2\n", + "\n", + "The weak acid formic acid has a dissociation constant $K_a$ that is related to the concentration of H+ ions by the following relation, where $N$ is the amount of acid dissolved.\n", + "\n", + "$$\n", + "K_a = \\frac{[\\textrm{H}^+]^2}{N - [\\textrm{H}^+]}.\n", + "$$\n", + "\n", + "This can be rearranged to the form $ax^2 + bx + c = 0$ and the value [H+] solved using the quadratic formula.\n", + "\n", + "$$\n", + "[\\textrm{H}^+]^2 + K_a[\\textrm{H}^+] - K_aN = 0.\n", + "$$\n", + "\n", + "Write a program to calculate the concentration of H+ ions when $K_a$ = 1.8 ×10-4 and $N$ = 0.1 M. What pH is this?\n", + "\n", + "Useful:
\n", + "$\n", + "x = \\frac{-b \\pm \\sqrt{b^2 - 4ac}}{2a}.\n", + "$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer
\n", + "\n", + "```Python\n", + "# Import all relevant libraries and functions at the beginning\n", + "from math import log10\n", + "\n", + "# Define the variables we know\n", + "K_a = 1.8e-4\n", + "N = 0.1\n", + "\n", + "# Assign a, b, and c by comparing the two forms\n", + "a = 1\n", + "b = K_a\n", + "c = -K_a * N\n", + "\n", + "# Calculate the two potential answers of the quadratic formula\n", + "# To perform a square root, we are raising to the power of 1/2\n", + "H_conc_plus = (-b + (b ** 2 - 4 * a * c) ** (1 / 2)) / (2 * a)\n", + "H_conc_minus = (-b - (b ** 2 - 4 * a * c) ** (1 / 2)) / (2 * a)\n", + "\n", + "print(f'H_conc_plus = {H_conc_plus:.5f} M')\n", + "print(f'H_conc_minus = {H_conc_minus:.5f} M')\n", + " \n", + "# Find and print the pH\n", + "pH = log10(H_conc_plus) * -1\n", + "print(f'pH = {pH:.2f}')\n", + "```\n", + "\n", + "---\n", + "\n", + "You should have got the output:
\n", + " H_conc_plus = 0.00415 M
\n", + "H_conc_minus = -0.00433 M
\n", + "pH = 2.38
\n", + "\n", + "The variable `H_conc_minus` can be disregarded, as it is not possible to have a negative concentration. It is important to run your code often as you write it, to identify if there are any errors, or if you are using the right values.\n", + "\n", + "Even though we don't use `log10` until the end, we have imported it at the beginning of our code. This is good practice, as it both looks neater and reduces the likelihood of importing the same library or function multiple times. \n", + "\n", + "When we are doing complicated maths, it is good to leave comments describing what is happening to make it easier for someone else to come along and edit it. Or for yourself when you come back to look at it after a long time!\n", + "\n", + " Think further: Writing out the maths for the quadratic formula takes quite a long time, and it is easy to make a mistake. If we wanted to do multiple calculations with it, we would only want to write it out once. We could do this by defining our own function (covered later in the course), which would allow us to perform the calculation using only a shorthand, such as solve_quadratic(a, b, c).\n", + "\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Question 3\n", + "\n", + "The code below will not work. Identify why and correct it so that it does work. Run it yourself, and keep looking at your error message to figure out what is wrong. You should get an output of `4.86 cm`.\n", + "\n", + "```Python\n", + "# Find the length, x, of one side of a triangle using the cosine rule\n", + " \n", + "math\n", + "\n", + "side_b = \"7\" # cm\n", + "side_c = 5 cm\n", + "angle_A = 44 # degrees\n", + "\n", + "x = side_b^2 + side_C**2 - (2 * side_b side_c * cos(angle_A)\n", + "x *= 1/2\n", + "\n", + "print(x \" cm\")\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " Click to view answer
\n", + "\n", + "Here is the same code with the mistakes corrected. Did you find them all or did you have to look at the answer?\n", + "\n", + "```Python\n", + "# Find the length, x, of one side of a triangle using the cosine rule\n", + "\n", + "import math\n", + "\n", + "side_b = 7 # cm\n", + "side_c = 5 # cm\n", + "angle_A = math.radians(44) # radians\n", + "\n", + "x = side_b**2 + side_c**2 - (2 * side_b * side_c * math.cos(angle_A))\n", + "x **= 1/2\n", + "\n", + "print(x , \" cm\")\n", + "```\n", + "\n", + "Here are a list of the errors and their corrections, in the order they appear.\n", + "- You must `import math`, not just write `math`.\n", + "- The variable `side_b` should be an integer, not a string, or maths cannot be done on it. Remove the quotation marks from around the number to make it so.\n", + "- The variable `side_c` should have its units in an inline comment, not just floating on their own.\n", + "- `angle_A` is given in degrees, however the module `math` does trigonometry in radians. You can change degrees into radians using the `math` function `math.radians()`.\n", + "- The maths operator for exponents is `**` not `^`.\n", + "- In the sum, the 'c' in `side_C` is capitalised when it shouldn't be. Variables are case sensitive. Since `side_c` was defined the first time using a lowercase 'c', all following instances should also use a lowercase letter.\n", + "- There is a missing multiplication symbol `*` between `side_b` and `side_c`.\n", + "- 'Cos' is a function from the module 'math'. Therefore, to use it we should do `math.cos(angle_A)`, not just `cos(angle_A)`. The function also only takes angles in radians, so make sure your input here is in radians, not degrees!\n", + "- The sum is missing a closing bracket. All opened brackets must be closed in Python.\n", + "- When doing the square root of `x`, the maths operator for exponents in this case should be `**=`, not `*=`.\n", + "- There should be a comma between `x` and `\" cm\"` in the print statement.\n", + "\n", + "You can see the importance of correct syntax!\n", + "\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Learning outcomes\n", + "\n", + "- Develop familiarity with basic mathematical operations in Python, including `+`, `-`, `*`, `/`. \n", + "- Understand how to access some additional, more complex mathematical function using the `math` module. \n", + "\n", + "## Summary \n", + "\n", + "- Python's basic maths uses the symbols `+`,`-`,`*`,`/`, `**`.\n", + "- Use `%`, \"modulo\", to find the remainder of a division, and ``//``, \"floored division\" to return the integer part of a division.\n", + "- Use order of operations (BODMAS/BIDMAS/PEMDAS) to ensure Python does the correct sum. Use round brackets (not any other type of brackets) to remove ambiguity.\n", + "- Assign your calculation a variable to be able to call that value forward later. \n", + "- Inside an f string, use `:.3f` to print your answer to 3 decimal places. Changing the number changes the number of decimal places displayed in the answer.\n", + "- Use `+=`, `-=`, `*=`, etc. to change the value of a variable.\n", + "- For more complex functions, import them from a library or module such as `numpy` or `math`. If you import the whole library, you must reference the library using `modulename.function()`, like in the calculation `answer = math.sin(1)`. \n", + "- Make sure to place the lines of code importing any functions or libraries at the beginning of the program." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [] + } + ], + "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.12.3" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/notebooks/For_Loop_Lesson.ipynb b/notebooks/For_Loop_Lesson.ipynb index 9a5398af..9209aa3d 100644 --- a/notebooks/For_Loop_Lesson.ipynb +++ b/notebooks/For_Loop_Lesson.ipynb @@ -118,7 +118,7 @@ "\n", "In the lab you are making methyl benzoate according using the scheme below. Five scientists repeat the reaction starting with 3 g of benzoic acid and get of 2.5 g, 2.7 g, 3.1 g, 1.6 g and 4 g of product\n", "\n", - "\n", + "\n", "\n", "Lets use your understanding of for loops to quickly work out the yields for each person" ] diff --git a/notebooks/Intro_to_ASE.ipynb b/notebooks/Intro_to_ASE.ipynb index d373fe73..ae446364 100644 --- a/notebooks/Intro_to_ASE.ipynb +++ b/notebooks/Intro_to_ASE.ipynb @@ -382,9 +382,9 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "\"Python/Mu (mu_venv-38-20250225-145306)\"", "language": "python", - "name": "python3" + "name": "mu_venv-38-20250225-145306" }, "language_info": { "codemirror_mode": { @@ -396,7 +396,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.13.1" + "version": "3.8.12" } }, "nbformat": 4,