diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml index 9dc6dc3..62ec836 100644 --- a/.github/workflows/gh-pages.yml +++ b/.github/workflows/gh-pages.yml @@ -100,6 +100,7 @@ jobs: jekyll: false commit_message: "Deploy to GH Pages" keep_history: true + follow_symlinks: true env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -122,4 +123,4 @@ jobs: issue-number: ${{ github.event.pull_request.number }} body: | Example docs for this PR [rendered here](https://openmm.github.io/openmm-cookbook/PR${{ github.event.number }}) - edit-mode: replace \ No newline at end of file + edit-mode: replace diff --git a/README.md b/README.md index f3aa715..0eb0d16 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,46 @@ # openmm-cookbook -Proof-of-concept for the OpenMM Cookbook. + +This repo is home to the OpenMM Cookbook and the OpenMM Tutorials Preview at https://openmm.github.io/openmm-cookbook ## Adding a notebook -A notebooks can be added to the cookbook by adding it to a subfolder of the `notebooks` folder. Links to download the notebook, view it in GitHub, or open it in Google Colab are added to the rendered notebook on the website automatically. Any files required by the notebook should be placed in the same folder as the notebook --- they are required by both the testing apparatus and Google Colab. The notebook must also be added to `index.md`. +To add a new cookbook add the ipynb notebook to the `notebooks/cookbook` folder and add a link to it in `cookbook.md`. To add a new tutorial add the ipynb notebook to the `notebooks/tutorials` folder and add a link to it in `tutorials.md` + +Links to download the notebook, view it in GitHub, or open it in Google Colab are added to the rendered notebook on the website automatically. Any files required by the notebook should be placed in the same folder as the notebook --- they are required by both the testing apparatus and Google Colab. The notebook must also be added to `index.md`. "Open in Google Colab" links to a copy of the notebook that is constructed when the documentation is built. This copy has a cell injected that allows the notebook's dependencies to be installed automatically. By default, each notebook will install the Conda Forge packages specified in the `cookbook_default_conda_forge_deps` variable in `conf.py`, and then download all the files in the notebook's folder into the notebook's execution environment. This can be configured on a per-notebook basis by adding the `conda_forge_dependencies` or `required_files` metadata entries to the notebook. -Notebook thumbnails can be configured in several ways, as described in the [nbsphinx documentation]. +Notebook thumbnails can be configured in several ways, as described in the [nbsphinx documentation](https://nbsphinx.readthedocs.io/). + + +## Building locally + +First clone this repo, then create a conda environment using [environment.yml](environment.yml). +The cookbook can then be built using +``` +make html +``` +the created html will be in the `build/html` directory and can be viewed by opening `build/html/index.html` in a browser. ## Releases -The cookbook's `main` branch is intended for use with the latest release of OpenMM. When new cookbooks are added, they will be served immediately and tested against the current release. Nightly tests are performed against OpenMM's development branch, and any fixes required will live in feature branches or a `next` branch. When a new release of OpenMM is cut, the state of `main`, which reflects an entire release cycle, is memorialized with a release tag and rendered to gh-pages in its own release folder. Any feature branches or `next` branches are then merged in so that `main` is now compatible with the new release. +The cookbooks main branch is the development channel, it is rendered as `https://openmm.github.io/openmm-cookbook/dev/`, anytime the main branch is updated the rendered cookbook will be updated. + +When a release is cut the current working state of the cookbook will be preserved as `https://openmm.github.io/openmm-cookbook/refs/tags/${release}/index.html` where `${release}` is the release tag. e.g. `https://openmm.github.io/openmm-cookbook/refs/tags/v0.1/index.html`. + + + The latest version of the cookbook will point to the most recent release `https://openmm.github.io/openmm-cookbook/latest/` + +## CI + +Continuous integration is run on the main branch of the cookbook. Just the notebooks in `notebooks/cookbook` are run through the CI, tutorials are not (due to long compute time). There are two workflows: [Main](.github/workflows/ci-main.yml) will test that the notebooks run with the latest release of OpenMM, [Nightly](.github/workflows/ci-nightly.yml) will test that the notebooks run with the development version of OpenMM. + +## Pull Requests + +When a PR is triggered the cookbook will be rendered as `https://openmm.github.io/openmm-cookbook/PR#/` where PR# is the pull request number e.g. [PR16](https://openmm.github.io/openmm-cookbook/PR16/index.html). **Note** that due to github actions permissions the *Deploy to GitHub Pages* step in the [gh-pages workflow](.github/workflows/gh-pages.yml) will only work correctly if the PR comes from a branch *within* `https://github.com/openmm/openmm-cookbook` and it will not work when the PR comes from a personal fork. + + -This strategy allows cookbooks for the current version to be released instantly while still permitting testing of notebooks in CI, and preserving the state of the cookbook at each release for posterity. -[nbsphinx documentation]: https://nbsphinx.readthedocs.io/en/0.8.7/subdir/gallery.html \ No newline at end of file diff --git a/conf.py b/conf.py index 4bc7ca3..50fb07e 100644 --- a/conf.py +++ b/conf.py @@ -17,8 +17,8 @@ # -- Project information ----------------------------------------------------- -project = "OpenMM Cookbook" -copyright = "2022, The OpenMM Contributors" +project = "OpenMM Cookbook & Tutorials" +copyright = "2023, The OpenMM Contributors" author = "The OpenMM Contributors" release = os.getenv("PAGES_DEPLOY_PATH","dev") print(release) diff --git a/cookbook.md b/cookbook.md new file mode 100644 index 0000000..51a1292 --- /dev/null +++ b/cookbook.md @@ -0,0 +1,60 @@ +--- +orphan: true +--- +# The OpenMM Cookbook + + +## Getting Started + +:::{nbgallery} +--- +glob: True +caption: Getting Started +--- +notebooks/cookbook/first_simulation.ipynb + +::: + +## Simulation Protocols + +:::{nbgallery} +--- +glob: True +caption: Simulation Protocols +--- +notebooks/cookbook/Changing Temperature and Pressure +notebooks/cookbook/Saving Systems to XML Files +notebooks/cookbook/Merging Molecules +notebooks/cookbook/Adding Hydrogens to Nonstandard Molecules +::: + +## Restraints, Constraints, and External Forces + +:::{nbgallery} +--- +glob: True +caption: Restraints, Constraints, and External Forces +--- +notebooks/cookbook/Applying a Constant External Force +notebooks/cookbook/Constraining Atom Positions +notebooks/cookbook/Restraining Atom Positions +notebooks/cookbook/Restraining Dihedrals +::: + +## Analysis and System Inspection + +:::{nbgallery} +--- +glob: True +caption: Analysis and System Inspection +--- +notebooks/cookbook/Analyzing Energy Contributions +notebooks/cookbook/Querying Charges and Other Parameters +::: + + +---- + +[Notebooks by Tag](genindex) + + diff --git a/environment.yml b/environment.yml index fefa141..bc176e6 100644 --- a/environment.yml +++ b/environment.yml @@ -5,7 +5,7 @@ dependencies: - python >= 3.7 - pip - sphinx>=4.0.0,<5 - - nbsphinx + - nbsphinx<0.9.0 #keep default thumbnails from sphinx_gallery.load_style https://github.com/spatialaudio/nbsphinx/releases/tag/0.9.0 - nbformat<5.2 #https://github.com/jupyter/nbformat/issues/303 - pytest - nbval diff --git a/index.md b/index.md index a257a82..e052255 100644 --- a/index.md +++ b/index.md @@ -1,65 +1,20 @@ # The OpenMM Cookbook +[Click here for the OpenMM Cookbook](cookbook.md) -## Getting Started +The OpenMM Cookbook contains short code examples for common tasks you can perform in OpenMM. +The examples can be run directly in Colab, the runtime is a few seconds for each one. -:::{nbgallery} ---- -glob: True -caption: Getting Started ---- -notebooks/cookbook/first_simulation.ipynb - -::: - -## Simulation Protocols - -:::{nbgallery} ---- -glob: True -caption: Simulation Protocols ---- -notebooks/cookbook/Changing Temperature and Pressure -notebooks/cookbook/Saving Systems to XML Files -notebooks/cookbook/Merging Molecules -notebooks/cookbook/Adding Hydrogens to Nonstandard Molecules -::: - -## Restraints, Constraints, and External Forces - -:::{nbgallery} ---- -glob: True -caption: Restraints, Constraints, and External Forces ---- -notebooks/cookbook/Applying a Constant External Force -notebooks/cookbook/Constraining Atom Positions -notebooks/cookbook/Restraining Atom Positions -notebooks/cookbook/Restraining Dihedrals -::: - -## Analysis and System Inspection - -:::{nbgallery} ---- -glob: True -caption: Analysis and System Inspection ---- -notebooks/cookbook/Analyzing Energy Contributions -notebooks/cookbook/Querying Charges and Other Parameters -::: +# The OpenMM Tutorials +[Click here for the OpenMM Tutorials](tutorials.md) -## Tutorials +The OpenMM Tutorials are longer examples that walk you through specific simulation methods. +These can also be run in Colab, but due to the longer compute time required (tens of minutes to hours) you may find it better to run them on your own machine. -:::{nbgallery} +:::{toctree} --- -glob: True -caption: Tutorials +hidden: true +maxdepth: 3 --- -::: - - ----- - -[Notebooks by Tag](genindex) - - +cookbook.md +tutorials.md +::: \ No newline at end of file diff --git a/notebooks/cookbook/first_simulation.ipynb b/notebooks/cookbook/first_simulation.ipynb index 06c4e19..7848ef1 100644 --- a/notebooks/cookbook/first_simulation.ipynb +++ b/notebooks/cookbook/first_simulation.ipynb @@ -64,7 +64,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3.9.13 ('openmm')", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -78,7 +78,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.13" + "version": "3.9.6 (default, Sep 26 2022, 11:37:49) \n[Clang 14.0.0 (clang-1400.0.29.202)]" }, "tags": [ "barostat", @@ -87,7 +87,7 @@ ], "vscode": { "interpreter": { - "hash": "16b2d2c1789d035bceb6d775bd7ffc39b805c8f0529038638d98b11c7a85ade5" + "hash": "31f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6" } } }, diff --git a/notebooks/tutorials/Alchemical_free_energy_calculations.ipynb b/notebooks/tutorials/Alchemical_free_energy_calculations.ipynb new file mode 100644 index 0000000..2f30fbf --- /dev/null +++ b/notebooks/tutorials/Alchemical_free_energy_calculations.ipynb @@ -0,0 +1,5289 @@ +{ + "cells": [ + { + "attachments": {}, + "cell_type": "markdown", + "id": "6b971986", + "metadata": {}, + "source": [ + "## Alchemical free energy calculations\n", + "\n", + "*Computing the free energy of inserting a Lennard-Jones particle in a Lennard-Jones fluid.*\n", + "\n", + "This tutorial is described in [OpenMM 7 publication](http://dx.doi.org/10.1371/journal.pcbi.1005659).\n", + "\n", + "### Basic concept\n", + "\n", + "OpenMM's custom forces---which allow the programmer to express a potential algebraically, potentially with multiple parameters that can be adjusted on the fly---allow a great deal of flexibility and simplicity in encoding potentials while still achieving high performance on GPUs. One common use of this facility is to convert standard interactions (such as Lennard-Jones potentials) into alchemically-modified potentials for the purposes of computing free energy differences. The alchemical free energy code [YANK](http://github.com/choderalab/yank), for example, uses a variety of custom forces to represent alchemically-modified potentials for [protein-ligand alchemical binding free energy calculations](http://dx.doi.org/10.1007/s10822-013-9689-8).\n", + "\n", + "### Defining alchemically-modified potentials\n", + "\n", + "As a simple example of how this is facilitated by custom forces, consider computing the chemical potential of liquid argon by estimating the free energy of alchemically annihilating a Lennard-Jones particle. First, we create a simple Lennard-Jones fluid to represent liquid argon at 120 K and 80 atm, which can be conveniently done using the `testsystems` module of the conda-installable [openmmtools](http://github.com/choderalab/openmmtools) package:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "760b92bf", + "metadata": {}, + "outputs": [], + "source": [ + "# openmmtools is also needed for this notebook\n", + "!mamba install -y -c conda-forge openmmtools" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "dea68130", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\n", + "from openmm.app import *\n", + "from openmm import *\n", + "from openmm.unit import *\n", + "from openmmtools.testsystems import LennardJonesFluid\n", + "\n", + "\n", + "# Simulation settings\n", + "pressure = 80*atmospheres\n", + "temperature = 120*kelvin\n", + "collision_rate = 5/picoseconds\n", + "timestep = 2.5*femtoseconds\n", + "\n", + "\n", + "# Create a Lennard Jones test fluid\n", + "sigma = 3.4*angstrom\n", + "epsilon = 0.238 * kilocalories_per_mole\n", + "fluid = LennardJonesFluid(sigma=sigma, epsilon=epsilon)\n", + "[topology, system, positions] = [fluid.topology, fluid.system, fluid.positions]\n", + "\n", + "# Add a barostat\n", + "barostat = MonteCarloBarostat(pressure, temperature)\n", + "system.addForce(barostat)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "695bedcf", + "metadata": {}, + "source": [ + "To allow one of the Lennard-Jones particles to be alchemically eliminated, we create a [CustomNonbondedForce](http://docs.openmm.org/latest/api-python/generated/openmm.openmm.CustomNonbondedForce.html) that will compute the interactions between the alchemical particle and the remaining chemical particles using a softcore potential. The alchemically-modified particle has its Lennard-Jones well depth (epsilon parameter) set to zero in the original NonbondedForce, while the `CustomNonbondedForce` is set to evaluate only the interactions between the alchemically-modified particle and the remaining particles using [addInteractionGroup()](http://docs.openmm.org/latest/api-python/generated/openmm.openmm.CustomNonbondedForce.html#openmm.openmm.CustomNonbondedForce.addInteractionGroup) to specify only interactions between these groups are to be computed. A global context parameter lambda is created to control the coupling of the alchemically-modified particle with the rest of the system during the simulation. The Lennard-Jones parameters sigma and epsilon are implemented as per-particle parameters, though this is not strictly necessary in this case since all particles are equivalent." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "e5ebb1d7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "2" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Retrieve the NonbondedForce\n", + "forces = { force.__class__.__name__ : force for force in system.getForces() }\n", + "nbforce = forces['NonbondedForce']\n", + "\n", + "# Add a CustomNonbondedForce to handle only alchemically-modified interactions\n", + "\n", + "# Make two sets of particles, one that contains just the particle we will alchemically annihilate\n", + "# and the other which contains all the other particles.\n", + "alchemical_particles = set([0])\n", + "chemical_particles = set(range(system.getNumParticles())) - alchemical_particles\n", + "\n", + "\n", + "# Define the energy function for the CustomNonbondedForce\n", + "# when lambda is 1.0 it is a normal LJ potential, when lambda is 0.0 the interaction vanishes \n", + "energy_function = 'lambda*4*epsilon*x*(x-1.0); x = (sigma/reff_sterics)^6;'\n", + "energy_function += 'reff_sterics = sigma*(0.5*(1.0-lambda) + (r/sigma)^6)^(1/6);'\n", + "energy_function += 'sigma = 0.5*(sigma1+sigma2); epsilon = sqrt(epsilon1*epsilon2);'\n", + "custom_force = CustomNonbondedForce(energy_function)\n", + "\n", + "# Add lambda as a parameter we can change during the simulation\n", + "custom_force.addGlobalParameter('lambda', 1.0)\n", + "\n", + "# set the values of sigma and epsilon by copying them from the existing NonBondedForce\n", + "custom_force.addPerParticleParameter('sigma')\n", + "custom_force.addPerParticleParameter('epsilon')\n", + "for index in range(system.getNumParticles()):\n", + " [charge, sigma, epsilon] = nbforce.getParticleParameters(index)\n", + " custom_force.addParticle([sigma, epsilon])\n", + " if index in alchemical_particles:\n", + " # remove the alchemical particle from the existing NonBondedForce\n", + " nbforce.setParticleParameters(index, charge*0, sigma, epsilon*0)\n", + "\n", + "# Set the custom force to occur between just the alchemical particle and the other particles\n", + "custom_force.addInteractionGroup(alchemical_particles, chemical_particles)\n", + "system.addForce(custom_force)\n" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "e1945939", + "metadata": {}, + "source": [ + "### Simulating alchemically-modified systems\n", + "\n", + "We then create a `LangevinIntegrator` and `Simulation` to run the simulation, and run a series of simulations at different values of lambda by using `simulation.context.setParameter()` to update the alchemical parameter on the fly. For each configuration sample that is collected, we can easily scan through the energy at different lambda values by simply alternating between `simulation.context.setParameter()` to update lambda and `simulation.context.getState()` to retrieve potential energies at the new alchemical state." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "6010430f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Minimizing energy...\n", + "state 0 iteration 0 / 500\n", + "state 0 iteration 1 / 500\n", + "state 0 iteration 2 / 500\n", + "state 0 iteration 3 / 500\n", + "state 0 iteration 4 / 500\n", + "state 0 iteration 5 / 500\n", + "state 0 iteration 6 / 500\n", + "state 0 iteration 7 / 500\n", + "state 0 iteration 8 / 500\n", + "state 0 iteration 9 / 500\n", + "state 0 iteration 10 / 500\n", + "state 0 iteration 11 / 500\n", + "state 0 iteration 12 / 500\n", + "state 0 iteration 13 / 500\n", + "state 0 iteration 14 / 500\n", + "state 0 iteration 15 / 500\n", + "state 0 iteration 16 / 500\n", + "state 0 iteration 17 / 500\n", + "state 0 iteration 18 / 500\n", + "state 0 iteration 19 / 500\n", + "state 0 iteration 20 / 500\n", + "state 0 iteration 21 / 500\n", + "state 0 iteration 22 / 500\n", + "state 0 iteration 23 / 500\n", + "state 0 iteration 24 / 500\n", + "state 0 iteration 25 / 500\n", + "state 0 iteration 26 / 500\n", + "state 0 iteration 27 / 500\n", + "state 0 iteration 28 / 500\n", + "state 0 iteration 29 / 500\n", + "state 0 iteration 30 / 500\n", + "state 0 iteration 31 / 500\n", + "state 0 iteration 32 / 500\n", + "state 0 iteration 33 / 500\n", + "state 0 iteration 34 / 500\n", + "state 0 iteration 35 / 500\n", + "state 0 iteration 36 / 500\n", + "state 0 iteration 37 / 500\n", + "state 0 iteration 38 / 500\n", + "state 0 iteration 39 / 500\n", + "state 0 iteration 40 / 500\n", + "state 0 iteration 41 / 500\n", + "state 0 iteration 42 / 500\n", + "state 0 iteration 43 / 500\n", + "state 0 iteration 44 / 500\n", + "state 0 iteration 45 / 500\n", + "state 0 iteration 46 / 500\n", + "state 0 iteration 47 / 500\n", + "state 0 iteration 48 / 500\n", + "state 0 iteration 49 / 500\n", + "state 0 iteration 50 / 500\n", + "state 0 iteration 51 / 500\n", + "state 0 iteration 52 / 500\n", + "state 0 iteration 53 / 500\n", + "state 0 iteration 54 / 500\n", + "state 0 iteration 55 / 500\n", + "state 0 iteration 56 / 500\n", + "state 0 iteration 57 / 500\n", + "state 0 iteration 58 / 500\n", + "state 0 iteration 59 / 500\n", + "state 0 iteration 60 / 500\n", + "state 0 iteration 61 / 500\n", + "state 0 iteration 62 / 500\n", + "state 0 iteration 63 / 500\n", + "state 0 iteration 64 / 500\n", + "state 0 iteration 65 / 500\n", + "state 0 iteration 66 / 500\n", + "state 0 iteration 67 / 500\n", + "state 0 iteration 68 / 500\n", + "state 0 iteration 69 / 500\n", + "state 0 iteration 70 / 500\n", + "state 0 iteration 71 / 500\n", + "state 0 iteration 72 / 500\n", + "state 0 iteration 73 / 500\n", + "state 0 iteration 74 / 500\n", + "state 0 iteration 75 / 500\n", + "state 0 iteration 76 / 500\n", + "state 0 iteration 77 / 500\n", + "state 0 iteration 78 / 500\n", + "state 0 iteration 79 / 500\n", + "state 0 iteration 80 / 500\n", + "state 0 iteration 81 / 500\n", + "state 0 iteration 82 / 500\n", + "state 0 iteration 83 / 500\n", + "state 0 iteration 84 / 500\n", + "state 0 iteration 85 / 500\n", + "state 0 iteration 86 / 500\n", + "state 0 iteration 87 / 500\n", + "state 0 iteration 88 / 500\n", + "state 0 iteration 89 / 500\n", + "state 0 iteration 90 / 500\n", + "state 0 iteration 91 / 500\n", + "state 0 iteration 92 / 500\n", + "state 0 iteration 93 / 500\n", + "state 0 iteration 94 / 500\n", + "state 0 iteration 95 / 500\n", + "state 0 iteration 96 / 500\n", + "state 0 iteration 97 / 500\n", + "state 0 iteration 98 / 500\n", + "state 0 iteration 99 / 500\n", + "state 0 iteration 100 / 500\n", + "state 0 iteration 101 / 500\n", + "state 0 iteration 102 / 500\n", + "state 0 iteration 103 / 500\n", + "state 0 iteration 104 / 500\n", + "state 0 iteration 105 / 500\n", + "state 0 iteration 106 / 500\n", + "state 0 iteration 107 / 500\n", + "state 0 iteration 108 / 500\n", + "state 0 iteration 109 / 500\n", + "state 0 iteration 110 / 500\n", + "state 0 iteration 111 / 500\n", + "state 0 iteration 112 / 500\n", + "state 0 iteration 113 / 500\n", + "state 0 iteration 114 / 500\n", + "state 0 iteration 115 / 500\n", + "state 0 iteration 116 / 500\n", + "state 0 iteration 117 / 500\n", + "state 0 iteration 118 / 500\n", + "state 0 iteration 119 / 500\n", + "state 0 iteration 120 / 500\n", + "state 0 iteration 121 / 500\n", + "state 0 iteration 122 / 500\n", + "state 0 iteration 123 / 500\n", + "state 0 iteration 124 / 500\n", + "state 0 iteration 125 / 500\n", + "state 0 iteration 126 / 500\n", + "state 0 iteration 127 / 500\n", + "state 0 iteration 128 / 500\n", + "state 0 iteration 129 / 500\n", + "state 0 iteration 130 / 500\n", + "state 0 iteration 131 / 500\n", + "state 0 iteration 132 / 500\n", + "state 0 iteration 133 / 500\n", + "state 0 iteration 134 / 500\n", + "state 0 iteration 135 / 500\n", + "state 0 iteration 136 / 500\n", + "state 0 iteration 137 / 500\n", + "state 0 iteration 138 / 500\n", + "state 0 iteration 139 / 500\n", + "state 0 iteration 140 / 500\n", + "state 0 iteration 141 / 500\n", + "state 0 iteration 142 / 500\n", + "state 0 iteration 143 / 500\n", + "state 0 iteration 144 / 500\n", + "state 0 iteration 145 / 500\n", + "state 0 iteration 146 / 500\n", + "state 0 iteration 147 / 500\n", + "state 0 iteration 148 / 500\n", + "state 0 iteration 149 / 500\n", + "state 0 iteration 150 / 500\n", + "state 0 iteration 151 / 500\n", + "state 0 iteration 152 / 500\n", + "state 0 iteration 153 / 500\n", + "state 0 iteration 154 / 500\n", + "state 0 iteration 155 / 500\n", + "state 0 iteration 156 / 500\n", + "state 0 iteration 157 / 500\n", + "state 0 iteration 158 / 500\n", + "state 0 iteration 159 / 500\n", + "state 0 iteration 160 / 500\n", + "state 0 iteration 161 / 500\n", + "state 0 iteration 162 / 500\n", + "state 0 iteration 163 / 500\n", + "state 0 iteration 164 / 500\n", + "state 0 iteration 165 / 500\n", + "state 0 iteration 166 / 500\n", + "state 0 iteration 167 / 500\n", + "state 0 iteration 168 / 500\n", + "state 0 iteration 169 / 500\n", + "state 0 iteration 170 / 500\n", + "state 0 iteration 171 / 500\n", + "state 0 iteration 172 / 500\n", + "state 0 iteration 173 / 500\n", + "state 0 iteration 174 / 500\n", + "state 0 iteration 175 / 500\n", + "state 0 iteration 176 / 500\n", + "state 0 iteration 177 / 500\n", + "state 0 iteration 178 / 500\n", + "state 0 iteration 179 / 500\n", + "state 0 iteration 180 / 500\n", + "state 0 iteration 181 / 500\n", + "state 0 iteration 182 / 500\n", + "state 0 iteration 183 / 500\n", + "state 0 iteration 184 / 500\n", + "state 0 iteration 185 / 500\n", + "state 0 iteration 186 / 500\n", + "state 0 iteration 187 / 500\n", + "state 0 iteration 188 / 500\n", + "state 0 iteration 189 / 500\n", + "state 0 iteration 190 / 500\n", + "state 0 iteration 191 / 500\n", + "state 0 iteration 192 / 500\n", + "state 0 iteration 193 / 500\n", + "state 0 iteration 194 / 500\n", + "state 0 iteration 195 / 500\n", + "state 0 iteration 196 / 500\n", + "state 0 iteration 197 / 500\n", + "state 0 iteration 198 / 500\n", + "state 0 iteration 199 / 500\n", + "state 0 iteration 200 / 500\n", + "state 0 iteration 201 / 500\n", + "state 0 iteration 202 / 500\n", + "state 0 iteration 203 / 500\n", + "state 0 iteration 204 / 500\n", + "state 0 iteration 205 / 500\n", + "state 0 iteration 206 / 500\n", + "state 0 iteration 207 / 500\n", + "state 0 iteration 208 / 500\n", + "state 0 iteration 209 / 500\n", + "state 0 iteration 210 / 500\n", + "state 0 iteration 211 / 500\n", + "state 0 iteration 212 / 500\n", + "state 0 iteration 213 / 500\n", + "state 0 iteration 214 / 500\n", + "state 0 iteration 215 / 500\n", + "state 0 iteration 216 / 500\n", + "state 0 iteration 217 / 500\n", + "state 0 iteration 218 / 500\n", + "state 0 iteration 219 / 500\n", + "state 0 iteration 220 / 500\n", + "state 0 iteration 221 / 500\n", + "state 0 iteration 222 / 500\n", + "state 0 iteration 223 / 500\n", + "state 0 iteration 224 / 500\n", + "state 0 iteration 225 / 500\n", + "state 0 iteration 226 / 500\n", + "state 0 iteration 227 / 500\n", + "state 0 iteration 228 / 500\n", + "state 0 iteration 229 / 500\n", + "state 0 iteration 230 / 500\n", + "state 0 iteration 231 / 500\n", + "state 0 iteration 232 / 500\n", + "state 0 iteration 233 / 500\n", + "state 0 iteration 234 / 500\n", + "state 0 iteration 235 / 500\n", + "state 0 iteration 236 / 500\n", + "state 0 iteration 237 / 500\n", + "state 0 iteration 238 / 500\n", + "state 0 iteration 239 / 500\n", + "state 0 iteration 240 / 500\n", + "state 0 iteration 241 / 500\n", + "state 0 iteration 242 / 500\n", + "state 0 iteration 243 / 500\n", + "state 0 iteration 244 / 500\n", + "state 0 iteration 245 / 500\n", + "state 0 iteration 246 / 500\n", + "state 0 iteration 247 / 500\n", + "state 0 iteration 248 / 500\n", + "state 0 iteration 249 / 500\n", + "state 0 iteration 250 / 500\n", + "state 0 iteration 251 / 500\n", + "state 0 iteration 252 / 500\n", + "state 0 iteration 253 / 500\n", + "state 0 iteration 254 / 500\n", + "state 0 iteration 255 / 500\n", + "state 0 iteration 256 / 500\n", + "state 0 iteration 257 / 500\n", + "state 0 iteration 258 / 500\n", + "state 0 iteration 259 / 500\n", + "state 0 iteration 260 / 500\n", + "state 0 iteration 261 / 500\n", + "state 0 iteration 262 / 500\n", + "state 0 iteration 263 / 500\n", + "state 0 iteration 264 / 500\n", + "state 0 iteration 265 / 500\n", + "state 0 iteration 266 / 500\n", + "state 0 iteration 267 / 500\n", + "state 0 iteration 268 / 500\n", + "state 0 iteration 269 / 500\n", + "state 0 iteration 270 / 500\n", + "state 0 iteration 271 / 500\n", + "state 0 iteration 272 / 500\n", + "state 0 iteration 273 / 500\n", + "state 0 iteration 274 / 500\n", + "state 0 iteration 275 / 500\n", + "state 0 iteration 276 / 500\n", + "state 0 iteration 277 / 500\n", + "state 0 iteration 278 / 500\n", + "state 0 iteration 279 / 500\n", + "state 0 iteration 280 / 500\n", + "state 0 iteration 281 / 500\n", + "state 0 iteration 282 / 500\n", + "state 0 iteration 283 / 500\n", + "state 0 iteration 284 / 500\n", + "state 0 iteration 285 / 500\n", + "state 0 iteration 286 / 500\n", + "state 0 iteration 287 / 500\n", + "state 0 iteration 288 / 500\n", + "state 0 iteration 289 / 500\n", + "state 0 iteration 290 / 500\n", + "state 0 iteration 291 / 500\n", + "state 0 iteration 292 / 500\n", + "state 0 iteration 293 / 500\n", + "state 0 iteration 294 / 500\n", + "state 0 iteration 295 / 500\n", + "state 0 iteration 296 / 500\n", + "state 0 iteration 297 / 500\n", + "state 0 iteration 298 / 500\n", + "state 0 iteration 299 / 500\n", + "state 0 iteration 300 / 500\n", + "state 0 iteration 301 / 500\n", + "state 0 iteration 302 / 500\n", + "state 0 iteration 303 / 500\n", + "state 0 iteration 304 / 500\n", + "state 0 iteration 305 / 500\n", + "state 0 iteration 306 / 500\n", + "state 0 iteration 307 / 500\n", + "state 0 iteration 308 / 500\n", + "state 0 iteration 309 / 500\n", + "state 0 iteration 310 / 500\n", + "state 0 iteration 311 / 500\n", + "state 0 iteration 312 / 500\n", + "state 0 iteration 313 / 500\n", + "state 0 iteration 314 / 500\n", + "state 0 iteration 315 / 500\n", + "state 0 iteration 316 / 500\n", + "state 0 iteration 317 / 500\n", + "state 0 iteration 318 / 500\n", + "state 0 iteration 319 / 500\n", + "state 0 iteration 320 / 500\n", + "state 0 iteration 321 / 500\n", + "state 0 iteration 322 / 500\n", + "state 0 iteration 323 / 500\n", + "state 0 iteration 324 / 500\n", + "state 0 iteration 325 / 500\n", + "state 0 iteration 326 / 500\n", + "state 0 iteration 327 / 500\n", + "state 0 iteration 328 / 500\n", + "state 0 iteration 329 / 500\n", + "state 0 iteration 330 / 500\n", + "state 0 iteration 331 / 500\n", + "state 0 iteration 332 / 500\n", + "state 0 iteration 333 / 500\n", + "state 0 iteration 334 / 500\n", + "state 0 iteration 335 / 500\n", + "state 0 iteration 336 / 500\n", + "state 0 iteration 337 / 500\n", + "state 0 iteration 338 / 500\n", + "state 0 iteration 339 / 500\n", + "state 0 iteration 340 / 500\n", + "state 0 iteration 341 / 500\n", + "state 0 iteration 342 / 500\n", + "state 0 iteration 343 / 500\n", + "state 0 iteration 344 / 500\n", + "state 0 iteration 345 / 500\n", + "state 0 iteration 346 / 500\n", + "state 0 iteration 347 / 500\n", + "state 0 iteration 348 / 500\n", + "state 0 iteration 349 / 500\n", + "state 0 iteration 350 / 500\n", + "state 0 iteration 351 / 500\n", + "state 0 iteration 352 / 500\n", + "state 0 iteration 353 / 500\n", + "state 0 iteration 354 / 500\n", + "state 0 iteration 355 / 500\n", + "state 0 iteration 356 / 500\n", + "state 0 iteration 357 / 500\n", + "state 0 iteration 358 / 500\n", + "state 0 iteration 359 / 500\n", + "state 0 iteration 360 / 500\n", + "state 0 iteration 361 / 500\n", + "state 0 iteration 362 / 500\n", + "state 0 iteration 363 / 500\n", + "state 0 iteration 364 / 500\n", + "state 0 iteration 365 / 500\n", + "state 0 iteration 366 / 500\n", + "state 0 iteration 367 / 500\n", + "state 0 iteration 368 / 500\n", + "state 0 iteration 369 / 500\n", + "state 0 iteration 370 / 500\n", + "state 0 iteration 371 / 500\n", + "state 0 iteration 372 / 500\n", + "state 0 iteration 373 / 500\n", + "state 0 iteration 374 / 500\n", + "state 0 iteration 375 / 500\n", + "state 0 iteration 376 / 500\n", + "state 0 iteration 377 / 500\n", + "state 0 iteration 378 / 500\n", + "state 0 iteration 379 / 500\n", + "state 0 iteration 380 / 500\n", + "state 0 iteration 381 / 500\n", + "state 0 iteration 382 / 500\n", + "state 0 iteration 383 / 500\n", + "state 0 iteration 384 / 500\n", + "state 0 iteration 385 / 500\n", + "state 0 iteration 386 / 500\n", + "state 0 iteration 387 / 500\n", + "state 0 iteration 388 / 500\n", + "state 0 iteration 389 / 500\n", + "state 0 iteration 390 / 500\n", + "state 0 iteration 391 / 500\n", + "state 0 iteration 392 / 500\n", + "state 0 iteration 393 / 500\n", + "state 0 iteration 394 / 500\n", + "state 0 iteration 395 / 500\n", + "state 0 iteration 396 / 500\n", + "state 0 iteration 397 / 500\n", + "state 0 iteration 398 / 500\n", + "state 0 iteration 399 / 500\n", + "state 0 iteration 400 / 500\n", + "state 0 iteration 401 / 500\n", + "state 0 iteration 402 / 500\n", + "state 0 iteration 403 / 500\n", + "state 0 iteration 404 / 500\n", + "state 0 iteration 405 / 500\n", + "state 0 iteration 406 / 500\n", + "state 0 iteration 407 / 500\n", + "state 0 iteration 408 / 500\n", + "state 0 iteration 409 / 500\n", + "state 0 iteration 410 / 500\n", + "state 0 iteration 411 / 500\n", + "state 0 iteration 412 / 500\n", + "state 0 iteration 413 / 500\n", + "state 0 iteration 414 / 500\n", + "state 0 iteration 415 / 500\n", + "state 0 iteration 416 / 500\n", + "state 0 iteration 417 / 500\n", + "state 0 iteration 418 / 500\n", + "state 0 iteration 419 / 500\n", + "state 0 iteration 420 / 500\n", + "state 0 iteration 421 / 500\n", + "state 0 iteration 422 / 500\n", + "state 0 iteration 423 / 500\n", + "state 0 iteration 424 / 500\n", + "state 0 iteration 425 / 500\n", + "state 0 iteration 426 / 500\n", + "state 0 iteration 427 / 500\n", + "state 0 iteration 428 / 500\n", + "state 0 iteration 429 / 500\n", + "state 0 iteration 430 / 500\n", + "state 0 iteration 431 / 500\n", + "state 0 iteration 432 / 500\n", + "state 0 iteration 433 / 500\n", + "state 0 iteration 434 / 500\n", + "state 0 iteration 435 / 500\n", + "state 0 iteration 436 / 500\n", + "state 0 iteration 437 / 500\n", + "state 0 iteration 438 / 500\n", + "state 0 iteration 439 / 500\n", + "state 0 iteration 440 / 500\n", + "state 0 iteration 441 / 500\n", + "state 0 iteration 442 / 500\n", + "state 0 iteration 443 / 500\n", + "state 0 iteration 444 / 500\n", + "state 0 iteration 445 / 500\n", + "state 0 iteration 446 / 500\n", + "state 0 iteration 447 / 500\n", + "state 0 iteration 448 / 500\n", + "state 0 iteration 449 / 500\n", + "state 0 iteration 450 / 500\n", + "state 0 iteration 451 / 500\n", + "state 0 iteration 452 / 500\n", + "state 0 iteration 453 / 500\n", + "state 0 iteration 454 / 500\n", + "state 0 iteration 455 / 500\n", + "state 0 iteration 456 / 500\n", + "state 0 iteration 457 / 500\n", + "state 0 iteration 458 / 500\n", + "state 0 iteration 459 / 500\n", + "state 0 iteration 460 / 500\n", + "state 0 iteration 461 / 500\n", + "state 0 iteration 462 / 500\n", + "state 0 iteration 463 / 500\n", + "state 0 iteration 464 / 500\n", + "state 0 iteration 465 / 500\n", + "state 0 iteration 466 / 500\n", + "state 0 iteration 467 / 500\n", + "state 0 iteration 468 / 500\n", + "state 0 iteration 469 / 500\n", + "state 0 iteration 470 / 500\n", + "state 0 iteration 471 / 500\n", + "state 0 iteration 472 / 500\n", + "state 0 iteration 473 / 500\n", + "state 0 iteration 474 / 500\n", + "state 0 iteration 475 / 500\n", + "state 0 iteration 476 / 500\n", + "state 0 iteration 477 / 500\n", + "state 0 iteration 478 / 500\n", + "state 0 iteration 479 / 500\n", + "state 0 iteration 480 / 500\n", + "state 0 iteration 481 / 500\n", + "state 0 iteration 482 / 500\n", + "state 0 iteration 483 / 500\n", + "state 0 iteration 484 / 500\n", + "state 0 iteration 485 / 500\n", + "state 0 iteration 486 / 500\n", + "state 0 iteration 487 / 500\n", + "state 0 iteration 488 / 500\n", + "state 0 iteration 489 / 500\n", + "state 0 iteration 490 / 500\n", + "state 0 iteration 491 / 500\n", + "state 0 iteration 492 / 500\n", + "state 0 iteration 493 / 500\n", + "state 0 iteration 494 / 500\n", + "state 0 iteration 495 / 500\n", + "state 0 iteration 496 / 500\n", + "state 0 iteration 497 / 500\n", + "state 0 iteration 498 / 500\n", + "state 0 iteration 499 / 500\n", + "state 1 iteration 0 / 500\n", + "state 1 iteration 1 / 500\n", + "state 1 iteration 2 / 500\n", + "state 1 iteration 3 / 500\n", + "state 1 iteration 4 / 500\n", + "state 1 iteration 5 / 500\n", + "state 1 iteration 6 / 500\n", + "state 1 iteration 7 / 500\n", + "state 1 iteration 8 / 500\n", + "state 1 iteration 9 / 500\n", + "state 1 iteration 10 / 500\n", + "state 1 iteration 11 / 500\n", + "state 1 iteration 12 / 500\n", + "state 1 iteration 13 / 500\n", + "state 1 iteration 14 / 500\n", + "state 1 iteration 15 / 500\n", + "state 1 iteration 16 / 500\n", + "state 1 iteration 17 / 500\n", + "state 1 iteration 18 / 500\n", + "state 1 iteration 19 / 500\n", + "state 1 iteration 20 / 500\n", + "state 1 iteration 21 / 500\n", + "state 1 iteration 22 / 500\n", + "state 1 iteration 23 / 500\n", + "state 1 iteration 24 / 500\n", + "state 1 iteration 25 / 500\n", + "state 1 iteration 26 / 500\n", + "state 1 iteration 27 / 500\n", + "state 1 iteration 28 / 500\n", + "state 1 iteration 29 / 500\n", + "state 1 iteration 30 / 500\n", + "state 1 iteration 31 / 500\n", + "state 1 iteration 32 / 500\n", + "state 1 iteration 33 / 500\n", + "state 1 iteration 34 / 500\n", + "state 1 iteration 35 / 500\n", + "state 1 iteration 36 / 500\n", + "state 1 iteration 37 / 500\n", + "state 1 iteration 38 / 500\n", + "state 1 iteration 39 / 500\n", + "state 1 iteration 40 / 500\n", + "state 1 iteration 41 / 500\n", + "state 1 iteration 42 / 500\n", + "state 1 iteration 43 / 500\n", + "state 1 iteration 44 / 500\n", + "state 1 iteration 45 / 500\n", + "state 1 iteration 46 / 500\n", + "state 1 iteration 47 / 500\n", + "state 1 iteration 48 / 500\n", + "state 1 iteration 49 / 500\n", + "state 1 iteration 50 / 500\n", + "state 1 iteration 51 / 500\n", + "state 1 iteration 52 / 500\n", + "state 1 iteration 53 / 500\n", + "state 1 iteration 54 / 500\n", + "state 1 iteration 55 / 500\n", + "state 1 iteration 56 / 500\n", + "state 1 iteration 57 / 500\n", + "state 1 iteration 58 / 500\n", + "state 1 iteration 59 / 500\n", + "state 1 iteration 60 / 500\n", + "state 1 iteration 61 / 500\n", + "state 1 iteration 62 / 500\n", + "state 1 iteration 63 / 500\n", + "state 1 iteration 64 / 500\n", + "state 1 iteration 65 / 500\n", + "state 1 iteration 66 / 500\n", + "state 1 iteration 67 / 500\n", + "state 1 iteration 68 / 500\n", + "state 1 iteration 69 / 500\n", + "state 1 iteration 70 / 500\n", + "state 1 iteration 71 / 500\n", + "state 1 iteration 72 / 500\n", + "state 1 iteration 73 / 500\n", + "state 1 iteration 74 / 500\n", + "state 1 iteration 75 / 500\n", + "state 1 iteration 76 / 500\n", + "state 1 iteration 77 / 500\n", + "state 1 iteration 78 / 500\n", + "state 1 iteration 79 / 500\n", + "state 1 iteration 80 / 500\n", + "state 1 iteration 81 / 500\n", + "state 1 iteration 82 / 500\n", + "state 1 iteration 83 / 500\n", + "state 1 iteration 84 / 500\n", + "state 1 iteration 85 / 500\n", + "state 1 iteration 86 / 500\n", + "state 1 iteration 87 / 500\n", + "state 1 iteration 88 / 500\n", + "state 1 iteration 89 / 500\n", + "state 1 iteration 90 / 500\n", + "state 1 iteration 91 / 500\n", + "state 1 iteration 92 / 500\n", + "state 1 iteration 93 / 500\n", + "state 1 iteration 94 / 500\n", + "state 1 iteration 95 / 500\n", + "state 1 iteration 96 / 500\n", + "state 1 iteration 97 / 500\n", + "state 1 iteration 98 / 500\n", + "state 1 iteration 99 / 500\n", + "state 1 iteration 100 / 500\n", + "state 1 iteration 101 / 500\n", + "state 1 iteration 102 / 500\n", + "state 1 iteration 103 / 500\n", + "state 1 iteration 104 / 500\n", + "state 1 iteration 105 / 500\n", + "state 1 iteration 106 / 500\n", + "state 1 iteration 107 / 500\n", + "state 1 iteration 108 / 500\n", + "state 1 iteration 109 / 500\n", + "state 1 iteration 110 / 500\n", + "state 1 iteration 111 / 500\n", + "state 1 iteration 112 / 500\n", + "state 1 iteration 113 / 500\n", + "state 1 iteration 114 / 500\n", + "state 1 iteration 115 / 500\n", + "state 1 iteration 116 / 500\n", + "state 1 iteration 117 / 500\n", + "state 1 iteration 118 / 500\n", + "state 1 iteration 119 / 500\n", + "state 1 iteration 120 / 500\n", + "state 1 iteration 121 / 500\n", + "state 1 iteration 122 / 500\n", + "state 1 iteration 123 / 500\n", + "state 1 iteration 124 / 500\n", + "state 1 iteration 125 / 500\n", + "state 1 iteration 126 / 500\n", + "state 1 iteration 127 / 500\n", + "state 1 iteration 128 / 500\n", + "state 1 iteration 129 / 500\n", + "state 1 iteration 130 / 500\n", + "state 1 iteration 131 / 500\n", + "state 1 iteration 132 / 500\n", + "state 1 iteration 133 / 500\n", + "state 1 iteration 134 / 500\n", + "state 1 iteration 135 / 500\n", + "state 1 iteration 136 / 500\n", + "state 1 iteration 137 / 500\n", + "state 1 iteration 138 / 500\n", + "state 1 iteration 139 / 500\n", + "state 1 iteration 140 / 500\n", + "state 1 iteration 141 / 500\n", + "state 1 iteration 142 / 500\n", + "state 1 iteration 143 / 500\n", + "state 1 iteration 144 / 500\n", + "state 1 iteration 145 / 500\n", + "state 1 iteration 146 / 500\n", + "state 1 iteration 147 / 500\n", + "state 1 iteration 148 / 500\n", + "state 1 iteration 149 / 500\n", + "state 1 iteration 150 / 500\n", + "state 1 iteration 151 / 500\n", + "state 1 iteration 152 / 500\n", + "state 1 iteration 153 / 500\n", + "state 1 iteration 154 / 500\n", + "state 1 iteration 155 / 500\n", + "state 1 iteration 156 / 500\n", + "state 1 iteration 157 / 500\n", + "state 1 iteration 158 / 500\n", + "state 1 iteration 159 / 500\n", + "state 1 iteration 160 / 500\n", + "state 1 iteration 161 / 500\n", + "state 1 iteration 162 / 500\n", + "state 1 iteration 163 / 500\n", + "state 1 iteration 164 / 500\n", + "state 1 iteration 165 / 500\n", + "state 1 iteration 166 / 500\n", + "state 1 iteration 167 / 500\n", + "state 1 iteration 168 / 500\n", + "state 1 iteration 169 / 500\n", + "state 1 iteration 170 / 500\n", + "state 1 iteration 171 / 500\n", + "state 1 iteration 172 / 500\n", + "state 1 iteration 173 / 500\n", + "state 1 iteration 174 / 500\n", + "state 1 iteration 175 / 500\n", + "state 1 iteration 176 / 500\n", + "state 1 iteration 177 / 500\n", + "state 1 iteration 178 / 500\n", + "state 1 iteration 179 / 500\n", + "state 1 iteration 180 / 500\n", + "state 1 iteration 181 / 500\n", + "state 1 iteration 182 / 500\n", + "state 1 iteration 183 / 500\n", + "state 1 iteration 184 / 500\n", + "state 1 iteration 185 / 500\n", + "state 1 iteration 186 / 500\n", + "state 1 iteration 187 / 500\n", + "state 1 iteration 188 / 500\n", + "state 1 iteration 189 / 500\n", + "state 1 iteration 190 / 500\n", + "state 1 iteration 191 / 500\n", + "state 1 iteration 192 / 500\n", + "state 1 iteration 193 / 500\n", + "state 1 iteration 194 / 500\n", + "state 1 iteration 195 / 500\n", + "state 1 iteration 196 / 500\n", + "state 1 iteration 197 / 500\n", + "state 1 iteration 198 / 500\n", + "state 1 iteration 199 / 500\n", + "state 1 iteration 200 / 500\n", + "state 1 iteration 201 / 500\n", + "state 1 iteration 202 / 500\n", + "state 1 iteration 203 / 500\n", + "state 1 iteration 204 / 500\n", + "state 1 iteration 205 / 500\n", + "state 1 iteration 206 / 500\n", + "state 1 iteration 207 / 500\n", + "state 1 iteration 208 / 500\n", + "state 1 iteration 209 / 500\n", + "state 1 iteration 210 / 500\n", + "state 1 iteration 211 / 500\n", + "state 1 iteration 212 / 500\n", + "state 1 iteration 213 / 500\n", + "state 1 iteration 214 / 500\n", + "state 1 iteration 215 / 500\n", + "state 1 iteration 216 / 500\n", + "state 1 iteration 217 / 500\n", + "state 1 iteration 218 / 500\n", + "state 1 iteration 219 / 500\n", + "state 1 iteration 220 / 500\n", + "state 1 iteration 221 / 500\n", + "state 1 iteration 222 / 500\n", + "state 1 iteration 223 / 500\n", + "state 1 iteration 224 / 500\n", + "state 1 iteration 225 / 500\n", + "state 1 iteration 226 / 500\n", + "state 1 iteration 227 / 500\n", + "state 1 iteration 228 / 500\n", + "state 1 iteration 229 / 500\n", + "state 1 iteration 230 / 500\n", + "state 1 iteration 231 / 500\n", + "state 1 iteration 232 / 500\n", + "state 1 iteration 233 / 500\n", + "state 1 iteration 234 / 500\n", + "state 1 iteration 235 / 500\n", + "state 1 iteration 236 / 500\n", + "state 1 iteration 237 / 500\n", + "state 1 iteration 238 / 500\n", + "state 1 iteration 239 / 500\n", + "state 1 iteration 240 / 500\n", + "state 1 iteration 241 / 500\n", + "state 1 iteration 242 / 500\n", + "state 1 iteration 243 / 500\n", + "state 1 iteration 244 / 500\n", + "state 1 iteration 245 / 500\n", + "state 1 iteration 246 / 500\n", + "state 1 iteration 247 / 500\n", + "state 1 iteration 248 / 500\n", + "state 1 iteration 249 / 500\n", + "state 1 iteration 250 / 500\n", + "state 1 iteration 251 / 500\n", + "state 1 iteration 252 / 500\n", + "state 1 iteration 253 / 500\n", + "state 1 iteration 254 / 500\n", + "state 1 iteration 255 / 500\n", + "state 1 iteration 256 / 500\n", + "state 1 iteration 257 / 500\n", + "state 1 iteration 258 / 500\n", + "state 1 iteration 259 / 500\n", + "state 1 iteration 260 / 500\n", + "state 1 iteration 261 / 500\n", + "state 1 iteration 262 / 500\n", + "state 1 iteration 263 / 500\n", + "state 1 iteration 264 / 500\n", + "state 1 iteration 265 / 500\n", + "state 1 iteration 266 / 500\n", + "state 1 iteration 267 / 500\n", + "state 1 iteration 268 / 500\n", + "state 1 iteration 269 / 500\n", + "state 1 iteration 270 / 500\n", + "state 1 iteration 271 / 500\n", + "state 1 iteration 272 / 500\n", + "state 1 iteration 273 / 500\n", + "state 1 iteration 274 / 500\n", + "state 1 iteration 275 / 500\n", + "state 1 iteration 276 / 500\n", + "state 1 iteration 277 / 500\n", + "state 1 iteration 278 / 500\n", + "state 1 iteration 279 / 500\n", + "state 1 iteration 280 / 500\n", + "state 1 iteration 281 / 500\n", + "state 1 iteration 282 / 500\n", + "state 1 iteration 283 / 500\n", + "state 1 iteration 284 / 500\n", + "state 1 iteration 285 / 500\n", + "state 1 iteration 286 / 500\n", + "state 1 iteration 287 / 500\n", + "state 1 iteration 288 / 500\n", + "state 1 iteration 289 / 500\n", + "state 1 iteration 290 / 500\n", + "state 1 iteration 291 / 500\n", + "state 1 iteration 292 / 500\n", + "state 1 iteration 293 / 500\n", + "state 1 iteration 294 / 500\n", + "state 1 iteration 295 / 500\n", + "state 1 iteration 296 / 500\n", + "state 1 iteration 297 / 500\n", + "state 1 iteration 298 / 500\n", + "state 1 iteration 299 / 500\n", + "state 1 iteration 300 / 500\n", + "state 1 iteration 301 / 500\n", + "state 1 iteration 302 / 500\n", + "state 1 iteration 303 / 500\n", + "state 1 iteration 304 / 500\n", + "state 1 iteration 305 / 500\n", + "state 1 iteration 306 / 500\n", + "state 1 iteration 307 / 500\n", + "state 1 iteration 308 / 500\n", + "state 1 iteration 309 / 500\n", + "state 1 iteration 310 / 500\n", + "state 1 iteration 311 / 500\n", + "state 1 iteration 312 / 500\n", + "state 1 iteration 313 / 500\n", + "state 1 iteration 314 / 500\n", + "state 1 iteration 315 / 500\n", + "state 1 iteration 316 / 500\n", + "state 1 iteration 317 / 500\n", + "state 1 iteration 318 / 500\n", + "state 1 iteration 319 / 500\n", + "state 1 iteration 320 / 500\n", + "state 1 iteration 321 / 500\n", + "state 1 iteration 322 / 500\n", + "state 1 iteration 323 / 500\n", + "state 1 iteration 324 / 500\n", + "state 1 iteration 325 / 500\n", + "state 1 iteration 326 / 500\n", + "state 1 iteration 327 / 500\n", + "state 1 iteration 328 / 500\n", + "state 1 iteration 329 / 500\n", + "state 1 iteration 330 / 500\n", + "state 1 iteration 331 / 500\n", + "state 1 iteration 332 / 500\n", + "state 1 iteration 333 / 500\n", + "state 1 iteration 334 / 500\n", + "state 1 iteration 335 / 500\n", + "state 1 iteration 336 / 500\n", + "state 1 iteration 337 / 500\n", + "state 1 iteration 338 / 500\n", + "state 1 iteration 339 / 500\n", + "state 1 iteration 340 / 500\n", + "state 1 iteration 341 / 500\n", + "state 1 iteration 342 / 500\n", + "state 1 iteration 343 / 500\n", + "state 1 iteration 344 / 500\n", + "state 1 iteration 345 / 500\n", + "state 1 iteration 346 / 500\n", + "state 1 iteration 347 / 500\n", + "state 1 iteration 348 / 500\n", + "state 1 iteration 349 / 500\n", + "state 1 iteration 350 / 500\n", + "state 1 iteration 351 / 500\n", + "state 1 iteration 352 / 500\n", + "state 1 iteration 353 / 500\n", + "state 1 iteration 354 / 500\n", + "state 1 iteration 355 / 500\n", + "state 1 iteration 356 / 500\n", + "state 1 iteration 357 / 500\n", + "state 1 iteration 358 / 500\n", + "state 1 iteration 359 / 500\n", + "state 1 iteration 360 / 500\n", + "state 1 iteration 361 / 500\n", + "state 1 iteration 362 / 500\n", + "state 1 iteration 363 / 500\n", + "state 1 iteration 364 / 500\n", + "state 1 iteration 365 / 500\n", + "state 1 iteration 366 / 500\n", + "state 1 iteration 367 / 500\n", + "state 1 iteration 368 / 500\n", + "state 1 iteration 369 / 500\n", + "state 1 iteration 370 / 500\n", + "state 1 iteration 371 / 500\n", + "state 1 iteration 372 / 500\n", + "state 1 iteration 373 / 500\n", + "state 1 iteration 374 / 500\n", + "state 1 iteration 375 / 500\n", + "state 1 iteration 376 / 500\n", + "state 1 iteration 377 / 500\n", + "state 1 iteration 378 / 500\n", + "state 1 iteration 379 / 500\n", + "state 1 iteration 380 / 500\n", + "state 1 iteration 381 / 500\n", + "state 1 iteration 382 / 500\n", + "state 1 iteration 383 / 500\n", + "state 1 iteration 384 / 500\n", + "state 1 iteration 385 / 500\n", + "state 1 iteration 386 / 500\n", + "state 1 iteration 387 / 500\n", + "state 1 iteration 388 / 500\n", + "state 1 iteration 389 / 500\n", + "state 1 iteration 390 / 500\n", + "state 1 iteration 391 / 500\n", + "state 1 iteration 392 / 500\n", + "state 1 iteration 393 / 500\n", + "state 1 iteration 394 / 500\n", + "state 1 iteration 395 / 500\n", + "state 1 iteration 396 / 500\n", + "state 1 iteration 397 / 500\n", + "state 1 iteration 398 / 500\n", + "state 1 iteration 399 / 500\n", + "state 1 iteration 400 / 500\n", + "state 1 iteration 401 / 500\n", + "state 1 iteration 402 / 500\n", + "state 1 iteration 403 / 500\n", + "state 1 iteration 404 / 500\n", + "state 1 iteration 405 / 500\n", + "state 1 iteration 406 / 500\n", + "state 1 iteration 407 / 500\n", + "state 1 iteration 408 / 500\n", + "state 1 iteration 409 / 500\n", + "state 1 iteration 410 / 500\n", + "state 1 iteration 411 / 500\n", + "state 1 iteration 412 / 500\n", + "state 1 iteration 413 / 500\n", + "state 1 iteration 414 / 500\n", + "state 1 iteration 415 / 500\n", + "state 1 iteration 416 / 500\n", + "state 1 iteration 417 / 500\n", + "state 1 iteration 418 / 500\n", + "state 1 iteration 419 / 500\n", + "state 1 iteration 420 / 500\n", + "state 1 iteration 421 / 500\n", + "state 1 iteration 422 / 500\n", + "state 1 iteration 423 / 500\n", + "state 1 iteration 424 / 500\n", + "state 1 iteration 425 / 500\n", + "state 1 iteration 426 / 500\n", + "state 1 iteration 427 / 500\n", + "state 1 iteration 428 / 500\n", + "state 1 iteration 429 / 500\n", + "state 1 iteration 430 / 500\n", + "state 1 iteration 431 / 500\n", + "state 1 iteration 432 / 500\n", + "state 1 iteration 433 / 500\n", + "state 1 iteration 434 / 500\n", + "state 1 iteration 435 / 500\n", + "state 1 iteration 436 / 500\n", + "state 1 iteration 437 / 500\n", + "state 1 iteration 438 / 500\n", + "state 1 iteration 439 / 500\n", + "state 1 iteration 440 / 500\n", + "state 1 iteration 441 / 500\n", + "state 1 iteration 442 / 500\n", + "state 1 iteration 443 / 500\n", + "state 1 iteration 444 / 500\n", + "state 1 iteration 445 / 500\n", + "state 1 iteration 446 / 500\n", + "state 1 iteration 447 / 500\n", + "state 1 iteration 448 / 500\n", + "state 1 iteration 449 / 500\n", + "state 1 iteration 450 / 500\n", + "state 1 iteration 451 / 500\n", + "state 1 iteration 452 / 500\n", + "state 1 iteration 453 / 500\n", + "state 1 iteration 454 / 500\n", + "state 1 iteration 455 / 500\n", + "state 1 iteration 456 / 500\n", + "state 1 iteration 457 / 500\n", + "state 1 iteration 458 / 500\n", + "state 1 iteration 459 / 500\n", + "state 1 iteration 460 / 500\n", + "state 1 iteration 461 / 500\n", + "state 1 iteration 462 / 500\n", + "state 1 iteration 463 / 500\n", + "state 1 iteration 464 / 500\n", + "state 1 iteration 465 / 500\n", + "state 1 iteration 466 / 500\n", + "state 1 iteration 467 / 500\n", + "state 1 iteration 468 / 500\n", + "state 1 iteration 469 / 500\n", + "state 1 iteration 470 / 500\n", + "state 1 iteration 471 / 500\n", + "state 1 iteration 472 / 500\n", + "state 1 iteration 473 / 500\n", + "state 1 iteration 474 / 500\n", + "state 1 iteration 475 / 500\n", + "state 1 iteration 476 / 500\n", + "state 1 iteration 477 / 500\n", + "state 1 iteration 478 / 500\n", + "state 1 iteration 479 / 500\n", + "state 1 iteration 480 / 500\n", + "state 1 iteration 481 / 500\n", + "state 1 iteration 482 / 500\n", + "state 1 iteration 483 / 500\n", + "state 1 iteration 484 / 500\n", + "state 1 iteration 485 / 500\n", + "state 1 iteration 486 / 500\n", + "state 1 iteration 487 / 500\n", + "state 1 iteration 488 / 500\n", + "state 1 iteration 489 / 500\n", + "state 1 iteration 490 / 500\n", + "state 1 iteration 491 / 500\n", + "state 1 iteration 492 / 500\n", + "state 1 iteration 493 / 500\n", + "state 1 iteration 494 / 500\n", + "state 1 iteration 495 / 500\n", + "state 1 iteration 496 / 500\n", + "state 1 iteration 497 / 500\n", + "state 1 iteration 498 / 500\n", + "state 1 iteration 499 / 500\n", + "state 2 iteration 0 / 500\n", + "state 2 iteration 1 / 500\n", + "state 2 iteration 2 / 500\n", + "state 2 iteration 3 / 500\n", + "state 2 iteration 4 / 500\n", + "state 2 iteration 5 / 500\n", + "state 2 iteration 6 / 500\n", + "state 2 iteration 7 / 500\n", + "state 2 iteration 8 / 500\n", + "state 2 iteration 9 / 500\n", + "state 2 iteration 10 / 500\n", + "state 2 iteration 11 / 500\n", + "state 2 iteration 12 / 500\n", + "state 2 iteration 13 / 500\n", + "state 2 iteration 14 / 500\n", + "state 2 iteration 15 / 500\n", + "state 2 iteration 16 / 500\n", + "state 2 iteration 17 / 500\n", + "state 2 iteration 18 / 500\n", + "state 2 iteration 19 / 500\n", + "state 2 iteration 20 / 500\n", + "state 2 iteration 21 / 500\n", + "state 2 iteration 22 / 500\n", + "state 2 iteration 23 / 500\n", + "state 2 iteration 24 / 500\n", + "state 2 iteration 25 / 500\n", + "state 2 iteration 26 / 500\n", + "state 2 iteration 27 / 500\n", + "state 2 iteration 28 / 500\n", + "state 2 iteration 29 / 500\n", + "state 2 iteration 30 / 500\n", + "state 2 iteration 31 / 500\n", + "state 2 iteration 32 / 500\n", + "state 2 iteration 33 / 500\n", + "state 2 iteration 34 / 500\n", + "state 2 iteration 35 / 500\n", + "state 2 iteration 36 / 500\n", + "state 2 iteration 37 / 500\n", + "state 2 iteration 38 / 500\n", + "state 2 iteration 39 / 500\n", + "state 2 iteration 40 / 500\n", + "state 2 iteration 41 / 500\n", + "state 2 iteration 42 / 500\n", + "state 2 iteration 43 / 500\n", + "state 2 iteration 44 / 500\n", + "state 2 iteration 45 / 500\n", + "state 2 iteration 46 / 500\n", + "state 2 iteration 47 / 500\n", + "state 2 iteration 48 / 500\n", + "state 2 iteration 49 / 500\n", + "state 2 iteration 50 / 500\n", + "state 2 iteration 51 / 500\n", + "state 2 iteration 52 / 500\n", + "state 2 iteration 53 / 500\n", + "state 2 iteration 54 / 500\n", + "state 2 iteration 55 / 500\n", + "state 2 iteration 56 / 500\n", + "state 2 iteration 57 / 500\n", + "state 2 iteration 58 / 500\n", + "state 2 iteration 59 / 500\n", + "state 2 iteration 60 / 500\n", + "state 2 iteration 61 / 500\n", + "state 2 iteration 62 / 500\n", + "state 2 iteration 63 / 500\n", + "state 2 iteration 64 / 500\n", + "state 2 iteration 65 / 500\n", + "state 2 iteration 66 / 500\n", + "state 2 iteration 67 / 500\n", + "state 2 iteration 68 / 500\n", + "state 2 iteration 69 / 500\n", + "state 2 iteration 70 / 500\n", + "state 2 iteration 71 / 500\n", + "state 2 iteration 72 / 500\n", + "state 2 iteration 73 / 500\n", + "state 2 iteration 74 / 500\n", + "state 2 iteration 75 / 500\n", + "state 2 iteration 76 / 500\n", + "state 2 iteration 77 / 500\n", + "state 2 iteration 78 / 500\n", + "state 2 iteration 79 / 500\n", + "state 2 iteration 80 / 500\n", + "state 2 iteration 81 / 500\n", + "state 2 iteration 82 / 500\n", + "state 2 iteration 83 / 500\n", + "state 2 iteration 84 / 500\n", + "state 2 iteration 85 / 500\n", + "state 2 iteration 86 / 500\n", + "state 2 iteration 87 / 500\n", + "state 2 iteration 88 / 500\n", + "state 2 iteration 89 / 500\n", + "state 2 iteration 90 / 500\n", + "state 2 iteration 91 / 500\n", + "state 2 iteration 92 / 500\n", + "state 2 iteration 93 / 500\n", + "state 2 iteration 94 / 500\n", + "state 2 iteration 95 / 500\n", + "state 2 iteration 96 / 500\n", + "state 2 iteration 97 / 500\n", + "state 2 iteration 98 / 500\n", + "state 2 iteration 99 / 500\n", + "state 2 iteration 100 / 500\n", + "state 2 iteration 101 / 500\n", + "state 2 iteration 102 / 500\n", + "state 2 iteration 103 / 500\n", + "state 2 iteration 104 / 500\n", + "state 2 iteration 105 / 500\n", + "state 2 iteration 106 / 500\n", + "state 2 iteration 107 / 500\n", + "state 2 iteration 108 / 500\n", + "state 2 iteration 109 / 500\n", + "state 2 iteration 110 / 500\n", + "state 2 iteration 111 / 500\n", + "state 2 iteration 112 / 500\n", + "state 2 iteration 113 / 500\n", + "state 2 iteration 114 / 500\n", + "state 2 iteration 115 / 500\n", + "state 2 iteration 116 / 500\n", + "state 2 iteration 117 / 500\n", + "state 2 iteration 118 / 500\n", + "state 2 iteration 119 / 500\n", + "state 2 iteration 120 / 500\n", + "state 2 iteration 121 / 500\n", + "state 2 iteration 122 / 500\n", + "state 2 iteration 123 / 500\n", + "state 2 iteration 124 / 500\n", + "state 2 iteration 125 / 500\n", + "state 2 iteration 126 / 500\n", + "state 2 iteration 127 / 500\n", + "state 2 iteration 128 / 500\n", + "state 2 iteration 129 / 500\n", + "state 2 iteration 130 / 500\n", + "state 2 iteration 131 / 500\n", + "state 2 iteration 132 / 500\n", + "state 2 iteration 133 / 500\n", + "state 2 iteration 134 / 500\n", + "state 2 iteration 135 / 500\n", + "state 2 iteration 136 / 500\n", + "state 2 iteration 137 / 500\n", + "state 2 iteration 138 / 500\n", + "state 2 iteration 139 / 500\n", + "state 2 iteration 140 / 500\n", + "state 2 iteration 141 / 500\n", + "state 2 iteration 142 / 500\n", + "state 2 iteration 143 / 500\n", + "state 2 iteration 144 / 500\n", + "state 2 iteration 145 / 500\n", + "state 2 iteration 146 / 500\n", + "state 2 iteration 147 / 500\n", + "state 2 iteration 148 / 500\n", + "state 2 iteration 149 / 500\n", + "state 2 iteration 150 / 500\n", + "state 2 iteration 151 / 500\n", + "state 2 iteration 152 / 500\n", + "state 2 iteration 153 / 500\n", + "state 2 iteration 154 / 500\n", + "state 2 iteration 155 / 500\n", + "state 2 iteration 156 / 500\n", + "state 2 iteration 157 / 500\n", + "state 2 iteration 158 / 500\n", + "state 2 iteration 159 / 500\n", + "state 2 iteration 160 / 500\n", + "state 2 iteration 161 / 500\n", + "state 2 iteration 162 / 500\n", + "state 2 iteration 163 / 500\n", + "state 2 iteration 164 / 500\n", + "state 2 iteration 165 / 500\n", + "state 2 iteration 166 / 500\n", + "state 2 iteration 167 / 500\n", + "state 2 iteration 168 / 500\n", + "state 2 iteration 169 / 500\n", + "state 2 iteration 170 / 500\n", + "state 2 iteration 171 / 500\n", + "state 2 iteration 172 / 500\n", + "state 2 iteration 173 / 500\n", + "state 2 iteration 174 / 500\n", + "state 2 iteration 175 / 500\n", + "state 2 iteration 176 / 500\n", + "state 2 iteration 177 / 500\n", + "state 2 iteration 178 / 500\n", + "state 2 iteration 179 / 500\n", + "state 2 iteration 180 / 500\n", + "state 2 iteration 181 / 500\n", + "state 2 iteration 182 / 500\n", + "state 2 iteration 183 / 500\n", + "state 2 iteration 184 / 500\n", + "state 2 iteration 185 / 500\n", + "state 2 iteration 186 / 500\n", + "state 2 iteration 187 / 500\n", + "state 2 iteration 188 / 500\n", + "state 2 iteration 189 / 500\n", + "state 2 iteration 190 / 500\n", + "state 2 iteration 191 / 500\n", + "state 2 iteration 192 / 500\n", + "state 2 iteration 193 / 500\n", + "state 2 iteration 194 / 500\n", + "state 2 iteration 195 / 500\n", + "state 2 iteration 196 / 500\n", + "state 2 iteration 197 / 500\n", + "state 2 iteration 198 / 500\n", + "state 2 iteration 199 / 500\n", + "state 2 iteration 200 / 500\n", + "state 2 iteration 201 / 500\n", + "state 2 iteration 202 / 500\n", + "state 2 iteration 203 / 500\n", + "state 2 iteration 204 / 500\n", + "state 2 iteration 205 / 500\n", + "state 2 iteration 206 / 500\n", + "state 2 iteration 207 / 500\n", + "state 2 iteration 208 / 500\n", + "state 2 iteration 209 / 500\n", + "state 2 iteration 210 / 500\n", + "state 2 iteration 211 / 500\n", + "state 2 iteration 212 / 500\n", + "state 2 iteration 213 / 500\n", + "state 2 iteration 214 / 500\n", + "state 2 iteration 215 / 500\n", + "state 2 iteration 216 / 500\n", + "state 2 iteration 217 / 500\n", + "state 2 iteration 218 / 500\n", + "state 2 iteration 219 / 500\n", + "state 2 iteration 220 / 500\n", + "state 2 iteration 221 / 500\n", + "state 2 iteration 222 / 500\n", + "state 2 iteration 223 / 500\n", + "state 2 iteration 224 / 500\n", + "state 2 iteration 225 / 500\n", + "state 2 iteration 226 / 500\n", + "state 2 iteration 227 / 500\n", + "state 2 iteration 228 / 500\n", + "state 2 iteration 229 / 500\n", + "state 2 iteration 230 / 500\n", + "state 2 iteration 231 / 500\n", + "state 2 iteration 232 / 500\n", + "state 2 iteration 233 / 500\n", + "state 2 iteration 234 / 500\n", + "state 2 iteration 235 / 500\n", + "state 2 iteration 236 / 500\n", + "state 2 iteration 237 / 500\n", + "state 2 iteration 238 / 500\n", + "state 2 iteration 239 / 500\n", + "state 2 iteration 240 / 500\n", + "state 2 iteration 241 / 500\n", + "state 2 iteration 242 / 500\n", + "state 2 iteration 243 / 500\n", + "state 2 iteration 244 / 500\n", + "state 2 iteration 245 / 500\n", + "state 2 iteration 246 / 500\n", + "state 2 iteration 247 / 500\n", + "state 2 iteration 248 / 500\n", + "state 2 iteration 249 / 500\n", + "state 2 iteration 250 / 500\n", + "state 2 iteration 251 / 500\n", + "state 2 iteration 252 / 500\n", + "state 2 iteration 253 / 500\n", + "state 2 iteration 254 / 500\n", + "state 2 iteration 255 / 500\n", + "state 2 iteration 256 / 500\n", + "state 2 iteration 257 / 500\n", + "state 2 iteration 258 / 500\n", + "state 2 iteration 259 / 500\n", + "state 2 iteration 260 / 500\n", + "state 2 iteration 261 / 500\n", + "state 2 iteration 262 / 500\n", + "state 2 iteration 263 / 500\n", + "state 2 iteration 264 / 500\n", + "state 2 iteration 265 / 500\n", + "state 2 iteration 266 / 500\n", + "state 2 iteration 267 / 500\n", + "state 2 iteration 268 / 500\n", + "state 2 iteration 269 / 500\n", + "state 2 iteration 270 / 500\n", + "state 2 iteration 271 / 500\n", + "state 2 iteration 272 / 500\n", + "state 2 iteration 273 / 500\n", + "state 2 iteration 274 / 500\n", + "state 2 iteration 275 / 500\n", + "state 2 iteration 276 / 500\n", + "state 2 iteration 277 / 500\n", + "state 2 iteration 278 / 500\n", + "state 2 iteration 279 / 500\n", + "state 2 iteration 280 / 500\n", + "state 2 iteration 281 / 500\n", + "state 2 iteration 282 / 500\n", + "state 2 iteration 283 / 500\n", + "state 2 iteration 284 / 500\n", + "state 2 iteration 285 / 500\n", + "state 2 iteration 286 / 500\n", + "state 2 iteration 287 / 500\n", + "state 2 iteration 288 / 500\n", + "state 2 iteration 289 / 500\n", + "state 2 iteration 290 / 500\n", + "state 2 iteration 291 / 500\n", + "state 2 iteration 292 / 500\n", + "state 2 iteration 293 / 500\n", + "state 2 iteration 294 / 500\n", + "state 2 iteration 295 / 500\n", + "state 2 iteration 296 / 500\n", + "state 2 iteration 297 / 500\n", + "state 2 iteration 298 / 500\n", + "state 2 iteration 299 / 500\n", + "state 2 iteration 300 / 500\n", + "state 2 iteration 301 / 500\n", + "state 2 iteration 302 / 500\n", + "state 2 iteration 303 / 500\n", + "state 2 iteration 304 / 500\n", + "state 2 iteration 305 / 500\n", + "state 2 iteration 306 / 500\n", + "state 2 iteration 307 / 500\n", + "state 2 iteration 308 / 500\n", + "state 2 iteration 309 / 500\n", + "state 2 iteration 310 / 500\n", + "state 2 iteration 311 / 500\n", + "state 2 iteration 312 / 500\n", + "state 2 iteration 313 / 500\n", + "state 2 iteration 314 / 500\n", + "state 2 iteration 315 / 500\n", + "state 2 iteration 316 / 500\n", + "state 2 iteration 317 / 500\n", + "state 2 iteration 318 / 500\n", + "state 2 iteration 319 / 500\n", + "state 2 iteration 320 / 500\n", + "state 2 iteration 321 / 500\n", + "state 2 iteration 322 / 500\n", + "state 2 iteration 323 / 500\n", + "state 2 iteration 324 / 500\n", + "state 2 iteration 325 / 500\n", + "state 2 iteration 326 / 500\n", + "state 2 iteration 327 / 500\n", + "state 2 iteration 328 / 500\n", + "state 2 iteration 329 / 500\n", + "state 2 iteration 330 / 500\n", + "state 2 iteration 331 / 500\n", + "state 2 iteration 332 / 500\n", + "state 2 iteration 333 / 500\n", + "state 2 iteration 334 / 500\n", + "state 2 iteration 335 / 500\n", + "state 2 iteration 336 / 500\n", + "state 2 iteration 337 / 500\n", + "state 2 iteration 338 / 500\n", + "state 2 iteration 339 / 500\n", + "state 2 iteration 340 / 500\n", + "state 2 iteration 341 / 500\n", + "state 2 iteration 342 / 500\n", + "state 2 iteration 343 / 500\n", + "state 2 iteration 344 / 500\n", + "state 2 iteration 345 / 500\n", + "state 2 iteration 346 / 500\n", + "state 2 iteration 347 / 500\n", + "state 2 iteration 348 / 500\n", + "state 2 iteration 349 / 500\n", + "state 2 iteration 350 / 500\n", + "state 2 iteration 351 / 500\n", + "state 2 iteration 352 / 500\n", + "state 2 iteration 353 / 500\n", + "state 2 iteration 354 / 500\n", + "state 2 iteration 355 / 500\n", + "state 2 iteration 356 / 500\n", + "state 2 iteration 357 / 500\n", + "state 2 iteration 358 / 500\n", + "state 2 iteration 359 / 500\n", + "state 2 iteration 360 / 500\n", + "state 2 iteration 361 / 500\n", + "state 2 iteration 362 / 500\n", + "state 2 iteration 363 / 500\n", + "state 2 iteration 364 / 500\n", + "state 2 iteration 365 / 500\n", + "state 2 iteration 366 / 500\n", + "state 2 iteration 367 / 500\n", + "state 2 iteration 368 / 500\n", + "state 2 iteration 369 / 500\n", + "state 2 iteration 370 / 500\n", + "state 2 iteration 371 / 500\n", + "state 2 iteration 372 / 500\n", + "state 2 iteration 373 / 500\n", + "state 2 iteration 374 / 500\n", + "state 2 iteration 375 / 500\n", + "state 2 iteration 376 / 500\n", + "state 2 iteration 377 / 500\n", + "state 2 iteration 378 / 500\n", + "state 2 iteration 379 / 500\n", + "state 2 iteration 380 / 500\n", + "state 2 iteration 381 / 500\n", + "state 2 iteration 382 / 500\n", + "state 2 iteration 383 / 500\n", + "state 2 iteration 384 / 500\n", + "state 2 iteration 385 / 500\n", + "state 2 iteration 386 / 500\n", + "state 2 iteration 387 / 500\n", + "state 2 iteration 388 / 500\n", + "state 2 iteration 389 / 500\n", + "state 2 iteration 390 / 500\n", + "state 2 iteration 391 / 500\n", + "state 2 iteration 392 / 500\n", + "state 2 iteration 393 / 500\n", + "state 2 iteration 394 / 500\n", + "state 2 iteration 395 / 500\n", + "state 2 iteration 396 / 500\n", + "state 2 iteration 397 / 500\n", + "state 2 iteration 398 / 500\n", + "state 2 iteration 399 / 500\n", + "state 2 iteration 400 / 500\n", + "state 2 iteration 401 / 500\n", + "state 2 iteration 402 / 500\n", + "state 2 iteration 403 / 500\n", + "state 2 iteration 404 / 500\n", + "state 2 iteration 405 / 500\n", + "state 2 iteration 406 / 500\n", + "state 2 iteration 407 / 500\n", + "state 2 iteration 408 / 500\n", + "state 2 iteration 409 / 500\n", + "state 2 iteration 410 / 500\n", + "state 2 iteration 411 / 500\n", + "state 2 iteration 412 / 500\n", + "state 2 iteration 413 / 500\n", + "state 2 iteration 414 / 500\n", + "state 2 iteration 415 / 500\n", + "state 2 iteration 416 / 500\n", + "state 2 iteration 417 / 500\n", + "state 2 iteration 418 / 500\n", + "state 2 iteration 419 / 500\n", + "state 2 iteration 420 / 500\n", + "state 2 iteration 421 / 500\n", + "state 2 iteration 422 / 500\n", + "state 2 iteration 423 / 500\n", + "state 2 iteration 424 / 500\n", + "state 2 iteration 425 / 500\n", + "state 2 iteration 426 / 500\n", + "state 2 iteration 427 / 500\n", + "state 2 iteration 428 / 500\n", + "state 2 iteration 429 / 500\n", + "state 2 iteration 430 / 500\n", + "state 2 iteration 431 / 500\n", + "state 2 iteration 432 / 500\n", + "state 2 iteration 433 / 500\n", + "state 2 iteration 434 / 500\n", + "state 2 iteration 435 / 500\n", + "state 2 iteration 436 / 500\n", + "state 2 iteration 437 / 500\n", + "state 2 iteration 438 / 500\n", + "state 2 iteration 439 / 500\n", + "state 2 iteration 440 / 500\n", + "state 2 iteration 441 / 500\n", + "state 2 iteration 442 / 500\n", + "state 2 iteration 443 / 500\n", + "state 2 iteration 444 / 500\n", + "state 2 iteration 445 / 500\n", + "state 2 iteration 446 / 500\n", + "state 2 iteration 447 / 500\n", + "state 2 iteration 448 / 500\n", + "state 2 iteration 449 / 500\n", + "state 2 iteration 450 / 500\n", + "state 2 iteration 451 / 500\n", + "state 2 iteration 452 / 500\n", + "state 2 iteration 453 / 500\n", + "state 2 iteration 454 / 500\n", + "state 2 iteration 455 / 500\n", + "state 2 iteration 456 / 500\n", + "state 2 iteration 457 / 500\n", + "state 2 iteration 458 / 500\n", + "state 2 iteration 459 / 500\n", + "state 2 iteration 460 / 500\n", + "state 2 iteration 461 / 500\n", + "state 2 iteration 462 / 500\n", + "state 2 iteration 463 / 500\n", + "state 2 iteration 464 / 500\n", + "state 2 iteration 465 / 500\n", + "state 2 iteration 466 / 500\n", + "state 2 iteration 467 / 500\n", + "state 2 iteration 468 / 500\n", + "state 2 iteration 469 / 500\n", + "state 2 iteration 470 / 500\n", + "state 2 iteration 471 / 500\n", + "state 2 iteration 472 / 500\n", + "state 2 iteration 473 / 500\n", + "state 2 iteration 474 / 500\n", + "state 2 iteration 475 / 500\n", + "state 2 iteration 476 / 500\n", + "state 2 iteration 477 / 500\n", + "state 2 iteration 478 / 500\n", + "state 2 iteration 479 / 500\n", + "state 2 iteration 480 / 500\n", + "state 2 iteration 481 / 500\n", + "state 2 iteration 482 / 500\n", + "state 2 iteration 483 / 500\n", + "state 2 iteration 484 / 500\n", + "state 2 iteration 485 / 500\n", + "state 2 iteration 486 / 500\n", + "state 2 iteration 487 / 500\n", + "state 2 iteration 488 / 500\n", + "state 2 iteration 489 / 500\n", + "state 2 iteration 490 / 500\n", + "state 2 iteration 491 / 500\n", + "state 2 iteration 492 / 500\n", + "state 2 iteration 493 / 500\n", + "state 2 iteration 494 / 500\n", + "state 2 iteration 495 / 500\n", + "state 2 iteration 496 / 500\n", + "state 2 iteration 497 / 500\n", + "state 2 iteration 498 / 500\n", + "state 2 iteration 499 / 500\n", + "state 3 iteration 0 / 500\n", + "state 3 iteration 1 / 500\n", + "state 3 iteration 2 / 500\n", + "state 3 iteration 3 / 500\n", + "state 3 iteration 4 / 500\n", + "state 3 iteration 5 / 500\n", + "state 3 iteration 6 / 500\n", + "state 3 iteration 7 / 500\n", + "state 3 iteration 8 / 500\n", + "state 3 iteration 9 / 500\n", + "state 3 iteration 10 / 500\n", + "state 3 iteration 11 / 500\n", + "state 3 iteration 12 / 500\n", + "state 3 iteration 13 / 500\n", + "state 3 iteration 14 / 500\n", + "state 3 iteration 15 / 500\n", + "state 3 iteration 16 / 500\n", + "state 3 iteration 17 / 500\n", + "state 3 iteration 18 / 500\n", + "state 3 iteration 19 / 500\n", + "state 3 iteration 20 / 500\n", + "state 3 iteration 21 / 500\n", + "state 3 iteration 22 / 500\n", + "state 3 iteration 23 / 500\n", + "state 3 iteration 24 / 500\n", + "state 3 iteration 25 / 500\n", + "state 3 iteration 26 / 500\n", + "state 3 iteration 27 / 500\n", + "state 3 iteration 28 / 500\n", + "state 3 iteration 29 / 500\n", + "state 3 iteration 30 / 500\n", + "state 3 iteration 31 / 500\n", + "state 3 iteration 32 / 500\n", + "state 3 iteration 33 / 500\n", + "state 3 iteration 34 / 500\n", + "state 3 iteration 35 / 500\n", + "state 3 iteration 36 / 500\n", + "state 3 iteration 37 / 500\n", + "state 3 iteration 38 / 500\n", + "state 3 iteration 39 / 500\n", + "state 3 iteration 40 / 500\n", + "state 3 iteration 41 / 500\n", + "state 3 iteration 42 / 500\n", + "state 3 iteration 43 / 500\n", + "state 3 iteration 44 / 500\n", + "state 3 iteration 45 / 500\n", + "state 3 iteration 46 / 500\n", + "state 3 iteration 47 / 500\n", + "state 3 iteration 48 / 500\n", + "state 3 iteration 49 / 500\n", + "state 3 iteration 50 / 500\n", + "state 3 iteration 51 / 500\n", + "state 3 iteration 52 / 500\n", + "state 3 iteration 53 / 500\n", + "state 3 iteration 54 / 500\n", + "state 3 iteration 55 / 500\n", + "state 3 iteration 56 / 500\n", + "state 3 iteration 57 / 500\n", + "state 3 iteration 58 / 500\n", + "state 3 iteration 59 / 500\n", + "state 3 iteration 60 / 500\n", + "state 3 iteration 61 / 500\n", + "state 3 iteration 62 / 500\n", + "state 3 iteration 63 / 500\n", + "state 3 iteration 64 / 500\n", + "state 3 iteration 65 / 500\n", + "state 3 iteration 66 / 500\n", + "state 3 iteration 67 / 500\n", + "state 3 iteration 68 / 500\n", + "state 3 iteration 69 / 500\n", + "state 3 iteration 70 / 500\n", + "state 3 iteration 71 / 500\n", + "state 3 iteration 72 / 500\n", + "state 3 iteration 73 / 500\n", + "state 3 iteration 74 / 500\n", + "state 3 iteration 75 / 500\n", + "state 3 iteration 76 / 500\n", + "state 3 iteration 77 / 500\n", + "state 3 iteration 78 / 500\n", + "state 3 iteration 79 / 500\n", + "state 3 iteration 80 / 500\n", + "state 3 iteration 81 / 500\n", + "state 3 iteration 82 / 500\n", + "state 3 iteration 83 / 500\n", + "state 3 iteration 84 / 500\n", + "state 3 iteration 85 / 500\n", + "state 3 iteration 86 / 500\n", + "state 3 iteration 87 / 500\n", + "state 3 iteration 88 / 500\n", + "state 3 iteration 89 / 500\n", + "state 3 iteration 90 / 500\n", + "state 3 iteration 91 / 500\n", + "state 3 iteration 92 / 500\n", + "state 3 iteration 93 / 500\n", + "state 3 iteration 94 / 500\n", + "state 3 iteration 95 / 500\n", + "state 3 iteration 96 / 500\n", + "state 3 iteration 97 / 500\n", + "state 3 iteration 98 / 500\n", + "state 3 iteration 99 / 500\n", + "state 3 iteration 100 / 500\n", + "state 3 iteration 101 / 500\n", + "state 3 iteration 102 / 500\n", + "state 3 iteration 103 / 500\n", + "state 3 iteration 104 / 500\n", + "state 3 iteration 105 / 500\n", + "state 3 iteration 106 / 500\n", + "state 3 iteration 107 / 500\n", + "state 3 iteration 108 / 500\n", + "state 3 iteration 109 / 500\n", + "state 3 iteration 110 / 500\n", + "state 3 iteration 111 / 500\n", + "state 3 iteration 112 / 500\n", + "state 3 iteration 113 / 500\n", + "state 3 iteration 114 / 500\n", + "state 3 iteration 115 / 500\n", + "state 3 iteration 116 / 500\n", + "state 3 iteration 117 / 500\n", + "state 3 iteration 118 / 500\n", + "state 3 iteration 119 / 500\n", + "state 3 iteration 120 / 500\n", + "state 3 iteration 121 / 500\n", + "state 3 iteration 122 / 500\n", + "state 3 iteration 123 / 500\n", + "state 3 iteration 124 / 500\n", + "state 3 iteration 125 / 500\n", + "state 3 iteration 126 / 500\n", + "state 3 iteration 127 / 500\n", + "state 3 iteration 128 / 500\n", + "state 3 iteration 129 / 500\n", + "state 3 iteration 130 / 500\n", + "state 3 iteration 131 / 500\n", + "state 3 iteration 132 / 500\n", + "state 3 iteration 133 / 500\n", + "state 3 iteration 134 / 500\n", + "state 3 iteration 135 / 500\n", + "state 3 iteration 136 / 500\n", + "state 3 iteration 137 / 500\n", + "state 3 iteration 138 / 500\n", + "state 3 iteration 139 / 500\n", + "state 3 iteration 140 / 500\n", + "state 3 iteration 141 / 500\n", + "state 3 iteration 142 / 500\n", + "state 3 iteration 143 / 500\n", + "state 3 iteration 144 / 500\n", + "state 3 iteration 145 / 500\n", + "state 3 iteration 146 / 500\n", + "state 3 iteration 147 / 500\n", + "state 3 iteration 148 / 500\n", + "state 3 iteration 149 / 500\n", + "state 3 iteration 150 / 500\n", + "state 3 iteration 151 / 500\n", + "state 3 iteration 152 / 500\n", + "state 3 iteration 153 / 500\n", + "state 3 iteration 154 / 500\n", + "state 3 iteration 155 / 500\n", + "state 3 iteration 156 / 500\n", + "state 3 iteration 157 / 500\n", + "state 3 iteration 158 / 500\n", + "state 3 iteration 159 / 500\n", + "state 3 iteration 160 / 500\n", + "state 3 iteration 161 / 500\n", + "state 3 iteration 162 / 500\n", + "state 3 iteration 163 / 500\n", + "state 3 iteration 164 / 500\n", + "state 3 iteration 165 / 500\n", + "state 3 iteration 166 / 500\n", + "state 3 iteration 167 / 500\n", + "state 3 iteration 168 / 500\n", + "state 3 iteration 169 / 500\n", + "state 3 iteration 170 / 500\n", + "state 3 iteration 171 / 500\n", + "state 3 iteration 172 / 500\n", + "state 3 iteration 173 / 500\n", + "state 3 iteration 174 / 500\n", + "state 3 iteration 175 / 500\n", + "state 3 iteration 176 / 500\n", + "state 3 iteration 177 / 500\n", + "state 3 iteration 178 / 500\n", + "state 3 iteration 179 / 500\n", + "state 3 iteration 180 / 500\n", + "state 3 iteration 181 / 500\n", + "state 3 iteration 182 / 500\n", + "state 3 iteration 183 / 500\n", + "state 3 iteration 184 / 500\n", + "state 3 iteration 185 / 500\n", + "state 3 iteration 186 / 500\n", + "state 3 iteration 187 / 500\n", + "state 3 iteration 188 / 500\n", + "state 3 iteration 189 / 500\n", + "state 3 iteration 190 / 500\n", + "state 3 iteration 191 / 500\n", + "state 3 iteration 192 / 500\n", + "state 3 iteration 193 / 500\n", + "state 3 iteration 194 / 500\n", + "state 3 iteration 195 / 500\n", + "state 3 iteration 196 / 500\n", + "state 3 iteration 197 / 500\n", + "state 3 iteration 198 / 500\n", + "state 3 iteration 199 / 500\n", + "state 3 iteration 200 / 500\n", + "state 3 iteration 201 / 500\n", + "state 3 iteration 202 / 500\n", + "state 3 iteration 203 / 500\n", + "state 3 iteration 204 / 500\n", + "state 3 iteration 205 / 500\n", + "state 3 iteration 206 / 500\n", + "state 3 iteration 207 / 500\n", + "state 3 iteration 208 / 500\n", + "state 3 iteration 209 / 500\n", + "state 3 iteration 210 / 500\n", + "state 3 iteration 211 / 500\n", + "state 3 iteration 212 / 500\n", + "state 3 iteration 213 / 500\n", + "state 3 iteration 214 / 500\n", + "state 3 iteration 215 / 500\n", + "state 3 iteration 216 / 500\n", + "state 3 iteration 217 / 500\n", + "state 3 iteration 218 / 500\n", + "state 3 iteration 219 / 500\n", + "state 3 iteration 220 / 500\n", + "state 3 iteration 221 / 500\n", + "state 3 iteration 222 / 500\n", + "state 3 iteration 223 / 500\n", + "state 3 iteration 224 / 500\n", + "state 3 iteration 225 / 500\n", + "state 3 iteration 226 / 500\n", + "state 3 iteration 227 / 500\n", + "state 3 iteration 228 / 500\n", + "state 3 iteration 229 / 500\n", + "state 3 iteration 230 / 500\n", + "state 3 iteration 231 / 500\n", + "state 3 iteration 232 / 500\n", + "state 3 iteration 233 / 500\n", + "state 3 iteration 234 / 500\n", + "state 3 iteration 235 / 500\n", + "state 3 iteration 236 / 500\n", + "state 3 iteration 237 / 500\n", + "state 3 iteration 238 / 500\n", + "state 3 iteration 239 / 500\n", + "state 3 iteration 240 / 500\n", + "state 3 iteration 241 / 500\n", + "state 3 iteration 242 / 500\n", + "state 3 iteration 243 / 500\n", + "state 3 iteration 244 / 500\n", + "state 3 iteration 245 / 500\n", + "state 3 iteration 246 / 500\n", + "state 3 iteration 247 / 500\n", + "state 3 iteration 248 / 500\n", + "state 3 iteration 249 / 500\n", + "state 3 iteration 250 / 500\n", + "state 3 iteration 251 / 500\n", + "state 3 iteration 252 / 500\n", + "state 3 iteration 253 / 500\n", + "state 3 iteration 254 / 500\n", + "state 3 iteration 255 / 500\n", + "state 3 iteration 256 / 500\n", + "state 3 iteration 257 / 500\n", + "state 3 iteration 258 / 500\n", + "state 3 iteration 259 / 500\n", + "state 3 iteration 260 / 500\n", + "state 3 iteration 261 / 500\n", + "state 3 iteration 262 / 500\n", + "state 3 iteration 263 / 500\n", + "state 3 iteration 264 / 500\n", + "state 3 iteration 265 / 500\n", + "state 3 iteration 266 / 500\n", + "state 3 iteration 267 / 500\n", + "state 3 iteration 268 / 500\n", + "state 3 iteration 269 / 500\n", + "state 3 iteration 270 / 500\n", + "state 3 iteration 271 / 500\n", + "state 3 iteration 272 / 500\n", + "state 3 iteration 273 / 500\n", + "state 3 iteration 274 / 500\n", + "state 3 iteration 275 / 500\n", + "state 3 iteration 276 / 500\n", + "state 3 iteration 277 / 500\n", + "state 3 iteration 278 / 500\n", + "state 3 iteration 279 / 500\n", + "state 3 iteration 280 / 500\n", + "state 3 iteration 281 / 500\n", + "state 3 iteration 282 / 500\n", + "state 3 iteration 283 / 500\n", + "state 3 iteration 284 / 500\n", + "state 3 iteration 285 / 500\n", + "state 3 iteration 286 / 500\n", + "state 3 iteration 287 / 500\n", + "state 3 iteration 288 / 500\n", + "state 3 iteration 289 / 500\n", + "state 3 iteration 290 / 500\n", + "state 3 iteration 291 / 500\n", + "state 3 iteration 292 / 500\n", + "state 3 iteration 293 / 500\n", + "state 3 iteration 294 / 500\n", + "state 3 iteration 295 / 500\n", + "state 3 iteration 296 / 500\n", + "state 3 iteration 297 / 500\n", + "state 3 iteration 298 / 500\n", + "state 3 iteration 299 / 500\n", + "state 3 iteration 300 / 500\n", + "state 3 iteration 301 / 500\n", + "state 3 iteration 302 / 500\n", + "state 3 iteration 303 / 500\n", + "state 3 iteration 304 / 500\n", + "state 3 iteration 305 / 500\n", + "state 3 iteration 306 / 500\n", + "state 3 iteration 307 / 500\n", + "state 3 iteration 308 / 500\n", + "state 3 iteration 309 / 500\n", + "state 3 iteration 310 / 500\n", + "state 3 iteration 311 / 500\n", + "state 3 iteration 312 / 500\n", + "state 3 iteration 313 / 500\n", + "state 3 iteration 314 / 500\n", + "state 3 iteration 315 / 500\n", + "state 3 iteration 316 / 500\n", + "state 3 iteration 317 / 500\n", + "state 3 iteration 318 / 500\n", + "state 3 iteration 319 / 500\n", + "state 3 iteration 320 / 500\n", + "state 3 iteration 321 / 500\n", + "state 3 iteration 322 / 500\n", + "state 3 iteration 323 / 500\n", + "state 3 iteration 324 / 500\n", + "state 3 iteration 325 / 500\n", + "state 3 iteration 326 / 500\n", + "state 3 iteration 327 / 500\n", + "state 3 iteration 328 / 500\n", + "state 3 iteration 329 / 500\n", + "state 3 iteration 330 / 500\n", + "state 3 iteration 331 / 500\n", + "state 3 iteration 332 / 500\n", + "state 3 iteration 333 / 500\n", + "state 3 iteration 334 / 500\n", + "state 3 iteration 335 / 500\n", + "state 3 iteration 336 / 500\n", + "state 3 iteration 337 / 500\n", + "state 3 iteration 338 / 500\n", + "state 3 iteration 339 / 500\n", + "state 3 iteration 340 / 500\n", + "state 3 iteration 341 / 500\n", + "state 3 iteration 342 / 500\n", + "state 3 iteration 343 / 500\n", + "state 3 iteration 344 / 500\n", + "state 3 iteration 345 / 500\n", + "state 3 iteration 346 / 500\n", + "state 3 iteration 347 / 500\n", + "state 3 iteration 348 / 500\n", + "state 3 iteration 349 / 500\n", + "state 3 iteration 350 / 500\n", + "state 3 iteration 351 / 500\n", + "state 3 iteration 352 / 500\n", + "state 3 iteration 353 / 500\n", + "state 3 iteration 354 / 500\n", + "state 3 iteration 355 / 500\n", + "state 3 iteration 356 / 500\n", + "state 3 iteration 357 / 500\n", + "state 3 iteration 358 / 500\n", + "state 3 iteration 359 / 500\n", + "state 3 iteration 360 / 500\n", + "state 3 iteration 361 / 500\n", + "state 3 iteration 362 / 500\n", + "state 3 iteration 363 / 500\n", + "state 3 iteration 364 / 500\n", + "state 3 iteration 365 / 500\n", + "state 3 iteration 366 / 500\n", + "state 3 iteration 367 / 500\n", + "state 3 iteration 368 / 500\n", + "state 3 iteration 369 / 500\n", + "state 3 iteration 370 / 500\n", + "state 3 iteration 371 / 500\n", + "state 3 iteration 372 / 500\n", + "state 3 iteration 373 / 500\n", + "state 3 iteration 374 / 500\n", + "state 3 iteration 375 / 500\n", + "state 3 iteration 376 / 500\n", + "state 3 iteration 377 / 500\n", + "state 3 iteration 378 / 500\n", + "state 3 iteration 379 / 500\n", + "state 3 iteration 380 / 500\n", + "state 3 iteration 381 / 500\n", + "state 3 iteration 382 / 500\n", + "state 3 iteration 383 / 500\n", + "state 3 iteration 384 / 500\n", + "state 3 iteration 385 / 500\n", + "state 3 iteration 386 / 500\n", + "state 3 iteration 387 / 500\n", + "state 3 iteration 388 / 500\n", + "state 3 iteration 389 / 500\n", + "state 3 iteration 390 / 500\n", + "state 3 iteration 391 / 500\n", + "state 3 iteration 392 / 500\n", + "state 3 iteration 393 / 500\n", + "state 3 iteration 394 / 500\n", + "state 3 iteration 395 / 500\n", + "state 3 iteration 396 / 500\n", + "state 3 iteration 397 / 500\n", + "state 3 iteration 398 / 500\n", + "state 3 iteration 399 / 500\n", + "state 3 iteration 400 / 500\n", + "state 3 iteration 401 / 500\n", + "state 3 iteration 402 / 500\n", + "state 3 iteration 403 / 500\n", + "state 3 iteration 404 / 500\n", + "state 3 iteration 405 / 500\n", + "state 3 iteration 406 / 500\n", + "state 3 iteration 407 / 500\n", + "state 3 iteration 408 / 500\n", + "state 3 iteration 409 / 500\n", + "state 3 iteration 410 / 500\n", + "state 3 iteration 411 / 500\n", + "state 3 iteration 412 / 500\n", + "state 3 iteration 413 / 500\n", + "state 3 iteration 414 / 500\n", + "state 3 iteration 415 / 500\n", + "state 3 iteration 416 / 500\n", + "state 3 iteration 417 / 500\n", + "state 3 iteration 418 / 500\n", + "state 3 iteration 419 / 500\n", + "state 3 iteration 420 / 500\n", + "state 3 iteration 421 / 500\n", + "state 3 iteration 422 / 500\n", + "state 3 iteration 423 / 500\n", + "state 3 iteration 424 / 500\n", + "state 3 iteration 425 / 500\n", + "state 3 iteration 426 / 500\n", + "state 3 iteration 427 / 500\n", + "state 3 iteration 428 / 500\n", + "state 3 iteration 429 / 500\n", + "state 3 iteration 430 / 500\n", + "state 3 iteration 431 / 500\n", + "state 3 iteration 432 / 500\n", + "state 3 iteration 433 / 500\n", + "state 3 iteration 434 / 500\n", + "state 3 iteration 435 / 500\n", + "state 3 iteration 436 / 500\n", + "state 3 iteration 437 / 500\n", + "state 3 iteration 438 / 500\n", + "state 3 iteration 439 / 500\n", + "state 3 iteration 440 / 500\n", + "state 3 iteration 441 / 500\n", + "state 3 iteration 442 / 500\n", + "state 3 iteration 443 / 500\n", + "state 3 iteration 444 / 500\n", + "state 3 iteration 445 / 500\n", + "state 3 iteration 446 / 500\n", + "state 3 iteration 447 / 500\n", + "state 3 iteration 448 / 500\n", + "state 3 iteration 449 / 500\n", + "state 3 iteration 450 / 500\n", + "state 3 iteration 451 / 500\n", + "state 3 iteration 452 / 500\n", + "state 3 iteration 453 / 500\n", + "state 3 iteration 454 / 500\n", + "state 3 iteration 455 / 500\n", + "state 3 iteration 456 / 500\n", + "state 3 iteration 457 / 500\n", + "state 3 iteration 458 / 500\n", + "state 3 iteration 459 / 500\n", + "state 3 iteration 460 / 500\n", + "state 3 iteration 461 / 500\n", + "state 3 iteration 462 / 500\n", + "state 3 iteration 463 / 500\n", + "state 3 iteration 464 / 500\n", + "state 3 iteration 465 / 500\n", + "state 3 iteration 466 / 500\n", + "state 3 iteration 467 / 500\n", + "state 3 iteration 468 / 500\n", + "state 3 iteration 469 / 500\n", + "state 3 iteration 470 / 500\n", + "state 3 iteration 471 / 500\n", + "state 3 iteration 472 / 500\n", + "state 3 iteration 473 / 500\n", + "state 3 iteration 474 / 500\n", + "state 3 iteration 475 / 500\n", + "state 3 iteration 476 / 500\n", + "state 3 iteration 477 / 500\n", + "state 3 iteration 478 / 500\n", + "state 3 iteration 479 / 500\n", + "state 3 iteration 480 / 500\n", + "state 3 iteration 481 / 500\n", + "state 3 iteration 482 / 500\n", + "state 3 iteration 483 / 500\n", + "state 3 iteration 484 / 500\n", + "state 3 iteration 485 / 500\n", + "state 3 iteration 486 / 500\n", + "state 3 iteration 487 / 500\n", + "state 3 iteration 488 / 500\n", + "state 3 iteration 489 / 500\n", + "state 3 iteration 490 / 500\n", + "state 3 iteration 491 / 500\n", + "state 3 iteration 492 / 500\n", + "state 3 iteration 493 / 500\n", + "state 3 iteration 494 / 500\n", + "state 3 iteration 495 / 500\n", + "state 3 iteration 496 / 500\n", + "state 3 iteration 497 / 500\n", + "state 3 iteration 498 / 500\n", + "state 3 iteration 499 / 500\n", + "state 4 iteration 0 / 500\n", + "state 4 iteration 1 / 500\n", + "state 4 iteration 2 / 500\n", + "state 4 iteration 3 / 500\n", + "state 4 iteration 4 / 500\n", + "state 4 iteration 5 / 500\n", + "state 4 iteration 6 / 500\n", + "state 4 iteration 7 / 500\n", + "state 4 iteration 8 / 500\n", + "state 4 iteration 9 / 500\n", + "state 4 iteration 10 / 500\n", + "state 4 iteration 11 / 500\n", + "state 4 iteration 12 / 500\n", + "state 4 iteration 13 / 500\n", + "state 4 iteration 14 / 500\n", + "state 4 iteration 15 / 500\n", + "state 4 iteration 16 / 500\n", + "state 4 iteration 17 / 500\n", + "state 4 iteration 18 / 500\n", + "state 4 iteration 19 / 500\n", + "state 4 iteration 20 / 500\n", + "state 4 iteration 21 / 500\n", + "state 4 iteration 22 / 500\n", + "state 4 iteration 23 / 500\n", + "state 4 iteration 24 / 500\n", + "state 4 iteration 25 / 500\n", + "state 4 iteration 26 / 500\n", + "state 4 iteration 27 / 500\n", + "state 4 iteration 28 / 500\n", + "state 4 iteration 29 / 500\n", + "state 4 iteration 30 / 500\n", + "state 4 iteration 31 / 500\n", + "state 4 iteration 32 / 500\n", + "state 4 iteration 33 / 500\n", + "state 4 iteration 34 / 500\n", + "state 4 iteration 35 / 500\n", + "state 4 iteration 36 / 500\n", + "state 4 iteration 37 / 500\n", + "state 4 iteration 38 / 500\n", + "state 4 iteration 39 / 500\n", + "state 4 iteration 40 / 500\n", + "state 4 iteration 41 / 500\n", + "state 4 iteration 42 / 500\n", + "state 4 iteration 43 / 500\n", + "state 4 iteration 44 / 500\n", + "state 4 iteration 45 / 500\n", + "state 4 iteration 46 / 500\n", + "state 4 iteration 47 / 500\n", + "state 4 iteration 48 / 500\n", + "state 4 iteration 49 / 500\n", + "state 4 iteration 50 / 500\n", + "state 4 iteration 51 / 500\n", + "state 4 iteration 52 / 500\n", + "state 4 iteration 53 / 500\n", + "state 4 iteration 54 / 500\n", + "state 4 iteration 55 / 500\n", + "state 4 iteration 56 / 500\n", + "state 4 iteration 57 / 500\n", + "state 4 iteration 58 / 500\n", + "state 4 iteration 59 / 500\n", + "state 4 iteration 60 / 500\n", + "state 4 iteration 61 / 500\n", + "state 4 iteration 62 / 500\n", + "state 4 iteration 63 / 500\n", + "state 4 iteration 64 / 500\n", + "state 4 iteration 65 / 500\n", + "state 4 iteration 66 / 500\n", + "state 4 iteration 67 / 500\n", + "state 4 iteration 68 / 500\n", + "state 4 iteration 69 / 500\n", + "state 4 iteration 70 / 500\n", + "state 4 iteration 71 / 500\n", + "state 4 iteration 72 / 500\n", + "state 4 iteration 73 / 500\n", + "state 4 iteration 74 / 500\n", + "state 4 iteration 75 / 500\n", + "state 4 iteration 76 / 500\n", + "state 4 iteration 77 / 500\n", + "state 4 iteration 78 / 500\n", + "state 4 iteration 79 / 500\n", + "state 4 iteration 80 / 500\n", + "state 4 iteration 81 / 500\n", + "state 4 iteration 82 / 500\n", + "state 4 iteration 83 / 500\n", + "state 4 iteration 84 / 500\n", + "state 4 iteration 85 / 500\n", + "state 4 iteration 86 / 500\n", + "state 4 iteration 87 / 500\n", + "state 4 iteration 88 / 500\n", + "state 4 iteration 89 / 500\n", + "state 4 iteration 90 / 500\n", + "state 4 iteration 91 / 500\n", + "state 4 iteration 92 / 500\n", + "state 4 iteration 93 / 500\n", + "state 4 iteration 94 / 500\n", + "state 4 iteration 95 / 500\n", + "state 4 iteration 96 / 500\n", + "state 4 iteration 97 / 500\n", + "state 4 iteration 98 / 500\n", + "state 4 iteration 99 / 500\n", + "state 4 iteration 100 / 500\n", + "state 4 iteration 101 / 500\n", + "state 4 iteration 102 / 500\n", + "state 4 iteration 103 / 500\n", + "state 4 iteration 104 / 500\n", + "state 4 iteration 105 / 500\n", + "state 4 iteration 106 / 500\n", + "state 4 iteration 107 / 500\n", + "state 4 iteration 108 / 500\n", + "state 4 iteration 109 / 500\n", + "state 4 iteration 110 / 500\n", + "state 4 iteration 111 / 500\n", + "state 4 iteration 112 / 500\n", + "state 4 iteration 113 / 500\n", + "state 4 iteration 114 / 500\n", + "state 4 iteration 115 / 500\n", + "state 4 iteration 116 / 500\n", + "state 4 iteration 117 / 500\n", + "state 4 iteration 118 / 500\n", + "state 4 iteration 119 / 500\n", + "state 4 iteration 120 / 500\n", + "state 4 iteration 121 / 500\n", + "state 4 iteration 122 / 500\n", + "state 4 iteration 123 / 500\n", + "state 4 iteration 124 / 500\n", + "state 4 iteration 125 / 500\n", + "state 4 iteration 126 / 500\n", + "state 4 iteration 127 / 500\n", + "state 4 iteration 128 / 500\n", + "state 4 iteration 129 / 500\n", + "state 4 iteration 130 / 500\n", + "state 4 iteration 131 / 500\n", + "state 4 iteration 132 / 500\n", + "state 4 iteration 133 / 500\n", + "state 4 iteration 134 / 500\n", + "state 4 iteration 135 / 500\n", + "state 4 iteration 136 / 500\n", + "state 4 iteration 137 / 500\n", + "state 4 iteration 138 / 500\n", + "state 4 iteration 139 / 500\n", + "state 4 iteration 140 / 500\n", + "state 4 iteration 141 / 500\n", + "state 4 iteration 142 / 500\n", + "state 4 iteration 143 / 500\n", + "state 4 iteration 144 / 500\n", + "state 4 iteration 145 / 500\n", + "state 4 iteration 146 / 500\n", + "state 4 iteration 147 / 500\n", + "state 4 iteration 148 / 500\n", + "state 4 iteration 149 / 500\n", + "state 4 iteration 150 / 500\n", + "state 4 iteration 151 / 500\n", + "state 4 iteration 152 / 500\n", + "state 4 iteration 153 / 500\n", + "state 4 iteration 154 / 500\n", + "state 4 iteration 155 / 500\n", + "state 4 iteration 156 / 500\n", + "state 4 iteration 157 / 500\n", + "state 4 iteration 158 / 500\n", + "state 4 iteration 159 / 500\n", + "state 4 iteration 160 / 500\n", + "state 4 iteration 161 / 500\n", + "state 4 iteration 162 / 500\n", + "state 4 iteration 163 / 500\n", + "state 4 iteration 164 / 500\n", + "state 4 iteration 165 / 500\n", + "state 4 iteration 166 / 500\n", + "state 4 iteration 167 / 500\n", + "state 4 iteration 168 / 500\n", + "state 4 iteration 169 / 500\n", + "state 4 iteration 170 / 500\n", + "state 4 iteration 171 / 500\n", + "state 4 iteration 172 / 500\n", + "state 4 iteration 173 / 500\n", + "state 4 iteration 174 / 500\n", + "state 4 iteration 175 / 500\n", + "state 4 iteration 176 / 500\n", + "state 4 iteration 177 / 500\n", + "state 4 iteration 178 / 500\n", + "state 4 iteration 179 / 500\n", + "state 4 iteration 180 / 500\n", + "state 4 iteration 181 / 500\n", + "state 4 iteration 182 / 500\n", + "state 4 iteration 183 / 500\n", + "state 4 iteration 184 / 500\n", + "state 4 iteration 185 / 500\n", + "state 4 iteration 186 / 500\n", + "state 4 iteration 187 / 500\n", + "state 4 iteration 188 / 500\n", + "state 4 iteration 189 / 500\n", + "state 4 iteration 190 / 500\n", + "state 4 iteration 191 / 500\n", + "state 4 iteration 192 / 500\n", + "state 4 iteration 193 / 500\n", + "state 4 iteration 194 / 500\n", + "state 4 iteration 195 / 500\n", + "state 4 iteration 196 / 500\n", + "state 4 iteration 197 / 500\n", + "state 4 iteration 198 / 500\n", + "state 4 iteration 199 / 500\n", + "state 4 iteration 200 / 500\n", + "state 4 iteration 201 / 500\n", + "state 4 iteration 202 / 500\n", + "state 4 iteration 203 / 500\n", + "state 4 iteration 204 / 500\n", + "state 4 iteration 205 / 500\n", + "state 4 iteration 206 / 500\n", + "state 4 iteration 207 / 500\n", + "state 4 iteration 208 / 500\n", + "state 4 iteration 209 / 500\n", + "state 4 iteration 210 / 500\n", + "state 4 iteration 211 / 500\n", + "state 4 iteration 212 / 500\n", + "state 4 iteration 213 / 500\n", + "state 4 iteration 214 / 500\n", + "state 4 iteration 215 / 500\n", + "state 4 iteration 216 / 500\n", + "state 4 iteration 217 / 500\n", + "state 4 iteration 218 / 500\n", + "state 4 iteration 219 / 500\n", + "state 4 iteration 220 / 500\n", + "state 4 iteration 221 / 500\n", + "state 4 iteration 222 / 500\n", + "state 4 iteration 223 / 500\n", + "state 4 iteration 224 / 500\n", + "state 4 iteration 225 / 500\n", + "state 4 iteration 226 / 500\n", + "state 4 iteration 227 / 500\n", + "state 4 iteration 228 / 500\n", + "state 4 iteration 229 / 500\n", + "state 4 iteration 230 / 500\n", + "state 4 iteration 231 / 500\n", + "state 4 iteration 232 / 500\n", + "state 4 iteration 233 / 500\n", + "state 4 iteration 234 / 500\n", + "state 4 iteration 235 / 500\n", + "state 4 iteration 236 / 500\n", + "state 4 iteration 237 / 500\n", + "state 4 iteration 238 / 500\n", + "state 4 iteration 239 / 500\n", + "state 4 iteration 240 / 500\n", + "state 4 iteration 241 / 500\n", + "state 4 iteration 242 / 500\n", + "state 4 iteration 243 / 500\n", + "state 4 iteration 244 / 500\n", + "state 4 iteration 245 / 500\n", + "state 4 iteration 246 / 500\n", + "state 4 iteration 247 / 500\n", + "state 4 iteration 248 / 500\n", + "state 4 iteration 249 / 500\n", + "state 4 iteration 250 / 500\n", + "state 4 iteration 251 / 500\n", + "state 4 iteration 252 / 500\n", + "state 4 iteration 253 / 500\n", + "state 4 iteration 254 / 500\n", + "state 4 iteration 255 / 500\n", + "state 4 iteration 256 / 500\n", + "state 4 iteration 257 / 500\n", + "state 4 iteration 258 / 500\n", + "state 4 iteration 259 / 500\n", + "state 4 iteration 260 / 500\n", + "state 4 iteration 261 / 500\n", + "state 4 iteration 262 / 500\n", + "state 4 iteration 263 / 500\n", + "state 4 iteration 264 / 500\n", + "state 4 iteration 265 / 500\n", + "state 4 iteration 266 / 500\n", + "state 4 iteration 267 / 500\n", + "state 4 iteration 268 / 500\n", + "state 4 iteration 269 / 500\n", + "state 4 iteration 270 / 500\n", + "state 4 iteration 271 / 500\n", + "state 4 iteration 272 / 500\n", + "state 4 iteration 273 / 500\n", + "state 4 iteration 274 / 500\n", + "state 4 iteration 275 / 500\n", + "state 4 iteration 276 / 500\n", + "state 4 iteration 277 / 500\n", + "state 4 iteration 278 / 500\n", + "state 4 iteration 279 / 500\n", + "state 4 iteration 280 / 500\n", + "state 4 iteration 281 / 500\n", + "state 4 iteration 282 / 500\n", + "state 4 iteration 283 / 500\n", + "state 4 iteration 284 / 500\n", + "state 4 iteration 285 / 500\n", + "state 4 iteration 286 / 500\n", + "state 4 iteration 287 / 500\n", + "state 4 iteration 288 / 500\n", + "state 4 iteration 289 / 500\n", + "state 4 iteration 290 / 500\n", + "state 4 iteration 291 / 500\n", + "state 4 iteration 292 / 500\n", + "state 4 iteration 293 / 500\n", + "state 4 iteration 294 / 500\n", + "state 4 iteration 295 / 500\n", + "state 4 iteration 296 / 500\n", + "state 4 iteration 297 / 500\n", + "state 4 iteration 298 / 500\n", + "state 4 iteration 299 / 500\n", + "state 4 iteration 300 / 500\n", + "state 4 iteration 301 / 500\n", + "state 4 iteration 302 / 500\n", + "state 4 iteration 303 / 500\n", + "state 4 iteration 304 / 500\n", + "state 4 iteration 305 / 500\n", + "state 4 iteration 306 / 500\n", + "state 4 iteration 307 / 500\n", + "state 4 iteration 308 / 500\n", + "state 4 iteration 309 / 500\n", + "state 4 iteration 310 / 500\n", + "state 4 iteration 311 / 500\n", + "state 4 iteration 312 / 500\n", + "state 4 iteration 313 / 500\n", + "state 4 iteration 314 / 500\n", + "state 4 iteration 315 / 500\n", + "state 4 iteration 316 / 500\n", + "state 4 iteration 317 / 500\n", + "state 4 iteration 318 / 500\n", + "state 4 iteration 319 / 500\n", + "state 4 iteration 320 / 500\n", + "state 4 iteration 321 / 500\n", + "state 4 iteration 322 / 500\n", + "state 4 iteration 323 / 500\n", + "state 4 iteration 324 / 500\n", + "state 4 iteration 325 / 500\n", + "state 4 iteration 326 / 500\n", + "state 4 iteration 327 / 500\n", + "state 4 iteration 328 / 500\n", + "state 4 iteration 329 / 500\n", + "state 4 iteration 330 / 500\n", + "state 4 iteration 331 / 500\n", + "state 4 iteration 332 / 500\n", + "state 4 iteration 333 / 500\n", + "state 4 iteration 334 / 500\n", + "state 4 iteration 335 / 500\n", + "state 4 iteration 336 / 500\n", + "state 4 iteration 337 / 500\n", + "state 4 iteration 338 / 500\n", + "state 4 iteration 339 / 500\n", + "state 4 iteration 340 / 500\n", + "state 4 iteration 341 / 500\n", + "state 4 iteration 342 / 500\n", + "state 4 iteration 343 / 500\n", + "state 4 iteration 344 / 500\n", + "state 4 iteration 345 / 500\n", + "state 4 iteration 346 / 500\n", + "state 4 iteration 347 / 500\n", + "state 4 iteration 348 / 500\n", + "state 4 iteration 349 / 500\n", + "state 4 iteration 350 / 500\n", + "state 4 iteration 351 / 500\n", + "state 4 iteration 352 / 500\n", + "state 4 iteration 353 / 500\n", + "state 4 iteration 354 / 500\n", + "state 4 iteration 355 / 500\n", + "state 4 iteration 356 / 500\n", + "state 4 iteration 357 / 500\n", + "state 4 iteration 358 / 500\n", + "state 4 iteration 359 / 500\n", + "state 4 iteration 360 / 500\n", + "state 4 iteration 361 / 500\n", + "state 4 iteration 362 / 500\n", + "state 4 iteration 363 / 500\n", + "state 4 iteration 364 / 500\n", + "state 4 iteration 365 / 500\n", + "state 4 iteration 366 / 500\n", + "state 4 iteration 367 / 500\n", + "state 4 iteration 368 / 500\n", + "state 4 iteration 369 / 500\n", + "state 4 iteration 370 / 500\n", + "state 4 iteration 371 / 500\n", + "state 4 iteration 372 / 500\n", + "state 4 iteration 373 / 500\n", + "state 4 iteration 374 / 500\n", + "state 4 iteration 375 / 500\n", + "state 4 iteration 376 / 500\n", + "state 4 iteration 377 / 500\n", + "state 4 iteration 378 / 500\n", + "state 4 iteration 379 / 500\n", + "state 4 iteration 380 / 500\n", + "state 4 iteration 381 / 500\n", + "state 4 iteration 382 / 500\n", + "state 4 iteration 383 / 500\n", + "state 4 iteration 384 / 500\n", + "state 4 iteration 385 / 500\n", + "state 4 iteration 386 / 500\n", + "state 4 iteration 387 / 500\n", + "state 4 iteration 388 / 500\n", + "state 4 iteration 389 / 500\n", + "state 4 iteration 390 / 500\n", + "state 4 iteration 391 / 500\n", + "state 4 iteration 392 / 500\n", + "state 4 iteration 393 / 500\n", + "state 4 iteration 394 / 500\n", + "state 4 iteration 395 / 500\n", + "state 4 iteration 396 / 500\n", + "state 4 iteration 397 / 500\n", + "state 4 iteration 398 / 500\n", + "state 4 iteration 399 / 500\n", + "state 4 iteration 400 / 500\n", + "state 4 iteration 401 / 500\n", + "state 4 iteration 402 / 500\n", + "state 4 iteration 403 / 500\n", + "state 4 iteration 404 / 500\n", + "state 4 iteration 405 / 500\n", + "state 4 iteration 406 / 500\n", + "state 4 iteration 407 / 500\n", + "state 4 iteration 408 / 500\n", + "state 4 iteration 409 / 500\n", + "state 4 iteration 410 / 500\n", + "state 4 iteration 411 / 500\n", + "state 4 iteration 412 / 500\n", + "state 4 iteration 413 / 500\n", + "state 4 iteration 414 / 500\n", + "state 4 iteration 415 / 500\n", + "state 4 iteration 416 / 500\n", + "state 4 iteration 417 / 500\n", + "state 4 iteration 418 / 500\n", + "state 4 iteration 419 / 500\n", + "state 4 iteration 420 / 500\n", + "state 4 iteration 421 / 500\n", + "state 4 iteration 422 / 500\n", + "state 4 iteration 423 / 500\n", + "state 4 iteration 424 / 500\n", + "state 4 iteration 425 / 500\n", + "state 4 iteration 426 / 500\n", + "state 4 iteration 427 / 500\n", + "state 4 iteration 428 / 500\n", + "state 4 iteration 429 / 500\n", + "state 4 iteration 430 / 500\n", + "state 4 iteration 431 / 500\n", + "state 4 iteration 432 / 500\n", + "state 4 iteration 433 / 500\n", + "state 4 iteration 434 / 500\n", + "state 4 iteration 435 / 500\n", + "state 4 iteration 436 / 500\n", + "state 4 iteration 437 / 500\n", + "state 4 iteration 438 / 500\n", + "state 4 iteration 439 / 500\n", + "state 4 iteration 440 / 500\n", + "state 4 iteration 441 / 500\n", + "state 4 iteration 442 / 500\n", + "state 4 iteration 443 / 500\n", + "state 4 iteration 444 / 500\n", + "state 4 iteration 445 / 500\n", + "state 4 iteration 446 / 500\n", + "state 4 iteration 447 / 500\n", + "state 4 iteration 448 / 500\n", + "state 4 iteration 449 / 500\n", + "state 4 iteration 450 / 500\n", + "state 4 iteration 451 / 500\n", + "state 4 iteration 452 / 500\n", + "state 4 iteration 453 / 500\n", + "state 4 iteration 454 / 500\n", + "state 4 iteration 455 / 500\n", + "state 4 iteration 456 / 500\n", + "state 4 iteration 457 / 500\n", + "state 4 iteration 458 / 500\n", + "state 4 iteration 459 / 500\n", + "state 4 iteration 460 / 500\n", + "state 4 iteration 461 / 500\n", + "state 4 iteration 462 / 500\n", + "state 4 iteration 463 / 500\n", + "state 4 iteration 464 / 500\n", + "state 4 iteration 465 / 500\n", + "state 4 iteration 466 / 500\n", + "state 4 iteration 467 / 500\n", + "state 4 iteration 468 / 500\n", + "state 4 iteration 469 / 500\n", + "state 4 iteration 470 / 500\n", + "state 4 iteration 471 / 500\n", + "state 4 iteration 472 / 500\n", + "state 4 iteration 473 / 500\n", + "state 4 iteration 474 / 500\n", + "state 4 iteration 475 / 500\n", + "state 4 iteration 476 / 500\n", + "state 4 iteration 477 / 500\n", + "state 4 iteration 478 / 500\n", + "state 4 iteration 479 / 500\n", + "state 4 iteration 480 / 500\n", + "state 4 iteration 481 / 500\n", + "state 4 iteration 482 / 500\n", + "state 4 iteration 483 / 500\n", + "state 4 iteration 484 / 500\n", + "state 4 iteration 485 / 500\n", + "state 4 iteration 486 / 500\n", + "state 4 iteration 487 / 500\n", + "state 4 iteration 488 / 500\n", + "state 4 iteration 489 / 500\n", + "state 4 iteration 490 / 500\n", + "state 4 iteration 491 / 500\n", + "state 4 iteration 492 / 500\n", + "state 4 iteration 493 / 500\n", + "state 4 iteration 494 / 500\n", + "state 4 iteration 495 / 500\n", + "state 4 iteration 496 / 500\n", + "state 4 iteration 497 / 500\n", + "state 4 iteration 498 / 500\n", + "state 4 iteration 499 / 500\n", + "state 5 iteration 0 / 500\n", + "state 5 iteration 1 / 500\n", + "state 5 iteration 2 / 500\n", + "state 5 iteration 3 / 500\n", + "state 5 iteration 4 / 500\n", + "state 5 iteration 5 / 500\n", + "state 5 iteration 6 / 500\n", + "state 5 iteration 7 / 500\n", + "state 5 iteration 8 / 500\n", + "state 5 iteration 9 / 500\n", + "state 5 iteration 10 / 500\n", + "state 5 iteration 11 / 500\n", + "state 5 iteration 12 / 500\n", + "state 5 iteration 13 / 500\n", + "state 5 iteration 14 / 500\n", + "state 5 iteration 15 / 500\n", + "state 5 iteration 16 / 500\n", + "state 5 iteration 17 / 500\n", + "state 5 iteration 18 / 500\n", + "state 5 iteration 19 / 500\n", + "state 5 iteration 20 / 500\n", + "state 5 iteration 21 / 500\n", + "state 5 iteration 22 / 500\n", + "state 5 iteration 23 / 500\n", + "state 5 iteration 24 / 500\n", + "state 5 iteration 25 / 500\n", + "state 5 iteration 26 / 500\n", + "state 5 iteration 27 / 500\n", + "state 5 iteration 28 / 500\n", + "state 5 iteration 29 / 500\n", + "state 5 iteration 30 / 500\n", + "state 5 iteration 31 / 500\n", + "state 5 iteration 32 / 500\n", + "state 5 iteration 33 / 500\n", + "state 5 iteration 34 / 500\n", + "state 5 iteration 35 / 500\n", + "state 5 iteration 36 / 500\n", + "state 5 iteration 37 / 500\n", + "state 5 iteration 38 / 500\n", + "state 5 iteration 39 / 500\n", + "state 5 iteration 40 / 500\n", + "state 5 iteration 41 / 500\n", + "state 5 iteration 42 / 500\n", + "state 5 iteration 43 / 500\n", + "state 5 iteration 44 / 500\n", + "state 5 iteration 45 / 500\n", + "state 5 iteration 46 / 500\n", + "state 5 iteration 47 / 500\n", + "state 5 iteration 48 / 500\n", + "state 5 iteration 49 / 500\n", + "state 5 iteration 50 / 500\n", + "state 5 iteration 51 / 500\n", + "state 5 iteration 52 / 500\n", + "state 5 iteration 53 / 500\n", + "state 5 iteration 54 / 500\n", + "state 5 iteration 55 / 500\n", + "state 5 iteration 56 / 500\n", + "state 5 iteration 57 / 500\n", + "state 5 iteration 58 / 500\n", + "state 5 iteration 59 / 500\n", + "state 5 iteration 60 / 500\n", + "state 5 iteration 61 / 500\n", + "state 5 iteration 62 / 500\n", + "state 5 iteration 63 / 500\n", + "state 5 iteration 64 / 500\n", + "state 5 iteration 65 / 500\n", + "state 5 iteration 66 / 500\n", + "state 5 iteration 67 / 500\n", + "state 5 iteration 68 / 500\n", + "state 5 iteration 69 / 500\n", + "state 5 iteration 70 / 500\n", + "state 5 iteration 71 / 500\n", + "state 5 iteration 72 / 500\n", + "state 5 iteration 73 / 500\n", + "state 5 iteration 74 / 500\n", + "state 5 iteration 75 / 500\n", + "state 5 iteration 76 / 500\n", + "state 5 iteration 77 / 500\n", + "state 5 iteration 78 / 500\n", + "state 5 iteration 79 / 500\n", + "state 5 iteration 80 / 500\n", + "state 5 iteration 81 / 500\n", + "state 5 iteration 82 / 500\n", + "state 5 iteration 83 / 500\n", + "state 5 iteration 84 / 500\n", + "state 5 iteration 85 / 500\n", + "state 5 iteration 86 / 500\n", + "state 5 iteration 87 / 500\n", + "state 5 iteration 88 / 500\n", + "state 5 iteration 89 / 500\n", + "state 5 iteration 90 / 500\n", + "state 5 iteration 91 / 500\n", + "state 5 iteration 92 / 500\n", + "state 5 iteration 93 / 500\n", + "state 5 iteration 94 / 500\n", + "state 5 iteration 95 / 500\n", + "state 5 iteration 96 / 500\n", + "state 5 iteration 97 / 500\n", + "state 5 iteration 98 / 500\n", + "state 5 iteration 99 / 500\n", + "state 5 iteration 100 / 500\n", + "state 5 iteration 101 / 500\n", + "state 5 iteration 102 / 500\n", + "state 5 iteration 103 / 500\n", + "state 5 iteration 104 / 500\n", + "state 5 iteration 105 / 500\n", + "state 5 iteration 106 / 500\n", + "state 5 iteration 107 / 500\n", + "state 5 iteration 108 / 500\n", + "state 5 iteration 109 / 500\n", + "state 5 iteration 110 / 500\n", + "state 5 iteration 111 / 500\n", + "state 5 iteration 112 / 500\n", + "state 5 iteration 113 / 500\n", + "state 5 iteration 114 / 500\n", + "state 5 iteration 115 / 500\n", + "state 5 iteration 116 / 500\n", + "state 5 iteration 117 / 500\n", + "state 5 iteration 118 / 500\n", + "state 5 iteration 119 / 500\n", + "state 5 iteration 120 / 500\n", + "state 5 iteration 121 / 500\n", + "state 5 iteration 122 / 500\n", + "state 5 iteration 123 / 500\n", + "state 5 iteration 124 / 500\n", + "state 5 iteration 125 / 500\n", + "state 5 iteration 126 / 500\n", + "state 5 iteration 127 / 500\n", + "state 5 iteration 128 / 500\n", + "state 5 iteration 129 / 500\n", + "state 5 iteration 130 / 500\n", + "state 5 iteration 131 / 500\n", + "state 5 iteration 132 / 500\n", + "state 5 iteration 133 / 500\n", + "state 5 iteration 134 / 500\n", + "state 5 iteration 135 / 500\n", + "state 5 iteration 136 / 500\n", + "state 5 iteration 137 / 500\n", + "state 5 iteration 138 / 500\n", + "state 5 iteration 139 / 500\n", + "state 5 iteration 140 / 500\n", + "state 5 iteration 141 / 500\n", + "state 5 iteration 142 / 500\n", + "state 5 iteration 143 / 500\n", + "state 5 iteration 144 / 500\n", + "state 5 iteration 145 / 500\n", + "state 5 iteration 146 / 500\n", + "state 5 iteration 147 / 500\n", + "state 5 iteration 148 / 500\n", + "state 5 iteration 149 / 500\n", + "state 5 iteration 150 / 500\n", + "state 5 iteration 151 / 500\n", + "state 5 iteration 152 / 500\n", + "state 5 iteration 153 / 500\n", + "state 5 iteration 154 / 500\n", + "state 5 iteration 155 / 500\n", + "state 5 iteration 156 / 500\n", + "state 5 iteration 157 / 500\n", + "state 5 iteration 158 / 500\n", + "state 5 iteration 159 / 500\n", + "state 5 iteration 160 / 500\n", + "state 5 iteration 161 / 500\n", + "state 5 iteration 162 / 500\n", + "state 5 iteration 163 / 500\n", + "state 5 iteration 164 / 500\n", + "state 5 iteration 165 / 500\n", + "state 5 iteration 166 / 500\n", + "state 5 iteration 167 / 500\n", + "state 5 iteration 168 / 500\n", + "state 5 iteration 169 / 500\n", + "state 5 iteration 170 / 500\n", + "state 5 iteration 171 / 500\n", + "state 5 iteration 172 / 500\n", + "state 5 iteration 173 / 500\n", + "state 5 iteration 174 / 500\n", + "state 5 iteration 175 / 500\n", + "state 5 iteration 176 / 500\n", + "state 5 iteration 177 / 500\n", + "state 5 iteration 178 / 500\n", + "state 5 iteration 179 / 500\n", + "state 5 iteration 180 / 500\n", + "state 5 iteration 181 / 500\n", + "state 5 iteration 182 / 500\n", + "state 5 iteration 183 / 500\n", + "state 5 iteration 184 / 500\n", + "state 5 iteration 185 / 500\n", + "state 5 iteration 186 / 500\n", + "state 5 iteration 187 / 500\n", + "state 5 iteration 188 / 500\n", + "state 5 iteration 189 / 500\n", + "state 5 iteration 190 / 500\n", + "state 5 iteration 191 / 500\n", + "state 5 iteration 192 / 500\n", + "state 5 iteration 193 / 500\n", + "state 5 iteration 194 / 500\n", + "state 5 iteration 195 / 500\n", + "state 5 iteration 196 / 500\n", + "state 5 iteration 197 / 500\n", + "state 5 iteration 198 / 500\n", + "state 5 iteration 199 / 500\n", + "state 5 iteration 200 / 500\n", + "state 5 iteration 201 / 500\n", + "state 5 iteration 202 / 500\n", + "state 5 iteration 203 / 500\n", + "state 5 iteration 204 / 500\n", + "state 5 iteration 205 / 500\n", + "state 5 iteration 206 / 500\n", + "state 5 iteration 207 / 500\n", + "state 5 iteration 208 / 500\n", + "state 5 iteration 209 / 500\n", + "state 5 iteration 210 / 500\n", + "state 5 iteration 211 / 500\n", + "state 5 iteration 212 / 500\n", + "state 5 iteration 213 / 500\n", + "state 5 iteration 214 / 500\n", + "state 5 iteration 215 / 500\n", + "state 5 iteration 216 / 500\n", + "state 5 iteration 217 / 500\n", + "state 5 iteration 218 / 500\n", + "state 5 iteration 219 / 500\n", + "state 5 iteration 220 / 500\n", + "state 5 iteration 221 / 500\n", + "state 5 iteration 222 / 500\n", + "state 5 iteration 223 / 500\n", + "state 5 iteration 224 / 500\n", + "state 5 iteration 225 / 500\n", + "state 5 iteration 226 / 500\n", + "state 5 iteration 227 / 500\n", + "state 5 iteration 228 / 500\n", + "state 5 iteration 229 / 500\n", + "state 5 iteration 230 / 500\n", + "state 5 iteration 231 / 500\n", + "state 5 iteration 232 / 500\n", + "state 5 iteration 233 / 500\n", + "state 5 iteration 234 / 500\n", + "state 5 iteration 235 / 500\n", + "state 5 iteration 236 / 500\n", + "state 5 iteration 237 / 500\n", + "state 5 iteration 238 / 500\n", + "state 5 iteration 239 / 500\n", + "state 5 iteration 240 / 500\n", + "state 5 iteration 241 / 500\n", + "state 5 iteration 242 / 500\n", + "state 5 iteration 243 / 500\n", + "state 5 iteration 244 / 500\n", + "state 5 iteration 245 / 500\n", + "state 5 iteration 246 / 500\n", + "state 5 iteration 247 / 500\n", + "state 5 iteration 248 / 500\n", + "state 5 iteration 249 / 500\n", + "state 5 iteration 250 / 500\n", + "state 5 iteration 251 / 500\n", + "state 5 iteration 252 / 500\n", + "state 5 iteration 253 / 500\n", + "state 5 iteration 254 / 500\n", + "state 5 iteration 255 / 500\n", + "state 5 iteration 256 / 500\n", + "state 5 iteration 257 / 500\n", + "state 5 iteration 258 / 500\n", + "state 5 iteration 259 / 500\n", + "state 5 iteration 260 / 500\n", + "state 5 iteration 261 / 500\n", + "state 5 iteration 262 / 500\n", + "state 5 iteration 263 / 500\n", + "state 5 iteration 264 / 500\n", + "state 5 iteration 265 / 500\n", + "state 5 iteration 266 / 500\n", + "state 5 iteration 267 / 500\n", + "state 5 iteration 268 / 500\n", + "state 5 iteration 269 / 500\n", + "state 5 iteration 270 / 500\n", + "state 5 iteration 271 / 500\n", + "state 5 iteration 272 / 500\n", + "state 5 iteration 273 / 500\n", + "state 5 iteration 274 / 500\n", + "state 5 iteration 275 / 500\n", + "state 5 iteration 276 / 500\n", + "state 5 iteration 277 / 500\n", + "state 5 iteration 278 / 500\n", + "state 5 iteration 279 / 500\n", + "state 5 iteration 280 / 500\n", + "state 5 iteration 281 / 500\n", + "state 5 iteration 282 / 500\n", + "state 5 iteration 283 / 500\n", + "state 5 iteration 284 / 500\n", + "state 5 iteration 285 / 500\n", + "state 5 iteration 286 / 500\n", + "state 5 iteration 287 / 500\n", + "state 5 iteration 288 / 500\n", + "state 5 iteration 289 / 500\n", + "state 5 iteration 290 / 500\n", + "state 5 iteration 291 / 500\n", + "state 5 iteration 292 / 500\n", + "state 5 iteration 293 / 500\n", + "state 5 iteration 294 / 500\n", + "state 5 iteration 295 / 500\n", + "state 5 iteration 296 / 500\n", + "state 5 iteration 297 / 500\n", + "state 5 iteration 298 / 500\n", + "state 5 iteration 299 / 500\n", + "state 5 iteration 300 / 500\n", + "state 5 iteration 301 / 500\n", + "state 5 iteration 302 / 500\n", + "state 5 iteration 303 / 500\n", + "state 5 iteration 304 / 500\n", + "state 5 iteration 305 / 500\n", + "state 5 iteration 306 / 500\n", + "state 5 iteration 307 / 500\n", + "state 5 iteration 308 / 500\n", + "state 5 iteration 309 / 500\n", + "state 5 iteration 310 / 500\n", + "state 5 iteration 311 / 500\n", + "state 5 iteration 312 / 500\n", + "state 5 iteration 313 / 500\n", + "state 5 iteration 314 / 500\n", + "state 5 iteration 315 / 500\n", + "state 5 iteration 316 / 500\n", + "state 5 iteration 317 / 500\n", + "state 5 iteration 318 / 500\n", + "state 5 iteration 319 / 500\n", + "state 5 iteration 320 / 500\n", + "state 5 iteration 321 / 500\n", + "state 5 iteration 322 / 500\n", + "state 5 iteration 323 / 500\n", + "state 5 iteration 324 / 500\n", + "state 5 iteration 325 / 500\n", + "state 5 iteration 326 / 500\n", + "state 5 iteration 327 / 500\n", + "state 5 iteration 328 / 500\n", + "state 5 iteration 329 / 500\n", + "state 5 iteration 330 / 500\n", + "state 5 iteration 331 / 500\n", + "state 5 iteration 332 / 500\n", + "state 5 iteration 333 / 500\n", + "state 5 iteration 334 / 500\n", + "state 5 iteration 335 / 500\n", + "state 5 iteration 336 / 500\n", + "state 5 iteration 337 / 500\n", + "state 5 iteration 338 / 500\n", + "state 5 iteration 339 / 500\n", + "state 5 iteration 340 / 500\n", + "state 5 iteration 341 / 500\n", + "state 5 iteration 342 / 500\n", + "state 5 iteration 343 / 500\n", + "state 5 iteration 344 / 500\n", + "state 5 iteration 345 / 500\n", + "state 5 iteration 346 / 500\n", + "state 5 iteration 347 / 500\n", + "state 5 iteration 348 / 500\n", + "state 5 iteration 349 / 500\n", + "state 5 iteration 350 / 500\n", + "state 5 iteration 351 / 500\n", + "state 5 iteration 352 / 500\n", + "state 5 iteration 353 / 500\n", + "state 5 iteration 354 / 500\n", + "state 5 iteration 355 / 500\n", + "state 5 iteration 356 / 500\n", + "state 5 iteration 357 / 500\n", + "state 5 iteration 358 / 500\n", + "state 5 iteration 359 / 500\n", + "state 5 iteration 360 / 500\n", + "state 5 iteration 361 / 500\n", + "state 5 iteration 362 / 500\n", + "state 5 iteration 363 / 500\n", + "state 5 iteration 364 / 500\n", + "state 5 iteration 365 / 500\n", + "state 5 iteration 366 / 500\n", + "state 5 iteration 367 / 500\n", + "state 5 iteration 368 / 500\n", + "state 5 iteration 369 / 500\n", + "state 5 iteration 370 / 500\n", + "state 5 iteration 371 / 500\n", + "state 5 iteration 372 / 500\n", + "state 5 iteration 373 / 500\n", + "state 5 iteration 374 / 500\n", + "state 5 iteration 375 / 500\n", + "state 5 iteration 376 / 500\n", + "state 5 iteration 377 / 500\n", + "state 5 iteration 378 / 500\n", + "state 5 iteration 379 / 500\n", + "state 5 iteration 380 / 500\n", + "state 5 iteration 381 / 500\n", + "state 5 iteration 382 / 500\n", + "state 5 iteration 383 / 500\n", + "state 5 iteration 384 / 500\n", + "state 5 iteration 385 / 500\n", + "state 5 iteration 386 / 500\n", + "state 5 iteration 387 / 500\n", + "state 5 iteration 388 / 500\n", + "state 5 iteration 389 / 500\n", + "state 5 iteration 390 / 500\n", + "state 5 iteration 391 / 500\n", + "state 5 iteration 392 / 500\n", + "state 5 iteration 393 / 500\n", + "state 5 iteration 394 / 500\n", + "state 5 iteration 395 / 500\n", + "state 5 iteration 396 / 500\n", + "state 5 iteration 397 / 500\n", + "state 5 iteration 398 / 500\n", + "state 5 iteration 399 / 500\n", + "state 5 iteration 400 / 500\n", + "state 5 iteration 401 / 500\n", + "state 5 iteration 402 / 500\n", + "state 5 iteration 403 / 500\n", + "state 5 iteration 404 / 500\n", + "state 5 iteration 405 / 500\n", + "state 5 iteration 406 / 500\n", + "state 5 iteration 407 / 500\n", + "state 5 iteration 408 / 500\n", + "state 5 iteration 409 / 500\n", + "state 5 iteration 410 / 500\n", + "state 5 iteration 411 / 500\n", + "state 5 iteration 412 / 500\n", + "state 5 iteration 413 / 500\n", + "state 5 iteration 414 / 500\n", + "state 5 iteration 415 / 500\n", + "state 5 iteration 416 / 500\n", + "state 5 iteration 417 / 500\n", + "state 5 iteration 418 / 500\n", + "state 5 iteration 419 / 500\n", + "state 5 iteration 420 / 500\n", + "state 5 iteration 421 / 500\n", + "state 5 iteration 422 / 500\n", + "state 5 iteration 423 / 500\n", + "state 5 iteration 424 / 500\n", + "state 5 iteration 425 / 500\n", + "state 5 iteration 426 / 500\n", + "state 5 iteration 427 / 500\n", + "state 5 iteration 428 / 500\n", + "state 5 iteration 429 / 500\n", + "state 5 iteration 430 / 500\n", + "state 5 iteration 431 / 500\n", + "state 5 iteration 432 / 500\n", + "state 5 iteration 433 / 500\n", + "state 5 iteration 434 / 500\n", + "state 5 iteration 435 / 500\n", + "state 5 iteration 436 / 500\n", + "state 5 iteration 437 / 500\n", + "state 5 iteration 438 / 500\n", + "state 5 iteration 439 / 500\n", + "state 5 iteration 440 / 500\n", + "state 5 iteration 441 / 500\n", + "state 5 iteration 442 / 500\n", + "state 5 iteration 443 / 500\n", + "state 5 iteration 444 / 500\n", + "state 5 iteration 445 / 500\n", + "state 5 iteration 446 / 500\n", + "state 5 iteration 447 / 500\n", + "state 5 iteration 448 / 500\n", + "state 5 iteration 449 / 500\n", + "state 5 iteration 450 / 500\n", + "state 5 iteration 451 / 500\n", + "state 5 iteration 452 / 500\n", + "state 5 iteration 453 / 500\n", + "state 5 iteration 454 / 500\n", + "state 5 iteration 455 / 500\n", + "state 5 iteration 456 / 500\n", + "state 5 iteration 457 / 500\n", + "state 5 iteration 458 / 500\n", + "state 5 iteration 459 / 500\n", + "state 5 iteration 460 / 500\n", + "state 5 iteration 461 / 500\n", + "state 5 iteration 462 / 500\n", + "state 5 iteration 463 / 500\n", + "state 5 iteration 464 / 500\n", + "state 5 iteration 465 / 500\n", + "state 5 iteration 466 / 500\n", + "state 5 iteration 467 / 500\n", + "state 5 iteration 468 / 500\n", + "state 5 iteration 469 / 500\n", + "state 5 iteration 470 / 500\n", + "state 5 iteration 471 / 500\n", + "state 5 iteration 472 / 500\n", + "state 5 iteration 473 / 500\n", + "state 5 iteration 474 / 500\n", + "state 5 iteration 475 / 500\n", + "state 5 iteration 476 / 500\n", + "state 5 iteration 477 / 500\n", + "state 5 iteration 478 / 500\n", + "state 5 iteration 479 / 500\n", + "state 5 iteration 480 / 500\n", + "state 5 iteration 481 / 500\n", + "state 5 iteration 482 / 500\n", + "state 5 iteration 483 / 500\n", + "state 5 iteration 484 / 500\n", + "state 5 iteration 485 / 500\n", + "state 5 iteration 486 / 500\n", + "state 5 iteration 487 / 500\n", + "state 5 iteration 488 / 500\n", + "state 5 iteration 489 / 500\n", + "state 5 iteration 490 / 500\n", + "state 5 iteration 491 / 500\n", + "state 5 iteration 492 / 500\n", + "state 5 iteration 493 / 500\n", + "state 5 iteration 494 / 500\n", + "state 5 iteration 495 / 500\n", + "state 5 iteration 496 / 500\n", + "state 5 iteration 497 / 500\n", + "state 5 iteration 498 / 500\n", + "state 5 iteration 499 / 500\n", + "state 6 iteration 0 / 500\n", + "state 6 iteration 1 / 500\n", + "state 6 iteration 2 / 500\n", + "state 6 iteration 3 / 500\n", + "state 6 iteration 4 / 500\n", + "state 6 iteration 5 / 500\n", + "state 6 iteration 6 / 500\n", + "state 6 iteration 7 / 500\n", + "state 6 iteration 8 / 500\n", + "state 6 iteration 9 / 500\n", + "state 6 iteration 10 / 500\n", + "state 6 iteration 11 / 500\n", + "state 6 iteration 12 / 500\n", + "state 6 iteration 13 / 500\n", + "state 6 iteration 14 / 500\n", + "state 6 iteration 15 / 500\n", + "state 6 iteration 16 / 500\n", + "state 6 iteration 17 / 500\n", + "state 6 iteration 18 / 500\n", + "state 6 iteration 19 / 500\n", + "state 6 iteration 20 / 500\n", + "state 6 iteration 21 / 500\n", + "state 6 iteration 22 / 500\n", + "state 6 iteration 23 / 500\n", + "state 6 iteration 24 / 500\n", + "state 6 iteration 25 / 500\n", + "state 6 iteration 26 / 500\n", + "state 6 iteration 27 / 500\n", + "state 6 iteration 28 / 500\n", + "state 6 iteration 29 / 500\n", + "state 6 iteration 30 / 500\n", + "state 6 iteration 31 / 500\n", + "state 6 iteration 32 / 500\n", + "state 6 iteration 33 / 500\n", + "state 6 iteration 34 / 500\n", + "state 6 iteration 35 / 500\n", + "state 6 iteration 36 / 500\n", + "state 6 iteration 37 / 500\n", + "state 6 iteration 38 / 500\n", + "state 6 iteration 39 / 500\n", + "state 6 iteration 40 / 500\n", + "state 6 iteration 41 / 500\n", + "state 6 iteration 42 / 500\n", + "state 6 iteration 43 / 500\n", + "state 6 iteration 44 / 500\n", + "state 6 iteration 45 / 500\n", + "state 6 iteration 46 / 500\n", + "state 6 iteration 47 / 500\n", + "state 6 iteration 48 / 500\n", + "state 6 iteration 49 / 500\n", + "state 6 iteration 50 / 500\n", + "state 6 iteration 51 / 500\n", + "state 6 iteration 52 / 500\n", + "state 6 iteration 53 / 500\n", + "state 6 iteration 54 / 500\n", + "state 6 iteration 55 / 500\n", + "state 6 iteration 56 / 500\n", + "state 6 iteration 57 / 500\n", + "state 6 iteration 58 / 500\n", + "state 6 iteration 59 / 500\n", + "state 6 iteration 60 / 500\n", + "state 6 iteration 61 / 500\n", + "state 6 iteration 62 / 500\n", + "state 6 iteration 63 / 500\n", + "state 6 iteration 64 / 500\n", + "state 6 iteration 65 / 500\n", + "state 6 iteration 66 / 500\n", + "state 6 iteration 67 / 500\n", + "state 6 iteration 68 / 500\n", + "state 6 iteration 69 / 500\n", + "state 6 iteration 70 / 500\n", + "state 6 iteration 71 / 500\n", + "state 6 iteration 72 / 500\n", + "state 6 iteration 73 / 500\n", + "state 6 iteration 74 / 500\n", + "state 6 iteration 75 / 500\n", + "state 6 iteration 76 / 500\n", + "state 6 iteration 77 / 500\n", + "state 6 iteration 78 / 500\n", + "state 6 iteration 79 / 500\n", + "state 6 iteration 80 / 500\n", + "state 6 iteration 81 / 500\n", + "state 6 iteration 82 / 500\n", + "state 6 iteration 83 / 500\n", + "state 6 iteration 84 / 500\n", + "state 6 iteration 85 / 500\n", + "state 6 iteration 86 / 500\n", + "state 6 iteration 87 / 500\n", + "state 6 iteration 88 / 500\n", + "state 6 iteration 89 / 500\n", + "state 6 iteration 90 / 500\n", + "state 6 iteration 91 / 500\n", + "state 6 iteration 92 / 500\n", + "state 6 iteration 93 / 500\n", + "state 6 iteration 94 / 500\n", + "state 6 iteration 95 / 500\n", + "state 6 iteration 96 / 500\n", + "state 6 iteration 97 / 500\n", + "state 6 iteration 98 / 500\n", + "state 6 iteration 99 / 500\n", + "state 6 iteration 100 / 500\n", + "state 6 iteration 101 / 500\n", + "state 6 iteration 102 / 500\n", + "state 6 iteration 103 / 500\n", + "state 6 iteration 104 / 500\n", + "state 6 iteration 105 / 500\n", + "state 6 iteration 106 / 500\n", + "state 6 iteration 107 / 500\n", + "state 6 iteration 108 / 500\n", + "state 6 iteration 109 / 500\n", + "state 6 iteration 110 / 500\n", + "state 6 iteration 111 / 500\n", + "state 6 iteration 112 / 500\n", + "state 6 iteration 113 / 500\n", + "state 6 iteration 114 / 500\n", + "state 6 iteration 115 / 500\n", + "state 6 iteration 116 / 500\n", + "state 6 iteration 117 / 500\n", + "state 6 iteration 118 / 500\n", + "state 6 iteration 119 / 500\n", + "state 6 iteration 120 / 500\n", + "state 6 iteration 121 / 500\n", + "state 6 iteration 122 / 500\n", + "state 6 iteration 123 / 500\n", + "state 6 iteration 124 / 500\n", + "state 6 iteration 125 / 500\n", + "state 6 iteration 126 / 500\n", + "state 6 iteration 127 / 500\n", + "state 6 iteration 128 / 500\n", + "state 6 iteration 129 / 500\n", + "state 6 iteration 130 / 500\n", + "state 6 iteration 131 / 500\n", + "state 6 iteration 132 / 500\n", + "state 6 iteration 133 / 500\n", + "state 6 iteration 134 / 500\n", + "state 6 iteration 135 / 500\n", + "state 6 iteration 136 / 500\n", + "state 6 iteration 137 / 500\n", + "state 6 iteration 138 / 500\n", + "state 6 iteration 139 / 500\n", + "state 6 iteration 140 / 500\n", + "state 6 iteration 141 / 500\n", + "state 6 iteration 142 / 500\n", + "state 6 iteration 143 / 500\n", + "state 6 iteration 144 / 500\n", + "state 6 iteration 145 / 500\n", + "state 6 iteration 146 / 500\n", + "state 6 iteration 147 / 500\n", + "state 6 iteration 148 / 500\n", + "state 6 iteration 149 / 500\n", + "state 6 iteration 150 / 500\n", + "state 6 iteration 151 / 500\n", + "state 6 iteration 152 / 500\n", + "state 6 iteration 153 / 500\n", + "state 6 iteration 154 / 500\n", + "state 6 iteration 155 / 500\n", + "state 6 iteration 156 / 500\n", + "state 6 iteration 157 / 500\n", + "state 6 iteration 158 / 500\n", + "state 6 iteration 159 / 500\n", + "state 6 iteration 160 / 500\n", + "state 6 iteration 161 / 500\n", + "state 6 iteration 162 / 500\n", + "state 6 iteration 163 / 500\n", + "state 6 iteration 164 / 500\n", + "state 6 iteration 165 / 500\n", + "state 6 iteration 166 / 500\n", + "state 6 iteration 167 / 500\n", + "state 6 iteration 168 / 500\n", + "state 6 iteration 169 / 500\n", + "state 6 iteration 170 / 500\n", + "state 6 iteration 171 / 500\n", + "state 6 iteration 172 / 500\n", + "state 6 iteration 173 / 500\n", + "state 6 iteration 174 / 500\n", + "state 6 iteration 175 / 500\n", + "state 6 iteration 176 / 500\n", + "state 6 iteration 177 / 500\n", + "state 6 iteration 178 / 500\n", + "state 6 iteration 179 / 500\n", + "state 6 iteration 180 / 500\n", + "state 6 iteration 181 / 500\n", + "state 6 iteration 182 / 500\n", + "state 6 iteration 183 / 500\n", + "state 6 iteration 184 / 500\n", + "state 6 iteration 185 / 500\n", + "state 6 iteration 186 / 500\n", + "state 6 iteration 187 / 500\n", + "state 6 iteration 188 / 500\n", + "state 6 iteration 189 / 500\n", + "state 6 iteration 190 / 500\n", + "state 6 iteration 191 / 500\n", + "state 6 iteration 192 / 500\n", + "state 6 iteration 193 / 500\n", + "state 6 iteration 194 / 500\n", + "state 6 iteration 195 / 500\n", + "state 6 iteration 196 / 500\n", + "state 6 iteration 197 / 500\n", + "state 6 iteration 198 / 500\n", + "state 6 iteration 199 / 500\n", + "state 6 iteration 200 / 500\n", + "state 6 iteration 201 / 500\n", + "state 6 iteration 202 / 500\n", + "state 6 iteration 203 / 500\n", + "state 6 iteration 204 / 500\n", + "state 6 iteration 205 / 500\n", + "state 6 iteration 206 / 500\n", + "state 6 iteration 207 / 500\n", + "state 6 iteration 208 / 500\n", + "state 6 iteration 209 / 500\n", + "state 6 iteration 210 / 500\n", + "state 6 iteration 211 / 500\n", + "state 6 iteration 212 / 500\n", + "state 6 iteration 213 / 500\n", + "state 6 iteration 214 / 500\n", + "state 6 iteration 215 / 500\n", + "state 6 iteration 216 / 500\n", + "state 6 iteration 217 / 500\n", + "state 6 iteration 218 / 500\n", + "state 6 iteration 219 / 500\n", + "state 6 iteration 220 / 500\n", + "state 6 iteration 221 / 500\n", + "state 6 iteration 222 / 500\n", + "state 6 iteration 223 / 500\n", + "state 6 iteration 224 / 500\n", + "state 6 iteration 225 / 500\n", + "state 6 iteration 226 / 500\n", + "state 6 iteration 227 / 500\n", + "state 6 iteration 228 / 500\n", + "state 6 iteration 229 / 500\n", + "state 6 iteration 230 / 500\n", + "state 6 iteration 231 / 500\n", + "state 6 iteration 232 / 500\n", + "state 6 iteration 233 / 500\n", + "state 6 iteration 234 / 500\n", + "state 6 iteration 235 / 500\n", + "state 6 iteration 236 / 500\n", + "state 6 iteration 237 / 500\n", + "state 6 iteration 238 / 500\n", + "state 6 iteration 239 / 500\n", + "state 6 iteration 240 / 500\n", + "state 6 iteration 241 / 500\n", + "state 6 iteration 242 / 500\n", + "state 6 iteration 243 / 500\n", + "state 6 iteration 244 / 500\n", + "state 6 iteration 245 / 500\n", + "state 6 iteration 246 / 500\n", + "state 6 iteration 247 / 500\n", + "state 6 iteration 248 / 500\n", + "state 6 iteration 249 / 500\n", + "state 6 iteration 250 / 500\n", + "state 6 iteration 251 / 500\n", + "state 6 iteration 252 / 500\n", + "state 6 iteration 253 / 500\n", + "state 6 iteration 254 / 500\n", + "state 6 iteration 255 / 500\n", + "state 6 iteration 256 / 500\n", + "state 6 iteration 257 / 500\n", + "state 6 iteration 258 / 500\n", + "state 6 iteration 259 / 500\n", + "state 6 iteration 260 / 500\n", + "state 6 iteration 261 / 500\n", + "state 6 iteration 262 / 500\n", + "state 6 iteration 263 / 500\n", + "state 6 iteration 264 / 500\n", + "state 6 iteration 265 / 500\n", + "state 6 iteration 266 / 500\n", + "state 6 iteration 267 / 500\n", + "state 6 iteration 268 / 500\n", + "state 6 iteration 269 / 500\n", + "state 6 iteration 270 / 500\n", + "state 6 iteration 271 / 500\n", + "state 6 iteration 272 / 500\n", + "state 6 iteration 273 / 500\n", + "state 6 iteration 274 / 500\n", + "state 6 iteration 275 / 500\n", + "state 6 iteration 276 / 500\n", + "state 6 iteration 277 / 500\n", + "state 6 iteration 278 / 500\n", + "state 6 iteration 279 / 500\n", + "state 6 iteration 280 / 500\n", + "state 6 iteration 281 / 500\n", + "state 6 iteration 282 / 500\n", + "state 6 iteration 283 / 500\n", + "state 6 iteration 284 / 500\n", + "state 6 iteration 285 / 500\n", + "state 6 iteration 286 / 500\n", + "state 6 iteration 287 / 500\n", + "state 6 iteration 288 / 500\n", + "state 6 iteration 289 / 500\n", + "state 6 iteration 290 / 500\n", + "state 6 iteration 291 / 500\n", + "state 6 iteration 292 / 500\n", + "state 6 iteration 293 / 500\n", + "state 6 iteration 294 / 500\n", + "state 6 iteration 295 / 500\n", + "state 6 iteration 296 / 500\n", + "state 6 iteration 297 / 500\n", + "state 6 iteration 298 / 500\n", + "state 6 iteration 299 / 500\n", + "state 6 iteration 300 / 500\n", + "state 6 iteration 301 / 500\n", + "state 6 iteration 302 / 500\n", + "state 6 iteration 303 / 500\n", + "state 6 iteration 304 / 500\n", + "state 6 iteration 305 / 500\n", + "state 6 iteration 306 / 500\n", + "state 6 iteration 307 / 500\n", + "state 6 iteration 308 / 500\n", + "state 6 iteration 309 / 500\n", + "state 6 iteration 310 / 500\n", + "state 6 iteration 311 / 500\n", + "state 6 iteration 312 / 500\n", + "state 6 iteration 313 / 500\n", + "state 6 iteration 314 / 500\n", + "state 6 iteration 315 / 500\n", + "state 6 iteration 316 / 500\n", + "state 6 iteration 317 / 500\n", + "state 6 iteration 318 / 500\n", + "state 6 iteration 319 / 500\n", + "state 6 iteration 320 / 500\n", + "state 6 iteration 321 / 500\n", + "state 6 iteration 322 / 500\n", + "state 6 iteration 323 / 500\n", + "state 6 iteration 324 / 500\n", + "state 6 iteration 325 / 500\n", + "state 6 iteration 326 / 500\n", + "state 6 iteration 327 / 500\n", + "state 6 iteration 328 / 500\n", + "state 6 iteration 329 / 500\n", + "state 6 iteration 330 / 500\n", + "state 6 iteration 331 / 500\n", + "state 6 iteration 332 / 500\n", + "state 6 iteration 333 / 500\n", + "state 6 iteration 334 / 500\n", + "state 6 iteration 335 / 500\n", + "state 6 iteration 336 / 500\n", + "state 6 iteration 337 / 500\n", + "state 6 iteration 338 / 500\n", + "state 6 iteration 339 / 500\n", + "state 6 iteration 340 / 500\n", + "state 6 iteration 341 / 500\n", + "state 6 iteration 342 / 500\n", + "state 6 iteration 343 / 500\n", + "state 6 iteration 344 / 500\n", + "state 6 iteration 345 / 500\n", + "state 6 iteration 346 / 500\n", + "state 6 iteration 347 / 500\n", + "state 6 iteration 348 / 500\n", + "state 6 iteration 349 / 500\n", + "state 6 iteration 350 / 500\n", + "state 6 iteration 351 / 500\n", + "state 6 iteration 352 / 500\n", + "state 6 iteration 353 / 500\n", + "state 6 iteration 354 / 500\n", + "state 6 iteration 355 / 500\n", + "state 6 iteration 356 / 500\n", + "state 6 iteration 357 / 500\n", + "state 6 iteration 358 / 500\n", + "state 6 iteration 359 / 500\n", + "state 6 iteration 360 / 500\n", + "state 6 iteration 361 / 500\n", + "state 6 iteration 362 / 500\n", + "state 6 iteration 363 / 500\n", + "state 6 iteration 364 / 500\n", + "state 6 iteration 365 / 500\n", + "state 6 iteration 366 / 500\n", + "state 6 iteration 367 / 500\n", + "state 6 iteration 368 / 500\n", + "state 6 iteration 369 / 500\n", + "state 6 iteration 370 / 500\n", + "state 6 iteration 371 / 500\n", + "state 6 iteration 372 / 500\n", + "state 6 iteration 373 / 500\n", + "state 6 iteration 374 / 500\n", + "state 6 iteration 375 / 500\n", + "state 6 iteration 376 / 500\n", + "state 6 iteration 377 / 500\n", + "state 6 iteration 378 / 500\n", + "state 6 iteration 379 / 500\n", + "state 6 iteration 380 / 500\n", + "state 6 iteration 381 / 500\n", + "state 6 iteration 382 / 500\n", + "state 6 iteration 383 / 500\n", + "state 6 iteration 384 / 500\n", + "state 6 iteration 385 / 500\n", + "state 6 iteration 386 / 500\n", + "state 6 iteration 387 / 500\n", + "state 6 iteration 388 / 500\n", + "state 6 iteration 389 / 500\n", + "state 6 iteration 390 / 500\n", + "state 6 iteration 391 / 500\n", + "state 6 iteration 392 / 500\n", + "state 6 iteration 393 / 500\n", + "state 6 iteration 394 / 500\n", + "state 6 iteration 395 / 500\n", + "state 6 iteration 396 / 500\n", + "state 6 iteration 397 / 500\n", + "state 6 iteration 398 / 500\n", + "state 6 iteration 399 / 500\n", + "state 6 iteration 400 / 500\n", + "state 6 iteration 401 / 500\n", + "state 6 iteration 402 / 500\n", + "state 6 iteration 403 / 500\n", + "state 6 iteration 404 / 500\n", + "state 6 iteration 405 / 500\n", + "state 6 iteration 406 / 500\n", + "state 6 iteration 407 / 500\n", + "state 6 iteration 408 / 500\n", + "state 6 iteration 409 / 500\n", + "state 6 iteration 410 / 500\n", + "state 6 iteration 411 / 500\n", + "state 6 iteration 412 / 500\n", + "state 6 iteration 413 / 500\n", + "state 6 iteration 414 / 500\n", + "state 6 iteration 415 / 500\n", + "state 6 iteration 416 / 500\n", + "state 6 iteration 417 / 500\n", + "state 6 iteration 418 / 500\n", + "state 6 iteration 419 / 500\n", + "state 6 iteration 420 / 500\n", + "state 6 iteration 421 / 500\n", + "state 6 iteration 422 / 500\n", + "state 6 iteration 423 / 500\n", + "state 6 iteration 424 / 500\n", + "state 6 iteration 425 / 500\n", + "state 6 iteration 426 / 500\n", + "state 6 iteration 427 / 500\n", + "state 6 iteration 428 / 500\n", + "state 6 iteration 429 / 500\n", + "state 6 iteration 430 / 500\n", + "state 6 iteration 431 / 500\n", + "state 6 iteration 432 / 500\n", + "state 6 iteration 433 / 500\n", + "state 6 iteration 434 / 500\n", + "state 6 iteration 435 / 500\n", + "state 6 iteration 436 / 500\n", + "state 6 iteration 437 / 500\n", + "state 6 iteration 438 / 500\n", + "state 6 iteration 439 / 500\n", + "state 6 iteration 440 / 500\n", + "state 6 iteration 441 / 500\n", + "state 6 iteration 442 / 500\n", + "state 6 iteration 443 / 500\n", + "state 6 iteration 444 / 500\n", + "state 6 iteration 445 / 500\n", + "state 6 iteration 446 / 500\n", + "state 6 iteration 447 / 500\n", + "state 6 iteration 448 / 500\n", + "state 6 iteration 449 / 500\n", + "state 6 iteration 450 / 500\n", + "state 6 iteration 451 / 500\n", + "state 6 iteration 452 / 500\n", + "state 6 iteration 453 / 500\n", + "state 6 iteration 454 / 500\n", + "state 6 iteration 455 / 500\n", + "state 6 iteration 456 / 500\n", + "state 6 iteration 457 / 500\n", + "state 6 iteration 458 / 500\n", + "state 6 iteration 459 / 500\n", + "state 6 iteration 460 / 500\n", + "state 6 iteration 461 / 500\n", + "state 6 iteration 462 / 500\n", + "state 6 iteration 463 / 500\n", + "state 6 iteration 464 / 500\n", + "state 6 iteration 465 / 500\n", + "state 6 iteration 466 / 500\n", + "state 6 iteration 467 / 500\n", + "state 6 iteration 468 / 500\n", + "state 6 iteration 469 / 500\n", + "state 6 iteration 470 / 500\n", + "state 6 iteration 471 / 500\n", + "state 6 iteration 472 / 500\n", + "state 6 iteration 473 / 500\n", + "state 6 iteration 474 / 500\n", + "state 6 iteration 475 / 500\n", + "state 6 iteration 476 / 500\n", + "state 6 iteration 477 / 500\n", + "state 6 iteration 478 / 500\n", + "state 6 iteration 479 / 500\n", + "state 6 iteration 480 / 500\n", + "state 6 iteration 481 / 500\n", + "state 6 iteration 482 / 500\n", + "state 6 iteration 483 / 500\n", + "state 6 iteration 484 / 500\n", + "state 6 iteration 485 / 500\n", + "state 6 iteration 486 / 500\n", + "state 6 iteration 487 / 500\n", + "state 6 iteration 488 / 500\n", + "state 6 iteration 489 / 500\n", + "state 6 iteration 490 / 500\n", + "state 6 iteration 491 / 500\n", + "state 6 iteration 492 / 500\n", + "state 6 iteration 493 / 500\n", + "state 6 iteration 494 / 500\n", + "state 6 iteration 495 / 500\n", + "state 6 iteration 496 / 500\n", + "state 6 iteration 497 / 500\n", + "state 6 iteration 498 / 500\n", + "state 6 iteration 499 / 500\n", + "state 7 iteration 0 / 500\n", + "state 7 iteration 1 / 500\n", + "state 7 iteration 2 / 500\n", + "state 7 iteration 3 / 500\n", + "state 7 iteration 4 / 500\n", + "state 7 iteration 5 / 500\n", + "state 7 iteration 6 / 500\n", + "state 7 iteration 7 / 500\n", + "state 7 iteration 8 / 500\n", + "state 7 iteration 9 / 500\n", + "state 7 iteration 10 / 500\n", + "state 7 iteration 11 / 500\n", + "state 7 iteration 12 / 500\n", + "state 7 iteration 13 / 500\n", + "state 7 iteration 14 / 500\n", + "state 7 iteration 15 / 500\n", + "state 7 iteration 16 / 500\n", + "state 7 iteration 17 / 500\n", + "state 7 iteration 18 / 500\n", + "state 7 iteration 19 / 500\n", + "state 7 iteration 20 / 500\n", + "state 7 iteration 21 / 500\n", + "state 7 iteration 22 / 500\n", + "state 7 iteration 23 / 500\n", + "state 7 iteration 24 / 500\n", + "state 7 iteration 25 / 500\n", + "state 7 iteration 26 / 500\n", + "state 7 iteration 27 / 500\n", + "state 7 iteration 28 / 500\n", + "state 7 iteration 29 / 500\n", + "state 7 iteration 30 / 500\n", + "state 7 iteration 31 / 500\n", + "state 7 iteration 32 / 500\n", + "state 7 iteration 33 / 500\n", + "state 7 iteration 34 / 500\n", + "state 7 iteration 35 / 500\n", + "state 7 iteration 36 / 500\n", + "state 7 iteration 37 / 500\n", + "state 7 iteration 38 / 500\n", + "state 7 iteration 39 / 500\n", + "state 7 iteration 40 / 500\n", + "state 7 iteration 41 / 500\n", + "state 7 iteration 42 / 500\n", + "state 7 iteration 43 / 500\n", + "state 7 iteration 44 / 500\n", + "state 7 iteration 45 / 500\n", + "state 7 iteration 46 / 500\n", + "state 7 iteration 47 / 500\n", + "state 7 iteration 48 / 500\n", + "state 7 iteration 49 / 500\n", + "state 7 iteration 50 / 500\n", + "state 7 iteration 51 / 500\n", + "state 7 iteration 52 / 500\n", + "state 7 iteration 53 / 500\n", + "state 7 iteration 54 / 500\n", + "state 7 iteration 55 / 500\n", + "state 7 iteration 56 / 500\n", + "state 7 iteration 57 / 500\n", + "state 7 iteration 58 / 500\n", + "state 7 iteration 59 / 500\n", + "state 7 iteration 60 / 500\n", + "state 7 iteration 61 / 500\n", + "state 7 iteration 62 / 500\n", + "state 7 iteration 63 / 500\n", + "state 7 iteration 64 / 500\n", + "state 7 iteration 65 / 500\n", + "state 7 iteration 66 / 500\n", + "state 7 iteration 67 / 500\n", + "state 7 iteration 68 / 500\n", + "state 7 iteration 69 / 500\n", + "state 7 iteration 70 / 500\n", + "state 7 iteration 71 / 500\n", + "state 7 iteration 72 / 500\n", + "state 7 iteration 73 / 500\n", + "state 7 iteration 74 / 500\n", + "state 7 iteration 75 / 500\n", + "state 7 iteration 76 / 500\n", + "state 7 iteration 77 / 500\n", + "state 7 iteration 78 / 500\n", + "state 7 iteration 79 / 500\n", + "state 7 iteration 80 / 500\n", + "state 7 iteration 81 / 500\n", + "state 7 iteration 82 / 500\n", + "state 7 iteration 83 / 500\n", + "state 7 iteration 84 / 500\n", + "state 7 iteration 85 / 500\n", + "state 7 iteration 86 / 500\n", + "state 7 iteration 87 / 500\n", + "state 7 iteration 88 / 500\n", + "state 7 iteration 89 / 500\n", + "state 7 iteration 90 / 500\n", + "state 7 iteration 91 / 500\n", + "state 7 iteration 92 / 500\n", + "state 7 iteration 93 / 500\n", + "state 7 iteration 94 / 500\n", + "state 7 iteration 95 / 500\n", + "state 7 iteration 96 / 500\n", + "state 7 iteration 97 / 500\n", + "state 7 iteration 98 / 500\n", + "state 7 iteration 99 / 500\n", + "state 7 iteration 100 / 500\n", + "state 7 iteration 101 / 500\n", + "state 7 iteration 102 / 500\n", + "state 7 iteration 103 / 500\n", + "state 7 iteration 104 / 500\n", + "state 7 iteration 105 / 500\n", + "state 7 iteration 106 / 500\n", + "state 7 iteration 107 / 500\n", + "state 7 iteration 108 / 500\n", + "state 7 iteration 109 / 500\n", + "state 7 iteration 110 / 500\n", + "state 7 iteration 111 / 500\n", + "state 7 iteration 112 / 500\n", + "state 7 iteration 113 / 500\n", + "state 7 iteration 114 / 500\n", + "state 7 iteration 115 / 500\n", + "state 7 iteration 116 / 500\n", + "state 7 iteration 117 / 500\n", + "state 7 iteration 118 / 500\n", + "state 7 iteration 119 / 500\n", + "state 7 iteration 120 / 500\n", + "state 7 iteration 121 / 500\n", + "state 7 iteration 122 / 500\n", + "state 7 iteration 123 / 500\n", + "state 7 iteration 124 / 500\n", + "state 7 iteration 125 / 500\n", + "state 7 iteration 126 / 500\n", + "state 7 iteration 127 / 500\n", + "state 7 iteration 128 / 500\n", + "state 7 iteration 129 / 500\n", + "state 7 iteration 130 / 500\n", + "state 7 iteration 131 / 500\n", + "state 7 iteration 132 / 500\n", + "state 7 iteration 133 / 500\n", + "state 7 iteration 134 / 500\n", + "state 7 iteration 135 / 500\n", + "state 7 iteration 136 / 500\n", + "state 7 iteration 137 / 500\n", + "state 7 iteration 138 / 500\n", + "state 7 iteration 139 / 500\n", + "state 7 iteration 140 / 500\n", + "state 7 iteration 141 / 500\n", + "state 7 iteration 142 / 500\n", + "state 7 iteration 143 / 500\n", + "state 7 iteration 144 / 500\n", + "state 7 iteration 145 / 500\n", + "state 7 iteration 146 / 500\n", + "state 7 iteration 147 / 500\n", + "state 7 iteration 148 / 500\n", + "state 7 iteration 149 / 500\n", + "state 7 iteration 150 / 500\n", + "state 7 iteration 151 / 500\n", + "state 7 iteration 152 / 500\n", + "state 7 iteration 153 / 500\n", + "state 7 iteration 154 / 500\n", + "state 7 iteration 155 / 500\n", + "state 7 iteration 156 / 500\n", + "state 7 iteration 157 / 500\n", + "state 7 iteration 158 / 500\n", + "state 7 iteration 159 / 500\n", + "state 7 iteration 160 / 500\n", + "state 7 iteration 161 / 500\n", + "state 7 iteration 162 / 500\n", + "state 7 iteration 163 / 500\n", + "state 7 iteration 164 / 500\n", + "state 7 iteration 165 / 500\n", + "state 7 iteration 166 / 500\n", + "state 7 iteration 167 / 500\n", + "state 7 iteration 168 / 500\n", + "state 7 iteration 169 / 500\n", + "state 7 iteration 170 / 500\n", + "state 7 iteration 171 / 500\n", + "state 7 iteration 172 / 500\n", + "state 7 iteration 173 / 500\n", + "state 7 iteration 174 / 500\n", + "state 7 iteration 175 / 500\n", + "state 7 iteration 176 / 500\n", + "state 7 iteration 177 / 500\n", + "state 7 iteration 178 / 500\n", + "state 7 iteration 179 / 500\n", + "state 7 iteration 180 / 500\n", + "state 7 iteration 181 / 500\n", + "state 7 iteration 182 / 500\n", + "state 7 iteration 183 / 500\n", + "state 7 iteration 184 / 500\n", + "state 7 iteration 185 / 500\n", + "state 7 iteration 186 / 500\n", + "state 7 iteration 187 / 500\n", + "state 7 iteration 188 / 500\n", + "state 7 iteration 189 / 500\n", + "state 7 iteration 190 / 500\n", + "state 7 iteration 191 / 500\n", + "state 7 iteration 192 / 500\n", + "state 7 iteration 193 / 500\n", + "state 7 iteration 194 / 500\n", + "state 7 iteration 195 / 500\n", + "state 7 iteration 196 / 500\n", + "state 7 iteration 197 / 500\n", + "state 7 iteration 198 / 500\n", + "state 7 iteration 199 / 500\n", + "state 7 iteration 200 / 500\n", + "state 7 iteration 201 / 500\n", + "state 7 iteration 202 / 500\n", + "state 7 iteration 203 / 500\n", + "state 7 iteration 204 / 500\n", + "state 7 iteration 205 / 500\n", + "state 7 iteration 206 / 500\n", + "state 7 iteration 207 / 500\n", + "state 7 iteration 208 / 500\n", + "state 7 iteration 209 / 500\n", + "state 7 iteration 210 / 500\n", + "state 7 iteration 211 / 500\n", + "state 7 iteration 212 / 500\n", + "state 7 iteration 213 / 500\n", + "state 7 iteration 214 / 500\n", + "state 7 iteration 215 / 500\n", + "state 7 iteration 216 / 500\n", + "state 7 iteration 217 / 500\n", + "state 7 iteration 218 / 500\n", + "state 7 iteration 219 / 500\n", + "state 7 iteration 220 / 500\n", + "state 7 iteration 221 / 500\n", + "state 7 iteration 222 / 500\n", + "state 7 iteration 223 / 500\n", + "state 7 iteration 224 / 500\n", + "state 7 iteration 225 / 500\n", + "state 7 iteration 226 / 500\n", + "state 7 iteration 227 / 500\n", + "state 7 iteration 228 / 500\n", + "state 7 iteration 229 / 500\n", + "state 7 iteration 230 / 500\n", + "state 7 iteration 231 / 500\n", + "state 7 iteration 232 / 500\n", + "state 7 iteration 233 / 500\n", + "state 7 iteration 234 / 500\n", + "state 7 iteration 235 / 500\n", + "state 7 iteration 236 / 500\n", + "state 7 iteration 237 / 500\n", + "state 7 iteration 238 / 500\n", + "state 7 iteration 239 / 500\n", + "state 7 iteration 240 / 500\n", + "state 7 iteration 241 / 500\n", + "state 7 iteration 242 / 500\n", + "state 7 iteration 243 / 500\n", + "state 7 iteration 244 / 500\n", + "state 7 iteration 245 / 500\n", + "state 7 iteration 246 / 500\n", + "state 7 iteration 247 / 500\n", + "state 7 iteration 248 / 500\n", + "state 7 iteration 249 / 500\n", + "state 7 iteration 250 / 500\n", + "state 7 iteration 251 / 500\n", + "state 7 iteration 252 / 500\n", + "state 7 iteration 253 / 500\n", + "state 7 iteration 254 / 500\n", + "state 7 iteration 255 / 500\n", + "state 7 iteration 256 / 500\n", + "state 7 iteration 257 / 500\n", + "state 7 iteration 258 / 500\n", + "state 7 iteration 259 / 500\n", + "state 7 iteration 260 / 500\n", + "state 7 iteration 261 / 500\n", + "state 7 iteration 262 / 500\n", + "state 7 iteration 263 / 500\n", + "state 7 iteration 264 / 500\n", + "state 7 iteration 265 / 500\n", + "state 7 iteration 266 / 500\n", + "state 7 iteration 267 / 500\n", + "state 7 iteration 268 / 500\n", + "state 7 iteration 269 / 500\n", + "state 7 iteration 270 / 500\n", + "state 7 iteration 271 / 500\n", + "state 7 iteration 272 / 500\n", + "state 7 iteration 273 / 500\n", + "state 7 iteration 274 / 500\n", + "state 7 iteration 275 / 500\n", + "state 7 iteration 276 / 500\n", + "state 7 iteration 277 / 500\n", + "state 7 iteration 278 / 500\n", + "state 7 iteration 279 / 500\n", + "state 7 iteration 280 / 500\n", + "state 7 iteration 281 / 500\n", + "state 7 iteration 282 / 500\n", + "state 7 iteration 283 / 500\n", + "state 7 iteration 284 / 500\n", + "state 7 iteration 285 / 500\n", + "state 7 iteration 286 / 500\n", + "state 7 iteration 287 / 500\n", + "state 7 iteration 288 / 500\n", + "state 7 iteration 289 / 500\n", + "state 7 iteration 290 / 500\n", + "state 7 iteration 291 / 500\n", + "state 7 iteration 292 / 500\n", + "state 7 iteration 293 / 500\n", + "state 7 iteration 294 / 500\n", + "state 7 iteration 295 / 500\n", + "state 7 iteration 296 / 500\n", + "state 7 iteration 297 / 500\n", + "state 7 iteration 298 / 500\n", + "state 7 iteration 299 / 500\n", + "state 7 iteration 300 / 500\n", + "state 7 iteration 301 / 500\n", + "state 7 iteration 302 / 500\n", + "state 7 iteration 303 / 500\n", + "state 7 iteration 304 / 500\n", + "state 7 iteration 305 / 500\n", + "state 7 iteration 306 / 500\n", + "state 7 iteration 307 / 500\n", + "state 7 iteration 308 / 500\n", + "state 7 iteration 309 / 500\n", + "state 7 iteration 310 / 500\n", + "state 7 iteration 311 / 500\n", + "state 7 iteration 312 / 500\n", + "state 7 iteration 313 / 500\n", + "state 7 iteration 314 / 500\n", + "state 7 iteration 315 / 500\n", + "state 7 iteration 316 / 500\n", + "state 7 iteration 317 / 500\n", + "state 7 iteration 318 / 500\n", + "state 7 iteration 319 / 500\n", + "state 7 iteration 320 / 500\n", + "state 7 iteration 321 / 500\n", + "state 7 iteration 322 / 500\n", + "state 7 iteration 323 / 500\n", + "state 7 iteration 324 / 500\n", + "state 7 iteration 325 / 500\n", + "state 7 iteration 326 / 500\n", + "state 7 iteration 327 / 500\n", + "state 7 iteration 328 / 500\n", + "state 7 iteration 329 / 500\n", + "state 7 iteration 330 / 500\n", + "state 7 iteration 331 / 500\n", + "state 7 iteration 332 / 500\n", + "state 7 iteration 333 / 500\n", + "state 7 iteration 334 / 500\n", + "state 7 iteration 335 / 500\n", + "state 7 iteration 336 / 500\n", + "state 7 iteration 337 / 500\n", + "state 7 iteration 338 / 500\n", + "state 7 iteration 339 / 500\n", + "state 7 iteration 340 / 500\n", + "state 7 iteration 341 / 500\n", + "state 7 iteration 342 / 500\n", + "state 7 iteration 343 / 500\n", + "state 7 iteration 344 / 500\n", + "state 7 iteration 345 / 500\n", + "state 7 iteration 346 / 500\n", + "state 7 iteration 347 / 500\n", + "state 7 iteration 348 / 500\n", + "state 7 iteration 349 / 500\n", + "state 7 iteration 350 / 500\n", + "state 7 iteration 351 / 500\n", + "state 7 iteration 352 / 500\n", + "state 7 iteration 353 / 500\n", + "state 7 iteration 354 / 500\n", + "state 7 iteration 355 / 500\n", + "state 7 iteration 356 / 500\n", + "state 7 iteration 357 / 500\n", + "state 7 iteration 358 / 500\n", + "state 7 iteration 359 / 500\n", + "state 7 iteration 360 / 500\n", + "state 7 iteration 361 / 500\n", + "state 7 iteration 362 / 500\n", + "state 7 iteration 363 / 500\n", + "state 7 iteration 364 / 500\n", + "state 7 iteration 365 / 500\n", + "state 7 iteration 366 / 500\n", + "state 7 iteration 367 / 500\n", + "state 7 iteration 368 / 500\n", + "state 7 iteration 369 / 500\n", + "state 7 iteration 370 / 500\n", + "state 7 iteration 371 / 500\n", + "state 7 iteration 372 / 500\n", + "state 7 iteration 373 / 500\n", + "state 7 iteration 374 / 500\n", + "state 7 iteration 375 / 500\n", + "state 7 iteration 376 / 500\n", + "state 7 iteration 377 / 500\n", + "state 7 iteration 378 / 500\n", + "state 7 iteration 379 / 500\n", + "state 7 iteration 380 / 500\n", + "state 7 iteration 381 / 500\n", + "state 7 iteration 382 / 500\n", + "state 7 iteration 383 / 500\n", + "state 7 iteration 384 / 500\n", + "state 7 iteration 385 / 500\n", + "state 7 iteration 386 / 500\n", + "state 7 iteration 387 / 500\n", + "state 7 iteration 388 / 500\n", + "state 7 iteration 389 / 500\n", + "state 7 iteration 390 / 500\n", + "state 7 iteration 391 / 500\n", + "state 7 iteration 392 / 500\n", + "state 7 iteration 393 / 500\n", + "state 7 iteration 394 / 500\n", + "state 7 iteration 395 / 500\n", + "state 7 iteration 396 / 500\n", + "state 7 iteration 397 / 500\n", + "state 7 iteration 398 / 500\n", + "state 7 iteration 399 / 500\n", + "state 7 iteration 400 / 500\n", + "state 7 iteration 401 / 500\n", + "state 7 iteration 402 / 500\n", + "state 7 iteration 403 / 500\n", + "state 7 iteration 404 / 500\n", + "state 7 iteration 405 / 500\n", + "state 7 iteration 406 / 500\n", + "state 7 iteration 407 / 500\n", + "state 7 iteration 408 / 500\n", + "state 7 iteration 409 / 500\n", + "state 7 iteration 410 / 500\n", + "state 7 iteration 411 / 500\n", + "state 7 iteration 412 / 500\n", + "state 7 iteration 413 / 500\n", + "state 7 iteration 414 / 500\n", + "state 7 iteration 415 / 500\n", + "state 7 iteration 416 / 500\n", + "state 7 iteration 417 / 500\n", + "state 7 iteration 418 / 500\n", + "state 7 iteration 419 / 500\n", + "state 7 iteration 420 / 500\n", + "state 7 iteration 421 / 500\n", + "state 7 iteration 422 / 500\n", + "state 7 iteration 423 / 500\n", + "state 7 iteration 424 / 500\n", + "state 7 iteration 425 / 500\n", + "state 7 iteration 426 / 500\n", + "state 7 iteration 427 / 500\n", + "state 7 iteration 428 / 500\n", + "state 7 iteration 429 / 500\n", + "state 7 iteration 430 / 500\n", + "state 7 iteration 431 / 500\n", + "state 7 iteration 432 / 500\n", + "state 7 iteration 433 / 500\n", + "state 7 iteration 434 / 500\n", + "state 7 iteration 435 / 500\n", + "state 7 iteration 436 / 500\n", + "state 7 iteration 437 / 500\n", + "state 7 iteration 438 / 500\n", + "state 7 iteration 439 / 500\n", + "state 7 iteration 440 / 500\n", + "state 7 iteration 441 / 500\n", + "state 7 iteration 442 / 500\n", + "state 7 iteration 443 / 500\n", + "state 7 iteration 444 / 500\n", + "state 7 iteration 445 / 500\n", + "state 7 iteration 446 / 500\n", + "state 7 iteration 447 / 500\n", + "state 7 iteration 448 / 500\n", + "state 7 iteration 449 / 500\n", + "state 7 iteration 450 / 500\n", + "state 7 iteration 451 / 500\n", + "state 7 iteration 452 / 500\n", + "state 7 iteration 453 / 500\n", + "state 7 iteration 454 / 500\n", + "state 7 iteration 455 / 500\n", + "state 7 iteration 456 / 500\n", + "state 7 iteration 457 / 500\n", + "state 7 iteration 458 / 500\n", + "state 7 iteration 459 / 500\n", + "state 7 iteration 460 / 500\n", + "state 7 iteration 461 / 500\n", + "state 7 iteration 462 / 500\n", + "state 7 iteration 463 / 500\n", + "state 7 iteration 464 / 500\n", + "state 7 iteration 465 / 500\n", + "state 7 iteration 466 / 500\n", + "state 7 iteration 467 / 500\n", + "state 7 iteration 468 / 500\n", + "state 7 iteration 469 / 500\n", + "state 7 iteration 470 / 500\n", + "state 7 iteration 471 / 500\n", + "state 7 iteration 472 / 500\n", + "state 7 iteration 473 / 500\n", + "state 7 iteration 474 / 500\n", + "state 7 iteration 475 / 500\n", + "state 7 iteration 476 / 500\n", + "state 7 iteration 477 / 500\n", + "state 7 iteration 478 / 500\n", + "state 7 iteration 479 / 500\n", + "state 7 iteration 480 / 500\n", + "state 7 iteration 481 / 500\n", + "state 7 iteration 482 / 500\n", + "state 7 iteration 483 / 500\n", + "state 7 iteration 484 / 500\n", + "state 7 iteration 485 / 500\n", + "state 7 iteration 486 / 500\n", + "state 7 iteration 487 / 500\n", + "state 7 iteration 488 / 500\n", + "state 7 iteration 489 / 500\n", + "state 7 iteration 490 / 500\n", + "state 7 iteration 491 / 500\n", + "state 7 iteration 492 / 500\n", + "state 7 iteration 493 / 500\n", + "state 7 iteration 494 / 500\n", + "state 7 iteration 495 / 500\n", + "state 7 iteration 496 / 500\n", + "state 7 iteration 497 / 500\n", + "state 7 iteration 498 / 500\n", + "state 7 iteration 499 / 500\n", + "state 8 iteration 0 / 500\n", + "state 8 iteration 1 / 500\n", + "state 8 iteration 2 / 500\n", + "state 8 iteration 3 / 500\n", + "state 8 iteration 4 / 500\n", + "state 8 iteration 5 / 500\n", + "state 8 iteration 6 / 500\n", + "state 8 iteration 7 / 500\n", + "state 8 iteration 8 / 500\n", + "state 8 iteration 9 / 500\n", + "state 8 iteration 10 / 500\n", + "state 8 iteration 11 / 500\n", + "state 8 iteration 12 / 500\n", + "state 8 iteration 13 / 500\n", + "state 8 iteration 14 / 500\n", + "state 8 iteration 15 / 500\n", + "state 8 iteration 16 / 500\n", + "state 8 iteration 17 / 500\n", + "state 8 iteration 18 / 500\n", + "state 8 iteration 19 / 500\n", + "state 8 iteration 20 / 500\n", + "state 8 iteration 21 / 500\n", + "state 8 iteration 22 / 500\n", + "state 8 iteration 23 / 500\n", + "state 8 iteration 24 / 500\n", + "state 8 iteration 25 / 500\n", + "state 8 iteration 26 / 500\n", + "state 8 iteration 27 / 500\n", + "state 8 iteration 28 / 500\n", + "state 8 iteration 29 / 500\n", + "state 8 iteration 30 / 500\n", + "state 8 iteration 31 / 500\n", + "state 8 iteration 32 / 500\n", + "state 8 iteration 33 / 500\n", + "state 8 iteration 34 / 500\n", + "state 8 iteration 35 / 500\n", + "state 8 iteration 36 / 500\n", + "state 8 iteration 37 / 500\n", + "state 8 iteration 38 / 500\n", + "state 8 iteration 39 / 500\n", + "state 8 iteration 40 / 500\n", + "state 8 iteration 41 / 500\n", + "state 8 iteration 42 / 500\n", + "state 8 iteration 43 / 500\n", + "state 8 iteration 44 / 500\n", + "state 8 iteration 45 / 500\n", + "state 8 iteration 46 / 500\n", + "state 8 iteration 47 / 500\n", + "state 8 iteration 48 / 500\n", + "state 8 iteration 49 / 500\n", + "state 8 iteration 50 / 500\n", + "state 8 iteration 51 / 500\n", + "state 8 iteration 52 / 500\n", + "state 8 iteration 53 / 500\n", + "state 8 iteration 54 / 500\n", + "state 8 iteration 55 / 500\n", + "state 8 iteration 56 / 500\n", + "state 8 iteration 57 / 500\n", + "state 8 iteration 58 / 500\n", + "state 8 iteration 59 / 500\n", + "state 8 iteration 60 / 500\n", + "state 8 iteration 61 / 500\n", + "state 8 iteration 62 / 500\n", + "state 8 iteration 63 / 500\n", + "state 8 iteration 64 / 500\n", + "state 8 iteration 65 / 500\n", + "state 8 iteration 66 / 500\n", + "state 8 iteration 67 / 500\n", + "state 8 iteration 68 / 500\n", + "state 8 iteration 69 / 500\n", + "state 8 iteration 70 / 500\n", + "state 8 iteration 71 / 500\n", + "state 8 iteration 72 / 500\n", + "state 8 iteration 73 / 500\n", + "state 8 iteration 74 / 500\n", + "state 8 iteration 75 / 500\n", + "state 8 iteration 76 / 500\n", + "state 8 iteration 77 / 500\n", + "state 8 iteration 78 / 500\n", + "state 8 iteration 79 / 500\n", + "state 8 iteration 80 / 500\n", + "state 8 iteration 81 / 500\n", + "state 8 iteration 82 / 500\n", + "state 8 iteration 83 / 500\n", + "state 8 iteration 84 / 500\n", + "state 8 iteration 85 / 500\n", + "state 8 iteration 86 / 500\n", + "state 8 iteration 87 / 500\n", + "state 8 iteration 88 / 500\n", + "state 8 iteration 89 / 500\n", + "state 8 iteration 90 / 500\n", + "state 8 iteration 91 / 500\n", + "state 8 iteration 92 / 500\n", + "state 8 iteration 93 / 500\n", + "state 8 iteration 94 / 500\n", + "state 8 iteration 95 / 500\n", + "state 8 iteration 96 / 500\n", + "state 8 iteration 97 / 500\n", + "state 8 iteration 98 / 500\n", + "state 8 iteration 99 / 500\n", + "state 8 iteration 100 / 500\n", + "state 8 iteration 101 / 500\n", + "state 8 iteration 102 / 500\n", + "state 8 iteration 103 / 500\n", + "state 8 iteration 104 / 500\n", + "state 8 iteration 105 / 500\n", + "state 8 iteration 106 / 500\n", + "state 8 iteration 107 / 500\n", + "state 8 iteration 108 / 500\n", + "state 8 iteration 109 / 500\n", + "state 8 iteration 110 / 500\n", + "state 8 iteration 111 / 500\n", + "state 8 iteration 112 / 500\n", + "state 8 iteration 113 / 500\n", + "state 8 iteration 114 / 500\n", + "state 8 iteration 115 / 500\n", + "state 8 iteration 116 / 500\n", + "state 8 iteration 117 / 500\n", + "state 8 iteration 118 / 500\n", + "state 8 iteration 119 / 500\n", + "state 8 iteration 120 / 500\n", + "state 8 iteration 121 / 500\n", + "state 8 iteration 122 / 500\n", + "state 8 iteration 123 / 500\n", + "state 8 iteration 124 / 500\n", + "state 8 iteration 125 / 500\n", + "state 8 iteration 126 / 500\n", + "state 8 iteration 127 / 500\n", + "state 8 iteration 128 / 500\n", + "state 8 iteration 129 / 500\n", + "state 8 iteration 130 / 500\n", + "state 8 iteration 131 / 500\n", + "state 8 iteration 132 / 500\n", + "state 8 iteration 133 / 500\n", + "state 8 iteration 134 / 500\n", + "state 8 iteration 135 / 500\n", + "state 8 iteration 136 / 500\n", + "state 8 iteration 137 / 500\n", + "state 8 iteration 138 / 500\n", + "state 8 iteration 139 / 500\n", + "state 8 iteration 140 / 500\n", + "state 8 iteration 141 / 500\n", + "state 8 iteration 142 / 500\n", + "state 8 iteration 143 / 500\n", + "state 8 iteration 144 / 500\n", + "state 8 iteration 145 / 500\n", + "state 8 iteration 146 / 500\n", + "state 8 iteration 147 / 500\n", + "state 8 iteration 148 / 500\n", + "state 8 iteration 149 / 500\n", + "state 8 iteration 150 / 500\n", + "state 8 iteration 151 / 500\n", + "state 8 iteration 152 / 500\n", + "state 8 iteration 153 / 500\n", + "state 8 iteration 154 / 500\n", + "state 8 iteration 155 / 500\n", + "state 8 iteration 156 / 500\n", + "state 8 iteration 157 / 500\n", + "state 8 iteration 158 / 500\n", + "state 8 iteration 159 / 500\n", + "state 8 iteration 160 / 500\n", + "state 8 iteration 161 / 500\n", + "state 8 iteration 162 / 500\n", + "state 8 iteration 163 / 500\n", + "state 8 iteration 164 / 500\n", + "state 8 iteration 165 / 500\n", + "state 8 iteration 166 / 500\n", + "state 8 iteration 167 / 500\n", + "state 8 iteration 168 / 500\n", + "state 8 iteration 169 / 500\n", + "state 8 iteration 170 / 500\n", + "state 8 iteration 171 / 500\n", + "state 8 iteration 172 / 500\n", + "state 8 iteration 173 / 500\n", + "state 8 iteration 174 / 500\n", + "state 8 iteration 175 / 500\n", + "state 8 iteration 176 / 500\n", + "state 8 iteration 177 / 500\n", + "state 8 iteration 178 / 500\n", + "state 8 iteration 179 / 500\n", + "state 8 iteration 180 / 500\n", + "state 8 iteration 181 / 500\n", + "state 8 iteration 182 / 500\n", + "state 8 iteration 183 / 500\n", + "state 8 iteration 184 / 500\n", + "state 8 iteration 185 / 500\n", + "state 8 iteration 186 / 500\n", + "state 8 iteration 187 / 500\n", + "state 8 iteration 188 / 500\n", + "state 8 iteration 189 / 500\n", + "state 8 iteration 190 / 500\n", + "state 8 iteration 191 / 500\n", + "state 8 iteration 192 / 500\n", + "state 8 iteration 193 / 500\n", + "state 8 iteration 194 / 500\n", + "state 8 iteration 195 / 500\n", + "state 8 iteration 196 / 500\n", + "state 8 iteration 197 / 500\n", + "state 8 iteration 198 / 500\n", + "state 8 iteration 199 / 500\n", + "state 8 iteration 200 / 500\n", + "state 8 iteration 201 / 500\n", + "state 8 iteration 202 / 500\n", + "state 8 iteration 203 / 500\n", + "state 8 iteration 204 / 500\n", + "state 8 iteration 205 / 500\n", + "state 8 iteration 206 / 500\n", + "state 8 iteration 207 / 500\n", + "state 8 iteration 208 / 500\n", + "state 8 iteration 209 / 500\n", + "state 8 iteration 210 / 500\n", + "state 8 iteration 211 / 500\n", + "state 8 iteration 212 / 500\n", + "state 8 iteration 213 / 500\n", + "state 8 iteration 214 / 500\n", + "state 8 iteration 215 / 500\n", + "state 8 iteration 216 / 500\n", + "state 8 iteration 217 / 500\n", + "state 8 iteration 218 / 500\n", + "state 8 iteration 219 / 500\n", + "state 8 iteration 220 / 500\n", + "state 8 iteration 221 / 500\n", + "state 8 iteration 222 / 500\n", + "state 8 iteration 223 / 500\n", + "state 8 iteration 224 / 500\n", + "state 8 iteration 225 / 500\n", + "state 8 iteration 226 / 500\n", + "state 8 iteration 227 / 500\n", + "state 8 iteration 228 / 500\n", + "state 8 iteration 229 / 500\n", + "state 8 iteration 230 / 500\n", + "state 8 iteration 231 / 500\n", + "state 8 iteration 232 / 500\n", + "state 8 iteration 233 / 500\n", + "state 8 iteration 234 / 500\n", + "state 8 iteration 235 / 500\n", + "state 8 iteration 236 / 500\n", + "state 8 iteration 237 / 500\n", + "state 8 iteration 238 / 500\n", + "state 8 iteration 239 / 500\n", + "state 8 iteration 240 / 500\n", + "state 8 iteration 241 / 500\n", + "state 8 iteration 242 / 500\n", + "state 8 iteration 243 / 500\n", + "state 8 iteration 244 / 500\n", + "state 8 iteration 245 / 500\n", + "state 8 iteration 246 / 500\n", + "state 8 iteration 247 / 500\n", + "state 8 iteration 248 / 500\n", + "state 8 iteration 249 / 500\n", + "state 8 iteration 250 / 500\n", + "state 8 iteration 251 / 500\n", + "state 8 iteration 252 / 500\n", + "state 8 iteration 253 / 500\n", + "state 8 iteration 254 / 500\n", + "state 8 iteration 255 / 500\n", + "state 8 iteration 256 / 500\n", + "state 8 iteration 257 / 500\n", + "state 8 iteration 258 / 500\n", + "state 8 iteration 259 / 500\n", + "state 8 iteration 260 / 500\n", + "state 8 iteration 261 / 500\n", + "state 8 iteration 262 / 500\n", + "state 8 iteration 263 / 500\n", + "state 8 iteration 264 / 500\n", + "state 8 iteration 265 / 500\n", + "state 8 iteration 266 / 500\n", + "state 8 iteration 267 / 500\n", + "state 8 iteration 268 / 500\n", + "state 8 iteration 269 / 500\n", + "state 8 iteration 270 / 500\n", + "state 8 iteration 271 / 500\n", + "state 8 iteration 272 / 500\n", + "state 8 iteration 273 / 500\n", + "state 8 iteration 274 / 500\n", + "state 8 iteration 275 / 500\n", + "state 8 iteration 276 / 500\n", + "state 8 iteration 277 / 500\n", + "state 8 iteration 278 / 500\n", + "state 8 iteration 279 / 500\n", + "state 8 iteration 280 / 500\n", + "state 8 iteration 281 / 500\n", + "state 8 iteration 282 / 500\n", + "state 8 iteration 283 / 500\n", + "state 8 iteration 284 / 500\n", + "state 8 iteration 285 / 500\n", + "state 8 iteration 286 / 500\n", + "state 8 iteration 287 / 500\n", + "state 8 iteration 288 / 500\n", + "state 8 iteration 289 / 500\n", + "state 8 iteration 290 / 500\n", + "state 8 iteration 291 / 500\n", + "state 8 iteration 292 / 500\n", + "state 8 iteration 293 / 500\n", + "state 8 iteration 294 / 500\n", + "state 8 iteration 295 / 500\n", + "state 8 iteration 296 / 500\n", + "state 8 iteration 297 / 500\n", + "state 8 iteration 298 / 500\n", + "state 8 iteration 299 / 500\n", + "state 8 iteration 300 / 500\n", + "state 8 iteration 301 / 500\n", + "state 8 iteration 302 / 500\n", + "state 8 iteration 303 / 500\n", + "state 8 iteration 304 / 500\n", + "state 8 iteration 305 / 500\n", + "state 8 iteration 306 / 500\n", + "state 8 iteration 307 / 500\n", + "state 8 iteration 308 / 500\n", + "state 8 iteration 309 / 500\n", + "state 8 iteration 310 / 500\n", + "state 8 iteration 311 / 500\n", + "state 8 iteration 312 / 500\n", + "state 8 iteration 313 / 500\n", + "state 8 iteration 314 / 500\n", + "state 8 iteration 315 / 500\n", + "state 8 iteration 316 / 500\n", + "state 8 iteration 317 / 500\n", + "state 8 iteration 318 / 500\n", + "state 8 iteration 319 / 500\n", + "state 8 iteration 320 / 500\n", + "state 8 iteration 321 / 500\n", + "state 8 iteration 322 / 500\n", + "state 8 iteration 323 / 500\n", + "state 8 iteration 324 / 500\n", + "state 8 iteration 325 / 500\n", + "state 8 iteration 326 / 500\n", + "state 8 iteration 327 / 500\n", + "state 8 iteration 328 / 500\n", + "state 8 iteration 329 / 500\n", + "state 8 iteration 330 / 500\n", + "state 8 iteration 331 / 500\n", + "state 8 iteration 332 / 500\n", + "state 8 iteration 333 / 500\n", + "state 8 iteration 334 / 500\n", + "state 8 iteration 335 / 500\n", + "state 8 iteration 336 / 500\n", + "state 8 iteration 337 / 500\n", + "state 8 iteration 338 / 500\n", + "state 8 iteration 339 / 500\n", + "state 8 iteration 340 / 500\n", + "state 8 iteration 341 / 500\n", + "state 8 iteration 342 / 500\n", + "state 8 iteration 343 / 500\n", + "state 8 iteration 344 / 500\n", + "state 8 iteration 345 / 500\n", + "state 8 iteration 346 / 500\n", + "state 8 iteration 347 / 500\n", + "state 8 iteration 348 / 500\n", + "state 8 iteration 349 / 500\n", + "state 8 iteration 350 / 500\n", + "state 8 iteration 351 / 500\n", + "state 8 iteration 352 / 500\n", + "state 8 iteration 353 / 500\n", + "state 8 iteration 354 / 500\n", + "state 8 iteration 355 / 500\n", + "state 8 iteration 356 / 500\n", + "state 8 iteration 357 / 500\n", + "state 8 iteration 358 / 500\n", + "state 8 iteration 359 / 500\n", + "state 8 iteration 360 / 500\n", + "state 8 iteration 361 / 500\n", + "state 8 iteration 362 / 500\n", + "state 8 iteration 363 / 500\n", + "state 8 iteration 364 / 500\n", + "state 8 iteration 365 / 500\n", + "state 8 iteration 366 / 500\n", + "state 8 iteration 367 / 500\n", + "state 8 iteration 368 / 500\n", + "state 8 iteration 369 / 500\n", + "state 8 iteration 370 / 500\n", + "state 8 iteration 371 / 500\n", + "state 8 iteration 372 / 500\n", + "state 8 iteration 373 / 500\n", + "state 8 iteration 374 / 500\n", + "state 8 iteration 375 / 500\n", + "state 8 iteration 376 / 500\n", + "state 8 iteration 377 / 500\n", + "state 8 iteration 378 / 500\n", + "state 8 iteration 379 / 500\n", + "state 8 iteration 380 / 500\n", + "state 8 iteration 381 / 500\n", + "state 8 iteration 382 / 500\n", + "state 8 iteration 383 / 500\n", + "state 8 iteration 384 / 500\n", + "state 8 iteration 385 / 500\n", + "state 8 iteration 386 / 500\n", + "state 8 iteration 387 / 500\n", + "state 8 iteration 388 / 500\n", + "state 8 iteration 389 / 500\n", + "state 8 iteration 390 / 500\n", + "state 8 iteration 391 / 500\n", + "state 8 iteration 392 / 500\n", + "state 8 iteration 393 / 500\n", + "state 8 iteration 394 / 500\n", + "state 8 iteration 395 / 500\n", + "state 8 iteration 396 / 500\n", + "state 8 iteration 397 / 500\n", + "state 8 iteration 398 / 500\n", + "state 8 iteration 399 / 500\n", + "state 8 iteration 400 / 500\n", + "state 8 iteration 401 / 500\n", + "state 8 iteration 402 / 500\n", + "state 8 iteration 403 / 500\n", + "state 8 iteration 404 / 500\n", + "state 8 iteration 405 / 500\n", + "state 8 iteration 406 / 500\n", + "state 8 iteration 407 / 500\n", + "state 8 iteration 408 / 500\n", + "state 8 iteration 409 / 500\n", + "state 8 iteration 410 / 500\n", + "state 8 iteration 411 / 500\n", + "state 8 iteration 412 / 500\n", + "state 8 iteration 413 / 500\n", + "state 8 iteration 414 / 500\n", + "state 8 iteration 415 / 500\n", + "state 8 iteration 416 / 500\n", + "state 8 iteration 417 / 500\n", + "state 8 iteration 418 / 500\n", + "state 8 iteration 419 / 500\n", + "state 8 iteration 420 / 500\n", + "state 8 iteration 421 / 500\n", + "state 8 iteration 422 / 500\n", + "state 8 iteration 423 / 500\n", + "state 8 iteration 424 / 500\n", + "state 8 iteration 425 / 500\n", + "state 8 iteration 426 / 500\n", + "state 8 iteration 427 / 500\n", + "state 8 iteration 428 / 500\n", + "state 8 iteration 429 / 500\n", + "state 8 iteration 430 / 500\n", + "state 8 iteration 431 / 500\n", + "state 8 iteration 432 / 500\n", + "state 8 iteration 433 / 500\n", + "state 8 iteration 434 / 500\n", + "state 8 iteration 435 / 500\n", + "state 8 iteration 436 / 500\n", + "state 8 iteration 437 / 500\n", + "state 8 iteration 438 / 500\n", + "state 8 iteration 439 / 500\n", + "state 8 iteration 440 / 500\n", + "state 8 iteration 441 / 500\n", + "state 8 iteration 442 / 500\n", + "state 8 iteration 443 / 500\n", + "state 8 iteration 444 / 500\n", + "state 8 iteration 445 / 500\n", + "state 8 iteration 446 / 500\n", + "state 8 iteration 447 / 500\n", + "state 8 iteration 448 / 500\n", + "state 8 iteration 449 / 500\n", + "state 8 iteration 450 / 500\n", + "state 8 iteration 451 / 500\n", + "state 8 iteration 452 / 500\n", + "state 8 iteration 453 / 500\n", + "state 8 iteration 454 / 500\n", + "state 8 iteration 455 / 500\n", + "state 8 iteration 456 / 500\n", + "state 8 iteration 457 / 500\n", + "state 8 iteration 458 / 500\n", + "state 8 iteration 459 / 500\n", + "state 8 iteration 460 / 500\n", + "state 8 iteration 461 / 500\n", + "state 8 iteration 462 / 500\n", + "state 8 iteration 463 / 500\n", + "state 8 iteration 464 / 500\n", + "state 8 iteration 465 / 500\n", + "state 8 iteration 466 / 500\n", + "state 8 iteration 467 / 500\n", + "state 8 iteration 468 / 500\n", + "state 8 iteration 469 / 500\n", + "state 8 iteration 470 / 500\n", + "state 8 iteration 471 / 500\n", + "state 8 iteration 472 / 500\n", + "state 8 iteration 473 / 500\n", + "state 8 iteration 474 / 500\n", + "state 8 iteration 475 / 500\n", + "state 8 iteration 476 / 500\n", + "state 8 iteration 477 / 500\n", + "state 8 iteration 478 / 500\n", + "state 8 iteration 479 / 500\n", + "state 8 iteration 480 / 500\n", + "state 8 iteration 481 / 500\n", + "state 8 iteration 482 / 500\n", + "state 8 iteration 483 / 500\n", + "state 8 iteration 484 / 500\n", + "state 8 iteration 485 / 500\n", + "state 8 iteration 486 / 500\n", + "state 8 iteration 487 / 500\n", + "state 8 iteration 488 / 500\n", + "state 8 iteration 489 / 500\n", + "state 8 iteration 490 / 500\n", + "state 8 iteration 491 / 500\n", + "state 8 iteration 492 / 500\n", + "state 8 iteration 493 / 500\n", + "state 8 iteration 494 / 500\n", + "state 8 iteration 495 / 500\n", + "state 8 iteration 496 / 500\n", + "state 8 iteration 497 / 500\n", + "state 8 iteration 498 / 500\n", + "state 8 iteration 499 / 500\n", + "state 9 iteration 0 / 500\n", + "state 9 iteration 1 / 500\n", + "state 9 iteration 2 / 500\n", + "state 9 iteration 3 / 500\n", + "state 9 iteration 4 / 500\n", + "state 9 iteration 5 / 500\n", + "state 9 iteration 6 / 500\n", + "state 9 iteration 7 / 500\n", + "state 9 iteration 8 / 500\n", + "state 9 iteration 9 / 500\n", + "state 9 iteration 10 / 500\n", + "state 9 iteration 11 / 500\n", + "state 9 iteration 12 / 500\n", + "state 9 iteration 13 / 500\n", + "state 9 iteration 14 / 500\n", + "state 9 iteration 15 / 500\n", + "state 9 iteration 16 / 500\n", + "state 9 iteration 17 / 500\n", + "state 9 iteration 18 / 500\n", + "state 9 iteration 19 / 500\n", + "state 9 iteration 20 / 500\n", + "state 9 iteration 21 / 500\n", + "state 9 iteration 22 / 500\n", + "state 9 iteration 23 / 500\n", + "state 9 iteration 24 / 500\n", + "state 9 iteration 25 / 500\n", + "state 9 iteration 26 / 500\n", + "state 9 iteration 27 / 500\n", + "state 9 iteration 28 / 500\n", + "state 9 iteration 29 / 500\n", + "state 9 iteration 30 / 500\n", + "state 9 iteration 31 / 500\n", + "state 9 iteration 32 / 500\n", + "state 9 iteration 33 / 500\n", + "state 9 iteration 34 / 500\n", + "state 9 iteration 35 / 500\n", + "state 9 iteration 36 / 500\n", + "state 9 iteration 37 / 500\n", + "state 9 iteration 38 / 500\n", + "state 9 iteration 39 / 500\n", + "state 9 iteration 40 / 500\n", + "state 9 iteration 41 / 500\n", + "state 9 iteration 42 / 500\n", + "state 9 iteration 43 / 500\n", + "state 9 iteration 44 / 500\n", + "state 9 iteration 45 / 500\n", + "state 9 iteration 46 / 500\n", + "state 9 iteration 47 / 500\n", + "state 9 iteration 48 / 500\n", + "state 9 iteration 49 / 500\n", + "state 9 iteration 50 / 500\n", + "state 9 iteration 51 / 500\n", + "state 9 iteration 52 / 500\n", + "state 9 iteration 53 / 500\n", + "state 9 iteration 54 / 500\n", + "state 9 iteration 55 / 500\n", + "state 9 iteration 56 / 500\n", + "state 9 iteration 57 / 500\n", + "state 9 iteration 58 / 500\n", + "state 9 iteration 59 / 500\n", + "state 9 iteration 60 / 500\n", + "state 9 iteration 61 / 500\n", + "state 9 iteration 62 / 500\n", + "state 9 iteration 63 / 500\n", + "state 9 iteration 64 / 500\n", + "state 9 iteration 65 / 500\n", + "state 9 iteration 66 / 500\n", + "state 9 iteration 67 / 500\n", + "state 9 iteration 68 / 500\n", + "state 9 iteration 69 / 500\n", + "state 9 iteration 70 / 500\n", + "state 9 iteration 71 / 500\n", + "state 9 iteration 72 / 500\n", + "state 9 iteration 73 / 500\n", + "state 9 iteration 74 / 500\n", + "state 9 iteration 75 / 500\n", + "state 9 iteration 76 / 500\n", + "state 9 iteration 77 / 500\n", + "state 9 iteration 78 / 500\n", + "state 9 iteration 79 / 500\n", + "state 9 iteration 80 / 500\n", + "state 9 iteration 81 / 500\n", + "state 9 iteration 82 / 500\n", + "state 9 iteration 83 / 500\n", + "state 9 iteration 84 / 500\n", + "state 9 iteration 85 / 500\n", + "state 9 iteration 86 / 500\n", + "state 9 iteration 87 / 500\n", + "state 9 iteration 88 / 500\n", + "state 9 iteration 89 / 500\n", + "state 9 iteration 90 / 500\n", + "state 9 iteration 91 / 500\n", + "state 9 iteration 92 / 500\n", + "state 9 iteration 93 / 500\n", + "state 9 iteration 94 / 500\n", + "state 9 iteration 95 / 500\n", + "state 9 iteration 96 / 500\n", + "state 9 iteration 97 / 500\n", + "state 9 iteration 98 / 500\n", + "state 9 iteration 99 / 500\n", + "state 9 iteration 100 / 500\n", + "state 9 iteration 101 / 500\n", + "state 9 iteration 102 / 500\n", + "state 9 iteration 103 / 500\n", + "state 9 iteration 104 / 500\n", + "state 9 iteration 105 / 500\n", + "state 9 iteration 106 / 500\n", + "state 9 iteration 107 / 500\n", + "state 9 iteration 108 / 500\n", + "state 9 iteration 109 / 500\n", + "state 9 iteration 110 / 500\n", + "state 9 iteration 111 / 500\n", + "state 9 iteration 112 / 500\n", + "state 9 iteration 113 / 500\n", + "state 9 iteration 114 / 500\n", + "state 9 iteration 115 / 500\n", + "state 9 iteration 116 / 500\n", + "state 9 iteration 117 / 500\n", + "state 9 iteration 118 / 500\n", + "state 9 iteration 119 / 500\n", + "state 9 iteration 120 / 500\n", + "state 9 iteration 121 / 500\n", + "state 9 iteration 122 / 500\n", + "state 9 iteration 123 / 500\n", + "state 9 iteration 124 / 500\n", + "state 9 iteration 125 / 500\n", + "state 9 iteration 126 / 500\n", + "state 9 iteration 127 / 500\n", + "state 9 iteration 128 / 500\n", + "state 9 iteration 129 / 500\n", + "state 9 iteration 130 / 500\n", + "state 9 iteration 131 / 500\n", + "state 9 iteration 132 / 500\n", + "state 9 iteration 133 / 500\n", + "state 9 iteration 134 / 500\n", + "state 9 iteration 135 / 500\n", + "state 9 iteration 136 / 500\n", + "state 9 iteration 137 / 500\n", + "state 9 iteration 138 / 500\n", + "state 9 iteration 139 / 500\n", + "state 9 iteration 140 / 500\n", + "state 9 iteration 141 / 500\n", + "state 9 iteration 142 / 500\n", + "state 9 iteration 143 / 500\n", + "state 9 iteration 144 / 500\n", + "state 9 iteration 145 / 500\n", + "state 9 iteration 146 / 500\n", + "state 9 iteration 147 / 500\n", + "state 9 iteration 148 / 500\n", + "state 9 iteration 149 / 500\n", + "state 9 iteration 150 / 500\n", + "state 9 iteration 151 / 500\n", + "state 9 iteration 152 / 500\n", + "state 9 iteration 153 / 500\n", + "state 9 iteration 154 / 500\n", + "state 9 iteration 155 / 500\n", + "state 9 iteration 156 / 500\n", + "state 9 iteration 157 / 500\n", + "state 9 iteration 158 / 500\n", + "state 9 iteration 159 / 500\n", + "state 9 iteration 160 / 500\n", + "state 9 iteration 161 / 500\n", + "state 9 iteration 162 / 500\n", + "state 9 iteration 163 / 500\n", + "state 9 iteration 164 / 500\n", + "state 9 iteration 165 / 500\n", + "state 9 iteration 166 / 500\n", + "state 9 iteration 167 / 500\n", + "state 9 iteration 168 / 500\n", + "state 9 iteration 169 / 500\n", + "state 9 iteration 170 / 500\n", + "state 9 iteration 171 / 500\n", + "state 9 iteration 172 / 500\n", + "state 9 iteration 173 / 500\n", + "state 9 iteration 174 / 500\n", + "state 9 iteration 175 / 500\n", + "state 9 iteration 176 / 500\n", + "state 9 iteration 177 / 500\n", + "state 9 iteration 178 / 500\n", + "state 9 iteration 179 / 500\n", + "state 9 iteration 180 / 500\n", + "state 9 iteration 181 / 500\n", + "state 9 iteration 182 / 500\n", + "state 9 iteration 183 / 500\n", + "state 9 iteration 184 / 500\n", + "state 9 iteration 185 / 500\n", + "state 9 iteration 186 / 500\n", + "state 9 iteration 187 / 500\n", + "state 9 iteration 188 / 500\n", + "state 9 iteration 189 / 500\n", + "state 9 iteration 190 / 500\n", + "state 9 iteration 191 / 500\n", + "state 9 iteration 192 / 500\n", + "state 9 iteration 193 / 500\n", + "state 9 iteration 194 / 500\n", + "state 9 iteration 195 / 500\n", + "state 9 iteration 196 / 500\n", + "state 9 iteration 197 / 500\n", + "state 9 iteration 198 / 500\n", + "state 9 iteration 199 / 500\n", + "state 9 iteration 200 / 500\n", + "state 9 iteration 201 / 500\n", + "state 9 iteration 202 / 500\n", + "state 9 iteration 203 / 500\n", + "state 9 iteration 204 / 500\n", + "state 9 iteration 205 / 500\n", + "state 9 iteration 206 / 500\n", + "state 9 iteration 207 / 500\n", + "state 9 iteration 208 / 500\n", + "state 9 iteration 209 / 500\n", + "state 9 iteration 210 / 500\n", + "state 9 iteration 211 / 500\n", + "state 9 iteration 212 / 500\n", + "state 9 iteration 213 / 500\n", + "state 9 iteration 214 / 500\n", + "state 9 iteration 215 / 500\n", + "state 9 iteration 216 / 500\n", + "state 9 iteration 217 / 500\n", + "state 9 iteration 218 / 500\n", + "state 9 iteration 219 / 500\n", + "state 9 iteration 220 / 500\n", + "state 9 iteration 221 / 500\n", + "state 9 iteration 222 / 500\n", + "state 9 iteration 223 / 500\n", + "state 9 iteration 224 / 500\n", + "state 9 iteration 225 / 500\n", + "state 9 iteration 226 / 500\n", + "state 9 iteration 227 / 500\n", + "state 9 iteration 228 / 500\n", + "state 9 iteration 229 / 500\n", + "state 9 iteration 230 / 500\n", + "state 9 iteration 231 / 500\n", + "state 9 iteration 232 / 500\n", + "state 9 iteration 233 / 500\n", + "state 9 iteration 234 / 500\n", + "state 9 iteration 235 / 500\n", + "state 9 iteration 236 / 500\n", + "state 9 iteration 237 / 500\n", + "state 9 iteration 238 / 500\n", + "state 9 iteration 239 / 500\n", + "state 9 iteration 240 / 500\n", + "state 9 iteration 241 / 500\n", + "state 9 iteration 242 / 500\n", + "state 9 iteration 243 / 500\n", + "state 9 iteration 244 / 500\n", + "state 9 iteration 245 / 500\n", + "state 9 iteration 246 / 500\n", + "state 9 iteration 247 / 500\n", + "state 9 iteration 248 / 500\n", + "state 9 iteration 249 / 500\n", + "state 9 iteration 250 / 500\n", + "state 9 iteration 251 / 500\n", + "state 9 iteration 252 / 500\n", + "state 9 iteration 253 / 500\n", + "state 9 iteration 254 / 500\n", + "state 9 iteration 255 / 500\n", + "state 9 iteration 256 / 500\n", + "state 9 iteration 257 / 500\n", + "state 9 iteration 258 / 500\n", + "state 9 iteration 259 / 500\n", + "state 9 iteration 260 / 500\n", + "state 9 iteration 261 / 500\n", + "state 9 iteration 262 / 500\n", + "state 9 iteration 263 / 500\n", + "state 9 iteration 264 / 500\n", + "state 9 iteration 265 / 500\n", + "state 9 iteration 266 / 500\n", + "state 9 iteration 267 / 500\n", + "state 9 iteration 268 / 500\n", + "state 9 iteration 269 / 500\n", + "state 9 iteration 270 / 500\n", + "state 9 iteration 271 / 500\n", + "state 9 iteration 272 / 500\n", + "state 9 iteration 273 / 500\n", + "state 9 iteration 274 / 500\n", + "state 9 iteration 275 / 500\n", + "state 9 iteration 276 / 500\n", + "state 9 iteration 277 / 500\n", + "state 9 iteration 278 / 500\n", + "state 9 iteration 279 / 500\n", + "state 9 iteration 280 / 500\n", + "state 9 iteration 281 / 500\n", + "state 9 iteration 282 / 500\n", + "state 9 iteration 283 / 500\n", + "state 9 iteration 284 / 500\n", + "state 9 iteration 285 / 500\n", + "state 9 iteration 286 / 500\n", + "state 9 iteration 287 / 500\n", + "state 9 iteration 288 / 500\n", + "state 9 iteration 289 / 500\n", + "state 9 iteration 290 / 500\n", + "state 9 iteration 291 / 500\n", + "state 9 iteration 292 / 500\n", + "state 9 iteration 293 / 500\n", + "state 9 iteration 294 / 500\n", + "state 9 iteration 295 / 500\n", + "state 9 iteration 296 / 500\n", + "state 9 iteration 297 / 500\n", + "state 9 iteration 298 / 500\n", + "state 9 iteration 299 / 500\n", + "state 9 iteration 300 / 500\n", + "state 9 iteration 301 / 500\n", + "state 9 iteration 302 / 500\n", + "state 9 iteration 303 / 500\n", + "state 9 iteration 304 / 500\n", + "state 9 iteration 305 / 500\n", + "state 9 iteration 306 / 500\n", + "state 9 iteration 307 / 500\n", + "state 9 iteration 308 / 500\n", + "state 9 iteration 309 / 500\n", + "state 9 iteration 310 / 500\n", + "state 9 iteration 311 / 500\n", + "state 9 iteration 312 / 500\n", + "state 9 iteration 313 / 500\n", + "state 9 iteration 314 / 500\n", + "state 9 iteration 315 / 500\n", + "state 9 iteration 316 / 500\n", + "state 9 iteration 317 / 500\n", + "state 9 iteration 318 / 500\n", + "state 9 iteration 319 / 500\n", + "state 9 iteration 320 / 500\n", + "state 9 iteration 321 / 500\n", + "state 9 iteration 322 / 500\n", + "state 9 iteration 323 / 500\n", + "state 9 iteration 324 / 500\n", + "state 9 iteration 325 / 500\n", + "state 9 iteration 326 / 500\n", + "state 9 iteration 327 / 500\n", + "state 9 iteration 328 / 500\n", + "state 9 iteration 329 / 500\n", + "state 9 iteration 330 / 500\n", + "state 9 iteration 331 / 500\n", + "state 9 iteration 332 / 500\n", + "state 9 iteration 333 / 500\n", + "state 9 iteration 334 / 500\n", + "state 9 iteration 335 / 500\n", + "state 9 iteration 336 / 500\n", + "state 9 iteration 337 / 500\n", + "state 9 iteration 338 / 500\n", + "state 9 iteration 339 / 500\n", + "state 9 iteration 340 / 500\n", + "state 9 iteration 341 / 500\n", + "state 9 iteration 342 / 500\n", + "state 9 iteration 343 / 500\n", + "state 9 iteration 344 / 500\n", + "state 9 iteration 345 / 500\n", + "state 9 iteration 346 / 500\n", + "state 9 iteration 347 / 500\n", + "state 9 iteration 348 / 500\n", + "state 9 iteration 349 / 500\n", + "state 9 iteration 350 / 500\n", + "state 9 iteration 351 / 500\n", + "state 9 iteration 352 / 500\n", + "state 9 iteration 353 / 500\n", + "state 9 iteration 354 / 500\n", + "state 9 iteration 355 / 500\n", + "state 9 iteration 356 / 500\n", + "state 9 iteration 357 / 500\n", + "state 9 iteration 358 / 500\n", + "state 9 iteration 359 / 500\n", + "state 9 iteration 360 / 500\n", + "state 9 iteration 361 / 500\n", + "state 9 iteration 362 / 500\n", + "state 9 iteration 363 / 500\n", + "state 9 iteration 364 / 500\n", + "state 9 iteration 365 / 500\n", + "state 9 iteration 366 / 500\n", + "state 9 iteration 367 / 500\n", + "state 9 iteration 368 / 500\n", + "state 9 iteration 369 / 500\n", + "state 9 iteration 370 / 500\n", + "state 9 iteration 371 / 500\n", + "state 9 iteration 372 / 500\n", + "state 9 iteration 373 / 500\n", + "state 9 iteration 374 / 500\n", + "state 9 iteration 375 / 500\n", + "state 9 iteration 376 / 500\n", + "state 9 iteration 377 / 500\n", + "state 9 iteration 378 / 500\n", + "state 9 iteration 379 / 500\n", + "state 9 iteration 380 / 500\n", + "state 9 iteration 381 / 500\n", + "state 9 iteration 382 / 500\n", + "state 9 iteration 383 / 500\n", + "state 9 iteration 384 / 500\n", + "state 9 iteration 385 / 500\n", + "state 9 iteration 386 / 500\n", + "state 9 iteration 387 / 500\n", + "state 9 iteration 388 / 500\n", + "state 9 iteration 389 / 500\n", + "state 9 iteration 390 / 500\n", + "state 9 iteration 391 / 500\n", + "state 9 iteration 392 / 500\n", + "state 9 iteration 393 / 500\n", + "state 9 iteration 394 / 500\n", + "state 9 iteration 395 / 500\n", + "state 9 iteration 396 / 500\n", + "state 9 iteration 397 / 500\n", + "state 9 iteration 398 / 500\n", + "state 9 iteration 399 / 500\n", + "state 9 iteration 400 / 500\n", + "state 9 iteration 401 / 500\n", + "state 9 iteration 402 / 500\n", + "state 9 iteration 403 / 500\n", + "state 9 iteration 404 / 500\n", + "state 9 iteration 405 / 500\n", + "state 9 iteration 406 / 500\n", + "state 9 iteration 407 / 500\n", + "state 9 iteration 408 / 500\n", + "state 9 iteration 409 / 500\n", + "state 9 iteration 410 / 500\n", + "state 9 iteration 411 / 500\n", + "state 9 iteration 412 / 500\n", + "state 9 iteration 413 / 500\n", + "state 9 iteration 414 / 500\n", + "state 9 iteration 415 / 500\n", + "state 9 iteration 416 / 500\n", + "state 9 iteration 417 / 500\n", + "state 9 iteration 418 / 500\n", + "state 9 iteration 419 / 500\n", + "state 9 iteration 420 / 500\n", + "state 9 iteration 421 / 500\n", + "state 9 iteration 422 / 500\n", + "state 9 iteration 423 / 500\n", + "state 9 iteration 424 / 500\n", + "state 9 iteration 425 / 500\n", + "state 9 iteration 426 / 500\n", + "state 9 iteration 427 / 500\n", + "state 9 iteration 428 / 500\n", + "state 9 iteration 429 / 500\n", + "state 9 iteration 430 / 500\n", + "state 9 iteration 431 / 500\n", + "state 9 iteration 432 / 500\n", + "state 9 iteration 433 / 500\n", + "state 9 iteration 434 / 500\n", + "state 9 iteration 435 / 500\n", + "state 9 iteration 436 / 500\n", + "state 9 iteration 437 / 500\n", + "state 9 iteration 438 / 500\n", + "state 9 iteration 439 / 500\n", + "state 9 iteration 440 / 500\n", + "state 9 iteration 441 / 500\n", + "state 9 iteration 442 / 500\n", + "state 9 iteration 443 / 500\n", + "state 9 iteration 444 / 500\n", + "state 9 iteration 445 / 500\n", + "state 9 iteration 446 / 500\n", + "state 9 iteration 447 / 500\n", + "state 9 iteration 448 / 500\n", + "state 9 iteration 449 / 500\n", + "state 9 iteration 450 / 500\n", + "state 9 iteration 451 / 500\n", + "state 9 iteration 452 / 500\n", + "state 9 iteration 453 / 500\n", + "state 9 iteration 454 / 500\n", + "state 9 iteration 455 / 500\n", + "state 9 iteration 456 / 500\n", + "state 9 iteration 457 / 500\n", + "state 9 iteration 458 / 500\n", + "state 9 iteration 459 / 500\n", + "state 9 iteration 460 / 500\n", + "state 9 iteration 461 / 500\n", + "state 9 iteration 462 / 500\n", + "state 9 iteration 463 / 500\n", + "state 9 iteration 464 / 500\n", + "state 9 iteration 465 / 500\n", + "state 9 iteration 466 / 500\n", + "state 9 iteration 467 / 500\n", + "state 9 iteration 468 / 500\n", + "state 9 iteration 469 / 500\n", + "state 9 iteration 470 / 500\n", + "state 9 iteration 471 / 500\n", + "state 9 iteration 472 / 500\n", + "state 9 iteration 473 / 500\n", + "state 9 iteration 474 / 500\n", + "state 9 iteration 475 / 500\n", + "state 9 iteration 476 / 500\n", + "state 9 iteration 477 / 500\n", + "state 9 iteration 478 / 500\n", + "state 9 iteration 479 / 500\n", + "state 9 iteration 480 / 500\n", + "state 9 iteration 481 / 500\n", + "state 9 iteration 482 / 500\n", + "state 9 iteration 483 / 500\n", + "state 9 iteration 484 / 500\n", + "state 9 iteration 485 / 500\n", + "state 9 iteration 486 / 500\n", + "state 9 iteration 487 / 500\n", + "state 9 iteration 488 / 500\n", + "state 9 iteration 489 / 500\n", + "state 9 iteration 490 / 500\n", + "state 9 iteration 491 / 500\n", + "state 9 iteration 492 / 500\n", + "state 9 iteration 493 / 500\n", + "state 9 iteration 494 / 500\n", + "state 9 iteration 495 / 500\n", + "state 9 iteration 496 / 500\n", + "state 9 iteration 497 / 500\n", + "state 9 iteration 498 / 500\n", + "state 9 iteration 499 / 500\n" + ] + } + ], + "source": [ + "# Create an integrator\n", + "integrator = LangevinIntegrator(temperature, collision_rate, timestep)\n", + "\n", + "# Create a simulation\n", + "simulation = Simulation(topology, system, integrator)\n", + "simulation.context.setPositions(positions)\n", + "\n", + "# Minimize energy\n", + "print('Minimizing energy...')\n", + "#LocalEnergyMinimizer.minimize(context)\n", + "simulation.minimizeEnergy()\n", + "\n", + "\n", + "# Collect data\n", + "\n", + "# number of steps per sample\n", + "nsteps = 2500\n", + "\n", + "# number of samples to collect per alchemical state\n", + "niterations = 500\n", + "\n", + "import numpy as np\n", + "lambdas = np.linspace(1.0, 0.0, 10) # alchemical lambda schedule\n", + "nstates = len(lambdas)\n", + "u_kln = np.zeros([nstates,nstates,niterations], np.float64)\n", + "kT = AVOGADRO_CONSTANT_NA * BOLTZMANN_CONSTANT_kB * integrator.getTemperature()\n", + "for k in range(nstates):\n", + " for iteration in range(niterations):\n", + " print('state %5d iteration %5d / %5d' % (k, iteration, niterations))\n", + " # Set alchemical state\n", + " simulation.context.setParameter('lambda', lambdas[k])\n", + " # Run some dynamics\n", + " simulation.step(nsteps)\n", + " # Compute energies at all alchemical states\n", + " for l in range(nstates):\n", + " simulation.context.setParameter('lambda', lambdas[l])\n", + " u_kln[k,l,iteration] = simulation.context.getState(getEnergy=True).getPotentialEnergy() / kT\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "05abedbb", + "metadata": {}, + "source": [ + "### Analyzing the data with MBAR\n", + "\n", + "Finally, the [multistate Bennett acceptance ratio (MBAR)](https://dx.doi.org/10.1063%2F1.2978177) is used to estimate the free energy of annihilating the particle using the conda-installable [pymbar](http://pymbar.org/) package. In order to estimate how much data must be discarded to equilibration, we use a scheme for [automated equilibration detection](http://dx.doi.org/10.1021/acs.jctc.5b00784) and subsequent extraction of decorrelated samples found in the [pymbar.timeseries](http://github.com/choderalab/pymbar) module." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "e61ed834", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Free energy change to insert a particle = -0.01496605773120585\n" + ] + } + ], + "source": [ + "\n", + "# Estimate free energy of Lennard-Jones particle insertion\n", + "from pymbar import MBAR, timeseries\n", + "\n", + "## Subsample data to extract uncorrelated equilibrium timeseries\n", + "N_k = np.zeros([nstates], np.int32) # number of uncorrelated samples\n", + "for k in range(nstates):\n", + " [nequil, g, Neff_max] = timeseries.detectEquilibration(u_kln[k,k,:])\n", + " indices = timeseries.subsampleCorrelatedData(u_kln[k,k,:], g=g)\n", + " N_k[k] = len(indices)\n", + " u_kln[k,:,0:N_k[k]] = u_kln[k,:,indices].T\n", + "\n", + "# Compute free energy differences\n", + "mbar = MBAR(u_kln, N_k)\n", + "\n", + "# dont compute uncertainties here, if you do it may fail with an error for\n", + "# pymbar versions > 3.0.3. See this issue: https://github.com/choderalab/pymbar/issues/419\n", + "[DeltaF_ij] = mbar.getFreeEnergyDifferences(compute_uncertainty=False)\n", + "[DeltaF_ij, error] = mbar.getFreeEnergyDifferences(compute_uncertainty=True)\n", + "\n", + "print(\"Free energy change to insert a particle = \",DeltaF_ij[nstates-1][0])" + ] + } + ], + "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.9" + }, + "nbsphinx": { + "execute": "never" + }, + "tags": [ + "tutorial" + ], + "vscode": { + "interpreter": { + "hash": "0196bde48eca6e98b9d405f49c02d8b38bda65759256048592a275ce0440cb5b" + } + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/notebooks/tutorials/Beta_2_adrenergic_receptor_B2AR_membrane_protein_simulation_with_CHARMM.ipynb b/notebooks/tutorials/Beta_2_adrenergic_receptor_B2AR_membrane_protein_simulation_with_CHARMM.ipynb new file mode 100644 index 0000000..15bfcee --- /dev/null +++ b/notebooks/tutorials/Beta_2_adrenergic_receptor_B2AR_membrane_protein_simulation_with_CHARMM.ipynb @@ -0,0 +1,137 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "6b971986", + "metadata": {}, + "source": [ + "## Beta-2-adrenergic receptor (B2AR) membrane protein simulation with CHARMM \n", + "\n", + "*Use CHARMM-GUI to set up a membrane protein simulation for OpenMM.*\n", + "\n", + "### Files\n", + "\n", + " - The initial membrane protein PDB file [apo_snapshot.pdb](https://openmm.org/tutorials_/b2ar_membrane/files/apo_snapshot.pdb) comes from reference structures provided in Kohloff et.al. 2014, originally from PDB ID: 3POG.\n", + "\n", + " - A tarball of the CHARMM-GUI output can be found in [charmm-gui.zip](https://openmm.org/tutorials_/b2ar_membrane/files/charmm-gui.zip)\n", + "\n", + "### Using CHARMM-GUI to embed B2AR in a solvated membrane\n", + "\n", + "1. Go to [CHARMM-GUI's membrane builder](http://www.charmm-gui.org/?doc=input/membrane) and upload the pdb file. (`apo_snapshot.pdb`). Select PDB format and click `Next Step`.\n", + "2. Stick with the default selection (Protein) and click `Next Step`.\n", + "3. Select `Terminal group patching` and select termin `NTER` and `CTER`.\n", + "4. Select `Disulfide bonds` for the pairs `184-190` and `106-191` and click `Next Step`.\n", + "5. Select `Align the First Principal Axis Along Z `(the suggestion for a homo-oligomer) and click `Next Step`.\n", + "6. Keep the default selections for `Heterogeneous Lipid`, `Rectangular Box Type`, `17.5 water thickness`. Select `Number of lipid components` and select `POPC` lipids with `55` lipids on the upperleaflet and lowerleaflet. Click `Next Step`.\n", + "7. Keep all default selections (`Replacement method`, `check lipid ring (and protein surface) penetration`, `Include Ions 0.15 KCl` and `Ion Placing Method: Monte-Carlo`. Click `Next Step`.\n", + "8. Click `Next Step` to assemble components. When you arrive at `Step 5`, select `OpenMM` as the Input generation option. Keep all the other default options (`Generate grid information for PME FFT automatically` and `NPT ensemble`. Click `Next Step`.\n", + "\n", + "\n", + "![b2ar_membrane](./b2ar_membrane.jpeg)\n", + "\n", + "\n", + "### Simulating the system in OpenMM\n", + "\n", + "#### The quick way\n", + "\n", + "From the `charmm-gui.tgz` extract `toppar/` directory and the `openmm/` directory. The `README` file in the `openmm/` directory is a csh script to run a standard equilibration and production simulation.\n", + "\n", + "### The flexible way\n", + "\n", + "If you want finer control, you can write your own OpenMM code to equilibrate and simulate the system.\n", + "\n", + "OpenMM can directly read CHARMM input files through the use of the `openmm.app` application layer. This enables the use of all the powerful setup tools in the CHARMM ecosystem that a user might be familiar with such as the [CHARMM-GUI](http://onlinelibrary.wiley.com/doi/10.1002/jcc.20945/abstract), [VMD](http://www.sciencedirect.com/science/article/pii/0263785596000185?via%3Dihub), [CGenFF](https://cgenff.paramchem.org/) program ([DOI:10.1002/jcc.21367](http://onlinelibrary.wiley.com/doi/10.1002/jcc.21367/abstract)), etc. This allows users who are already working in the CHARMM environment to harness the GPU speeds that OpenMM provides without having to modify their simulation system description files.\n", + "\n", + "OpenMM can also read CHARMM force field files making it is possible to use force fields that aren't already included in OpenMM such as the general CHARMM force field (CGenFF). For example, a user can generate an `str` file with the [CGenFF program](https://cgenff.paramchem.org/) for a ligand and load it into OpenMM. However, when using this feature, the `CharmmParameterSet` class needs to be used instead of the `ForceField` class to load all the other CHARMM force field files as demonstrated in the example in the code below.\n", + "\n", + "The example demonstrates how to use CHARMMM files that were generated with the CHARMM-GUI in an OpenMM script. The OpenMM app layer includes several classes to load CHARMM files. The `CharmmPsfFile` class reads the `psf` file and instantiates a chemical structure on which one can then call the `createSystem()` method to creates an OpenMM system object. For the atomic coordinates, a regular pdb file can be used or the `CharmmCrdFile` or `CharmmRstFile` classes can be used to read CHARMM coordinate files. Files containing force field definitions come in a variety of formats such as `prm`, `par`, `top`, `rtf`, `inp` and `str`. These files are loaded into a `CharmmParameterSet` object which is then included as the first parameter when `createSystem()` is called on the chemical structure. For this example, the [membrane builder](http://dx.doi.org/10.1371/journal.pone.0000880) in the CHARMM-GUI was used to generate the input files for the B2AR in a POPC lipid membrane. The membrane builder provides a straightforward way to go from the RCSB X-ray structure to the protein embedded in a membrane with all the relevant CHARMM input files.\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e9fb51f6", + "metadata": {}, + "outputs": [], + "source": [ + "# download and extract the files\n", + "!wget https://openmm.org/tutorials_/b2ar_membrane/files/charmm-gui.zip\n", + "!tar xvf charmm-gui.zip" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b4a4cdbf", + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "from openmm.app import *\n", + "from openmm import *\n", + "from openmm.unit import *\n", + "from sys import stdout\n", + "\n", + "# Load CHARMM files\n", + "psf = CharmmPsfFile('charmm-gui/openmm/step5_charmm2omm.psf')\n", + "pdb = PDBFile('charmm-gui/openmm/step5_charmm2omm.pdb')\n", + "params = CharmmParameterSet('charmm-gui/toppar/par_all36_prot.prm', 'charmm-gui/toppar/top_all36_prot.rtf',\n", + " 'charmm-gui/toppar/par_all36_lipid.prm', 'charmm-gui/toppar/top_all36_lipid.rtf',\n", + " 'charmm-gui/toppar/toppar_water_ions.str')\n", + "\n", + "# Create an openmm system by calling createSystem on psf\n", + "system = psf.createSystem(params, nonbondedMethod=CutoffNonPeriodic,\n", + " nonbondedCutoff=1*nanometer, constraints=HBonds)\n", + "integrator = LangevinIntegrator(300*kelvin, # Temperature of head bath\n", + " 1/picosecond, # Friction coefficient\n", + " 0.002*picoseconds) # Time step\n", + "\n", + "\n", + "simulation = Simulation(psf.topology, system, integrator)\n", + "simulation.context.setPositions(pdb.positions)\n", + "print(\"Minimizing...\")\n", + "simulation.minimizeEnergy()\n", + "\n", + "# Set up the reporters to report energies every 1000 steps.\n", + "simulation.reporters.append(PDBReporter('output.pdb', 1000))\n", + "simulation.reporters.append(StateDataReporter(stdout, 1000, step=True,\n", + " potentialEnergy=True, temperature=True))\n", + "# run simulation\n", + "simulation.step(10000)" + ] + } + ], + "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.13" + }, + "nbsphinx": { + "execute": "never" + }, + "tags": [ + "tutorial" + ], + "vscode": { + "interpreter": { + "hash": "16b2d2c1789d035bceb6d775bd7ffc39b805c8f0529038638d98b11c7a85ade5" + } + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/notebooks/tutorials/HSP90_with_ADPMg2_simulation.ipynb b/notebooks/tutorials/HSP90_with_ADPMg2_simulation.ipynb new file mode 100644 index 0000000..01c2e18 --- /dev/null +++ b/notebooks/tutorials/HSP90_with_ADPMg2_simulation.ipynb @@ -0,0 +1,238 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "9afbaa7d", + "metadata": {}, + "source": [ + "## HSP90 with ADP:Mg2+ simulation\n", + "\n", + "*Simulating a protein:ligand complex with multisite solvated ions.*\n", + "\n", + "### Files\n", + " - All input files can be found in [hsp90_adp_mg.zip](https://openmm.org/tutorials_/hsp90_adp_mg/files/hsp90_adp_mg.zip)\n", + "\n", + "\n", + "### Introduction\n", + "\n", + "OpenMM allows users to model their systems using Amber and provide `prmtop`, and `inpcrd` files as input. This allows users more familiar with the [Amber](http://ambermd.org/) modeling environment to continue using their setup tools, while harnessing the speed and versatility of OpenMM. This also allows the use of non-standard force fields that have been published for use with Amber, such as metal ion models where dummy atoms are applied to mimic particular coordination geometries. Furthermore, this is facilitated by OpenMM's support for Extra Particles---particles that are not ordinary atoms, such as these metal dummy atoms, virtual sites in many water models, etc.\n", + "\n", + "\n", + "This example illustrates the use of Amber's tleap to set up a simulation of the Heat Shock Protein 90 (HSP90, Uniprot: [P07900](http://www.uniprot.org/uniprot/P07900), including the ADP-Mg2+ complex, where we will model the Mg2+ cation using the Sept Lab octahedral multisite model ([DOI:10.1021/ct400177g](https://doi.org/10.1021/ct400177g), [Sept Lab](http://septlab.engin.umich.edu/multisite-ions.html)), and use the Carlson parameters for ADP ([DOI:10.1002/jcc.10262](https://doi.org/10.1002/jcc.10262), downloaded from [Bryce group Amber parameter database](http://research.bmh.manchester.ac.uk/bryce/amber)).\n", + "\n", + "We begin from the [1BYQ](https://www.rcsb.org/pdb/explore.do?structureId=1BYQ) PDB file, add missing residues (only those in the middle of the chain) and missing heavy atoms using PDBFixer. Using [MDTraj](http://mdtraj.org/), residue and atom naming of the Mg2+ ion and the ADP are fixed to match those in the parameter files, and dummy atoms of the multisite Mg2+ are added. [CONECT](http://www.wwpdb.org/documentation/file-format-content/format33/sect10.html#CONECT) records for bonds between Mg2+ and ADP are deleted. Crystallographic waters are preserved for coordination to the Mg2+.\n", + "\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "60d7cfce", + "metadata": {}, + "source": [ + "Finally, `tleap` is run to add hydrogens and parametrize. We use the `ff99SBildn` force field, mag.lib and frcmod_mg.mmg files from the multisite Mg2+ model (downloaded from [Sept Lab](http://septlab.engin.umich.edu/multisite-ions.html)), ADP.prep and frcmod.phos files for the ADP parameters (downloaded from [Bryce group Amber parameter database](http://research.bmh.manchester.ac.uk/bryce/amber)). The prmtop and inpcrd files are saved for simulation in OpenMM. The multisite Mg2+ model requires a correction to the Lennard-Jones B-coefficients in the prmtop file, this is done by a short Python script (obtained by email from Prof. David Sept, [Sept Lab](http://septlab.engin.umich.edu/))." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "68bd18e5", + "metadata": {}, + "outputs": [], + "source": [ + "!wget https://openmm.org/tutorials_/hsp90_adp_mg/files/hsp90_adp_mg.zip\n", + "!unzip -o hsp90_adp_mg.zip" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e830a81a", + "metadata": {}, + "outputs": [], + "source": [ + "from pdbfixer import PDBFixer\n", + "from openmm.app import PDBFile\n", + "import mdtraj as md\n", + "import os\n", + "import numpy as np\n", + "\n", + "# clean up the original PDB file and add missing residues and heavy atoms\n", + "fixer = PDBFixer('pdb1byq.ent')\n", + "fixer.findMissingResidues()\n", + "\n", + "# only add missing residues in the middle of the chain, do not add terminal ones\n", + "chains = list(fixer.topology.chains())\n", + "keys = fixer.missingResidues.keys()\n", + "missingResidues = dict()\n", + "for key in keys:\n", + " chain = chains[key[0]]\n", + " if not (key[1] == 0 or key[1] == len(list(chain.residues()))):\n", + " missingResidues[key] = fixer.missingResidues[key]\n", + "fixer.missingResidues = missingResidues\n", + "\n", + "fixer.findMissingAtoms()\n", + "fixer.addMissingAtoms()\n", + "\n", + "PDBFile.writeFile(fixer.topology, fixer.positions, open('1byq_fixed.pdb', 'w'))\n", + "\n", + "traj = md.load('1byq_fixed.pdb')\n", + "\n", + "# fix residue names\n", + "# in adp - change ` to * in atom names\n", + "# add Mg dummy atoms\n", + "for residue in traj.top.residues:\n", + " if residue.name == 'MG':\n", + " residue.name = 'MMG'\n", + " residue.atom(0).name = 'XZ'\n", + " for i in range(6):\n", + " traj.top.add_atom('D%s' % (i+1), md.element.Element.getBySymbol('Mg'), residue)\n", + " # add dummy atoms\n", + " central_index = residue.atom(0).index\n", + " central_positions = traj.xyz[0,central_index]\n", + " # positions from magnesium_ms.pdb, Sept Lab: http://septlab.engin.umich.edu/multisite-ions.html\n", + " dummy_positions = central_positions + [\n", + " [0.0, 0.0, 0.09],\n", + " [0.09, 0.0, 0.0],\n", + " [0.0, 0.0, -0.09],\n", + " [-0.09, 0.0, 0.0],\n", + " [0.0, -0.09, 0.0],\n", + " [0.0, 0.09, 0.0]\n", + " ] \n", + " traj.xyz = np.array([np.insert(traj.xyz[0], central_index+1, dummy_positions, axis=0)]) \n", + " elif residue.name == 'ADP':\n", + " residue.name = 'adp'\n", + " for atom in residue.atoms:\n", + " if atom.name[-1] == \"'\":\n", + " atom.name = atom.name[:-1] + \"*\"\n", + "\n", + "# remove adp - mg CONECT bonds\n", + "bonds = []\n", + "\n", + "for bond in traj.top._bonds:\n", + " if not (bond[0].residue.name == 'MMG' or bond[1].residue.name == 'MMG'):\n", + " bonds.append(bond)\n", + "\n", + "traj.top._bonds = bonds\n", + "\n", + "traj.save('1byq_fixed2.pdb')\n", + "\n", + "# save the tleap script to file\n", + "with open('leaprc.hsp90', 'w') as f:\n", + " f.write('''\n", + "source oldff/leaprc.ff99SBildn\n", + "loadOff mag.lib\n", + "loadamberparams frcmod_mg.mmg\n", + "loadAmberPrep ADP.prep\n", + "loadamberparams frcmod.phos\n", + "x = loadPdb 1byq_fixed2.pdb\n", + "addIons x Na+ 0\n", + "solvateBox x TIP3PBOX 10.0\n", + "savePdb x topology.pdb\n", + "saveAmberParm x input.prmtop input.inpcrd\n", + "quit\n", + "''')\n", + "\n", + "# run tleap\n", + "# if you have amber tools installed on your system you can uncomment and run this line\n", + "#os.system('tleap -f leaprc.hsp90')\n", + "\n", + "# we have included the output files that get produced: \n", + "# input.inpcrd and input.prmtop\n", + "\n", + "#!echo input.prmtop | python zeroBvalues.py\n" + ] + }, + { + "cell_type": "markdown", + "id": "64da9756", + "metadata": {}, + "source": [ + "We load the `prmtop` and `inpcrd` files in, by creating `AmberPrmtopFile` and `AmberInpcrdFile` objects. Next, the `System` is created by calling the `createSystem` method on the `AmberPrmtopFile` object. Next, the `LangevinIntegrator` and the `Simulation` are set up, using the topology from the `AmberPrmtopFile` and positions from the `AmberInpcrdFile`. The simulation is energy minimized and equilibrated for 100 steps. Reporters are attached and the production simulation propagated for 50 ns." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e3edf284", + "metadata": {}, + "outputs": [], + "source": [ + "from openmm import app\n", + "import openmm as mm\n", + "from openmm import unit\n", + "from sys import stdout\n", + "\n", + "# load in Amber input files\n", + "prmtop = app.AmberPrmtopFile('input.prmtop.mod')\n", + "inpcrd = app.AmberInpcrdFile('input.inpcrd')\n", + "\n", + "# prepare system and integrator\n", + "system = prmtop.createSystem(nonbondedMethod=app.PME,\n", + " nonbondedCutoff=1.0*unit.nanometers, constraints=app.HBonds, rigidWater=True,\n", + " ewaldErrorTolerance=0.0005)\n", + "integrator = mm.LangevinIntegrator(300*unit.kelvin, 1.0/unit.picoseconds,\n", + " 2.0*unit.femtoseconds)\n", + "integrator.setConstraintTolerance(0.00001)\n", + "\n", + "# prepare simulation\n", + "simulation = app.Simulation(prmtop.topology, system, integrator)\n", + "simulation.context.setPositions(inpcrd.positions)\n", + "\n", + "# minimize\n", + "print('Minimizing...')\n", + "simulation.minimizeEnergy()\n", + "\n", + "# equilibrate for 100 steps\n", + "simulation.context.setVelocitiesToTemperature(300*unit.kelvin)\n", + "print('Equilibrating...')\n", + "simulation.step(100)\n", + "\n", + "# append reporters\n", + "simulation.reporters.append(app.DCDReporter('trajectory.dcd', 1000))\n", + "simulation.reporters.append(app.StateDataReporter(stdout, 1000, step=True,\n", + " potentialEnergy=True, temperature=True, progress=True, remainingTime=True,\n", + " speed=True, totalSteps=25000000, separator='\\t'))\n", + "\n", + "# run 50 ns of production simulation\n", + "print('Running Production...')\n", + "simulation.step(25000000)\n", + "print('Done!')" + ] + } + ], + "metadata": { + "tags": [ + "tutorial" + ], + "kernelspec": { + "display_name": "Python 3.9.13 ('openmm')", + "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.13" + }, + "nbsphinx": { + "execute": "never" + }, + "vscode": { + "interpreter": { + "hash": "16b2d2c1789d035bceb6d775bd7ffc39b805c8f0529038638d98b11c7a85ade5" + } + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/notebooks/tutorials/Histone_methyltransferase_simulation_with_a_multisite_water_model_TIP4P-Ew.ipynb b/notebooks/tutorials/Histone_methyltransferase_simulation_with_a_multisite_water_model_TIP4P-Ew.ipynb new file mode 100644 index 0000000..f35abe7 --- /dev/null +++ b/notebooks/tutorials/Histone_methyltransferase_simulation_with_a_multisite_water_model_TIP4P-Ew.ipynb @@ -0,0 +1,308 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "6b971986", + "metadata": {}, + "source": [ + "## Histone methyltransferase simulation with a multisite water model (TIP4P-Ew)\n", + "\n", + "*Simulating a protein with a multisite water model.*\n", + "\n", + "This tutorial is described in [OpenMM 7](http://dx.doi.org/10.1371/journal.pcbi.1005659) publication.\n", + "\n", + "### Files\n", + "\n", + "- All input files can be found in [hkmt_tip4pew.zip](https://openmm.org/tutorials_/hkmt_tip4pew/files/hkmt_tip4pew.zip)\n", + "\n", + "### Introduction\n", + "\n", + "OpenMM includes a selection of [water models](https://en.wikipedia.org/wiki/Water_model), such as [TIP3P](http://www.sklogwiki.org/SklogWiki/index.php/TIP3P_model_of_water), [TIP4P-Ew](http://www.sklogwiki.org/SklogWiki/index.php/TIP4P-Ew_model_of_water), and [TIP5P](http://www.sklogwiki.org/SklogWiki/index.php/TIP5P_model_of_water). The use of the latter two is facilitated by OpenMM's support for Extra Particles---particles that are not ordinary atoms, such as the virtual sites in these water models, dummy atoms in multisite metal ion models, etc. This example illustrates the use of OpenMM's modeling and simulation pipelines to study the behavior of a water channel crucial to reactivity in the histone methyltransferase SET7/9 (Uniprot: [Q8WTS6](http://www.uniprot.org/uniprot/Q8WTS6)) after removal of ligands from the tertiary complex, using 3 different water models.\n", + "\n", + "\n", + "### Cleaning up the protein with pdbfixer\n", + "\n", + "We begin from the [1O9S PDB file](http://www.rcsb.org/pdb/explore.do?structureId=1o9s), remove unwanted chains (reduce the dimer to a monomer, remove ligands), add missing residues (only those in the middle of the chain) and missing heavy atoms using [PDBFixer](https://github.com/openmm/pdbfixer). We preserve all crystallographic waters because of the water channel we are interested in.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3ad9eeec", + "metadata": {}, + "outputs": [], + "source": [ + "# Download and unzip the inputfiles\n", + "!wget https://openmm.org/tutorials_/hkmt_tip4pew/files/hkmt_tip4pew.zip\n", + "!unzip -o hkmt_tip4pew.zip" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f71a1767", + "metadata": {}, + "outputs": [], + "source": [ + "from pdbfixer import PDBFixer\n", + "from openmm.app import PDBFile\n", + "\n", + "fixer = PDBFixer('pdb1o9s.ent')\n", + "fixer.removeChains([1,2,3,4,5,7,9])\n", + "fixer.findMissingResidues()\n", + "\n", + "# only add missing residues in the middle of the chain, do not add terminal ones\n", + "chains = list(fixer.topology.chains())\n", + "keys = fixer.missingResidues.keys()\n", + "missingResidues = dict()\n", + "for key in keys:\n", + " chain = chains[key[0]]\n", + " if not (key[1] == 0 or key[1] == len(list(chain.residues()))):\n", + " missingResidues[key] = fixer.missingResidues[key]\n", + "fixer.missingResidues = missingResidues\n", + "\n", + "fixer.findMissingAtoms()\n", + "fixer.addMissingAtoms()\n", + "\n", + "PDBFile.writeFile(fixer.topology, fixer.positions, open('1o9s_fixed.pdb', 'w'))" + ] + }, + { + "cell_type": "markdown", + "id": "f7d01388", + "metadata": {}, + "source": [ + "We load in the resulting PDB file and add hydrogens and solvent using the OpenMM's `app.Modeller`. We will use the following water models: TIP3P, TIP4P-ew, and TIP5P. For the latter two an additional step - addition of the water extra particles to the crystallographic waters - is performed. We use the `amber99sbildn` forcefield - the `ForceField` object is created by passing the appropriate XML files. The `System` is created by calling the `createSystem` method on the `ForceField` object. Next, the `LangevinIntegrator` and the `Simulation` are set up, using the topology and positions from the `Modeller` object. The simulation is energy minimized and equilibrated for 100 steps. Reporters are attached and the production simulation propagated for 50 ns." + ] + }, + { + "cell_type": "markdown", + "id": "ded8dc31", + "metadata": {}, + "source": [ + "### Solvating and simulating with TIP3P\n", + "If we want to use TIP3P, setup is straightforward:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3113e6f4", + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "from openmm import app\n", + "import openmm as mm\n", + "from openmm import unit\n", + "from sys import stdout\n", + "\n", + "# load in input PDB file and force field XML files\n", + "pdb = app.PDBFile('1o9s_fixed.pdb')\n", + "forcefield = app.ForceField('amber99sbildn.xml', 'tip3p.xml')\n", + "\n", + "# use app.Modeller to add hydrogens and solvent\n", + "modeller = app.Modeller(pdb.topology, pdb.positions)\n", + "modeller.addHydrogens(forcefield)\n", + "modeller.addSolvent(forcefield, model='tip3p', padding=1.0*unit.nanometers)\n", + "app.PDBFile.writeFile(modeller.topology, modeller.positions, open('1o9s_modeller_tip3p.pdb', 'w'))\n", + "\n", + "# prepare system and integrator\n", + "system = forcefield.createSystem(modeller.topology, nonbondedMethod=app.PME,\n", + " nonbondedCutoff=1.0*unit.nanometers, constraints=app.HBonds, rigidWater=True,\n", + " ewaldErrorTolerance=0.0005)\n", + "integrator = mm.LangevinIntegrator(300*unit.kelvin, 1.0/unit.picoseconds,\n", + " 2.0*unit.femtoseconds)\n", + "integrator.setConstraintTolerance(0.00001)\n", + "\n", + "# prepare simulation\n", + "simulation = app.Simulation(modeller.topology, system, integrator)\n", + "simulation.context.setPositions(modeller.positions)\n", + "\n", + "# minimize\n", + "print('Minimizing...')\n", + "simulation.minimizeEnergy()\n", + "\n", + "# equilibrate for 100 steps\n", + "simulation.context.setVelocitiesToTemperature(300*unit.kelvin)\n", + "print('Equilibrating...')\n", + "simulation.step(100)\n", + "\n", + "# append reporters\n", + "simulation.reporters.append(app.DCDReporter('trajectory_tip3p.dcd', 1000))\n", + "simulation.reporters.append(app.StateDataReporter(stdout, 1000, step=True,\n", + " potentialEnergy=True, temperature=True, progress=True, remainingTime=True,\n", + " speed=True, totalSteps=25000000, separator='\\t'))\n", + "\n", + "# run 50 ns of production simulation\n", + "print('Running Production...')\n", + "simulation.step(25000000)\n", + "print('Done!')" + ] + }, + { + "cell_type": "markdown", + "id": "55950bb6", + "metadata": {}, + "source": [ + "### Solvating and simulating TIP4P-Ew\n", + "\n", + "Using a four-site water model like TIP4P-Ew requires making sure we explicitly call `modeller.addExtraParticles` to model in the missing virtual sites:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "232f1890", + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "from openmm import app\n", + "import openmm as mm\n", + "from openmm import unit\n", + "from sys import stdout\n", + "\n", + "# load in input PDB file and force field XML files\n", + "pdb = app.PDBFile('1o9s_fixed.pdb')\n", + "forcefield = app.ForceField('amber99sbildn.xml', 'tip4pew.xml')\n", + "\n", + "# use app.Modeller to add hydrogens, extra particles, and solvent\n", + "modeller = app.Modeller(pdb.topology, pdb.positions)\n", + "modeller.addHydrogens()\n", + "modeller.addExtraParticles(forcefield)\n", + "modeller.addSolvent(forcefield, model='tip4pew', padding=1.0*unit.nanometers)\n", + "app.PDBFile.writeFile(modeller.topology, modeller.positions, open('1o9s_modeller_tip4pew.pdb', 'w'))\n", + "\n", + "# prepare system and integrator\n", + "system = forcefield.createSystem(modeller.topology, nonbondedMethod=app.PME,\n", + " nonbondedCutoff=1.0*unit.nanometers, constraints=app.HBonds, rigidWater=True,\n", + " ewaldErrorTolerance=0.0005)\n", + "integrator = mm.LangevinIntegrator(300*unit.kelvin, 1.0/unit.picoseconds,\n", + " 2.0*unit.femtoseconds)\n", + "integrator.setConstraintTolerance(0.00001)\n", + "\n", + "# prepare simulation\n", + "simulation = app.Simulation(modeller.topology, system, integrator)\n", + "simulation.context.setPositions(modeller.positions)\n", + "\n", + "# minimize\n", + "print('Minimizing...')\n", + "simulation.minimizeEnergy()\n", + "\n", + "# equilibrate for 100 steps\n", + "simulation.context.setVelocitiesToTemperature(300*unit.kelvin)\n", + "print('Equilibrating...')\n", + "simulation.step(100)\n", + "\n", + "# append reporters\n", + "simulation.reporters.append(app.DCDReporter('trajectory_tip4pew.dcd', 1000))\n", + "simulation.reporters.append(app.StateDataReporter(stdout, 1000, step=True,\n", + " potentialEnergy=True, temperature=True, progress=True, remainingTime=True,\n", + " speed=True, totalSteps=25000000, separator='\\t'))\n", + "\n", + "# run 50 ns of production simulation\n", + "print('Running Production...')\n", + "simulation.step(25000000)\n", + "print('Done!')" + ] + }, + { + "cell_type": "markdown", + "id": "c2c865e1", + "metadata": {}, + "source": [ + "### TIP5P:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "de0a1e54", + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "from openmm import app\n", + "import openmm as mm\n", + "from simtk import unit\n", + "from sys import stdout\n", + "\n", + "# load in input PDB file and force field XML files\n", + "pdb = app.PDBFile('1o9s_fixed.pdb')\n", + "forcefield = app.ForceField('amber99sbildn.xml', 'tip5p.xml')\n", + "\n", + "# use app.Modeller to add hydrogens, extra particles, and solvent\n", + "modeller = app.Modeller(pdb.topology, pdb.positions)\n", + "modeller.addHydrogens()\n", + "modeller.addExtraParticles(forcefield)\n", + "modeller.addSolvent(forcefield, model='tip5p', padding=1.0*unit.nanometers)\n", + "app.PDBFile.writeFile(modeller.topology, modeller.positions, open('1o9s_modeller_tip5p.pdb', 'w'))\n", + "\n", + "# prepare system and integrator\n", + "system = forcefield.createSystem(modeller.topology, nonbondedMethod=app.PME,\n", + " nonbondedCutoff=1.0*unit.nanometers, constraints=app.HBonds, rigidWater=True,\n", + " ewaldErrorTolerance=0.0005)\n", + "integrator = mm.LangevinIntegrator(300*unit.kelvin, 1.0/unit.picoseconds,\n", + " 2.0*unit.femtoseconds)\n", + "integrator.setConstraintTolerance(0.00001)\n", + "\n", + "# prepare simulation\n", + "simulation = app.Simulation(modeller.topology, system, integrator)\n", + "simulation.context.setPositions(modeller.positions)\n", + "\n", + "# minimize\n", + "print('Minimizing...')\n", + "simulation.minimizeEnergy()\n", + "\n", + "# equilibrate for 100 steps\n", + "simulation.context.setVelocitiesToTemperature(300*unit.kelvin)\n", + "print('Equilibrating...')\n", + "simulation.step(100)\n", + "\n", + "# append reporters\n", + "simulation.reporters.append(app.DCDReporter('trajectory_tip5p.dcd', 1000))\n", + "simulation.reporters.append(app.StateDataReporter(stdout, 1000, step=True,\n", + " potentialEnergy=True, temperature=True, progress=True, remainingTime=True,\n", + " speed=True, totalSteps=25000000, separator='\\t'))\n", + "\n", + "# run 50 ns of production simulation\n", + "print('Running Production...')\n", + "simulation.step(25000000)\n", + "print('Done!')" + ] + } + ], + "metadata": { + "tags": [ + "tutorial" + ], + "kernelspec": { + "display_name": "Python 3.9.13 ('openmm')", + "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.13" + }, + "nbsphinx": { + "execute": "never" + }, + "vscode": { + "interpreter": { + "hash": "16b2d2c1789d035bceb6d775bd7ffc39b805c8f0529038638d98b11c7a85ade5" + } + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/notebooks/tutorials/Histone_methyltransferase_simulation_with_multisite_Zn2_structural_ions.ipynb b/notebooks/tutorials/Histone_methyltransferase_simulation_with_multisite_Zn2_structural_ions.ipynb new file mode 100644 index 0000000..64304a7 --- /dev/null +++ b/notebooks/tutorials/Histone_methyltransferase_simulation_with_multisite_Zn2_structural_ions.ipynb @@ -0,0 +1,279 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "6b971986", + "metadata": {}, + "source": [ + "## Histone methyltransferase simulation with multisite Zn2+ structural ions\n", + "\n", + "*Simulating a protein with structural zinc ions using multisite ions.*\n", + "\n", + "This tutorial is described in [OpenMM 7](http://dx.doi.org/10.1371/journal.pcbi.1005659) publication.\n", + "\n", + "### Files\n", + "\n", + "- All input files can be found in [hkmt_zinc.zip](https://openmm.org/tutorials_/hkmt_zinc/files/hkmt_zinc.zip)\n", + "\n", + "### Introduction\n", + "\n", + "OpenMM allows users to model their systems using Amber and provide `prmtop`, and `inpcrd` files as input. This allows users more familiar with the Amber modeling environment to continue using their setup tools, while harnessing the speed and versatility of OpenMM. This also allows the use of non-standard force fields that have been published for use with Amber, such as metal ion models where dummy atoms are applied to mimic particular coordination geometries. Furthermore, this is facilitated by OpenMM's support for [Extra Particles](http://docs.openmm.org/latest/userguide/application/03_model_building_editing.html#adding-or-removing-extra-particles) which are particles that are not ordinary atoms, such as these metal dummy atoms, virtual sites in many water models, etc.\n", + "\n", + "This example illustrates the use of `tleap` from [AmberTools](http://ambermd.org/) to set up a simulation of the histone methyltransferase SETD2 (Uniprot: [Q9BYW2](http://www.uniprot.org/uniprot/Q9BYW2)), including three structural Zn2+ cations described with the tetrahedral Cationic Dummy Atom Approach (CADA: [DOI:10.1007/s008940050119](https://dx.doi.org/10.1007/s008940050119), [Pang lab](http://www.mayo.edu/research/labs/computer-aided-molecular-design/projects/zinc-protein-simulations-using-cationic-dummy-atom-cada-approach)).\n", + "\n", + "\n", + "We begin from the [4H12](http://www.rcsb.org/pdb/explore.do?structureId=4h12) PDB file, add missing residues (only those in the middle of the chain) and missing heavy atoms using [PDBFixer](https://github.com/openmm/pdbfixer), and remove unwanted water and ligand residues using [MDTraj](http://mdtraj.org/). The CADA model requires particular naming of those residues, as well as deprotonation of the ligating cysteine sulfurs (i.e. their names are changed from CYS to CYM). Finally, `tleap` is run to add hydrogens, the Zn2+ dummy atoms and parametrize. We use the `ff99SBildn` force field and `znb.lib`, and `frcmod.zinc` files from the CADA model (downloaded from Pang lab). The `prmtop` and `inpcrd` files are saved for simulation in OpenMM.\n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a8fed9d9", + "metadata": {}, + "outputs": [], + "source": [ + "# Download and unzip the inputfiles\n", + "!wget https://openmm.org/tutorials_/hkmt_zinc/files/hkmt_zinc.zip\n", + "!unzip -o hkmt_zinc.zip" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4b3f0a75", + "metadata": {}, + "outputs": [], + "source": [ + "from pdbfixer import PDBFixer\n", + "from openmm.app import PDBFile\n", + "import mdtraj as md\n", + "import os\n", + "\n", + "# clean up the original PDB file and add missing residues and heavy atoms\n", + "fixer = PDBFixer('pdb4h12.ent')\n", + "\n", + "\n", + "fixer.findMissingResidues()\n", + "# only add missing residues in the middle of the chain, do not add terminal ones\n", + "chains = list(fixer.topology.chains())\n", + "keys = fixer.missingResidues.keys()\n", + "missingResidues = dict()\n", + "for key in keys:\n", + " chain = chains[key[0]]\n", + " if not (key[1] == 0 or key[1] == len(list(chain.residues()))):\n", + " missingResidues[key] = fixer.missingResidues[key]\n", + "fixer.missingResidues = missingResidues\n", + "\n", + "fixer.findMissingAtoms()\n", + "fixer.addMissingAtoms()\n", + "\n", + "PDBFile.writeFile(fixer.topology, fixer.positions, open('4h12_fixed.pdb', 'w'))\n", + "\n", + "# keep only protein and zinc ions\n", + "traj = md.load('4h12_fixed.pdb')\n", + "traj = traj.atom_slice(traj.top.select('(protein and not resname SAH) or resname ZN'))\n", + "\n", + "# implement changes necessary for the use of the dummy atom Zn2+ model\n", + "# change residue name of the zincs from ZN to ZNB, and atom names from ZN to Zn\n", + "for residue in traj.top.chain(1).residues:\n", + " residue.name = 'ZNB'\n", + "for atom in traj.top.chain(1).atoms:\n", + " atom.name = 'Zn'\n", + "\n", + "# change name of cysteines coordinating zincs to CYM (deprotonated cysteine)\n", + "for residue in traj.top.chain(0).residues:\n", + " if residue.index in [86, 92, 82, 69, 54, 52, 73, 184, 233, 238, 231]:\n", + " residue.name = 'CYM'\n", + "\n", + "traj.save('4h12_fixed_protein_zn_only.pdb')\n", + "\n", + "# save the tleap script to file\n", + "with open('leaprc.setd2', 'w') as f:\n", + " f.write('''\n", + "source oldff/leaprc.ff99SBildn\n", + "addAtomTypes { { \"DZ\" \"Zn\" \"sp3\" } { \"Zn\" \"Zn\" \"sp3\" } }\n", + "loadOff znb.lib\n", + "loadamberparams frcmod.zinc\n", + "x = loadPdb 4h12_fixed_protein_zn_only.pdb\n", + "addIons x Cl- 0\n", + "solvateBox x TIP3PBOX 10.0\n", + "savePdb x topology.pdb\n", + "saveAmberParm x input.prmtop input.inpcrd\n", + "quit\n", + "''')\n", + "\n", + "# run tleap\n", + "\n", + "# if you have amber tools installed on your system you can uncomment and run this line\n", + "#os.system('tleap -f leaprc.setd2')\n", + "\n", + "# we have included the output files that get produced: \n", + "# input.inpcrd and input.prmtop" + ] + }, + { + "cell_type": "markdown", + "id": "c9805bb7", + "metadata": {}, + "source": [ + "We load the `prmtop` and `inpcrd` files in, by creating `AmberPrmtopFile` and `AmberInpcrdFile` objects. Next, the `System` is created by calling the createSystem() method on the AmberPrmtopFile object. \n", + "\n", + "Next, the `LangevinIntegrator` and the `Simulation` are set up, using the topology from the AmberPrmtopFile and positions from the AmberInpcrdFile. In this example we will use the CUDA platform, with mixed precision. The simulation is energy minimized and equilibrated for 100 steps. Reporters are attached and the production simulation propagated for 50 ns." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "72615e2c", + "metadata": {}, + "outputs": [], + "source": [ + "from openmm import app\n", + "import openmm as mm\n", + "from openmm import unit\n", + "from sys import stdout\n", + "\n", + "# load in Amber input files\n", + "prmtop = app.AmberPrmtopFile('input.prmtop')\n", + "inpcrd = app.AmberInpcrdFile('input.inpcrd')\n", + "\n", + "# prepare system and integrator\n", + "system = prmtop.createSystem(nonbondedMethod=app.PME,\n", + " nonbondedCutoff=1.0*unit.nanometers, constraints=app.HBonds, rigidWater=True,\n", + " ewaldErrorTolerance=0.0005)\n", + "integrator = mm.LangevinIntegrator(300*unit.kelvin, 1.0/unit.picoseconds,\n", + " 2.0*unit.femtoseconds)\n", + "integrator.setConstraintTolerance(0.00001)\n", + "\n", + "\n", + "simulation = app.Simulation(prmtop.topology, system, integrator)\n", + " #properties)\n", + "simulation.context.setPositions(inpcrd.positions)\n", + "\n", + "# minimize\n", + "print('Minimizing...')\n", + "simulation.minimizeEnergy()\n", + "\n", + "# equilibrate for 100 steps\n", + "simulation.context.setVelocitiesToTemperature(300*unit.kelvin)\n", + "print('Equilibrating...')\n", + "simulation.step(100)\n", + "\n", + "# append reporters\n", + "simulation.reporters.append(app.DCDReporter('trajectory.dcd', 1000))\n", + "simulation.reporters.append(app.StateDataReporter(stdout, 1000, step=True,\n", + " potentialEnergy=True, temperature=True, progress=True, remainingTime=True,\n", + " speed=True, totalSteps=25000000, separator='\\t'))\n", + "\n", + "# run 50 ns of production simulation\n", + "print('Running Production...')\n", + "simulation.step(25000000)\n", + "print('Done!')" + ] + }, + { + "cell_type": "markdown", + "id": "c5e3244c", + "metadata": {}, + "source": [ + "Finally, we perform a quick analysis of the trajectory. We examine the RMSD of all frames to the first frame, and the mean sulfur - zinc distances to check the stability of the metal centers." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e15d7137", + "metadata": {}, + "outputs": [], + "source": [ + "import mdtraj as md\n", + "import matplotlib\n", + "matplotlib.use('Agg')\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "\n", + "# load trajectory and remove solvent\n", + "traj = md.load_dcd('trajectory.dcd', top='topology.pdb', stride=50)\n", + "traj = traj.atom_slice(traj.top.select('protein or resname ZNB'))\n", + "\n", + "# calculate RMSD to first frame and plot figure\n", + "rmsd = md.rmsd(traj, traj)\n", + "\n", + "plt.figure()\n", + "plt.plot(rmsd)\n", + "plt.title('RMSD to first frame')\n", + "plt.xlabel('Frame (0.1 ns/frame)')\n", + "plt.ylabel('RMSD (nm)')\n", + "plt.savefig('rmsd.png', dpi=300)\n", + "plt.close()\n", + "\n", + "# calculate mean sulfur - zinc distances for 3 metal centers and plot figure\n", + "atom_pairs_1 = [[3904, 892], [3904, 917], [3904, 1136], [3904, 1180]]\n", + "atom_pairs_2 = [[3909, 1136], [3909, 1336], [3909, 1392], [3909, 1470]]\n", + "atom_pairs_3 = [[3914, 2982], [3914, 3733], [3914, 3763], [3914, 3815]]\n", + "\n", + "distances_1 = md.compute_distances(traj, atom_pairs_1)\n", + "distances_1 = [np.mean(x) for x in distances_1]\n", + "distances_2 = md.compute_distances(traj, atom_pairs_2)\n", + "distances_2 = [np.mean(x) for x in distances_2]\n", + "distances_3 = md.compute_distances(traj, atom_pairs_3)\n", + "distances_3 = [np.mean(x) for x in distances_3]\n", + "\n", + "plt.figure()\n", + "plt.plot(distances_1, label='Zn1')\n", + "plt.plot(distances_2, label='Zn2')\n", + "plt.plot(distances_3, label='Zn3')\n", + "plt.title('Mean S - Zn distances')\n", + "plt.xlabel('Frame (0.1 ns/frame)')\n", + "plt.ylabel('Mean S - Zn distance (nm)')\n", + "plt.legend()\n", + "plt.savefig('zn_s_distances.png', dpi=300)\n", + "plt.close()" + ] + }, + { + "cell_type": "markdown", + "id": "4386b460", + "metadata": {}, + "source": [ + "![RMSD](./rmsd.png)\n", + "\n", + "![zn_s_distances](./zn_s_distances.png)" + ] + } + ], + "metadata": { + "tags": [ + "tutorial" + ], + "kernelspec": { + "display_name": "Python 3.9.13 ('openmm')", + "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.13" + }, + "nbsphinx": { + "execute": "never" + }, + "vscode": { + "interpreter": { + "hash": "16b2d2c1789d035bceb6d775bd7ffc39b805c8f0529038638d98b11c7a85ade5" + } + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/notebooks/tutorials/b2ar_membrane.jpeg b/notebooks/tutorials/b2ar_membrane.jpeg new file mode 100644 index 0000000..a68bc85 Binary files /dev/null and b/notebooks/tutorials/b2ar_membrane.jpeg differ diff --git a/notebooks/tutorials/protein_in_water.ipynb b/notebooks/tutorials/protein_in_water.ipynb new file mode 100644 index 0000000..e1628ed --- /dev/null +++ b/notebooks/tutorials/protein_in_water.ipynb @@ -0,0 +1,454 @@ +{ + "cells": [ + { + "attachments": {}, + "cell_type": "markdown", + "id": "9a0f5c0b", + "metadata": {}, + "source": [ + "## Protein in Water\n", + "\n", + "*Solvating a protein structure from the PDB and running NPT dynamics*\n", + "\n", + "### Introduction\n", + "\n", + "This is the OpenMM version of [Justin A. Lemkul's Lysozyme in Water GROMACS tutorial](http://www.mdtutorials.com/gmx/lysozyme/index.html).\n", + "\n", + "It will cover the following steps\n", + "\n", + "- Load a PDB file into OpenMM\n", + "- Choose the force-field \n", + "- Clean-up the file\n", + "- Solvate the protein with water and ions\n", + "- Setup system and integrator\n", + "- Run local minization\n", + "- Run NVT equilibration\n", + "- Run NPT production molecular dynamics\n", + "- Basic analysis." + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "5437bcbb", + "metadata": {}, + "source": [ + "### Download the protein structure file\n", + "\n", + "First we need to download the PDB file of the lysozome from the RCSB Protein Data Bank https://www.rcsb.org/structure/1aki" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "68bd18e5", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "--2022-12-23 14:47:36-- https://files.rcsb.org/download/1AKI.pdb\n", + "Resolving files.rcsb.org (files.rcsb.org)... 128.6.158.66\n", + "Connecting to files.rcsb.org (files.rcsb.org)|128.6.158.66|:443... connected.\n", + "HTTP request sent, awaiting response... 200 OK\n", + "Length: unspecified [application/octet-stream]\n", + "Saving to: ‘1AKI.pdb’\n", + "\n", + "1AKI.pdb [ <=> ] 113.59K 456KB/s in 0.2s \n", + "\n", + "2022-12-23 14:47:40 (456 KB/s) - ‘1AKI.pdb’ saved [116316]\n", + "\n" + ] + } + ], + "source": [ + "!wget https://files.rcsb.org/download/1AKI.pdb" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "b28934e2", + "metadata": {}, + "source": [ + "### Load the PDB file into OpenMM" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "e830a81a", + "metadata": {}, + "outputs": [], + "source": [ + "from openmm.app import *\n", + "from openmm import *\n", + "from openmm.unit import *\n", + "from sys import stdout\n", + "\n", + "pdb = PDBFile(\"1AKI.pdb\")\n" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "09dd459c", + "metadata": {}, + "source": [ + "### Define the forcefield\n", + "\n", + "We need to define the forcefield we want to use. We will use the Amber14 forcefield and the TIP3P-FB water model." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "65f73c52", + "metadata": {}, + "outputs": [], + "source": [ + "# Specify the forcefield \n", + "forcefield = ForceField('amber14-all.xml', 'amber14/tip3pfb.xml')" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "825b9c58", + "metadata": {}, + "source": [ + "### Clean up\n", + "\n", + "This PDB file contains some crystal water molecules which we want to strip out. This can be done using the Modeller class.\n", + "We also add in any missing H atoms." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "9e2f7069", + "metadata": {}, + "outputs": [], + "source": [ + "modeller = Modeller(pdb.topology, pdb.positions)\n", + "modeller.deleteWater()\n", + "residues=modeller.addHydrogens(forcefield)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "b286b533", + "metadata": {}, + "source": [ + "### Solvate\n", + "\n", + "We can use the `addSolvent` method to add water molecules" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "0e9a63ad", + "metadata": {}, + "outputs": [], + "source": [ + "modeller.addSolvent(forcefield, padding=1.0*nanometer)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "3c07c143", + "metadata": {}, + "source": [ + "This command creates a box that has edges at least 1nm away from the solute and fills it with water molecules. Addionally it adds in the required number of CL and Na ions to make the system charge neutral." + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "3520a945", + "metadata": {}, + "source": [ + "### Setup system and Integrator\n", + "\n", + "We now need to combine our molecular topology and the forcefield to create a complete description of the system. This is done using the `ForceField` object's `createSystem()` function.\n", + "We then create the integrator, and combine the integrator and system to create the `Simulation` object. Finally we set the initial atomic positions." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "9d08a38a", + "metadata": {}, + "outputs": [], + "source": [ + "system = forcefield.createSystem(modeller.topology, nonbondedMethod=PME, nonbondedCutoff=1.0*nanometer, constraints=HBonds)\n", + "integrator = LangevinMiddleIntegrator(300*kelvin, 1/picosecond, 0.004*picoseconds)\n", + "simulation = Simulation(modeller.topology, system, integrator)\n", + "simulation.context.setPositions(modeller.positions)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "7ea42e7e", + "metadata": {}, + "source": [ + "### Local energy minimization" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "d144a790", + "metadata": {}, + "source": [ + "It is a good idea to run local energy minimization at the start of a simulation, since the coordinates in the PDB file might produce very large forces" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "779d7617", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Minimizing energy\n" + ] + } + ], + "source": [ + "print(\"Minimizing energy\")\n", + "simulation.minimizeEnergy()" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "184761eb", + "metadata": {}, + "source": [ + "### Setup reporting \n", + "\n", + "To get output from our simulation we can add reporters. We use `PDBReporter` to write the coorinates every 1000 timesteps to \"output.pdb\" and we use `StateDataReporter` to print the timestep, potential energy, temperature, and volume to the screen and to a file called \"md_log.txt\"." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "8a1620e8", + "metadata": {}, + "outputs": [], + "source": [ + "simulation.reporters.append(PDBReporter('output.pdb', 1000))\n", + "simulation.reporters.append(StateDataReporter(stdout, 1000, step=True,\n", + " potentialEnergy=True, temperature=True, volume=True))\n", + "simulation.reporters.append(StateDataReporter(\"md_log.txt\", 100, step=True,\n", + " potentialEnergy=True, temperature=True, volume=True))" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "7e23a99c", + "metadata": {}, + "source": [ + "### NVT equillibration\n", + "\n", + "We are using a Langevin integrator which means we are simulating in the NVT ensemble. To equilibrate the temperature we just need to run the simulation for a number of timesteps." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "4676b438", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Running NVT\n", + "#\"Step\",\"Potential Energy (kJ/mole)\",\"Temperature (K)\",\"Box Volume (nm^3)\"\n", + "1000,-361152.47182837734,290.59113263667587,237.5626678984939\n", + "2000,-358285.09682837734,302.79078945563003,237.5626678984939\n", + "3000,-358005.84682837734,302.48286620646525,237.5626678984939\n", + "4000,-358507.72182837734,298.6930169859535,237.5626678984939\n", + "5000,-358184.97182837734,299.2717701713331,237.5626678984939\n", + "6000,-358212.97182837734,300.75294253983,237.5626678984939\n", + "7000,-359764.59682837734,300.86799019463365,237.5626678984939\n", + "8000,-358504.22182837734,300.08571555582586,237.5626678984939\n", + "9000,-358743.72182837734,301.49754076972073,237.5626678984939\n", + "10000,-358427.47182837734,303.0196359235443,237.5626678984939\n" + ] + } + ], + "source": [ + "print(\"Running NVT\")\n", + "simulation.step(10000)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "18726d22", + "metadata": {}, + "source": [ + "### NPT production MD" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "0e0a8f38", + "metadata": {}, + "source": [ + "To run our simulation in the NPT ensemble we need to add in a barostat to control the pressure. We can use `MonteCarloBarostat`." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "50867f80", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Running NPT\n", + "11000,-360868.2039845481,296.6271613599709,229.55243059554863\n", + "12000,-360440.69597966364,299.2972740816768,227.9584335998326\n", + "13000,-360306.2146281218,298.81725153096374,226.29494575252173\n", + "14000,-361092.9398954578,303.07884143773134,225.42478987487024\n", + "15000,-360441.3635788809,300.7599116506667,225.36581137758682\n", + "16000,-360902.0646238751,298.85839880440795,224.7134712811861\n", + "17000,-361590.4094829492,298.67191986774935,224.97738234573134\n", + "18000,-360249.67117970064,296.2367386071592,224.69872883856726\n", + "19000,-360755.6596395951,302.12766052941635,224.73491745579543\n", + "20000,-361129.44742261735,298.26462186445406,225.16297011700198\n" + ] + } + ], + "source": [ + "system.addForce(MonteCarloBarostat(1*bar, 300*kelvin))\n", + "simulation.context.reinitialize(preserveState=True)\n", + "\n", + "\n", + "print(\"Running NPT\")\n", + "simulation.step(10000)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "b4c7b6be", + "metadata": {}, + "source": [ + "### Analysis\n", + "\n", + "We can now do some basic analysis using Python. We will plot the time evolution of the potential energy, temperature, and box volume. Remember that OpenMM itself is primarly an MD engine, for in-depth anaylsis of your simulations you can use other python packages such as MDtraj, or MDAnalysis." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "5ad85795", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "data = np.loadtxt(\"md_log.txt\", delimiter=',')\n", + "\n", + "step = data[:,0]\n", + "potential_energy = data[:,1]\n", + "temperature = data[:,2]\n", + "volume = data[:,3]\n", + "\n", + "plt.plot(step, potential_energy)\n", + "plt.xlabel(\"Step\")\n", + "plt.ylabel(\"Potential energy (kJ/mol)\")\n", + "plt.show()\n", + "plt.plot(step, temperature)\n", + "plt.xlabel(\"Step\")\n", + "plt.ylabel(\"Temperature (K)\")\n", + "plt.show()\n", + "plt.plot(step, volume)\n", + "plt.xlabel(\"Step\")\n", + "plt.ylabel(\"Volume (nm^3)\")\n", + "plt.show()\n", + "\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "cookbook", + "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.8" + }, + "nbsphinx": { + "execute": "never" + }, + "tags": [ + "tutorial" + ], + "vscode": { + "interpreter": { + "hash": "0196bde48eca6e98b9d405f49c02d8b38bda65759256048592a275ce0440cb5b" + } + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/notebooks/tutorials/rmsd.png b/notebooks/tutorials/rmsd.png new file mode 100644 index 0000000..84ae983 Binary files /dev/null and b/notebooks/tutorials/rmsd.png differ diff --git a/notebooks/tutorials/zn_s_distances.png b/notebooks/tutorials/zn_s_distances.png new file mode 100644 index 0000000..e685e42 Binary files /dev/null and b/notebooks/tutorials/zn_s_distances.png differ diff --git a/tutorials.md b/tutorials.md new file mode 100644 index 0000000..ae1d19b --- /dev/null +++ b/tutorials.md @@ -0,0 +1,34 @@ +--- +orphan: true +--- +# The OpenMM Tutorials + + +## Basic Tutorials +:::{nbgallery} +--- +glob: True +caption: Basic Tutorials +--- +notebooks/tutorials/protein_in_water +::: + +## Advanced Tutorials +Tutorials showing more the more advanced capabilities from the [OpenMM 7 publication](https://doi.org/10.1371/journal.pcbi.1005659) +:::{nbgallery} +--- +glob: True +caption: Advanced Tutorials +--- +notebooks/tutorials/Alchemical_free_energy_calculations.ipynb +notebooks/tutorials/Beta_2_adrenergic_receptor_B2AR_membrane_protein_simulation_with_CHARMM.ipynb +notebooks/tutorials/HSP90_with_ADPMg2_simulation.ipynb +notebooks/tutorials/Histone_methyltransferase_simulation_with_a_multisite_water_model_TIP4P-Ew.ipynb +notebooks/tutorials/Histone_methyltransferase_simulation_with_multisite_Zn2_structural_ions.ipynb +::: + +---- + +[Notebooks by Tag](genindex) + +