Compare commits

..

43 Commits

Author SHA1 Message Date
Peter Norvig
2e8234232d Update explanation of modular exponentiation 2026-03-29 19:44:23 -07:00
Peter Norvig
be1195dfa6 Fix formatting in TruncatablePrimes.ipynb 2026-03-29 18:50:31 -07:00
Peter Norvig
6712e8f626 Fix wording in TruncatablePrimes.ipynb 2026-03-29 18:50:08 -07:00
Peter Norvig
9ec6d0565e Add files via upload 2026-03-29 18:32:37 -07:00
Peter Norvig
5b9b2c2a11 Add files via upload 2026-03-25 17:16:09 -07:00
Peter Norvig
32dda84d1a Fix formatting issues in xkcd1313 notebook 2026-03-25 11:11:41 -07:00
Peter Norvig
1011a6c263 Remove unused code cells from xkcd1313 notebook 2026-03-25 11:10:19 -07:00
Peter Norvig
b499e06b97 Fix formatting of update message in xkcd1313 notebook 2026-03-25 11:08:28 -07:00
Peter Norvig
5d8afafae0 Fix formatting issue in Orderable Cards notebook 2026-03-24 14:37:41 -07:00
github-actions[bot]
7dd20e0759 docs: auto-update README.md via pytudes.py 2026-03-24 21:34:45 +00:00
Peter Norvig
345f95b1b1 Rename card hand description for clarity 2026-03-24 14:34:31 -07:00
Peter Norvig
e9f863ca75 Add files via upload 2026-03-23 15:36:44 -07:00
Peter Norvig
edc8549237 Fix typo and update condition in simulation function 2026-03-19 14:39:54 -07:00
Peter Norvig
a8d49f0e9f Add files via upload 2026-03-18 11:26:16 -07:00
Peter Norvig
ce4f285150 Add files via upload 2026-03-16 21:23:58 -07:00
Peter Norvig
d4cfefac7c Fix assert in missing_bridges 2026-03-13 12:55:25 -07:00
Peter Norvig
932dcac87f Fix punctuation in markdown cell text 2026-03-13 12:37:10 -07:00
Peter Norvig
3789bd415d Fix formatting issues in Portmantout.ipynb 2026-03-13 12:32:43 -07:00
Peter Norvig
d64e1004d6 Add files via upload 2026-03-12 14:18:58 -07:00
Peter Norvig
da9e5e55a6 Delete data/advent2017 directory 2026-03-09 15:18:32 -07:00
Peter Norvig
d672d49f4c Delete data/advent2016 directory 2026-03-09 15:18:10 -07:00
github-actions[bot]
950e3aa0fe docs: auto-update README.md via pytudes.py 2026-03-09 20:43:52 +00:00
Peter Norvig
622a529e20 Update copyright year in pytudes.py
Updated copyright year from 2022 to 2026 in the license section.
2026-03-09 13:43:39 -07:00
Peter Norvig
33a25a4478 Add GitHub Actions workflow to update README 2026-03-09 13:37:56 -07:00
Peter Norvig
8d1ab724c5 Add files via upload 2026-03-07 16:04:50 -08:00
Peter Norvig
6b584053ed Update year references for Advent of Code entries 2026-03-07 16:03:49 -08:00
Peter Norvig
b1156d3c43 Add files via upload 2026-03-07 15:53:41 -08:00
Peter Norvig
5d35144039 Update quotes and add new comments about Norvig 2026-03-06 22:37:11 -08:00
Peter Norvig
5cbe0f27b7 Add reviews section for pytudes
Added reviews and comments about pytudes from various individuals.
2026-03-05 23:28:53 -08:00
Peter Norvig
24bbe552a5 typos and cleanup in stubborn.ipynb 2026-03-05 15:48:52 -08:00
Peter Norvig
d55a5a0ff4 Update Advent-2025-AI.ipynb 2026-03-03 12:51:13 -08:00
Peter Norvig
da3ca24f69 Update Advent-2025-AI.ipynb
markdown issue
2026-02-24 21:04:38 -08:00
Peter Norvig
d2c182000c TSP better stats 2026-02-22 12:15:08 -08:00
Peter Norvig
a2421f723d TSP typos 2026-02-21 22:17:26 -08:00
Peter Norvig
2fa7b1b88a Simplified TSP.ipynb a bit, for lilpaiper 2026-02-19 23:03:33 -08:00
Peter Norvig
f15a28a282 Convex hull update type hints 2026-02-19 14:54:02 -08:00
Peter Norvig
bcf7806987 Python 3 for convex hull 2026-02-16 22:20:47 -08:00
Peter Norvig
501738eaec Add files via upload 2026-02-09 20:40:32 -08:00
Peter Norvig
f1d5adb64d Add files via upload 2026-02-06 09:52:14 -08:00
Peter Norvig
12400a2b91 Add files via upload 2026-02-05 16:20:46 -08:00
Peter Norvig
d316ff3299 Add files via upload 2026-02-05 16:18:54 -08:00
Peter Norvig
be572103a1 Add files via upload 2026-02-03 22:54:26 -08:00
Peter Norvig
fbe1c82585 Update latlong.htm 2026-02-03 15:36:11 -08:00
49 changed files with 4665 additions and 20612 deletions

34
.github/workflows/on-file-change.yml vendored Normal file
View File

@@ -0,0 +1,34 @@
name: Update README from Pytudes
on:
push:
paths:
- 'py/pytudes.py'
jobs:
build-and-update:
runs-on: ubuntu-latest
# Added permissions to allow the bot to write to the repo
permissions:
contents: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Run pytudes.py
run: python py/pytudes.py
- name: Commit and push if README changed
run: |
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
git add README.md
# The || exit 0 prevents the workflow from failing if there are no changes
git commit -m "docs: auto-update README.md via pytudes.py" || exit 0
git push

View File

@@ -1,6 +1,6 @@
<div align="right" style="text-align:right"><i>Peter Norvig
<br><a href="https://github.com/norvig/pytudes/blob/main/LICENSE">MIT License</a><br>2015-2022</i></div>
<br><a href="https://github.com/norvig/pytudes/blob/main/LICENSE">MIT License</a><br>2015-2026</i></div>
# pytudes
@@ -13,7 +13,6 @@ This project contains ***pytudes***—Python programs, usually short, for perfec
To continue the musical analogy, some people think of programming like [Spotify](http://spotify.com): they want to know how to install the app, find a good playlist, and hit the "play" button; after that they don't want to think about it. There are plenty of other tutorials that will tell you how to do the equivalent of that for various programming tasks—this one won't help. But if you think of programming like playing the piano—a craft that can take [years](https://norvig.com/21-days.html) to perfect—then I hope this collection can help.
# Index of Jupyter (IPython) Notebooks
For each notebook you can hover on the title to see a description, or click the title to view on github, or click one of the letters in the left column to launch the notebook on
@@ -27,19 +26,16 @@ For each notebook you can hover on the title to see a description, or click the
|Run|Year|New|
|---|---|---|
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/TruncatablePrimes.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FTruncatablePrimes.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FTruncatablePrimes.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/TruncatablePrimes.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/TruncatablePrimes.ipynb) | <u>2026</u> | <a href="ipynb/TruncatablePrimes.ipynb" title="Prime numbers where you can remove digits and still get primes.">Truncatable Primes</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Advent-2025.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FAdvent-2025.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FAdvent-2025.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Advent-2025.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Advent-2025.ipynb) | 2025 | <a href="ipynb/Advent-2025.ipynb" title="Puzzle site with a coding puzzle for 12 days of Christmas, December 2025">Advent of Code 2025</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Advent-2025-AI.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FAdvent-2025-AI.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FAdvent-2025-AI.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Advent-2025-AI.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Advent-2025-AI.ipynb) | 2025 | <a href="ipynb/Advent-2025-AI.ipynb" title="Using large language coding models to solve AoC puzzles">Advent of Code 2025: AI LLM edition</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Advent-2024.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FAdvent-2024.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FAdvent-2024.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Advent-2024.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Advent-2024.ipynb) | <u>2024</u> | <a href="ipynb/Advent-2024.ipynb" title="Puzzle site with a coding puzzle each day of Advent, December 2024">Advent of Code 2024</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Paint.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FPaint.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FPaint.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Paint.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Paint.ipynb) | <u>2024</u> | <a href="ipynb/Paint.ipynb" title="What is the average cluster size of a random grid of colored squares?">Counting Cluster Sizes in Paint by Numbers</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/CherylMind.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FCherylMind.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FCherylMind.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/CherylMind.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/CherylMind.ipynb) | <u>2024</u> | <a href="ipynb/CherylMind.ipynb" title="Do LLMs have enough theory of mind to solve the Cheryl's Birthday puzzle?">LLMs, Theory of Mind, and Cheryl's Birthday</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/NumberBracelets.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FNumberBracelets.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FNumberBracelets.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/NumberBracelets.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/NumberBracelets.ipynb) | <u>2024</u> | <a href="ipynb/NumberBracelets.ipynb" title="A game involving numbered beads on a circular bracelet.">Number Bracelets Game</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Overtime.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FOvertime.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FOvertime.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Overtime.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Overtime.ipynb) | <u>2024</u> | <a href="ipynb/Overtime.ipynb" title="In American Football, which team has the advantage in overtime?">Overtime in American Football</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Stubborn.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FStubborn.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FStubborn.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Stubborn.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Stubborn.ipynb) | <u>2024</u> | <a href="ipynb/Stubborn.ipynb" title="Any number ending in 5 has a square that also ends in 5. What other endings are like this?">Stubborn number endings</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Triplets.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FTriplets.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FTriplets.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Triplets.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Triplets.ipynb) | <u>2024</u> | <a href="ipynb/Triplets.ipynb" title="LLMs do better at producing a program to solve this puzzle than they do at solving it directly">The Languages of English, Math, and Programming</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Advent-2023.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FAdvent-2023.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FAdvent-2023.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Advent-2023.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Advent-2023.ipynb) | 2023 | <a href="ipynb/Advent-2023.ipynb" title="Puzzle site with a coding puzzle each day of Advent, December 2023">Advent of Code 2023</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/DocstringFixpoint.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FDocstringFixpoint.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FDocstringFixpoint.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/DocstringFixpoint.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/DocstringFixpoint.ipynb) | 2023 | <a href="ipynb/DocstringFixpoint.ipynb" title="An approach to writing code and docstrings that go together.">Docstring Fixpoint Theory</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/OneLetterOff.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FOneLetterOff.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FOneLetterOff.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/OneLetterOff.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/OneLetterOff.ipynb) | 2023 | <a href="ipynb/OneLetterOff.ipynb" title="Word game; use of a large language model to generate clues.">One Letter Off</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Diamonds.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FDiamonds.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FDiamonds.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Diamonds.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Diamonds.ipynb) | 2023 | <a href="ipynb/Diamonds.ipynb" title="Finding an optimal strategy for buying bags with unknown numbers of diamonds.">The Diamond Game: A Probability Puzzle</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Advent-2025-AI.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FAdvent-2025-AI.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FAdvent-2025-AI.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Advent-2025-AI.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Advent-2025-AI.ipynb) | 2025 | <a href="ipynb/Advent-2025-AI.ipynb" title="Using large language coding models to solve AoC puzzles">Advent of Code 2025: AI LLM Edition</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Advent-2024.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FAdvent-2024.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FAdvent-2024.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Advent-2024.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Advent-2024.ipynb) | 2024 | <a href="ipynb/Advent-2024.ipynb" title="Puzzle site with a coding puzzle each day of Advent, December 2024">Advent of Code 2024</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Paint.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FPaint.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FPaint.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Paint.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Paint.ipynb) | 2024 | <a href="ipynb/Paint.ipynb" title="What is the average cluster size of a random grid of colored squares?">Counting Cluster Sizes in Paint by Numbers</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/CherylMind.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FCherylMind.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FCherylMind.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/CherylMind.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/CherylMind.ipynb) | 2024 | <a href="ipynb/CherylMind.ipynb" title="Do LLMs have enough theory of mind to solve the Cheryl's Birthday puzzle?">LLMs, Theory of Mind, and Cheryl's Birthday</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/NumberBracelets.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FNumberBracelets.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FNumberBracelets.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/NumberBracelets.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/NumberBracelets.ipynb) | 2024 | <a href="ipynb/NumberBracelets.ipynb" title="A game involving numbered beads on a circular bracelet.">Number Bracelets Game</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Overtime.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FOvertime.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FOvertime.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Overtime.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Overtime.ipynb) | 2024 | <a href="ipynb/Overtime.ipynb" title="In American Football, which team has the advantage in overtime?">Overtime in American Football</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Stubborn.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FStubborn.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FStubborn.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Stubborn.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Stubborn.ipynb) | 2024 | <a href="ipynb/Stubborn.ipynb" title="Any number ending in 5 has a square that also ends in 5. What other endings are like this?">Stubborn number endings</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Triplets.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FTriplets.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FTriplets.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Triplets.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Triplets.ipynb) | 2024 | <a href="ipynb/Triplets.ipynb" title="LLMs do better at producing a program to solve this puzzle than they do at solving it directly">The Languages of English, Math, and Programming</a> |
|Run|Year|Programming Examples|
@@ -52,7 +48,7 @@ For each notebook you can hover on the title to see a description, or click the
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Sierpinski.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FSierpinski.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FSierpinski.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Sierpinski.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Sierpinski.ipynb) | 2019 | <a href="ipynb/Sierpinski.ipynb" title="A surprising appearance of the Sierpinski triangle in a random walk">Chaos with Triangles</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Life.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FLife.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FLife.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Life.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Life.ipynb) | 2017 | <a href="ipynb/Life.ipynb" title="The cellular automata zero-player game">Conway's Game of Life</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Maze.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FMaze.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FMaze.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Maze.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Maze.ipynb) | 2020 | <a href="ipynb/Maze.ipynb" title="Make a maze by generating a random tree superimposed on a grid and solve it">Generating and Solving Mazes</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Triplets.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FTriplets.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FTriplets.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Triplets.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Triplets.ipynb) | <u>2024</u> | <a href="ipynb/Triplets.ipynb" title="LLMs do better at producing a program to solve this puzzle than they do at solving it directly">The Languages of English, Math, and Programming</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Triplets.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FTriplets.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FTriplets.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Triplets.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Triplets.ipynb) | 2024 | <a href="ipynb/Triplets.ipynb" title="LLMs do better at producing a program to solve this puzzle than they do at solving it directly">The Languages of English, Math, and Programming</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Konane.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FKonane.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FKonane.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Konane.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Konane.ipynb) | 2021 | <a href="ipynb/Konane.ipynb" title="Solving the game of Konane (Hawaiian checkers).">Mel's Konane Board</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/PhotoFocalLengths.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FPhotoFocalLengths.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FPhotoFocalLengths.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/PhotoFocalLengths.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/PhotoFocalLengths.ipynb) | 2020 | <a href="ipynb/PhotoFocalLengths.ipynb" title="Generate charts of what focal lengths were used on a photo trip">Photo Focal Lengths</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Pickleball.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FPickleball.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FPickleball.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Pickleball.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Pickleball.ipynb) | 2018 | <a href="ipynb/Pickleball.ipynb" title="Scheduling a doubles tournament fairly and efficiently">Pickleball Tournament</a> |
@@ -63,9 +59,9 @@ For each notebook you can hover on the title to see a description, or click the
|Run|Year|Advent of Code|
|---|---|---|
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Advent-2025-AI.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FAdvent-2025-AI.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FAdvent-2025-AI.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Advent-2025-AI.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Advent-2025-AI.ipynb) | 2025 | <a href="ipynb/Advent-2025-AI.ipynb" title="Using large language coding models to solve AoC puzzles">AoC 2025: AI LLM edition</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Advent-2025-AI.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FAdvent-2025-AI.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FAdvent-2025-AI.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Advent-2025-AI.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Advent-2025-AI.ipynb) | 2025 | <a href="ipynb/Advent-2025-AI.ipynb" title="Using large language coding models to solve AoC puzzles">Advent of Code 2025: AI LLM Edition</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Advent-2025.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FAdvent-2025.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FAdvent-2025.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Advent-2025.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Advent-2025.ipynb) | 2025 | <a href="ipynb/Advent-2025.ipynb" title="Puzzle site with a coding puzzle for 12 days of Christmas, December 2025">Advent of Code 2025</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Advent-2024.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FAdvent-2024.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FAdvent-2024.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Advent-2024.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Advent-2024.ipynb) | <u>2024</u> | <a href="ipynb/Advent-2024.ipynb" title="Puzzle site with a coding puzzle each day of Advent, December 2024">Advent of Code 2024</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Advent-2024.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FAdvent-2024.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FAdvent-2024.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Advent-2024.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Advent-2024.ipynb) | 2024 | <a href="ipynb/Advent-2024.ipynb" title="Puzzle site with a coding puzzle each day of Advent, December 2024">Advent of Code 2024</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Advent-2023.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FAdvent-2023.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FAdvent-2023.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Advent-2023.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Advent-2023.ipynb) | 2023 | <a href="ipynb/Advent-2023.ipynb" title="Puzzle site with a coding puzzle each day of Advent, December 2023">Advent of Code 2023</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Advent-2022.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FAdvent-2022.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FAdvent-2022.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Advent-2022.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Advent-2022.ipynb) | 2022 | <a href="ipynb/Advent-2022.ipynb" title="Puzzle site with a coding puzzle each day of Advent, December 2022">Advent of Code 2022</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Advent-2021.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FAdvent-2021.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FAdvent-2021.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Advent-2021.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Advent-2021.ipynb) | 2021 | <a href="ipynb/Advent-2021.ipynb" title="Puzzle site with a coding puzzle each day of Advent, December 2021">Advent of Code 2021</a> |
@@ -86,7 +82,7 @@ For each notebook you can hover on the title to see a description, or click the
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Coin%20Flip.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FCoin%20Flip.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FCoin%20Flip.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Coin%20Flip.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Coin%20Flip.ipynb) | 2019 | <a href="ipynb/Coin%20Flip.ipynb" title="How to beat the Devil at his own game">The Devil and the Coin Flip Game</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Dice%20Baseball.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FDice%20Baseball.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FDice%20Baseball.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Dice%20Baseball.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Dice%20Baseball.ipynb) | 2020 | <a href="ipynb/Dice%20Baseball.ipynb" title="Simulating baseball games">Dice Baseball</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Economics.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FEconomics.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FEconomics.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Economics.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Economics.ipynb) | 2018 | <a href="ipynb/Economics.ipynb" title="A simulation of a simple economic game">Economics Simulation</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Overtime.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FOvertime.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FOvertime.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Overtime.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Overtime.ipynb) | <u>2024</u> | <a href="ipynb/Overtime.ipynb" title="In American Football, which team has the advantage in overtime?">Overtime in American Football</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Overtime.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FOvertime.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FOvertime.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Overtime.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Overtime.ipynb) | 2024 | <a href="ipynb/Overtime.ipynb" title="In American Football, which team has the advantage in overtime?">Overtime in American Football</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/poker.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2Fpoker.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2Fpoker.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/poker.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/poker.ipynb) | 2012 | <a href="ipynb/poker.ipynb" title="How do we decide which poker hand wins? Several variants of poker are considered">Poker Hand Ranking</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/risk.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2Frisk.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2Frisk.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/risk.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/risk.ipynb) | 2020 | <a href="ipynb/risk.ipynb" title="Determining who is likely to win an interminably long game of Risk">The Unfinished Game .... of Risk</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/WWW.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FWWW.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FWWW.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/WWW.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/WWW.ipynb) | 2019 | <a href="ipynb/WWW.ipynb" title="Computing the probability of winning the NBA title, for my home town Warriors, or any other team">WWW: Who Will Win (NBA Title)?</a> |
@@ -94,24 +90,24 @@ For each notebook you can hover on the title to see a description, or click the
|Run|Year|Logic and Number/Counting Puzzles|
|---|---|---|
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Paint.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FPaint.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FPaint.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Paint.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Paint.ipynb) | <u>2024</u> | <a href="ipynb/Paint.ipynb" title="What is the average cluster size of a random grid of colored squares?">Counting Cluster Sizes in Paint by Numbers</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Paint.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FPaint.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FPaint.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Paint.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Paint.ipynb) | 2024 | <a href="ipynb/Paint.ipynb" title="What is the average cluster size of a random grid of colored squares?">Counting Cluster Sizes in Paint by Numbers</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Cryptarithmetic.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FCryptarithmetic.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FCryptarithmetic.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Cryptarithmetic.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Cryptarithmetic.ipynb) | 2014 | <a href="ipynb/Cryptarithmetic.ipynb" title="Substitute digits for letters and make NUM + BER = PLAY">Cryptarithmetic</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Euler's%20Conjecture.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FEuler's%20Conjecture.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FEuler's%20Conjecture.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Euler's%20Conjecture.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Euler's%20Conjecture.ipynb) | 2018 | <a href="ipynb/Euler's%20Conjecture.ipynb" title="Solving a 200-year-old puzzle by finding integers that satisfy a<sup>5</sup> + b<sup>5</sup> + c<sup>5</sup> + d<sup>5</sup> = e<sup>5</sup>">Euler's Sum of Powers Conjecture</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Countdown.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FCountdown.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FCountdown.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Countdown.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Countdown.ipynb) | 2020 | <a href="ipynb/Countdown.ipynb" title="Solving the equation 10 _ 9 _ 8 _ 7 _ 6 _ 5 _ 4 _ 3 _ 2 _ 1 = 2016. Originally from an Alex Bellos puzzle">Four 4s, Five 5s, and Countdowns</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/How%20To%20Count%20Things.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FHow%20To%20Count%20Things.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FHow%20To%20Count%20Things.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/How%20To%20Count%20Things.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/How%20To%20Count%20Things.ipynb) | 2020 | <a href="ipynb/How%20To%20Count%20Things.ipynb" title="Combinatorial math: how to count how many things there are, when there are a lot of them">How to Count Things</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/KenKen.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FKenKen.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FKenKen.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/KenKen.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/KenKen.ipynb) | 2021 | <a href="ipynb/KenKen.ipynb" title="A Sudoku-like puzzle, but with arithmetic.">KenKen (Sudoku-like Puzzle)</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/NumberBracelets.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FNumberBracelets.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FNumberBracelets.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/NumberBracelets.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/NumberBracelets.ipynb) | <u>2024</u> | <a href="ipynb/NumberBracelets.ipynb" title="A game involving numbered beads on a circular bracelet.">Number Bracelets Game</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/NumberBracelets.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FNumberBracelets.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FNumberBracelets.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/NumberBracelets.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/NumberBracelets.ipynb) | 2024 | <a href="ipynb/NumberBracelets.ipynb" title="A game involving numbered beads on a circular bracelet.">Number Bracelets Game</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Socks.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FSocks.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FSocks.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Socks.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Socks.ipynb) | 2019 | <a href="ipynb/Socks.ipynb" title="What is the probability that you will be able to pair up socks as you randomly pull them out of the dryer?">Pairing Socks</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Sicherman%20Dice.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FSicherman%20Dice.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FSicherman%20Dice.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Sicherman%20Dice.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Sicherman%20Dice.ipynb) | 2018 | <a href="ipynb/Sicherman%20Dice.ipynb" title="Find a pair of dice that is like a regular pair of dice, only different">Sicherman Dice</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Golomb-Puzzle.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FGolomb-Puzzle.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FGolomb-Puzzle.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Golomb-Puzzle.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Golomb-Puzzle.ipynb) | 2014 | <a href="ipynb/Golomb-Puzzle.ipynb" title="A Puzzle involving placing rectangles of different sizes inside a square">Sol Golomb's Rectangle Puzzle</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Stubborn.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FStubborn.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FStubborn.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Stubborn.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Stubborn.ipynb) | <u>2024</u> | <a href="ipynb/Stubborn.ipynb" title="Any number ending in 5 has a square that also ends in 5. What other endings are like this?">Stubborn number endings</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Stubborn.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FStubborn.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FStubborn.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Stubborn.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Stubborn.ipynb) | 2024 | <a href="ipynb/Stubborn.ipynb" title="Any number ending in 5 has a square that also ends in 5. What other endings are like this?">Stubborn number endings</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/StarBattle.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FStarBattle.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FStarBattle.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/StarBattle.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/StarBattle.ipynb) | 2021 | <a href="ipynb/StarBattle.ipynb" title="Fill-in-the-grid puzzle similar to Sudoku">Star Battle (Sudoku-like Puzzle)</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Sudoku.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FSudoku.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FSudoku.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Sudoku.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Sudoku.ipynb) | 2006 | <a href="ipynb/Sudoku.ipynb" title="Classic fill-in-the-grid puzzle">Sudoku</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/SudokuJava.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FSudokuJava.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FSudokuJava.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/SudokuJava.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/SudokuJava.ipynb) | 2021 | <a href="ipynb/SudokuJava.ipynb" title="A version of the Sudoku solver using parallel threads and other optimizations">Sudoku: 100,000 puzzles/second in Java</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/SquareSum.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FSquareSum.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FSquareSum.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/SquareSum.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/SquareSum.ipynb) | 2020 | <a href="ipynb/SquareSum.ipynb" title="Place the numbers from 1 to n in a chain (or a circle) such that adjacent pairs sum to a perfect square">Square Sum Puzzle</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Cheryl.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FCheryl.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FCheryl.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Cheryl.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Cheryl.ipynb) | 2020 | <a href="ipynb/Cheryl.ipynb" title="Solving the *Cheryl's Birthday* logic puzzle">When is Cheryl's Birthday?</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Cheryl-and-Eve.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FCheryl-and-Eve.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FCheryl-and-Eve.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Cheryl-and-Eve.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Cheryl-and-Eve.ipynb) | 2015 | <a href="ipynb/Cheryl-and-Eve.ipynb" title="Inventing new puzzles in the Style of Cheryl's Birthday">When Cheryl Met Eve: A Birthday Story</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/CherylMind.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FCherylMind.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FCherylMind.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/CherylMind.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/CherylMind.ipynb) | <u>2024</u> | <a href="ipynb/CherylMind.ipynb" title="Do LLMs have enough theory of mind to solve the Cheryl's Birthday puzzle?">LLMs, Theory of Mind, and Cheryl's Birthday</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/CherylMind.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FCherylMind.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FCherylMind.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/CherylMind.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/CherylMind.ipynb) | 2024 | <a href="ipynb/CherylMind.ipynb" title="Do LLMs have enough theory of mind to solve the Cheryl's Birthday puzzle?">LLMs, Theory of Mind, and Cheryl's Birthday</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/xkcd1313.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2Fxkcd1313.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2Fxkcd1313.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/xkcd1313.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/xkcd1313.ipynb) | 2015 | <a href="ipynb/xkcd1313.ipynb" title="Find the smallest regular expression; inspired by Randall Munroe">xkcd 1313: Regex Golf</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/xkcd1313-part2.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2Fxkcd1313-part2.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2Fxkcd1313-part2.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/xkcd1313-part2.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/xkcd1313-part2.ipynb) | 2015 | <a href="ipynb/xkcd1313-part2.ipynb" title="Regex Golf: better, faster, funner (with Stefan Pochmann)">xkcd 1313: Regex Golf (Part 2: Infinite Problems)</a> |
@@ -146,7 +142,7 @@ For each notebook you can hover on the title to see a description, or click the
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/RiddlerLottery.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FRiddlerLottery.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FRiddlerLottery.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/RiddlerLottery.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/RiddlerLottery.ipynb) | 2019 | <a href="ipynb/RiddlerLottery.ipynb" title="Can you find what lottery number tickets these five friends picked?">Lottery</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/NightKing.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FNightKing.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FNightKing.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/NightKing.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/NightKing.ipynb) | 2019 | <a href="ipynb/NightKing.ipynb" title="A battle between the army of the dead and the army of the living">How Many Soldiers to Beat the Night King?</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Mean%20Misanthrope%20Density.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FMean%20Misanthrope%20Density.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FMean%20Misanthrope%20Density.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Mean%20Misanthrope%20Density.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Mean%20Misanthrope%20Density.ipynb) | 2017 | <a href="ipynb/Mean%20Misanthrope%20Density.ipynb" title="How crowded will this neighborhood be, if nobody wants to live next door to anyone else?">Misanthropic Neighbors</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Orderable%20Cards.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FOrderable%20Cards.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FOrderable%20Cards.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Orderable%20Cards.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Orderable%20Cards.ipynb) | 2018 | <a href="ipynb/Orderable%20Cards.ipynb" title="Can you get your hand of cards into a nice order with just one move?">Properly Ordered Card Hands</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Orderable%20Cards.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FOrderable%20Cards.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FOrderable%20Cards.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Orderable%20Cards.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Orderable%20Cards.ipynb) | 2018 | <a href="ipynb/Orderable%20Cards.ipynb" title="Can you get your hand of cards into a nice order with just one move?">Properly Organized Card Hands</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/RaceTrack.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FRaceTrack.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FRaceTrack.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/RaceTrack.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/RaceTrack.ipynb) | 2021 | <a href="ipynb/RaceTrack.ipynb" title="Race virtual cars around a circular track defined on a grid of points.">Race Track</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/SplitStates.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FSplitStates.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FSplitStates.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/SplitStates.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/SplitStates.ipynb) | 2021 | <a href="ipynb/SplitStates.ipynb" title="Split the US states into two near-halves by area.">Split the States</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/TourDe538.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FTourDe538.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FTourDe538.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/TourDe538.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/TourDe538.ipynb) | 2020 | <a href="ipynb/TourDe538.ipynb" title="Solve a puzzle involving the best pace for a bicycle race.">Tour de 538</a> |
@@ -160,9 +156,10 @@ For each notebook you can hover on the title to see a description, or click the
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Convex%20Hull.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FConvex%20Hull.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FConvex%20Hull.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Convex%20Hull.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Convex%20Hull.ipynb) | 2017 | <a href="ipynb/Convex%20Hull.ipynb" title="A classic Computer Science Algorithm">Convex Hull Problem</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/DocstringFixpoint.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FDocstringFixpoint.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FDocstringFixpoint.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/DocstringFixpoint.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/DocstringFixpoint.ipynb) | 2023 | <a href="ipynb/DocstringFixpoint.ipynb" title="An approach to writing code and docstrings that go together.">Docstring Fixpoint Theory</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/StableMatching.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FStableMatching.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FStableMatching.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/StableMatching.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/StableMatching.ipynb) | 2020 | <a href="ipynb/StableMatching.ipynb" title="What is the best way to pair up two groups with each other, obeying preferences?">Stable Matching Problem</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Differentiation.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FDifferentiation.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FDifferentiation.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Differentiation.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Differentiation.ipynb) | 2017 | <a href="ipynb/Differentiation.ipynb" title="A computer algebra system that, including symbolic differentiation">Symbolic Algebra, Simplification, and Differentiation</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Differentiation.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FDifferentiation.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FDifferentiation.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Differentiation.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Differentiation.ipynb) | 2017 | <a href="ipynb/Differentiation.ipynb" title="A computer algebra system, including symbolic differentiation">Symbolic Algebra, Simplification, and Differentiation</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/Snobol.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FSnobol.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FSnobol.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/Snobol.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/Snobol.ipynb) | 2017 | <a href="ipynb/Snobol.ipynb" title="As a student, did you ever get a bad grade on a programming assignment?">Snobol: Bad Grade, Good Experience</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/TSP.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FTSP.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FTSP.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/TSP.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/TSP.ipynb) | 2018 | <a href="ipynb/TSP.ipynb" title="Another of the classics">Traveling Salesperson Problem</a> |
| [C](https://colab.research.google.com/github/norvig/pytudes/blob/main/ipynb/TruncatablePrimes.ipynb) [D](https://beta.deepnote.org/launch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FTruncatablePrimes.ipynb) [M](https://mybinder.org/v2/gh/norvig/pytudes/main?filepath=ipynb%2FTruncatablePrimes.ipynb) [N](https://nbviewer.jupyter.org/github/norvig/pytudes/blob/main/ipynb/TruncatablePrimes.ipynb) [S](https://studiolab.sagemaker.aws/import/github/norvig/pytudes/blob/main/ipynb/TruncatablePrimes.ipynb) | <u>2026</u> | <a href="ipynb/TruncatablePrimes.ipynb" title="Prime numbers where you can remove digits and still get primes.">Truncatable Primes</a> |
# Index of Python Files
@@ -189,9 +186,25 @@ For each notebook you can hover on the title to see a description, or click the
|[yaptu.py](/py/yaptu.py)|*Yet Another Python Templating Utility*||
# Etudes for Programmers
I got the idea for the *"etudes"* part of the name from
this [1978 book](https://books.google.com/books/about/Etudes_for_programmers.html?id=u89WAAAAMAAJ)
by [Charles Wetherell](http://demin.ws/blog/english/2012/08/25/interview-with-charles-wetherell)
that was very influential to me when I was first learning to program. I still have my copy.
that was very influential to me when I was first learning to program. I still have my copy, but
it is now easier to find a [pdf](txt/Etudes.pdf) than a hard copy.
![](https://images-na.ssl-images-amazon.com/images/I/51ZnZH29dvL._SX394_BO1,204,203,200_.jpg)
# Reviews of pytudes
Here's what some people are saying about `pytudes`:
- "What I find interesting is how Peter builds bottom-up solutions using low-level utilities... Reading his code is educational." - [Jeremey Howard](https://en.wikipedia.org/wiki/Jeremy_Howard_(entrepreneur)), co-founder of fast.ai and chief scientist at Kaggle
- "Everything I see from Peter Norvig is just always so incredibly well written and coded." — [Jonathan](https://news.ycombinator.com/user?id=jypepin), [Hacker News](https://news.ycombinator.com/item?id=27379366)
- "Peter Norvig is my go to recommendation when someone is interested in becoming better at solving day to day problems ... I feel his skill of dividing a problem into small pieces and expressing them in code in a natural way is unparalleled." — [mikevin](https://news.ycombinator.com/user?id=mikevin), [Hacker News](https://news.ycombinator.com/item?id=27379366)
- "I've never seen Peter Norvig choose anything but the most elegant and perfect data model for the problem at hand." — [spoonjim](https://news.ycombinator.com/user?id=spoonjim), [Hacker News](https://news.ycombinator.com/item?id=27379366)
- "I just find Norvig's style of "functional Python" lovely in its own way (with noted disregard of Pep8 and other "best practices")" —[raverbashing](https://news.ycombinator.com/user?id=raverbashing), [Hacker News](https://news.ycombinator.com/item?id=25654955)
- "You should check out Norvig's design of computer programs [course on Udacity](https://imp.i115008.net/c/2331964/788805/11298?u=https://www.udacity.com/course/design-of-computer-programs--cs212) where he uses these kinds of puzzle programs to teach programming design concepts. It is a hard but really rewarding course. — [nafizh](https://news.ycombinator.com/user?id=nafizh), [HN ACademy](https://yahnd.com/academy/r/udacity.com/course/design-of-computer-programs--cs212/)
- "Often enough I would think of something [a possible improvement[, but if you worked it out in detail there was some less-obvious reason the code was the way it was... All the code is pretty short, and it's not really 'production code', but it's enough to be an education in craftsmanship at every level."
- [What code samples should programmers read?] "Anything else implemented by Norvig, he's one of the best programmers that I've had the pleasure of reading code from." - [jacquesm](https://news.ycombinator.com/user?id=jacquesm) on [Hacker News](https://news.ycombinator.com/item?id=14487724)
- "Everything I see from Peter Norvig is just always so incredibly well written and coded. Every year looking at his solutions for advent of code [0] brings just so much learnings. Strongly recommend. - [jyepin](https://news.ycombinator.com/user?id=jypepin) [Hacker News](https://news.ycombinator.com/item?id=27379366)
- "I feel his skill of dividing a problem into small pieces and expressing them in code in a natural way is unparalleled." - [mikevin](https://news.ycombinator.com/user?id=mikevin) [Hacker News](https://news.ycombinator.com/item?id=27379366)

View File

@@ -1 +0,0 @@
R4, R5, L5, L5, L3, R2, R1, R1, L5, R5, R2, L1, L3, L4, R3, L1, L1, R2, R3, R3, R1, L3, L5, R3, R1, L1, R1, R2, L1, L4, L5, R4, R2, L192, R5, L2, R53, R1, L5, R73, R5, L5, R186, L3, L2, R1, R3, L3, L3, R1, L4, L2, R3, L5, R4, R3, R1, L1, R5, R2, R1, R1, R1, R3, R2, L1, R5, R1, L5, R2, L2, L4, R3, L1, R4, L5, R4, R3, L5, L3, R4, R2, L5, L5, R2, R3, R5, R4, R2, R1, L1, L5, L2, L3, L4, L5, L4, L5, L1, R3, R4, R5, R3, L5, L4, L3, L1, L4, R2, R5, R5, R4, L2, L4, R3, R1, L2, R5, L5, R1, R1, L1, L5, L5, L2, L1, R5, R2, L4, L1, R4, R3, L3, R1, R5, L1, L4, R2, L3, R5, R3, R1, L3

View File

@@ -1,231 +0,0 @@
value 23 goes to bot 208
bot 125 gives low to bot 58 and high to bot 57
value 13 goes to bot 161
bot 178 gives low to bot 88 and high to bot 172
value 59 goes to bot 128
bot 173 gives low to bot 83 and high to bot 202
bot 189 gives low to bot 35 and high to bot 55
bot 123 gives low to bot 90 and high to bot 169
bot 148 gives low to bot 101 and high to bot 134
bot 36 gives low to bot 78 and high to bot 105
bot 196 gives low to bot 171 and high to bot 45
bot 157 gives low to bot 179 and high to bot 87
bot 124 gives low to bot 25 and high to bot 80
bot 55 gives low to bot 99 and high to bot 201
value 17 goes to bot 4
bot 127 gives low to bot 118 and high to bot 142
bot 9 gives low to bot 61 and high to bot 198
bot 71 gives low to bot 86 and high to bot 96
bot 86 gives low to bot 98 and high to bot 149
bot 176 gives low to bot 89 and high to bot 171
bot 38 gives low to bot 107 and high to bot 63
bot 67 gives low to bot 77 and high to bot 7
bot 131 gives low to output 6 and high to bot 151
bot 97 gives low to bot 33 and high to bot 16
bot 89 gives low to bot 27 and high to bot 36
bot 29 gives low to bot 185 and high to bot 11
bot 92 gives low to bot 189 and high to bot 122
bot 77 gives low to output 7 and high to bot 191
bot 14 gives low to bot 152 and high to bot 179
bot 49 gives low to bot 76 and high to bot 64
value 2 goes to bot 155
bot 159 gives low to bot 182 and high to bot 49
bot 129 gives low to bot 141 and high to bot 40
bot 50 gives low to output 1 and high to bot 47
bot 93 gives low to output 5 and high to bot 167
bot 112 gives low to output 13 and high to bot 51
bot 165 gives low to bot 163 and high to bot 123
bot 13 gives low to bot 75 and high to bot 74
bot 141 gives low to bot 178 and high to bot 207
bot 37 gives low to bot 42 and high to bot 139
value 31 goes to bot 92
bot 44 gives low to bot 16 and high to bot 91
bot 172 gives low to bot 84 and high to bot 27
bot 39 gives low to bot 44 and high to bot 154
bot 170 gives low to bot 95 and high to bot 146
bot 98 gives low to bot 193 and high to bot 17
bot 4 gives low to bot 26 and high to bot 109
bot 197 gives low to bot 71 and high to bot 106
bot 132 gives low to bot 161 and high to bot 181
bot 54 gives low to bot 156 and high to bot 148
bot 140 gives low to bot 0 and high to bot 25
bot 59 gives low to output 10 and high to bot 93
bot 206 gives low to bot 2 and high to bot 200
bot 5 gives low to bot 201 and high to bot 173
bot 81 gives low to bot 24 and high to bot 30
bot 33 gives low to bot 100 and high to bot 113
bot 73 gives low to bot 60 and high to bot 129
bot 43 gives low to output 14 and high to bot 204
bot 143 gives low to bot 176 and high to bot 196
bot 182 gives low to bot 70 and high to bot 76
bot 139 gives low to bot 117 and high to bot 180
bot 31 gives low to bot 131 and high to bot 137
bot 179 gives low to bot 31 and high to bot 28
bot 74 gives low to bot 29 and high to bot 160
bot 7 gives low to bot 191 and high to bot 21
bot 83 gives low to bot 165 and high to bot 116
bot 142 gives low to bot 144 and high to bot 107
bot 187 gives low to bot 129 and high to bot 68
value 61 goes to bot 32
bot 32 gives low to bot 72 and high to bot 53
bot 53 gives low to bot 121 and high to bot 199
bot 79 gives low to bot 143 and high to bot 196
bot 0 gives low to bot 92 and high to bot 194
bot 8 gives low to bot 56 and high to bot 209
value 43 goes to bot 72
bot 95 gives low to output 18 and high to bot 112
bot 104 gives low to bot 41 and high to bot 185
bot 198 gives low to bot 103 and high to bot 48
bot 17 gives low to bot 69 and high to bot 156
bot 138 gives low to output 0 and high to bot 77
bot 76 gives low to bot 127 and high to bot 164
bot 110 gives low to bot 206 and high to bot 60
bot 60 gives low to bot 200 and high to bot 141
bot 134 gives low to bot 67 and high to bot 7
bot 90 gives low to bot 12 and high to bot 192
bot 208 gives low to bot 155 and high to bot 182
bot 87 gives low to bot 28 and high to bot 195
bot 108 gives low to bot 53 and high to bot 186
bot 150 gives low to bot 154 and high to bot 56
bot 204 gives low to output 17 and high to bot 58
bot 174 gives low to bot 138 and high to bot 67
bot 195 gives low to bot 147 and high to bot 81
bot 24 gives low to bot 146 and high to bot 3
bot 12 gives low to bot 119 and high to bot 9
value 37 goes to bot 35
bot 137 gives low to bot 151 and high to bot 170
bot 1 gives low to output 2 and high to bot 22
bot 63 gives low to bot 150 and high to bot 8
bot 133 gives low to bot 140 and high to bot 124
bot 154 gives low to bot 91 and high to bot 110
bot 145 gives low to bot 47 and high to bot 18
bot 109 gives low to bot 159 and high to bot 82
bot 202 gives low to bot 116 and high to bot 37
bot 168 gives low to bot 133 and high to bot 177
bot 193 gives low to bot 93 and high to bot 69
bot 191 gives low to output 16 and high to bot 21
bot 135 gives low to bot 82 and high to bot 163
bot 130 gives low to bot 102 and high to bot 114
bot 26 gives low to bot 208 and high to bot 159
bot 152 gives low to bot 22 and high to bot 31
bot 118 gives low to bot 136 and high to bot 144
bot 149 gives low to bot 17 and high to bot 54
bot 64 gives low to bot 164 and high to bot 119
bot 120 gives low to bot 64 and high to bot 12
bot 180 gives low to bot 188 and high to bot 130
bot 203 gives low to bot 204 and high to bot 125
bot 3 gives low to bot 46 and high to bot 104
bot 114 gives low to bot 205 and high to bot 79
bot 25 gives low to bot 194 and high to bot 20
bot 65 gives low to bot 181 and high to bot 118
bot 169 gives low to bot 192 and high to bot 117
bot 51 gives low to output 8 and high to bot 50
bot 41 gives low to bot 50 and high to bot 145
bot 20 gives low to bot 23 and high to bot 10
bot 106 gives low to bot 96 and high to bot 126
bot 23 gives low to bot 5 and high to bot 6
value 11 goes to bot 43
value 47 goes to bot 189
value 5 goes to bot 115
bot 46 gives low to bot 51 and high to bot 41
bot 115 gives low to bot 43 and high to bot 203
bot 209 gives low to bot 73 and high to bot 187
bot 16 gives low to bot 113 and high to bot 62
bot 101 gives low to bot 174 and high to bot 134
bot 167 gives low to output 20 and high to bot 158
value 3 goes to bot 133
bot 184 gives low to bot 125 and high to bot 100
bot 155 gives low to bot 166 and high to bot 70
bot 88 gives low to bot 81 and high to bot 84
value 19 goes to bot 0
bot 171 gives low to bot 36 and high to bot 45
bot 186 gives low to bot 199 and high to bot 97
bot 111 gives low to bot 209 and high to bot 85
bot 22 gives low to output 4 and high to bot 131
bot 166 gives low to bot 132 and high to bot 65
bot 6 gives low to bot 173 and high to bot 52
bot 75 gives low to bot 104 and high to bot 29
bot 91 gives low to bot 62 and high to bot 206
bot 164 gives low to bot 142 and high to bot 38
bot 15 gives low to bot 160 and high to bot 197
bot 66 gives low to bot 198 and high to bot 188
bot 199 gives low to bot 184 and high to bot 33
bot 122 gives low to bot 55 and high to bot 5
bot 68 gives low to bot 40 and high to bot 143
bot 128 gives low to bot 4 and high to bot 94
bot 27 gives low to bot 13 and high to bot 78
bot 34 gives low to bot 195 and high to bot 88
bot 94 gives low to bot 109 and high to bot 135
bot 158 gives low to output 3 and high to bot 138
bot 47 gives low to output 15 and high to bot 59
bot 163 gives low to bot 120 and high to bot 90
bot 48 gives low to bot 111 and high to bot 102
bot 40 gives low to bot 207 and high to bot 176
bot 144 gives low to bot 153 and high to bot 39
bot 201 gives low to bot 162 and high to bot 83
bot 72 gives low to bot 115 and high to bot 121
bot 156 gives low to bot 19 and high to bot 101
bot 185 gives low to bot 145 and high to bot 183
bot 103 gives low to bot 8 and high to bot 111
bot 192 gives low to bot 9 and high to bot 66
value 71 goes to bot 140
bot 205 gives low to bot 68 and high to bot 79
bot 151 gives low to output 11 and high to bot 95
bot 153 gives low to bot 97 and high to bot 44
bot 105 gives low to bot 15 and high to bot 175
bot 11 gives low to bot 183 and high to bot 86
bot 160 gives low to bot 11 and high to bot 71
bot 56 gives low to bot 110 and high to bot 73
bot 207 gives low to bot 172 and high to bot 89
bot 181 gives low to bot 108 and high to bot 136
bot 175 gives low to bot 197 and high to bot 106
bot 69 gives low to bot 167 and high to bot 19
bot 58 gives low to output 9 and high to bot 1
bot 78 gives low to bot 74 and high to bot 15
bot 21 gives low to output 12 and high to output 19
bot 190 gives low to bot 168 and high to bot 177
value 29 goes to bot 190
bot 107 gives low to bot 39 and high to bot 150
bot 61 gives low to bot 63 and high to bot 103
bot 52 gives low to bot 202 and high to bot 37
value 53 goes to bot 168
bot 30 gives low to bot 3 and high to bot 75
bot 116 gives low to bot 123 and high to bot 42
bot 85 gives low to bot 187 and high to bot 205
bot 99 gives low to bot 94 and high to bot 162
bot 126 gives low to bot 54 and high to bot 148
bot 19 gives low to bot 158 and high to bot 174
bot 82 gives low to bot 49 and high to bot 120
bot 42 gives low to bot 169 and high to bot 139
value 41 goes to bot 190
bot 188 gives low to bot 48 and high to bot 130
bot 113 gives low to bot 14 and high to bot 157
bot 177 gives low to bot 124 and high to bot 80
bot 18 gives low to bot 59 and high to bot 193
bot 96 gives low to bot 149 and high to bot 126
bot 62 gives low to bot 157 and high to bot 2
bot 45 gives low to bot 105 and high to bot 175
bot 2 gives low to bot 87 and high to bot 34
bot 147 gives low to bot 170 and high to bot 24
bot 70 gives low to bot 65 and high to bot 127
bot 162 gives low to bot 135 and high to bot 165
bot 117 gives low to bot 66 and high to bot 180
bot 100 gives low to bot 57 and high to bot 14
bot 57 gives low to bot 1 and high to bot 152
bot 121 gives low to bot 203 and high to bot 184
bot 10 gives low to bot 6 and high to bot 52
bot 84 gives low to bot 30 and high to bot 13
value 7 goes to bot 166
bot 136 gives low to bot 186 and high to bot 153
bot 161 gives low to bot 32 and high to bot 108
bot 102 gives low to bot 85 and high to bot 114
bot 80 gives low to bot 20 and high to bot 10
bot 200 gives low to bot 34 and high to bot 178
bot 119 gives low to bot 38 and high to bot 61
bot 28 gives low to bot 137 and high to bot 147
bot 35 gives low to bot 128 and high to bot 99
value 67 goes to bot 132
bot 146 gives low to bot 112 and high to bot 46
bot 194 gives low to bot 122 and high to bot 23
value 73 goes to bot 26
bot 183 gives low to bot 18 and high to bot 98

View File

@@ -1,23 +0,0 @@
cpy 1 a
cpy 1 b
cpy 26 d
jnz c 2
jnz 1 5
cpy 7 c
inc d
dec c
jnz c -2
cpy a c
inc a
dec b
jnz b -2
cpy c b
dec d
jnz d -6
cpy 14 c
cpy 14 d
inc a
dec d
jnz d -2
dec c
jnz c -5

View File

@@ -1,5 +0,0 @@
LURLDDLDULRURDUDLRULRDLLRURDUDRLLRLRURDRULDLRLRRDDULUDULURULLURLURRRLLDURURLLUURDLLDUUDRRDLDLLRUUDURURRULURUURLDLLLUDDUUDRULLRUDURRLRLLDRRUDULLDUUUDLDLRLLRLULDLRLUDLRRULDDDURLUULRDLRULRDURDURUUUDDRRDRRUDULDUUULLLLURRDDUULDRDRLULRRRUUDUURDULDDRLDRDLLDDLRDLDULUDDLULUDRLULRRRRUUUDULULDLUDUUUUDURLUDRDLLDDRULUURDRRRDRLDLLURLULDULRUDRDDUDDLRLRRDUDDRULRULULRDDDDRDLLLRURDDDDRDRUDUDUUDRUDLDULRUULLRRLURRRRUUDRDLDUDDLUDRRURLRDDLUUDUDUUDRLUURURRURDRRRURULUUDUUDURUUURDDDURUDLRLLULRULRDURLLDDULLDULULDDDRUDDDUUDDUDDRRRURRUURRRRURUDRRDLRDUUULLRRRUDD
DLDUDULDLRDLUDDLLRLUUULLDURRUDLLDUDDRDRLRDDUUUURDULDULLRDRURDLULRUURRDLULUDRURDULLDRURUULLDLLUDRLUDRUDRURURUULRDLLDDDLRUDUDLUDURLDDLRRUUURDDDRLUDDDUDDLDUDDUUUUUULLRDRRUDRUDDDLLLDRDUULRLDURLLDURUDDLLURDDLULLDDDRLUDRDDLDLDLRLURRDURRRUDRRDUUDDRLLUDLDRLRDUDLDLRDRUDUUULULUDRRULUDRDRRLLDDRDDDLULURUURULLRRRRRDDRDDRRRDLRDURURRRDDULLUULRULURURDRRUDURDDUURDUURUURUULURUUDULURRDLRRUUDRLLDLDRRRULDRLLRLDUDULRRLDUDDUUURDUDLDDDUDL
RURDRUDUUUUULLLUULDULLLDRUULURLDULULRDDLRLLRURULLLLLLRULLURRDLULLUULRRDURRURLUDLULDLRRULRDLDULLDDRRDLLRURRDULULDRRDDULDURRRUUURUDDURULUUDURUULUDLUURRLDLRDDUUUUURULDRDUDDULULRDRUUURRRDRLURRLUUULRUDRRLUDRDLDUDDRDRRUULLLLDUUUULDULRRRLLRLRLRULDLRURRLRLDLRRDRDRLDRUDDDUUDRLLUUURLRLULURLDRRULRULUDRUUURRUDLDDRRDDURUUULLDDLLDDRUDDDUULUDRDDLULDDDDRULDDDDUUUURRLDUURULRDDRDLLLRRDDURUDRRLDUDULRULDDLDDLDUUUULDLLULUUDDULUUDLRDRUDLURDULUDDRDRDRDDURDLURLULRUURDUDULDDLDDRUULLRDRLRRUURRDDRDUDDLRRLLDRDLUUDRRDDDUUUDLRRLDDDUDRURRDDUULUDLLLRUDDRULRLLLRDLUDUUUUURLRRUDUDDDDLRLLULLUDRDURDDULULRDRDLUDDRLURRLRRULRL
LDUURLLULRUURRDLDRUULRDRDDDRULDLURDDRURULLRUURRLRRLDRURRDRLUDRUUUULLDRLURDRLRUDDRDDDUURRDRRURULLLDRDRDLDUURLDRUULLDRDDRRDRDUUDLURUDDLLUUDDULDDULRDDUUDDDLRLLLULLDLUDRRLDUUDRUUDUDUURULDRRLRRDLRLURDRURURRDURDURRUDLRURURUUDURURUDRURULLLLLUDRUDUDULRLLLRDRLLRLRLRRDULRUUULURLRRLDRRRDRULRUDUURRRRULDDLRULDRRRDLDRLUDLLUDDRURLURURRLRUDLRLLRDLLDRDDLDUDRDLDDRULDDULUDDLLDURDULLDURRURRULLDRLUURURLLUDDRLRRUUDULRRLLRUDRDUURLDDLLURRDLRUURLLDRDLRUULUDURRDULUULDDLUUUDDLRRDRDUDLRUULDDDLDDRUDDD
DRRDRRURURUDDDRULRUDLDLDULRLDURURUUURURLURURDDDDRULUDLDDRDDUDULRUUULRDUDULURLRULRDDLDUDLDLULRULDRRLUDLLLLURUDUDLLDLDRLRUUULRDDLUURDRRDLUDUDRULRRDDRRLDUDLLDLURLRDLRUUDLDULURDDUUDDLRDLUURLDLRLRDLLRUDRDUURDDLDDLURRDDRDRURULURRLRLDURLRRUUUDDUUDRDRULRDLURLDDDRURUDRULDURUUUUDULURUDDDDUURULULDRURRDRDURUUURURLLDRDLDLRDDULDRLLDUDUDDLRLLRLRUUDLUDDULRLDLLRLUUDLLLUUDULRDULDLRRLDDDDUDDRRRDDRDDUDRLLLDLLDLLRDLDRDLUDRRRLDDRLUDLRLDRUURUDURDLRDDULRLDUUUDRLLDRLDLLDLDRRRLLULLUDDDLRUDULDDDLDRRLLRDDLDUULRDLRRLRLLRUUULLRDUDLRURRRUULLULLLRRURLRDULLLRLDUUUDDRLRLUURRLUUUDURLRDURRDUDDUDDRDDRUD

File diff suppressed because it is too large Load Diff

View File

@@ -1,100 +0,0 @@
rotate right 3 steps
swap position 7 with position 0
rotate left 3 steps
reverse positions 2 through 5
move position 6 to position 3
reverse positions 0 through 4
swap position 4 with position 2
rotate based on position of letter d
rotate right 0 steps
move position 7 to position 5
swap position 4 with position 5
swap position 3 with position 5
move position 5 to position 3
swap letter e with letter f
swap position 6 with position 3
swap letter a with letter e
reverse positions 0 through 1
reverse positions 0 through 4
swap letter c with letter e
reverse positions 1 through 7
rotate right 1 step
reverse positions 6 through 7
move position 7 to position 1
move position 4 to position 0
move position 4 to position 6
move position 6 to position 3
swap position 1 with position 6
swap position 5 with position 7
swap position 2 with position 5
swap position 6 with position 5
swap position 2 with position 4
reverse positions 2 through 6
reverse positions 3 through 5
move position 3 to position 5
reverse positions 1 through 5
rotate left 1 step
move position 4 to position 5
swap letter c with letter b
swap position 2 with position 1
reverse positions 3 through 4
swap position 3 with position 4
reverse positions 5 through 7
swap letter b with letter d
reverse positions 3 through 4
swap letter c with letter h
rotate based on position of letter b
rotate based on position of letter e
rotate right 3 steps
rotate right 7 steps
rotate left 2 steps
move position 6 to position 1
reverse positions 1 through 3
rotate based on position of letter b
reverse positions 0 through 4
swap letter g with letter c
move position 1 to position 5
rotate right 4 steps
rotate left 2 steps
move position 7 to position 2
rotate based on position of letter c
move position 6 to position 1
swap letter f with letter g
rotate right 6 steps
swap position 6 with position 2
reverse positions 2 through 6
swap position 3 with position 1
rotate based on position of letter h
reverse positions 2 through 5
move position 1 to position 3
rotate right 1 step
rotate right 7 steps
move position 6 to position 3
rotate based on position of letter h
swap letter d with letter h
rotate left 0 steps
move position 1 to position 2
swap letter a with letter g
swap letter a with letter g
swap position 4 with position 2
rotate right 1 step
rotate based on position of letter b
swap position 7 with position 1
rotate based on position of letter e
move position 1 to position 4
move position 6 to position 3
rotate left 3 steps
swap letter f with letter g
swap position 3 with position 1
swap position 4 with position 3
swap letter f with letter c
rotate left 3 steps
rotate left 0 steps
rotate right 3 steps
swap letter d with letter e
swap position 2 with position 7
move position 3 to position 6
swap position 7 with position 1
swap position 3 with position 6
rotate left 5 steps
swap position 2 with position 6

View File

@@ -1,914 +0,0 @@
root@ebhq-gridcenter# df -h
Filesystem Size Used Avail Use%
/dev/grid/node-x0-y0 92T 70T 22T 76%
/dev/grid/node-x0-y1 86T 65T 21T 75%
/dev/grid/node-x0-y2 88T 73T 15T 82%
/dev/grid/node-x0-y3 91T 67T 24T 73%
/dev/grid/node-x0-y4 87T 70T 17T 80%
/dev/grid/node-x0-y5 91T 70T 21T 76%
/dev/grid/node-x0-y6 87T 71T 16T 81%
/dev/grid/node-x0-y7 94T 69T 25T 73%
/dev/grid/node-x0-y8 93T 69T 24T 74%
/dev/grid/node-x0-y9 87T 71T 16T 81%
/dev/grid/node-x0-y10 89T 66T 23T 74%
/dev/grid/node-x0-y11 92T 64T 28T 69%
/dev/grid/node-x0-y12 88T 66T 22T 75%
/dev/grid/node-x0-y13 85T 72T 13T 84%
/dev/grid/node-x0-y14 94T 68T 26T 72%
/dev/grid/node-x0-y15 92T 67T 25T 72%
/dev/grid/node-x0-y16 93T 65T 28T 69%
/dev/grid/node-x0-y17 91T 67T 24T 73%
/dev/grid/node-x0-y18 92T 68T 24T 73%
/dev/grid/node-x0-y19 91T 69T 22T 75%
/dev/grid/node-x0-y20 89T 65T 24T 73%
/dev/grid/node-x0-y21 90T 72T 18T 80%
/dev/grid/node-x0-y22 94T 67T 27T 71%
/dev/grid/node-x0-y23 86T 72T 14T 83%
/dev/grid/node-x1-y0 85T 66T 19T 77%
/dev/grid/node-x1-y1 89T 64T 25T 71%
/dev/grid/node-x1-y2 92T 67T 25T 72%
/dev/grid/node-x1-y3 87T 70T 17T 80%
/dev/grid/node-x1-y4 86T 71T 15T 82%
/dev/grid/node-x1-y5 91T 68T 23T 74%
/dev/grid/node-x1-y6 87T 71T 16T 81%
/dev/grid/node-x1-y7 94T 69T 25T 73%
/dev/grid/node-x1-y8 89T 70T 19T 78%
/dev/grid/node-x1-y9 93T 64T 29T 68%
/dev/grid/node-x1-y10 92T 67T 25T 72%
/dev/grid/node-x1-y11 92T 72T 20T 78%
/dev/grid/node-x1-y12 87T 65T 22T 74%
/dev/grid/node-x1-y13 85T 73T 12T 85%
/dev/grid/node-x1-y14 89T 70T 19T 78%
/dev/grid/node-x1-y15 90T 67T 23T 74%
/dev/grid/node-x1-y16 94T 71T 23T 75%
/dev/grid/node-x1-y17 93T 68T 25T 73%
/dev/grid/node-x1-y18 88T 72T 16T 81%
/dev/grid/node-x1-y19 89T 66T 23T 74%
/dev/grid/node-x1-y20 88T 70T 18T 79%
/dev/grid/node-x1-y21 90T 67T 23T 74%
/dev/grid/node-x1-y22 90T 64T 26T 71%
/dev/grid/node-x1-y23 92T 69T 23T 75%
/dev/grid/node-x2-y0 86T 67T 19T 77%
/dev/grid/node-x2-y1 85T 71T 14T 83%
/dev/grid/node-x2-y2 91T 69T 22T 75%
/dev/grid/node-x2-y3 88T 68T 20T 77%
/dev/grid/node-x2-y4 87T 73T 14T 83%
/dev/grid/node-x2-y5 94T 64T 30T 68%
/dev/grid/node-x2-y6 90T 66T 24T 73%
/dev/grid/node-x2-y7 91T 66T 25T 72%
/dev/grid/node-x2-y8 86T 64T 22T 74%
/dev/grid/node-x2-y9 90T 69T 21T 76%
/dev/grid/node-x2-y10 94T 65T 29T 69%
/dev/grid/node-x2-y11 89T 69T 20T 77%
/dev/grid/node-x2-y12 94T 64T 30T 68%
/dev/grid/node-x2-y13 85T 70T 15T 82%
/dev/grid/node-x2-y14 87T 69T 18T 79%
/dev/grid/node-x2-y15 94T 70T 24T 74%
/dev/grid/node-x2-y16 89T 72T 17T 80%
/dev/grid/node-x2-y17 94T 65T 29T 69%
/dev/grid/node-x2-y18 85T 70T 15T 82%
/dev/grid/node-x2-y19 86T 64T 22T 74%
/dev/grid/node-x2-y20 91T 69T 22T 75%
/dev/grid/node-x2-y21 92T 66T 26T 71%
/dev/grid/node-x2-y22 92T 66T 26T 71%
/dev/grid/node-x2-y23 94T 70T 24T 74%
/dev/grid/node-x3-y0 91T 65T 26T 71%
/dev/grid/node-x3-y1 91T 73T 18T 80%
/dev/grid/node-x3-y2 93T 67T 26T 72%
/dev/grid/node-x3-y3 91T 66T 25T 72%
/dev/grid/node-x3-y4 85T 69T 16T 81%
/dev/grid/node-x3-y5 94T 69T 25T 73%
/dev/grid/node-x3-y6 94T 70T 24T 74%
/dev/grid/node-x3-y7 92T 72T 20T 78%
/dev/grid/node-x3-y8 94T 73T 21T 77%
/dev/grid/node-x3-y9 86T 73T 13T 84%
/dev/grid/node-x3-y10 86T 68T 18T 79%
/dev/grid/node-x3-y11 87T 65T 22T 74%
/dev/grid/node-x3-y12 91T 70T 21T 76%
/dev/grid/node-x3-y13 93T 66T 27T 70%
/dev/grid/node-x3-y14 92T 71T 21T 77%
/dev/grid/node-x3-y15 90T 71T 19T 78%
/dev/grid/node-x3-y16 90T 70T 20T 77%
/dev/grid/node-x3-y17 94T 66T 28T 70%
/dev/grid/node-x3-y18 90T 69T 21T 76%
/dev/grid/node-x3-y19 89T 65T 24T 73%
/dev/grid/node-x3-y20 90T 72T 18T 80%
/dev/grid/node-x3-y21 94T 72T 22T 76%
/dev/grid/node-x3-y22 89T 73T 16T 82%
/dev/grid/node-x3-y23 85T 69T 16T 81%
/dev/grid/node-x4-y0 94T 68T 26T 72%
/dev/grid/node-x4-y1 90T 66T 24T 73%
/dev/grid/node-x4-y2 89T 70T 19T 78%
/dev/grid/node-x4-y3 89T 64T 25T 71%
/dev/grid/node-x4-y4 89T 69T 20T 77%
/dev/grid/node-x4-y5 85T 64T 21T 75%
/dev/grid/node-x4-y6 90T 72T 18T 80%
/dev/grid/node-x4-y7 90T 69T 21T 76%
/dev/grid/node-x4-y8 89T 70T 19T 78%
/dev/grid/node-x4-y9 92T 70T 22T 76%
/dev/grid/node-x4-y10 90T 66T 24T 73%
/dev/grid/node-x4-y11 85T 71T 14T 83%
/dev/grid/node-x4-y12 89T 65T 24T 73%
/dev/grid/node-x4-y13 86T 72T 14T 83%
/dev/grid/node-x4-y14 91T 72T 19T 79%
/dev/grid/node-x4-y15 89T 71T 18T 79%
/dev/grid/node-x4-y16 86T 73T 13T 84%
/dev/grid/node-x4-y17 91T 65T 26T 71%
/dev/grid/node-x4-y18 87T 67T 20T 77%
/dev/grid/node-x4-y19 94T 66T 28T 70%
/dev/grid/node-x4-y20 89T 73T 16T 82%
/dev/grid/node-x4-y21 85T 73T 12T 85%
/dev/grid/node-x4-y22 87T 67T 20T 77%
/dev/grid/node-x4-y23 91T 66T 25T 72%
/dev/grid/node-x5-y0 90T 71T 19T 78%
/dev/grid/node-x5-y1 87T 71T 16T 81%
/dev/grid/node-x5-y2 87T 69T 18T 79%
/dev/grid/node-x5-y3 85T 64T 21T 75%
/dev/grid/node-x5-y4 89T 72T 17T 80%
/dev/grid/node-x5-y5 88T 65T 23T 73%
/dev/grid/node-x5-y6 91T 66T 25T 72%
/dev/grid/node-x5-y7 89T 65T 24T 73%
/dev/grid/node-x5-y8 86T 68T 18T 79%
/dev/grid/node-x5-y9 93T 68T 25T 73%
/dev/grid/node-x5-y10 87T 70T 17T 80%
/dev/grid/node-x5-y11 93T 72T 21T 77%
/dev/grid/node-x5-y12 94T 67T 27T 71%
/dev/grid/node-x5-y13 94T 68T 26T 72%
/dev/grid/node-x5-y14 92T 72T 20T 78%
/dev/grid/node-x5-y15 85T 67T 18T 78%
/dev/grid/node-x5-y16 87T 73T 14T 83%
/dev/grid/node-x5-y17 85T 69T 16T 81%
/dev/grid/node-x5-y18 89T 65T 24T 73%
/dev/grid/node-x5-y19 86T 65T 21T 75%
/dev/grid/node-x5-y20 85T 70T 15T 82%
/dev/grid/node-x5-y21 86T 73T 13T 84%
/dev/grid/node-x5-y22 85T 67T 18T 78%
/dev/grid/node-x5-y23 93T 64T 29T 68%
/dev/grid/node-x6-y0 90T 72T 18T 80%
/dev/grid/node-x6-y1 93T 65T 28T 69%
/dev/grid/node-x6-y2 85T 64T 21T 75%
/dev/grid/node-x6-y3 88T 64T 24T 72%
/dev/grid/node-x6-y4 89T 64T 25T 71%
/dev/grid/node-x6-y5 86T 72T 14T 83%
/dev/grid/node-x6-y6 88T 72T 16T 81%
/dev/grid/node-x6-y7 93T 66T 27T 70%
/dev/grid/node-x6-y8 90T 65T 25T 72%
/dev/grid/node-x6-y9 93T 69T 24T 74%
/dev/grid/node-x6-y10 88T 70T 18T 79%
/dev/grid/node-x6-y11 85T 73T 12T 85%
/dev/grid/node-x6-y12 92T 73T 19T 79%
/dev/grid/node-x6-y13 93T 70T 23T 75%
/dev/grid/node-x6-y14 85T 69T 16T 81%
/dev/grid/node-x6-y15 86T 67T 19T 77%
/dev/grid/node-x6-y16 91T 65T 26T 71%
/dev/grid/node-x6-y17 91T 66T 25T 72%
/dev/grid/node-x6-y18 91T 65T 26T 71%
/dev/grid/node-x6-y19 92T 66T 26T 71%
/dev/grid/node-x6-y20 90T 64T 26T 71%
/dev/grid/node-x6-y21 86T 70T 16T 81%
/dev/grid/node-x6-y22 94T 71T 23T 75%
/dev/grid/node-x6-y23 90T 69T 21T 76%
/dev/grid/node-x7-y0 91T 71T 20T 78%
/dev/grid/node-x7-y1 94T 71T 23T 75%
/dev/grid/node-x7-y2 88T 64T 24T 72%
/dev/grid/node-x7-y3 93T 73T 20T 78%
/dev/grid/node-x7-y4 86T 68T 18T 79%
/dev/grid/node-x7-y5 88T 73T 15T 82%
/dev/grid/node-x7-y6 92T 66T 26T 71%
/dev/grid/node-x7-y7 90T 64T 26T 71%
/dev/grid/node-x7-y8 88T 64T 24T 72%
/dev/grid/node-x7-y9 88T 70T 18T 79%
/dev/grid/node-x7-y10 93T 67T 26T 72%
/dev/grid/node-x7-y11 88T 71T 17T 80%
/dev/grid/node-x7-y12 89T 71T 18T 79%
/dev/grid/node-x7-y13 85T 65T 20T 76%
/dev/grid/node-x7-y14 85T 70T 15T 82%
/dev/grid/node-x7-y15 87T 72T 15T 82%
/dev/grid/node-x7-y16 85T 64T 21T 75%
/dev/grid/node-x7-y17 85T 64T 21T 75%
/dev/grid/node-x7-y18 88T 64T 24T 72%
/dev/grid/node-x7-y19 90T 67T 23T 74%
/dev/grid/node-x7-y20 94T 66T 28T 70%
/dev/grid/node-x7-y21 87T 67T 20T 77%
/dev/grid/node-x7-y22 88T 69T 19T 78%
/dev/grid/node-x7-y23 93T 69T 24T 74%
/dev/grid/node-x8-y0 85T 72T 13T 84%
/dev/grid/node-x8-y1 91T 72T 19T 79%
/dev/grid/node-x8-y2 86T 65T 21T 75%
/dev/grid/node-x8-y3 85T 69T 16T 81%
/dev/grid/node-x8-y4 93T 65T 28T 69%
/dev/grid/node-x8-y5 87T 72T 15T 82%
/dev/grid/node-x8-y6 93T 68T 25T 73%
/dev/grid/node-x8-y7 89T 73T 16T 82%
/dev/grid/node-x8-y8 85T 65T 20T 76%
/dev/grid/node-x8-y9 85T 73T 12T 85%
/dev/grid/node-x8-y10 89T 71T 18T 79%
/dev/grid/node-x8-y11 90T 68T 22T 75%
/dev/grid/node-x8-y12 85T 65T 20T 76%
/dev/grid/node-x8-y13 89T 71T 18T 79%
/dev/grid/node-x8-y14 92T 71T 21T 77%
/dev/grid/node-x8-y15 85T 73T 12T 85%
/dev/grid/node-x8-y16 87T 73T 14T 83%
/dev/grid/node-x8-y17 92T 66T 26T 71%
/dev/grid/node-x8-y18 87T 69T 18T 79%
/dev/grid/node-x8-y19 88T 64T 24T 72%
/dev/grid/node-x8-y20 88T 68T 20T 77%
/dev/grid/node-x8-y21 92T 66T 26T 71%
/dev/grid/node-x8-y22 85T 68T 17T 80%
/dev/grid/node-x8-y23 91T 66T 25T 72%
/dev/grid/node-x9-y0 90T 69T 21T 76%
/dev/grid/node-x9-y1 86T 73T 13T 84%
/dev/grid/node-x9-y2 92T 72T 20T 78%
/dev/grid/node-x9-y3 87T 68T 19T 78%
/dev/grid/node-x9-y4 90T 66T 24T 73%
/dev/grid/node-x9-y5 91T 64T 27T 70%
/dev/grid/node-x9-y6 91T 68T 23T 74%
/dev/grid/node-x9-y7 88T 66T 22T 75%
/dev/grid/node-x9-y8 85T 72T 13T 84%
/dev/grid/node-x9-y9 87T 68T 19T 78%
/dev/grid/node-x9-y10 89T 72T 17T 80%
/dev/grid/node-x9-y11 85T 66T 19T 77%
/dev/grid/node-x9-y12 87T 73T 14T 83%
/dev/grid/node-x9-y13 87T 66T 21T 75%
/dev/grid/node-x9-y14 92T 67T 25T 72%
/dev/grid/node-x9-y15 90T 67T 23T 74%
/dev/grid/node-x9-y16 85T 67T 18T 78%
/dev/grid/node-x9-y17 86T 70T 16T 81%
/dev/grid/node-x9-y18 86T 73T 13T 84%
/dev/grid/node-x9-y19 91T 72T 19T 79%
/dev/grid/node-x9-y20 93T 69T 24T 74%
/dev/grid/node-x9-y21 92T 72T 20T 78%
/dev/grid/node-x9-y22 88T 67T 21T 76%
/dev/grid/node-x9-y23 91T 64T 27T 70%
/dev/grid/node-x10-y0 89T 65T 24T 73%
/dev/grid/node-x10-y1 85T 70T 15T 82%
/dev/grid/node-x10-y2 87T 65T 22T 74%
/dev/grid/node-x10-y3 86T 73T 13T 84%
/dev/grid/node-x10-y4 85T 73T 12T 85%
/dev/grid/node-x10-y5 94T 65T 29T 69%
/dev/grid/node-x10-y6 91T 71T 20T 78%
/dev/grid/node-x10-y7 92T 65T 27T 70%
/dev/grid/node-x10-y8 92T 70T 22T 76%
/dev/grid/node-x10-y9 93T 66T 27T 70%
/dev/grid/node-x10-y10 86T 70T 16T 81%
/dev/grid/node-x10-y11 86T 73T 13T 84%
/dev/grid/node-x10-y12 93T 71T 22T 76%
/dev/grid/node-x10-y13 87T 72T 15T 82%
/dev/grid/node-x10-y14 93T 70T 23T 75%
/dev/grid/node-x10-y15 92T 66T 26T 71%
/dev/grid/node-x10-y16 85T 66T 19T 77%
/dev/grid/node-x10-y17 94T 71T 23T 75%
/dev/grid/node-x10-y18 88T 72T 16T 81%
/dev/grid/node-x10-y19 86T 71T 15T 82%
/dev/grid/node-x10-y20 90T 64T 26T 71%
/dev/grid/node-x10-y21 93T 72T 21T 77%
/dev/grid/node-x10-y22 86T 66T 20T 76%
/dev/grid/node-x10-y23 91T 73T 18T 80%
/dev/grid/node-x11-y0 91T 69T 22T 75%
/dev/grid/node-x11-y1 87T 68T 19T 78%
/dev/grid/node-x11-y2 93T 70T 23T 75%
/dev/grid/node-x11-y3 88T 65T 23T 73%
/dev/grid/node-x11-y4 86T 67T 19T 77%
/dev/grid/node-x11-y5 90T 67T 23T 74%
/dev/grid/node-x11-y6 94T 70T 24T 74%
/dev/grid/node-x11-y7 85T 68T 17T 80%
/dev/grid/node-x11-y8 88T 66T 22T 75%
/dev/grid/node-x11-y9 92T 67T 25T 72%
/dev/grid/node-x11-y10 90T 72T 18T 80%
/dev/grid/node-x11-y11 85T 73T 12T 85%
/dev/grid/node-x11-y12 88T 73T 15T 82%
/dev/grid/node-x11-y13 90T 69T 21T 76%
/dev/grid/node-x11-y14 86T 68T 18T 79%
/dev/grid/node-x11-y15 87T 71T 16T 81%
/dev/grid/node-x11-y16 91T 64T 27T 70%
/dev/grid/node-x11-y17 87T 67T 20T 77%
/dev/grid/node-x11-y18 88T 70T 18T 79%
/dev/grid/node-x11-y19 88T 71T 17T 80%
/dev/grid/node-x11-y20 91T 68T 23T 74%
/dev/grid/node-x11-y21 86T 71T 15T 82%
/dev/grid/node-x11-y22 87T 69T 18T 79%
/dev/grid/node-x11-y23 93T 68T 25T 73%
/dev/grid/node-x12-y0 90T 67T 23T 74%
/dev/grid/node-x12-y1 93T 66T 27T 70%
/dev/grid/node-x12-y2 85T 70T 15T 82%
/dev/grid/node-x12-y3 91T 64T 27T 70%
/dev/grid/node-x12-y4 85T 69T 16T 81%
/dev/grid/node-x12-y5 87T 66T 21T 75%
/dev/grid/node-x12-y6 86T 67T 19T 77%
/dev/grid/node-x12-y7 87T 66T 21T 75%
/dev/grid/node-x12-y8 86T 65T 21T 75%
/dev/grid/node-x12-y9 92T 66T 26T 71%
/dev/grid/node-x12-y10 90T 68T 22T 75%
/dev/grid/node-x12-y11 94T 72T 22T 76%
/dev/grid/node-x12-y12 88T 66T 22T 75%
/dev/grid/node-x12-y13 91T 71T 20T 78%
/dev/grid/node-x12-y14 88T 68T 20T 77%
/dev/grid/node-x12-y15 94T 68T 26T 72%
/dev/grid/node-x12-y16 85T 70T 15T 82%
/dev/grid/node-x12-y17 93T 72T 21T 77%
/dev/grid/node-x12-y18 94T 64T 30T 68%
/dev/grid/node-x12-y19 88T 65T 23T 73%
/dev/grid/node-x12-y20 89T 67T 22T 75%
/dev/grid/node-x12-y21 89T 65T 24T 73%
/dev/grid/node-x12-y22 85T 65T 20T 76%
/dev/grid/node-x12-y23 88T 65T 23T 73%
/dev/grid/node-x13-y0 90T 72T 18T 80%
/dev/grid/node-x13-y1 88T 65T 23T 73%
/dev/grid/node-x13-y2 89T 71T 18T 79%
/dev/grid/node-x13-y3 90T 66T 24T 73%
/dev/grid/node-x13-y4 94T 65T 29T 69%
/dev/grid/node-x13-y5 88T 65T 23T 73%
/dev/grid/node-x13-y6 86T 72T 14T 83%
/dev/grid/node-x13-y7 85T 72T 13T 84%
/dev/grid/node-x13-y8 90T 71T 19T 78%
/dev/grid/node-x13-y9 89T 67T 22T 75%
/dev/grid/node-x13-y10 88T 67T 21T 76%
/dev/grid/node-x13-y11 87T 70T 17T 80%
/dev/grid/node-x13-y12 90T 68T 22T 75%
/dev/grid/node-x13-y13 92T 67T 25T 72%
/dev/grid/node-x13-y14 89T 65T 24T 73%
/dev/grid/node-x13-y15 87T 70T 17T 80%
/dev/grid/node-x13-y16 93T 65T 28T 69%
/dev/grid/node-x13-y17 88T 64T 24T 72%
/dev/grid/node-x13-y18 86T 67T 19T 77%
/dev/grid/node-x13-y19 90T 70T 20T 77%
/dev/grid/node-x13-y20 92T 67T 25T 72%
/dev/grid/node-x13-y21 90T 71T 19T 78%
/dev/grid/node-x13-y22 86T 71T 15T 82%
/dev/grid/node-x13-y23 87T 69T 18T 79%
/dev/grid/node-x14-y0 94T 64T 30T 68%
/dev/grid/node-x14-y1 88T 68T 20T 77%
/dev/grid/node-x14-y2 91T 70T 21T 76%
/dev/grid/node-x14-y3 87T 69T 18T 79%
/dev/grid/node-x14-y4 92T 65T 27T 70%
/dev/grid/node-x14-y5 90T 67T 23T 74%
/dev/grid/node-x14-y6 89T 65T 24T 73%
/dev/grid/node-x14-y7 92T 73T 19T 79%
/dev/grid/node-x14-y8 86T 66T 20T 76%
/dev/grid/node-x14-y9 93T 68T 25T 73%
/dev/grid/node-x14-y10 88T 70T 18T 79%
/dev/grid/node-x14-y11 93T 67T 26T 72%
/dev/grid/node-x14-y12 85T 70T 15T 82%
/dev/grid/node-x14-y13 88T 64T 24T 72%
/dev/grid/node-x14-y14 88T 70T 18T 79%
/dev/grid/node-x14-y15 90T 70T 20T 77%
/dev/grid/node-x14-y16 91T 65T 26T 71%
/dev/grid/node-x14-y17 89T 64T 25T 71%
/dev/grid/node-x14-y18 85T 73T 12T 85%
/dev/grid/node-x14-y19 94T 64T 30T 68%
/dev/grid/node-x14-y20 89T 73T 16T 82%
/dev/grid/node-x14-y21 91T 73T 18T 80%
/dev/grid/node-x14-y22 94T 72T 22T 76%
/dev/grid/node-x14-y23 90T 68T 22T 75%
/dev/grid/node-x15-y0 91T 71T 20T 78%
/dev/grid/node-x15-y1 90T 68T 22T 75%
/dev/grid/node-x15-y2 90T 65T 25T 72%
/dev/grid/node-x15-y3 90T 68T 22T 75%
/dev/grid/node-x15-y4 90T 73T 17T 81%
/dev/grid/node-x15-y5 88T 73T 15T 82%
/dev/grid/node-x15-y6 88T 66T 22T 75%
/dev/grid/node-x15-y7 94T 69T 25T 73%
/dev/grid/node-x15-y8 94T 64T 30T 68%
/dev/grid/node-x15-y9 93T 65T 28T 69%
/dev/grid/node-x15-y10 94T 72T 22T 76%
/dev/grid/node-x15-y11 85T 71T 14T 83%
/dev/grid/node-x15-y12 93T 67T 26T 72%
/dev/grid/node-x15-y13 85T 69T 16T 81%
/dev/grid/node-x15-y14 85T 64T 21T 75%
/dev/grid/node-x15-y15 88T 65T 23T 73%
/dev/grid/node-x15-y16 93T 69T 24T 74%
/dev/grid/node-x15-y17 85T 64T 21T 75%
/dev/grid/node-x15-y18 89T 72T 17T 80%
/dev/grid/node-x15-y19 89T 66T 23T 74%
/dev/grid/node-x15-y20 91T 66T 25T 72%
/dev/grid/node-x15-y21 90T 71T 19T 78%
/dev/grid/node-x15-y22 94T 66T 28T 70%
/dev/grid/node-x15-y23 91T 69T 22T 75%
/dev/grid/node-x16-y0 94T 64T 30T 68%
/dev/grid/node-x16-y1 89T 73T 16T 82%
/dev/grid/node-x16-y2 91T 69T 22T 75%
/dev/grid/node-x16-y3 94T 71T 23T 75%
/dev/grid/node-x16-y4 88T 70T 18T 79%
/dev/grid/node-x16-y5 92T 69T 23T 75%
/dev/grid/node-x16-y6 93T 67T 26T 72%
/dev/grid/node-x16-y7 90T 65T 25T 72%
/dev/grid/node-x16-y8 86T 69T 17T 80%
/dev/grid/node-x16-y9 87T 71T 16T 81%
/dev/grid/node-x16-y10 86T 65T 21T 75%
/dev/grid/node-x16-y11 86T 65T 21T 75%
/dev/grid/node-x16-y12 85T 73T 12T 85%
/dev/grid/node-x16-y13 88T 68T 20T 77%
/dev/grid/node-x16-y14 88T 66T 22T 75%
/dev/grid/node-x16-y15 93T 66T 27T 70%
/dev/grid/node-x16-y16 93T 64T 29T 68%
/dev/grid/node-x16-y17 89T 72T 17T 80%
/dev/grid/node-x16-y18 91T 65T 26T 71%
/dev/grid/node-x16-y19 93T 67T 26T 72%
/dev/grid/node-x16-y20 90T 69T 21T 76%
/dev/grid/node-x16-y21 87T 68T 19T 78%
/dev/grid/node-x16-y22 89T 71T 18T 79%
/dev/grid/node-x16-y23 91T 67T 24T 73%
/dev/grid/node-x17-y0 87T 64T 23T 73%
/dev/grid/node-x17-y1 85T 69T 16T 81%
/dev/grid/node-x17-y2 94T 72T 22T 76%
/dev/grid/node-x17-y3 87T 67T 20T 77%
/dev/grid/node-x17-y4 88T 69T 19T 78%
/dev/grid/node-x17-y5 87T 71T 16T 81%
/dev/grid/node-x17-y6 87T 70T 17T 80%
/dev/grid/node-x17-y7 86T 73T 13T 84%
/dev/grid/node-x17-y8 92T 64T 28T 69%
/dev/grid/node-x17-y9 85T 64T 21T 75%
/dev/grid/node-x17-y10 89T 65T 24T 73%
/dev/grid/node-x17-y11 93T 69T 24T 74%
/dev/grid/node-x17-y12 85T 67T 18T 78%
/dev/grid/node-x17-y13 94T 66T 28T 70%
/dev/grid/node-x17-y14 87T 70T 17T 80%
/dev/grid/node-x17-y15 88T 73T 15T 82%
/dev/grid/node-x17-y16 90T 68T 22T 75%
/dev/grid/node-x17-y17 86T 71T 15T 82%
/dev/grid/node-x17-y18 91T 72T 19T 79%
/dev/grid/node-x17-y19 92T 71T 21T 77%
/dev/grid/node-x17-y20 92T 68T 24T 73%
/dev/grid/node-x17-y21 89T 67T 22T 75%
/dev/grid/node-x17-y22 89T 67T 22T 75%
/dev/grid/node-x17-y23 93T 65T 28T 69%
/dev/grid/node-x18-y0 87T 70T 17T 80%
/dev/grid/node-x18-y1 85T 65T 20T 76%
/dev/grid/node-x18-y2 93T 67T 26T 72%
/dev/grid/node-x18-y3 92T 65T 27T 70%
/dev/grid/node-x18-y4 87T 72T 15T 82%
/dev/grid/node-x18-y5 94T 65T 29T 69%
/dev/grid/node-x18-y6 92T 67T 25T 72%
/dev/grid/node-x18-y7 90T 65T 25T 72%
/dev/grid/node-x18-y8 88T 65T 23T 73%
/dev/grid/node-x18-y9 87T 70T 17T 80%
/dev/grid/node-x18-y10 88T 64T 24T 72%
/dev/grid/node-x18-y11 87T 65T 22T 74%
/dev/grid/node-x18-y12 88T 66T 22T 75%
/dev/grid/node-x18-y13 93T 72T 21T 77%
/dev/grid/node-x18-y14 90T 65T 25T 72%
/dev/grid/node-x18-y15 89T 66T 23T 74%
/dev/grid/node-x18-y16 86T 65T 21T 75%
/dev/grid/node-x18-y17 85T 66T 19T 77%
/dev/grid/node-x18-y18 91T 69T 22T 75%
/dev/grid/node-x18-y19 88T 64T 24T 72%
/dev/grid/node-x18-y20 87T 66T 21T 75%
/dev/grid/node-x18-y21 87T 69T 18T 79%
/dev/grid/node-x18-y22 89T 69T 20T 77%
/dev/grid/node-x18-y23 87T 71T 16T 81%
/dev/grid/node-x19-y0 89T 72T 17T 80%
/dev/grid/node-x19-y1 91T 70T 21T 76%
/dev/grid/node-x19-y2 87T 64T 23T 73%
/dev/grid/node-x19-y3 88T 70T 18T 79%
/dev/grid/node-x19-y4 91T 64T 27T 70%
/dev/grid/node-x19-y5 90T 64T 26T 71%
/dev/grid/node-x19-y6 91T 65T 26T 71%
/dev/grid/node-x19-y7 89T 73T 16T 82%
/dev/grid/node-x19-y8 87T 65T 22T 74%
/dev/grid/node-x19-y9 90T 66T 24T 73%
/dev/grid/node-x19-y10 93T 68T 25T 73%
/dev/grid/node-x19-y11 87T 69T 18T 79%
/dev/grid/node-x19-y12 92T 66T 26T 71%
/dev/grid/node-x19-y13 94T 71T 23T 75%
/dev/grid/node-x19-y14 86T 64T 22T 74%
/dev/grid/node-x19-y15 89T 68T 21T 76%
/dev/grid/node-x19-y16 94T 69T 25T 73%
/dev/grid/node-x19-y17 85T 72T 13T 84%
/dev/grid/node-x19-y18 93T 70T 23T 75%
/dev/grid/node-x19-y19 85T 67T 18T 78%
/dev/grid/node-x19-y20 92T 64T 28T 69%
/dev/grid/node-x19-y21 93T 68T 25T 73%
/dev/grid/node-x19-y22 94T 66T 28T 70%
/dev/grid/node-x19-y23 87T 70T 17T 80%
/dev/grid/node-x20-y0 91T 65T 26T 71%
/dev/grid/node-x20-y1 85T 72T 13T 84%
/dev/grid/node-x20-y2 94T 64T 30T 68%
/dev/grid/node-x20-y3 89T 65T 24T 73%
/dev/grid/node-x20-y4 88T 69T 19T 78%
/dev/grid/node-x20-y5 94T 71T 23T 75%
/dev/grid/node-x20-y6 87T 69T 18T 79%
/dev/grid/node-x20-y7 94T 67T 27T 71%
/dev/grid/node-x20-y8 89T 65T 24T 73%
/dev/grid/node-x20-y9 88T 65T 23T 73%
/dev/grid/node-x20-y10 94T 73T 21T 77%
/dev/grid/node-x20-y11 87T 66T 21T 75%
/dev/grid/node-x20-y12 92T 66T 26T 71%
/dev/grid/node-x20-y13 86T 71T 15T 82%
/dev/grid/node-x20-y14 93T 64T 29T 68%
/dev/grid/node-x20-y15 91T 65T 26T 71%
/dev/grid/node-x20-y16 89T 65T 24T 73%
/dev/grid/node-x20-y17 90T 68T 22T 75%
/dev/grid/node-x20-y18 90T 73T 17T 81%
/dev/grid/node-x20-y19 85T 73T 12T 85%
/dev/grid/node-x20-y20 85T 67T 18T 78%
/dev/grid/node-x20-y21 94T 65T 29T 69%
/dev/grid/node-x20-y22 86T 69T 17T 80%
/dev/grid/node-x20-y23 93T 73T 20T 78%
/dev/grid/node-x21-y0 92T 73T 19T 79%
/dev/grid/node-x21-y1 94T 72T 22T 76%
/dev/grid/node-x21-y2 92T 69T 23T 75%
/dev/grid/node-x21-y3 86T 68T 18T 79%
/dev/grid/node-x21-y4 87T 69T 18T 79%
/dev/grid/node-x21-y5 87T 67T 20T 77%
/dev/grid/node-x21-y6 87T 70T 17T 80%
/dev/grid/node-x21-y7 87T 73T 14T 83%
/dev/grid/node-x21-y8 91T 71T 20T 78%
/dev/grid/node-x21-y9 85T 68T 17T 80%
/dev/grid/node-x21-y10 85T 70T 15T 82%
/dev/grid/node-x21-y11 86T 66T 20T 76%
/dev/grid/node-x21-y12 90T 64T 26T 71%
/dev/grid/node-x21-y13 87T 69T 18T 79%
/dev/grid/node-x21-y14 92T 64T 28T 69%
/dev/grid/node-x21-y15 88T 65T 23T 73%
/dev/grid/node-x21-y16 93T 70T 23T 75%
/dev/grid/node-x21-y17 87T 71T 16T 81%
/dev/grid/node-x21-y18 91T 65T 26T 71%
/dev/grid/node-x21-y19 85T 68T 17T 80%
/dev/grid/node-x21-y20 87T 66T 21T 75%
/dev/grid/node-x21-y21 94T 72T 22T 76%
/dev/grid/node-x21-y22 92T 67T 25T 72%
/dev/grid/node-x21-y23 88T 68T 20T 77%
/dev/grid/node-x22-y0 88T 69T 19T 78%
/dev/grid/node-x22-y1 88T 70T 18T 79%
/dev/grid/node-x22-y2 85T 67T 18T 78%
/dev/grid/node-x22-y3 86T 67T 19T 77%
/dev/grid/node-x22-y4 93T 70T 23T 75%
/dev/grid/node-x22-y5 89T 71T 18T 79%
/dev/grid/node-x22-y6 90T 73T 17T 81%
/dev/grid/node-x22-y7 87T 70T 17T 80%
/dev/grid/node-x22-y8 85T 68T 17T 80%
/dev/grid/node-x22-y9 87T 64T 23T 73%
/dev/grid/node-x22-y10 85T 72T 13T 84%
/dev/grid/node-x22-y11 88T 66T 22T 75%
/dev/grid/node-x22-y12 87T 72T 15T 82%
/dev/grid/node-x22-y13 88T 72T 16T 81%
/dev/grid/node-x22-y14 91T 69T 22T 75%
/dev/grid/node-x22-y15 90T 73T 17T 81%
/dev/grid/node-x22-y16 91T 69T 22T 75%
/dev/grid/node-x22-y17 92T 66T 26T 71%
/dev/grid/node-x22-y18 94T 70T 24T 74%
/dev/grid/node-x22-y19 86T 67T 19T 77%
/dev/grid/node-x22-y20 92T 70T 22T 76%
/dev/grid/node-x22-y21 89T 71T 18T 79%
/dev/grid/node-x22-y22 92T 69T 23T 75%
/dev/grid/node-x22-y23 87T 70T 17T 80%
/dev/grid/node-x23-y0 88T 69T 19T 78%
/dev/grid/node-x23-y1 86T 72T 14T 83%
/dev/grid/node-x23-y2 89T 64T 25T 71%
/dev/grid/node-x23-y3 91T 68T 23T 74%
/dev/grid/node-x23-y4 87T 71T 16T 81%
/dev/grid/node-x23-y5 85T 71T 14T 83%
/dev/grid/node-x23-y6 92T 68T 24T 73%
/dev/grid/node-x23-y7 85T 71T 14T 83%
/dev/grid/node-x23-y8 91T 64T 27T 70%
/dev/grid/node-x23-y9 85T 70T 15T 82%
/dev/grid/node-x23-y10 93T 72T 21T 77%
/dev/grid/node-x23-y11 87T 72T 15T 82%
/dev/grid/node-x23-y12 90T 72T 18T 80%
/dev/grid/node-x23-y13 89T 64T 25T 71%
/dev/grid/node-x23-y14 87T 67T 20T 77%
/dev/grid/node-x23-y15 87T 70T 17T 80%
/dev/grid/node-x23-y16 94T 68T 26T 72%
/dev/grid/node-x23-y17 88T 68T 20T 77%
/dev/grid/node-x23-y18 87T 65T 22T 74%
/dev/grid/node-x23-y19 90T 71T 19T 78%
/dev/grid/node-x23-y20 93T 71T 22T 76%
/dev/grid/node-x23-y21 92T 64T 28T 69%
/dev/grid/node-x23-y22 89T 66T 23T 74%
/dev/grid/node-x23-y23 90T 73T 17T 81%
/dev/grid/node-x24-y0 93T 70T 23T 75%
/dev/grid/node-x24-y1 91T 71T 20T 78%
/dev/grid/node-x24-y2 93T 68T 25T 73%
/dev/grid/node-x24-y3 88T 72T 16T 81%
/dev/grid/node-x24-y4 92T 64T 28T 69%
/dev/grid/node-x24-y5 87T 64T 23T 73%
/dev/grid/node-x24-y6 91T 70T 21T 76%
/dev/grid/node-x24-y7 93T 72T 21T 77%
/dev/grid/node-x24-y8 94T 73T 21T 77%
/dev/grid/node-x24-y9 88T 72T 16T 81%
/dev/grid/node-x24-y10 89T 67T 22T 75%
/dev/grid/node-x24-y11 89T 68T 21T 76%
/dev/grid/node-x24-y12 89T 66T 23T 74%
/dev/grid/node-x24-y13 93T 67T 26T 72%
/dev/grid/node-x24-y14 92T 69T 23T 75%
/dev/grid/node-x24-y15 85T 72T 13T 84%
/dev/grid/node-x24-y16 85T 64T 21T 75%
/dev/grid/node-x24-y17 94T 69T 25T 73%
/dev/grid/node-x24-y18 93T 67T 26T 72%
/dev/grid/node-x24-y19 89T 67T 22T 75%
/dev/grid/node-x24-y20 86T 67T 19T 77%
/dev/grid/node-x24-y21 87T 71T 16T 81%
/dev/grid/node-x24-y22 90T 71T 19T 78%
/dev/grid/node-x24-y23 88T 70T 18T 79%
/dev/grid/node-x25-y0 91T 70T 21T 76%
/dev/grid/node-x25-y1 92T 67T 25T 72%
/dev/grid/node-x25-y2 91T 71T 20T 78%
/dev/grid/node-x25-y3 88T 68T 20T 77%
/dev/grid/node-x25-y4 91T 64T 27T 70%
/dev/grid/node-x25-y5 88T 66T 22T 75%
/dev/grid/node-x25-y6 89T 66T 23T 74%
/dev/grid/node-x25-y7 92T 72T 20T 78%
/dev/grid/node-x25-y8 88T 71T 17T 80%
/dev/grid/node-x25-y9 90T 65T 25T 72%
/dev/grid/node-x25-y10 93T 65T 28T 69%
/dev/grid/node-x25-y11 94T 70T 24T 74%
/dev/grid/node-x25-y12 90T 69T 21T 76%
/dev/grid/node-x25-y13 86T 66T 20T 76%
/dev/grid/node-x25-y14 85T 71T 14T 83%
/dev/grid/node-x25-y15 91T 72T 19T 79%
/dev/grid/node-x25-y16 86T 68T 18T 79%
/dev/grid/node-x25-y17 85T 65T 20T 76%
/dev/grid/node-x25-y18 85T 67T 18T 78%
/dev/grid/node-x25-y19 94T 72T 22T 76%
/dev/grid/node-x25-y20 89T 69T 20T 77%
/dev/grid/node-x25-y21 94T 70T 24T 74%
/dev/grid/node-x25-y22 89T 68T 21T 76%
/dev/grid/node-x25-y23 89T 69T 20T 77%
/dev/grid/node-x26-y0 91T 64T 27T 70%
/dev/grid/node-x26-y1 85T 64T 21T 75%
/dev/grid/node-x26-y2 91T 73T 18T 80%
/dev/grid/node-x26-y3 94T 66T 28T 70%
/dev/grid/node-x26-y4 94T 67T 27T 71%
/dev/grid/node-x26-y5 85T 64T 21T 75%
/dev/grid/node-x26-y6 94T 73T 21T 77%
/dev/grid/node-x26-y7 92T 71T 21T 77%
/dev/grid/node-x26-y8 89T 67T 22T 75%
/dev/grid/node-x26-y9 89T 72T 17T 80%
/dev/grid/node-x26-y10 92T 73T 19T 79%
/dev/grid/node-x26-y11 91T 68T 23T 74%
/dev/grid/node-x26-y12 90T 64T 26T 71%
/dev/grid/node-x26-y13 86T 66T 20T 76%
/dev/grid/node-x26-y14 92T 64T 28T 69%
/dev/grid/node-x26-y15 91T 64T 27T 70%
/dev/grid/node-x26-y16 93T 69T 24T 74%
/dev/grid/node-x26-y17 90T 68T 22T 75%
/dev/grid/node-x26-y18 91T 64T 27T 70%
/dev/grid/node-x26-y19 85T 73T 12T 85%
/dev/grid/node-x26-y20 92T 68T 24T 73%
/dev/grid/node-x26-y21 87T 67T 20T 77%
/dev/grid/node-x26-y22 93T 72T 21T 77%
/dev/grid/node-x26-y23 88T 66T 22T 75%
/dev/grid/node-x27-y0 92T 69T 23T 75%
/dev/grid/node-x27-y1 85T 64T 21T 75%
/dev/grid/node-x27-y2 90T 67T 23T 74%
/dev/grid/node-x27-y3 87T 69T 18T 79%
/dev/grid/node-x27-y4 86T 68T 18T 79%
/dev/grid/node-x27-y5 92T 73T 19T 79%
/dev/grid/node-x27-y6 93T 65T 28T 69%
/dev/grid/node-x27-y7 89T 64T 25T 71%
/dev/grid/node-x27-y8 90T 67T 23T 74%
/dev/grid/node-x27-y9 89T 66T 23T 74%
/dev/grid/node-x27-y10 89T 72T 17T 80%
/dev/grid/node-x27-y11 85T 70T 15T 82%
/dev/grid/node-x27-y12 89T 70T 19T 78%
/dev/grid/node-x27-y13 92T 65T 27T 70%
/dev/grid/node-x27-y14 88T 64T 24T 72%
/dev/grid/node-x27-y15 89T 70T 19T 78%
/dev/grid/node-x27-y16 85T 72T 13T 84%
/dev/grid/node-x27-y17 93T 71T 22T 76%
/dev/grid/node-x27-y18 94T 72T 22T 76%
/dev/grid/node-x27-y19 90T 69T 21T 76%
/dev/grid/node-x27-y20 86T 69T 17T 80%
/dev/grid/node-x27-y21 90T 68T 22T 75%
/dev/grid/node-x27-y22 85T 70T 15T 82%
/dev/grid/node-x27-y23 91T 71T 20T 78%
/dev/grid/node-x28-y0 88T 68T 20T 77%
/dev/grid/node-x28-y1 92T 67T 25T 72%
/dev/grid/node-x28-y2 88T 66T 22T 75%
/dev/grid/node-x28-y3 87T 69T 18T 79%
/dev/grid/node-x28-y4 88T 66T 22T 75%
/dev/grid/node-x28-y5 89T 67T 22T 75%
/dev/grid/node-x28-y6 94T 64T 30T 68%
/dev/grid/node-x28-y7 92T 64T 28T 69%
/dev/grid/node-x28-y8 93T 65T 28T 69%
/dev/grid/node-x28-y9 90T 66T 24T 73%
/dev/grid/node-x28-y10 93T 67T 26T 72%
/dev/grid/node-x28-y11 94T 71T 23T 75%
/dev/grid/node-x28-y12 85T 69T 16T 81%
/dev/grid/node-x28-y13 86T 73T 13T 84%
/dev/grid/node-x28-y14 93T 64T 29T 68%
/dev/grid/node-x28-y15 88T 64T 24T 72%
/dev/grid/node-x28-y16 86T 65T 21T 75%
/dev/grid/node-x28-y17 92T 72T 20T 78%
/dev/grid/node-x28-y18 88T 64T 24T 72%
/dev/grid/node-x28-y19 85T 72T 13T 84%
/dev/grid/node-x28-y20 90T 73T 17T 81%
/dev/grid/node-x28-y21 85T 68T 17T 80%
/dev/grid/node-x28-y22 91T 69T 22T 75%
/dev/grid/node-x28-y23 90T 67T 23T 74%
/dev/grid/node-x29-y0 89T 71T 18T 79%
/dev/grid/node-x29-y1 89T 67T 22T 75%
/dev/grid/node-x29-y2 89T 70T 19T 78%
/dev/grid/node-x29-y3 91T 64T 27T 70%
/dev/grid/node-x29-y4 91T 70T 21T 76%
/dev/grid/node-x29-y5 91T 68T 23T 74%
/dev/grid/node-x29-y6 88T 72T 16T 81%
/dev/grid/node-x29-y7 88T 65T 23T 73%
/dev/grid/node-x29-y8 94T 67T 27T 71%
/dev/grid/node-x29-y9 92T 69T 23T 75%
/dev/grid/node-x29-y10 92T 70T 22T 76%
/dev/grid/node-x29-y11 91T 64T 27T 70%
/dev/grid/node-x29-y12 85T 73T 12T 85%
/dev/grid/node-x29-y13 87T 68T 19T 78%
/dev/grid/node-x29-y14 90T 71T 19T 78%
/dev/grid/node-x29-y15 93T 68T 25T 73%
/dev/grid/node-x29-y16 89T 69T 20T 77%
/dev/grid/node-x29-y17 86T 68T 18T 79%
/dev/grid/node-x29-y18 91T 65T 26T 71%
/dev/grid/node-x29-y19 86T 67T 19T 77%
/dev/grid/node-x29-y20 89T 69T 20T 77%
/dev/grid/node-x29-y21 87T 72T 15T 82%
/dev/grid/node-x29-y22 93T 71T 22T 76%
/dev/grid/node-x29-y23 90T 70T 20T 77%
/dev/grid/node-x30-y0 86T 65T 21T 75%
/dev/grid/node-x30-y1 86T 68T 18T 79%
/dev/grid/node-x30-y2 88T 66T 22T 75%
/dev/grid/node-x30-y3 86T 67T 19T 77%
/dev/grid/node-x30-y4 90T 73T 17T 81%
/dev/grid/node-x30-y5 86T 70T 16T 81%
/dev/grid/node-x30-y6 89T 72T 17T 80%
/dev/grid/node-x30-y7 85T 73T 12T 85%
/dev/grid/node-x30-y8 94T 64T 30T 68%
/dev/grid/node-x30-y9 89T 67T 22T 75%
/dev/grid/node-x30-y10 85T 68T 17T 80%
/dev/grid/node-x30-y11 87T 69T 18T 79%
/dev/grid/node-x30-y12 94T 68T 26T 72%
/dev/grid/node-x30-y13 86T 67T 19T 77%
/dev/grid/node-x30-y14 88T 71T 17T 80%
/dev/grid/node-x30-y15 89T 68T 21T 76%
/dev/grid/node-x30-y16 86T 70T 16T 81%
/dev/grid/node-x30-y17 86T 66T 20T 76%
/dev/grid/node-x30-y18 86T 72T 14T 83%
/dev/grid/node-x30-y19 501T 493T 8T 98%
/dev/grid/node-x30-y20 86T 71T 15T 82%
/dev/grid/node-x30-y21 94T 68T 26T 72%
/dev/grid/node-x30-y22 88T 73T 15T 82%
/dev/grid/node-x30-y23 88T 73T 15T 82%
/dev/grid/node-x31-y0 88T 73T 15T 82%
/dev/grid/node-x31-y1 86T 70T 16T 81%
/dev/grid/node-x31-y2 87T 67T 20T 77%
/dev/grid/node-x31-y3 87T 72T 15T 82%
/dev/grid/node-x31-y4 89T 72T 17T 80%
/dev/grid/node-x31-y5 91T 69T 22T 75%
/dev/grid/node-x31-y6 94T 71T 23T 75%
/dev/grid/node-x31-y7 87T 72T 15T 82%
/dev/grid/node-x31-y8 86T 69T 17T 80%
/dev/grid/node-x31-y9 90T 72T 18T 80%
/dev/grid/node-x31-y10 86T 64T 22T 74%
/dev/grid/node-x31-y11 92T 72T 20T 78%
/dev/grid/node-x31-y12 94T 72T 22T 76%
/dev/grid/node-x31-y13 90T 71T 19T 78%
/dev/grid/node-x31-y14 94T 67T 27T 71%
/dev/grid/node-x31-y15 86T 71T 15T 82%
/dev/grid/node-x31-y16 91T 69T 22T 75%
/dev/grid/node-x31-y17 93T 73T 20T 78%
/dev/grid/node-x31-y18 88T 68T 20T 77%
/dev/grid/node-x31-y19 504T 498T 6T 98%
/dev/grid/node-x31-y20 91T 67T 24T 73%
/dev/grid/node-x31-y21 87T 68T 19T 78%
/dev/grid/node-x31-y22 91T 65T 26T 71%
/dev/grid/node-x31-y23 85T 67T 18T 78%
/dev/grid/node-x32-y0 90T 72T 18T 80%
/dev/grid/node-x32-y1 89T 69T 20T 77%
/dev/grid/node-x32-y2 88T 73T 15T 82%
/dev/grid/node-x32-y3 91T 69T 22T 75%
/dev/grid/node-x32-y4 90T 68T 22T 75%
/dev/grid/node-x32-y5 93T 71T 22T 76%
/dev/grid/node-x32-y6 87T 65T 22T 74%
/dev/grid/node-x32-y7 94T 69T 25T 73%
/dev/grid/node-x32-y8 92T 65T 27T 70%
/dev/grid/node-x32-y9 90T 67T 23T 74%
/dev/grid/node-x32-y10 85T 69T 16T 81%
/dev/grid/node-x32-y11 94T 64T 30T 68%
/dev/grid/node-x32-y12 87T 73T 14T 83%
/dev/grid/node-x32-y13 85T 64T 21T 75%
/dev/grid/node-x32-y14 85T 68T 17T 80%
/dev/grid/node-x32-y15 89T 71T 18T 79%
/dev/grid/node-x32-y16 90T 66T 24T 73%
/dev/grid/node-x32-y17 86T 65T 21T 75%
/dev/grid/node-x32-y18 94T 70T 24T 74%
/dev/grid/node-x32-y19 505T 497T 8T 98%
/dev/grid/node-x32-y20 90T 65T 25T 72%
/dev/grid/node-x32-y21 88T 70T 18T 79%
/dev/grid/node-x32-y22 92T 69T 23T 75%
/dev/grid/node-x32-y23 86T 73T 13T 84%
/dev/grid/node-x33-y0 93T 70T 23T 75%
/dev/grid/node-x33-y1 89T 64T 25T 71%
/dev/grid/node-x33-y2 89T 64T 25T 71%
/dev/grid/node-x33-y3 86T 67T 19T 77%
/dev/grid/node-x33-y4 93T 64T 29T 68%
/dev/grid/node-x33-y5 92T 72T 20T 78%
/dev/grid/node-x33-y6 86T 66T 20T 76%
/dev/grid/node-x33-y7 89T 72T 17T 80%
/dev/grid/node-x33-y8 85T 72T 13T 84%
/dev/grid/node-x33-y9 92T 70T 22T 76%
/dev/grid/node-x33-y10 89T 68T 21T 76%
/dev/grid/node-x33-y11 88T 65T 23T 73%
/dev/grid/node-x33-y12 87T 66T 21T 75%
/dev/grid/node-x33-y13 88T 68T 20T 77%
/dev/grid/node-x33-y14 85T 71T 14T 83%
/dev/grid/node-x33-y15 90T 72T 18T 80%
/dev/grid/node-x33-y16 92T 64T 28T 69%
/dev/grid/node-x33-y17 87T 69T 18T 79%
/dev/grid/node-x33-y18 85T 70T 15T 82%
/dev/grid/node-x33-y19 508T 490T 18T 96%
/dev/grid/node-x33-y20 92T 70T 22T 76%
/dev/grid/node-x33-y21 92T 65T 27T 70%
/dev/grid/node-x33-y22 93T 68T 25T 73%
/dev/grid/node-x33-y23 89T 73T 16T 82%
/dev/grid/node-x34-y0 88T 67T 21T 76%
/dev/grid/node-x34-y1 92T 71T 21T 77%
/dev/grid/node-x34-y2 90T 68T 22T 75%
/dev/grid/node-x34-y3 89T 66T 23T 74%
/dev/grid/node-x34-y4 86T 71T 15T 82%
/dev/grid/node-x34-y5 86T 72T 14T 83%
/dev/grid/node-x34-y6 87T 66T 21T 75%
/dev/grid/node-x34-y7 87T 68T 19T 78%
/dev/grid/node-x34-y8 94T 69T 25T 73%
/dev/grid/node-x34-y9 88T 66T 22T 75%
/dev/grid/node-x34-y10 92T 64T 28T 69%
/dev/grid/node-x34-y11 89T 73T 16T 82%
/dev/grid/node-x34-y12 86T 67T 19T 77%
/dev/grid/node-x34-y13 90T 64T 26T 71%
/dev/grid/node-x34-y14 85T 64T 21T 75%
/dev/grid/node-x34-y15 89T 73T 16T 82%
/dev/grid/node-x34-y16 91T 65T 26T 71%
/dev/grid/node-x34-y17 86T 64T 22T 74%
/dev/grid/node-x34-y18 89T 64T 25T 71%
/dev/grid/node-x34-y19 504T 499T 5T 99%
/dev/grid/node-x34-y20 88T 64T 24T 72%
/dev/grid/node-x34-y21 90T 64T 26T 71%
/dev/grid/node-x34-y22 87T 66T 21T 75%
/dev/grid/node-x34-y23 89T 65T 24T 73%
/dev/grid/node-x35-y0 91T 71T 20T 78%
/dev/grid/node-x35-y1 93T 72T 21T 77%
/dev/grid/node-x35-y2 86T 68T 18T 79%
/dev/grid/node-x35-y3 91T 71T 20T 78%
/dev/grid/node-x35-y4 92T 67T 25T 72%
/dev/grid/node-x35-y5 85T 68T 17T 80%
/dev/grid/node-x35-y6 90T 70T 20T 77%
/dev/grid/node-x35-y7 90T 64T 26T 71%
/dev/grid/node-x35-y8 93T 65T 28T 69%
/dev/grid/node-x35-y9 92T 65T 27T 70%
/dev/grid/node-x35-y10 94T 65T 29T 69%
/dev/grid/node-x35-y11 93T 69T 24T 74%
/dev/grid/node-x35-y12 90T 64T 26T 71%
/dev/grid/node-x35-y13 92T 69T 23T 75%
/dev/grid/node-x35-y14 93T 66T 27T 70%
/dev/grid/node-x35-y15 86T 67T 19T 77%
/dev/grid/node-x35-y16 91T 71T 20T 78%
/dev/grid/node-x35-y17 93T 72T 21T 77%
/dev/grid/node-x35-y18 90T 73T 17T 81%
/dev/grid/node-x35-y19 503T 494T 9T 98%
/dev/grid/node-x35-y20 94T 71T 23T 75%
/dev/grid/node-x35-y21 91T 0T 91T 0%
/dev/grid/node-x35-y22 93T 72T 21T 77%
/dev/grid/node-x35-y23 90T 65T 25T 72%
/dev/grid/node-x36-y0 88T 72T 16T 81%
/dev/grid/node-x36-y1 91T 70T 21T 76%
/dev/grid/node-x36-y2 89T 65T 24T 73%
/dev/grid/node-x36-y3 93T 69T 24T 74%
/dev/grid/node-x36-y4 94T 71T 23T 75%
/dev/grid/node-x36-y5 94T 68T 26T 72%
/dev/grid/node-x36-y6 88T 66T 22T 75%
/dev/grid/node-x36-y7 88T 66T 22T 75%
/dev/grid/node-x36-y8 94T 72T 22T 76%
/dev/grid/node-x36-y9 91T 66T 25T 72%
/dev/grid/node-x36-y10 94T 69T 25T 73%
/dev/grid/node-x36-y11 91T 68T 23T 74%
/dev/grid/node-x36-y12 90T 67T 23T 74%
/dev/grid/node-x36-y13 94T 70T 24T 74%
/dev/grid/node-x36-y14 88T 66T 22T 75%
/dev/grid/node-x36-y15 91T 71T 20T 78%
/dev/grid/node-x36-y16 86T 69T 17T 80%
/dev/grid/node-x36-y17 87T 69T 18T 79%
/dev/grid/node-x36-y18 89T 66T 23T 74%
/dev/grid/node-x36-y19 508T 491T 17T 96%
/dev/grid/node-x36-y20 88T 69T 19T 78%
/dev/grid/node-x36-y21 89T 65T 24T 73%
/dev/grid/node-x36-y22 93T 69T 24T 74%
/dev/grid/node-x36-y23 88T 64T 24T 72%
/dev/grid/node-x37-y0 91T 64T 27T 70%
/dev/grid/node-x37-y1 88T 69T 19T 78%
/dev/grid/node-x37-y2 88T 69T 19T 78%
/dev/grid/node-x37-y3 90T 64T 26T 71%
/dev/grid/node-x37-y4 91T 67T 24T 73%
/dev/grid/node-x37-y5 87T 67T 20T 77%
/dev/grid/node-x37-y6 88T 70T 18T 79%
/dev/grid/node-x37-y7 88T 71T 17T 80%
/dev/grid/node-x37-y8 87T 68T 19T 78%
/dev/grid/node-x37-y9 87T 67T 20T 77%
/dev/grid/node-x37-y10 86T 68T 18T 79%
/dev/grid/node-x37-y11 89T 64T 25T 71%
/dev/grid/node-x37-y12 86T 66T 20T 76%
/dev/grid/node-x37-y13 90T 71T 19T 78%
/dev/grid/node-x37-y14 94T 66T 28T 70%
/dev/grid/node-x37-y15 90T 67T 23T 74%
/dev/grid/node-x37-y16 88T 68T 20T 77%
/dev/grid/node-x37-y17 94T 71T 23T 75%
/dev/grid/node-x37-y18 89T 72T 17T 80%
/dev/grid/node-x37-y19 507T 490T 17T 96%
/dev/grid/node-x37-y20 85T 65T 20T 76%
/dev/grid/node-x37-y21 88T 70T 18T 79%
/dev/grid/node-x37-y22 90T 66T 24T 73%
/dev/grid/node-x37-y23 90T 72T 18T 80%

View File

@@ -1,39 +0,0 @@
#########################################################################################################################################################################################
#...#...............#.#...#.#.......#.....#.....#.....#...............#.....#.#.....#.....#.......#.........#.#.....#.....#.#.#...#...........#.................#.#...#.....#.....#...#.#
#.###.#.###.###.###.#.###.#.###.#####.###.#.#.#.#.#.#.#.#.###.#.#####.#.#.#.#.#.#.###.###.#.#.#.#.###.###.#.#.#.#.###.###.#.#.#.#.#####.#####.#.#.###########.###.#.#.#.###.#.###.#.#.#.#
#.#...#.....#.....#.#.#...#.#.....#.#.#...#.....#.#.#.....#.............#...#.....#...#.#.........#.#.....#.......#...#.#.#.#.#.........#.....#.#.#...#...#...#...#...#.....#.....#...#.#
#.#.###.#.#.#.#.###.#.#.###.#.#####.#.#.#.#.#####.#.#.#.###.#.#.#.#.###.#.#.###.#.#.#.#.###.###.#.#.###.#.#.#.###.###.#.#.#.#.###########.#.###.#.###.#.#.#.#.#.#.#.#.###.#.#.#.###.#.#.#
#...........#.#.#...#.#.....#.....#...........#...........#.....#.............#.......#.#...............#.....#.......#.....#...............#1....#.......#.#.....#.......#...#.....#...#
#.###.#.#.#.#.#.#.#.#########.#.#.#.#.#.###.#.#.#####.#.#.#.###.#.###.#########.#######.#.#.#.#.#############.#####.#.###.#.#.#.#.#####.#.#######.#####.#.#.#.#.#.#####.#.#.#.#.###.#.###
#...#.....#.....#.#.#.#.................#.#.#...#.......#...#...#.#...........#.#...#.......#.#.#...#...#.......#...#.#.#.#.#.....#.....#.....#.......#...#...#...#.......#...#.....#...#
#.#.#####.#.#####.#.#.#.#.###.###.#.#.###.#.#.#.#.#######.#.#.#.#.###.#.###.#####.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#######.#.#####.#.#.#.#######.#.#.#.#.#.#######.#.###.#.#.#.###.###.#.#.#
#...#.....#.......#.#...#.#...#...........#...#...#.#.....#...#.......#.......#.#.#.#...#.#.....#.#...#...#.....#.........#...#.........#.#.....#.....#...#.#.#...#...#.....#.#3#.#.....#
#.#.###.#.#.###.#######.#.#.#.#.###.###.#####.#.#.#.#.#.#.#.#.#.#####.#.###.###.###.#.#.#.#.#.#.#.###.#.#######.###.#.###.#.#.#.###.#.#.#.#.#.#.#.#.###.###.#.#.###.#.#.###.#.#.#.###.#.#
#.......#.#...#.#.#.....#...#...#0..#.#.....#.#.....#.#.#...#...#.....#.....#.#.....#...#.#...#.#...#.#.#...#...#...#...#.#.#.............#.#...#.......#...#...#...#.#.#.....#...#.#...#
#####.#####.#.###.#.#.#.#.#.#.#.###.#.#.#.#.#.#.###.#.###.#.#.#.#.#.#.###.###.###.#.#####.#####.#.#.#.#.#.#.#.#.#.#.#.###.#.###.###########.#.#.#########.#.#.#.#.###.#.###.#.###.#.#.#.#
#...#...#.......#.#.#...#.......#...#...#.#...#.#...#.....#.....#.....#.#.#.........#.#.......#...#.#...#.#.........#...#.........#...#...#.#.....#.....#...#.#.......#.#.....#.........#
#.#.###.#.#####.###.###.#.#.###.###.#.###.#.#.#.#.#.#.#####.#.###.#.#.#.###.###.#####.#.#.#.#.#.###.###.#.#########.#.###.#.#.#.#.#.#.#.#.#.#####.###.#.#.#.#.#.#.#.#.#####.#.###.#.###.#
#.....#.#.#...#.#...#.#.....#.#...........#.....#...#.#...#.#.....#.#.#.....#.......#...#.#.#.......#.......#.........#.........#.#.#.#...#...#.#...#...#.......#.....#.....#.......#...#
###.#.#.#####.#.#.#.#.#.#.#.#.#.#.#.#.#.#######.###.#.#####.#####.###.#.#.#.###.#.#.###.#.#.#.#.#####.#.###.#.#.#.#########.#.###.#.#.#.#.#####.###.#.#.#.###.#####.#.#.#.#.#.#.#.#.#.###
#.#...#.#.......#.#.#...#.......#.#.....#.#.........#...#.....#.................#.........#...#...#.#...#.....#...#...#.#...#...#...#.....#...#.......#.......#.....#...#...#...#...#.#.#
#.#.#####.#.#####.###.#.###.#.###.#.#.#.#.#######.#.###.###.#.#.#########.#.###.#########.###.###.#.###.#.#####.#.###.#.#.#.#.#.#.#.#.###.#.#.#.#########.#####.#.#.###.#.#.#.#.#####.#.#
#.............#2#.#.....#.#.#...#...#.#...........#.........#...#.#.......#.#.........#.#.#.....#.#.......#...#.....#...#.#.#.......#...#.#.......#.......#...#.........#...#...#.....#.#
#.#.###.#.#.#.#.#.#.#.###.#.###.#.#####.###.###.#.#.#.#.#.#.#####.#.#.#.#.###.#.#####.#.#.#.#.#####.#.#####.###.###.#.#.#.#.#.#.#.#.#.#.#.#.###.#.###.#####.#######.#.#.#####.###.###.#.#
#...#...#...#...#.#.#.#...#.#.........#.#.#...............#.#...#...#.....#...#.#...#...#...........#.#.....#.....#...#.#.#...#...#.#.....#.....#...........#...#.....#.....#.#6#.....#.#
#####.#.#####.###.#.#.#.#.#.###.###.#.###.#.#########.#.###.#.#.#.###.###.#####.#####.###.###.#.#.#.###.#.#.#.#.###.#.###.#.#.#.#.###.#.#.#.###.#.#.#.#.#.###.#.#####.#.###.#.#.#.###.#.#
#...#...#.....#.....#...#...#...#.....#.....................#...#.....#.........#.....#.#.#...#.#.........#.....................#...#...#.....#...#...#.....#...#...#.....#.#.......#...#
#.###.#.#.#.#.###.#.###.#.#####.#.###.#.#####.#.#######.#.#.#.###.#.#.#.#.#.#.#.#.#.#.#.#.#.#.###.#####.###.#####.#######.###.#.#.#######.###.#.###.###.#.#.###.#.#.#.#####.#.#.#######.#
#.#...#.........#...#.....#.......#.....#.#.....#.#...#.#...#.#...#.........#.....#.......#.......#.......#.......#...#...#.......#.....#.#...........#.........#.#.#...#.#.#.....#...#.#
#.#.#.#.#.#.#.#.#.#.#########.#####.#.###.#.#####.#.###.#.#.#.#.#########.#.#.#.#.###.###.#####.###.###.#.#.#.#####.#.#.#########.###.#.###.###.###.#.#######.#.###.###.#.###.###.#.###.#
#.....#.....#...#.#.........#...#.....#...#.............#.....#.#.........#...#.......#.................#...#.........#...#...........#.........#.....#.......#.....#.....#.#.#.#...#.#.#
#.###.#.###.#.#.#.#.#.#.#.###.###.#.#######.#.###.#####.#.###.#.#.#.#.#.#.#.#.#######.###.###.#######.#.###.###.#####.#.#.#.#.#.#.#.###.#.###.###.###.#.###.#.###.###.#####.#.#.###.#.###
#.....#...#.#.....#.#...#.....#.....#.#...#...#...........#.#.#...........#.#.#.....#.....#...#...#...#...#.....#.......#.......#.#.........#.....#.....#.#...#.......#.........#.......#
#.#.#.###.#.#.#.###.###.#.###.#####.#.#.#.#.#.#######.###.#.#.#.#####.###.#.#.###.###.#.#.#.#.#.###.#####.###.###.#######.###.#.#.#.#.#.#.#####.#########.#.#.#.#.#.###.#######.###.#.#.#
#.......#.#.#.....#.....#.#...#.....#...#.#.....#...#.#...#.....#.......#...#.#.#...#.....#.......#.......#...#.#.......#...#...#.#.#...#.......#.....#.#...#.#.#...#...#.......#.......#
#.###.###.#.#.###.#.#.#.#.#.#.#.#.#.###.###.#.#.###.#.###.###.#.#.#.#.#.#####.#.#.#.#.#.#########.#.###.#.#.#.#.#.#.#.#.#.#####.###.###.#.#.#.#.#.#.#.#.#.#.###.#.###.#.#####.#######.#.#
#.....#.#5......#.......#...#.#.#...#.#.#.#.....#.....#.#.....#.......#.#...#...#.....#.....#...........#...#.......#.#...#.........#.........#.........#...........#.#.#.....#7....#.#.#
#.#.#.#.###.#####.#####.#.###.#.#.#.#.###.#.#.#.#####.#.#.#.#.#.###.#.###.###.###.#.#.###.#.#.#.#.#######.#.#.#####.#.#.###.#.#####.#.#.#.#.#.#.#.#####.#.#.#.#.#####.#.#.#.#.#####.#.#.#
#...........#.#...#.........#...#.#.#.#.......#.#.....#...#...#.#.....#...#...#.......#.................................#...#...#.#.....#.....#...#...#.#...#...#.#.......#.........#.#.#
###.###.#.###.#.###.#.#.#.#.#.#.#.#.#.#.###.#.#.#.#.#.#.###.###.###.###.#.###.#.###.#####.#.#.###.###.#.#####.#.#.#.#####.#.###.#.#.#.#.###.#.###.###.#.#######.#.#.#.#.###.###.#.#.#.#.#
#.......#.#.........#...#.#.#.................#.......#...#.....#...............#...#.#...#...#.......#.#.#.......#.......#...............#4#.......#.....#...#...#.#...#.......#.....#.#
#########################################################################################################################################################################################

File diff suppressed because it is too large Load Diff

View File

@@ -1,980 +0,0 @@
bkwzkqsxq-tovvilokx-nozvyiwoxd-172[fstek]
wifilzof-wbiwifuny-yhachyylcha-526[qrazx]
jvyyvzpcl-jhukf-shivyhavyf-487[zhtsi]
kwvacumz-ozilm-kivlg-kwvbiqvumvb-694[gknyw]
mvhkvbdib-kmjezxodgz-mvwwdo-omvdidib-837[dmvbi]
nzydfxpc-rclop-qwzhpc-lnbftdtetzy-171[cptzd]
vhehkyne-unggr-inkvatlbgz-813[gnehk]
tcorcikpi-hnqygt-octmgvkpi-570[nzewo]
xmtjbzidx-wvnfzo-jkzmvodjin-447[uyzlp]
willimcpy-mwupyhayl-bohn-mufym-734[stjoc]
sbejpbdujwf-cvooz-xpsltipq-961[azfnd]
jchipqat-qphzti-rjhidbtg-htgkxrt-271[thigj]
npmhcargjc-zsllw-pcqcypaf-158[mzwnx]
luxciuwncpy-jfumncw-alumm-qilembij-318[mucil]
bxaxipgn-vgpst-rpcsn-rdpixcv-htgkxrth-427[ywazt]
zekvierkzferc-tyftfcrkv-ivtvzmzex-295[evzfk]
enzcntvat-qlr-hfre-grfgvat-143[rtaef]
mvkccspson-bkllsd-nofovyzwoxd-224[oscdk]
enzcntvat-zvyvgnel-tenqr-pnaql-pbngvat-ratvarrevat-429[zymbs]
nwzekwypera-xwogap-pnwejejc-992[lkiwn]
ajmrxjlcren-ajkkrc-lxwcjrwvnwc-667[ezynd]
bxaxipgn-vgpst-hrpktcvtg-wjci-advxhixrh-661[lytku]
owshgfarwv-vqw-kzahhafy-190[ahwfv]
jqwpihizlwca-moo-twoqabqka-512[ncdyv]
apwmeclga-pyzzgr-rcaflmjmew-886[amceg]
tyepcyletzylw-ojp-wzrtdetnd-951[mxqsy]
dlhwvupglk-kfl-hjxbpzpapvu-773[nrotd]
fab-eqodqf-dmnnuf-bgdotmeuzs-612[dchyk]
qjopwxha-bhksan-skngodkl-940[kahno]
lsyrkjkbnyec-dyz-combod-cmkfoxqob-rexd-bomosfsxq-718[lktzs]
zixppfcfba-bdd-jxohbqfkd-939[sqtor]
vxupkizork-kmm-ktmotkkxotm-852[dsqjh]
excdklvo-mkxni-mykdsxq-nozkbdwoxd-952[zspmc]
bnqqnrhud-eknvdq-sqzhmhmf-391[qhndm]
gzefmnxq-otaoaxmfq-ogefayqd-eqdhuoq-716[zinwb]
qzoggwtwsr-qobrm-ghcfous-428[goqrs]
gpbepvxcv-ltpedcxots-qphzti-steadnbtci-193[ignjy]
hvbizodx-nxvqzibzm-cpio-hvmfzodib-265[hixfe]
wkqxodsm-lexxi-kxkvicsc-926[xkcis]
bknsykmdsfo-myxcewob-qbkno-oqq-zebmrkcsxq-380[utqrz]
lejkrscv-wcfnvi-kirzezex-711[ecikr]
htwwtxnaj-idj-btwpxmtu-255[itgmd]
zsxyfgqj-jll-ijufwyrjsy-931[wrpgt]
iuxxuyobk-yigbktmkx-natz-gtgreyoy-384[ygktx]
qjopwxha-xqjju-zalhkuiajp-628[esmxk]
lxaaxbren-ljwmh-anbnjalq-745[stjqy]
gokzyxsjon-zvkcdsm-qbkcc-dbksxsxq-380[tsyqk]
qzoggwtwsr-qobrm-qcohwbu-rsdofhasbh-168[obhqr]
pelbtravp-pnaql-fgbentr-325[pabel]
xzwrmkbqtm-akidmvomz-pcvb-mvoqvmmzqvo-122[mvoqz]
sbnqbhjoh-ezf-fohjoffsjoh-233[xskyb]
jyddc-yrwxefpi-fewoix-hiwmkr-412[pdekg]
fab-eqodqf-rxaiqd-xmnadmfadk-690[sicjl]
xcitgcpixdcpa-rpcsn-htgkxrth-427[stznv]
rflsjynh-rnqnyfwd-lwfij-jll-xytwflj-229[lfjnw]
zotts-wlsiayhcw-vumeyn-fuvilunils-500[ilsun]
odiih-yujbcrl-pajbb-dbna-cnbcrwp-147[bcadi]
udskkaxawv-tmffq-klgjsyw-996[tmnfc]
emixwvqhml-kpwkwtibm-wxmzibqwva-278[zomvn]
dfcxsqhwzs-dzoghwq-ufogg-zcuwghwqg-116[kmijn]
dwbcjkun-ouxfna-mnbrpw-745[nbuwa]
jchipqat-rwdrdapit-pcpanhxh-973[hglvu]
fkqbokxqflkxi-avb-zlkqxfkjbkq-861[wdnor]
wbhsfbohwcboz-foppwh-qighcasf-gsfjwqs-480[fhswb]
dzczkrip-xiruv-szfyrqriuflj-treup-kvtyefcfxp-451[rfipu]
fmsledevhsyw-fyrrc-eguymwmxmsr-698[yzoxu]
udskkaxawv-jsttal-wfyafwwjafy-840[nlkda]
sno-rdbqds-idkkxadzm-sqzhmhmf-287[lngzc]
crwwv-yxphbq-rpbo-qbpqfkd-341[bpqrw]
odiih-mhn-anjlzdrbrcrxw-563[xadcy]
jyddc-ikk-wlmttmrk-698[lmstk]
buzahisl-wshzapj-nyhzz-klzpnu-149[pjxor]
odkasqzuo-eomhqzsqd-tgzf-ymzmsqyqzf-560[frqmp]
gokzyxsjon-bkllsd-yzobkdsyxc-874[nbtmv]
excdklvo-pvygob-bocokbmr-952[tyzxa]
jvsvymbs-jovjvshal-aljouvsvnf-253[zgtdm]
hafgnoyr-qlr-erfrnepu-637[refna]
pelbtravp-sybjre-fnyrf-299[tjoim]
fodvvlilhg-gbh-vwrudjh-621[hvdgl]
kgjgrypw-epybc-bwc-bcnjmwkclr-678[smijy]
myxcewob-qbkno-mrymyvkdo-dbksxsxq-458[bkmox]
joufsobujpobm-fhh-dpoubjonfou-311[uvksy]
rflsjynh-ojqqdgjfs-ijajqturjsy-697[jqsfr]
vetllbybxw-vtgwr-kxtvjnblbmbhg-709[athym]
ajvyjprwp-ajmrxjlcren-kdwwh-lxwcjrwvnwc-433[qsaxt]
zbytomdsvo-mkxni-mykdsxq-myxdksxwoxd-952[xdmko]
esyfwlau-bwddqtwsf-suimakalagf-684[stvip]
jef-iushuj-fhezusjybu-fbqijys-whqii-huiuqhsx-582[uhijs]
tpspahyf-nyhkl-jovjvshal-bzly-alzapun-565[sdprn]
apwmeclga-hcjjwzcyl-umpiqfmn-132[shfrg]
kwtwznct-jcvvg-lmxizbumvb-148[vbcmt]
rmn-qcapcr-aylbw-umpiqfmn-366[juftv]
sorozgxe-mxgjk-hgyqkz-yzuxgmk-748[xuvst]
bkwzkqsxq-wsvsdkbi-qbkno-mkxni-mykdsxq-yzobkdsyxc-822[ksbqx]
ryexqpqhteki-vbemuh-skijecuh-iuhlysu-842[tszmj]
ikhcxvmbex-wrx-wxlbzg-501[zhqis]
lsyrkjkbnyec-mrymyvkdo-nozvyiwoxd-978[enkfi]
wdjcvuvmyjpn-mvhkvbdib-agjrzm-nojmvbz-395[tcxne]
uwtojhynqj-gfxpjy-fhvznxnynts-567[kqpvs]
iqmbazulqp-pkq-dqoquhuzs-534[ntpuq]
gntmfefwitzx-ojqqdgjfs-ijajqturjsy-385[jfqtg]
sebehvkb-fhezusjybu-zubboruqd-husuylydw-972[ytsim]
nzcczdtgp-nsznzwlep-hzcvdsza-405[yotgu]
joufsobujpobm-fhh-ufdiopmphz-675[tsymn]
cxy-bnlanc-snuuhknjw-anbnjalq-823[nabcj]
shoewudys-rkddo-huiuqhsx-374[dhsuo]
vagreangvbany-rtt-jbexfubc-403[ynepo]
aoubshwq-dzoghwq-ufogg-aobousasbh-714[oabgh]
njmjubsz-hsbef-dipdpmbuf-qvsdibtjoh-805[bdjsf]
zovldbkfz-gbiivybxk-lmboxqflkp-653[nyajo]
yknnkoera-xwogap-hkceopeyo-628[ybmzc]
nij-mywlyn-wbiwifuny-guleyncha-396[nyiwl]
ocipgvke-ecpfa-eqcvkpi-vgejpqnqia-258[jsiqz]
encuukhkgf-hnqygt-vgejpqnqia-882[dxzer]
odiih-ljwmh-anbnjalq-927[ahijl]
fkqbokxqflkxi-zxkav-ixyloxqlov-861[nxgja]
udskkaxawv-xmrrq-uzgugdslw-sfsdqkak-216[msfyx]
owshgfarwv-bwddqtwsf-kzahhafy-216[wafhd]
oaxadrgx-dmnnuf-ruzmzouzs-794[uqhse]
ziuxioqvo-akidmvomz-pcvb-zmikycqaqbqwv-616[iqvmo]
bqvvu-xqjju-opknwca-550[yzhum]
xgjougizobk-lruckx-gtgreyoy-670[nbfmk]
bxaxipgn-vgpst-uadltg-bpgztixcv-323[gptxa]
vcibutulxiom-jfumncw-alumm-nluchcha-448[ucmla]
irgyyolokj-xghhoz-uvkxgzouty-930[ogyhk]
kyelcrga-aylbw-amyrgle-umpiqfmn-782[almye]
jsvagsulanw-xdgowj-kzahhafy-138[dblcm]
ixccb-fkrfrodwh-uhdftxlvlwlrq-881[mblzw]
chnylhuncihuf-mwupyhayl-bohn-guleyncha-422[hnuyc]
irdgrxzex-treup-tfrkzex-uvgrikdvek-165[sjbnk]
xzwrmkbqtm-akidmvomz-pcvb-zmikycqaqbqwv-434[sanut]
ykhknbqh-zua-iwjwcaiajp-524[kjlio]
jlidywncfy-mwupyhayl-bohn-uwkocmcncih-916[cyhnw]
nuatmlmdpage-omzpk-eqdhuoqe-326[ljtsm]
xmrrq-kusnwfywj-zmfl-suimakalagf-684[afmkl]
foadouwbu-qvcqczohs-rsgwub-116[oubcq]
etyyx-bgnbnkzsd-kzanqzsnqx-391[pnmlv]
pinovwgz-wvnfzo-hvmfzodib-291[ovzfi]
qekrixmg-gsrwyqiv-kvehi-fewoix-ywiv-xiwxmrk-828[iwxek]
jqwpihizlwca-xtiabqk-oziaa-kcabwumz-amzdqkm-928[aizkm]
qekrixmg-jpsaiv-stivexmsrw-672[etmsq]
excdklvo-gokzyxsjon-mrymyvkdo-bomosfsxq-562[okmsx]
qczcftiz-pibbm-aobousasbh-532[zynvo]
wbhsfbohwcboz-suu-gsfjwqsg-506[bdhxv]
lxwbdvna-pajmn-ajkkrc-anlnrerwp-563[anrjk]
lsyrkjkbnyec-pvygob-cobfsmoc-900[uyrgf]
cqwdujys-sxesebqju-ixyffydw-374[nyjvi]
odiih-ouxfna-anlnrerwp-433[naior]
rzvkjiduzy-xviyt-xjvodib-vxlpdndodji-993[aousd]
ltpedcxots-qphzti-rjhidbtg-htgkxrt-453[rjlkn]
krxqjijamxdb-kdwwh-fxatbqxy-823[wctav]
froruixo-edvnhw-vwrudjh-829[rdhou]
jvyyvzpcl-jhukf-aljouvsvnf-201[uwkic]
nij-mywlyn-vumeyn-zchuhwcha-266[hnycm]
ydjuhdqjyedqb-zubboruqd-tufbeocudj-244[vmkln]
qlm-pbzobq-mixpqfz-doxpp-mrozexpfkd-575[zswni]
qvbmzvibqwvit-moo-tijwzibwzg-330[ibvwz]
pbeebfvir-fpniratre-uhag-freivprf-949[gvxlm]
wfummczcyx-jfumncw-alumm-uwkocmcncih-890[vturj]
dwbcjkun-npp-cajrwrwp-355[kstqo]
dpssptjwf-cbtlfu-vtfs-uftujoh-441[ftsuj]
vrurcjah-pajmn-npp-anbnjalq-303[tozvd]
wfruflnsl-ojqqdgjfs-xfqjx-775[fjqls]
pbafhzre-tenqr-qlr-qrirybczrag-897[yszub]
sehheiylu-rkddo-udwyduuhydw-322[qbyad]
upq-tfdsfu-cbtlfu-nbobhfnfou-103[vpxyh]
ajvyjprwp-npp-dbna-cnbcrwp-901[stevo]
bkzrrhehdc-bzmcx-bnzshmf-qdrdzqbg-833[msuya]
amlqskcp-epybc-aylbw-rcaflmjmew-730[arbyn]
wbhsfbohwcboz-dzoghwq-ufogg-gozsg-272[gobhw]
ksodcbwnsr-dfcxsqhwzs-gqojsbusf-vibh-obozmgwg-194[rwimn]
mfklstdw-usfvq-hmjuzskafy-424[ulgym]
wfruflnsl-ojqqdgjfs-qfgtwfytwd-177[xbofz]
sedikcuh-whqtu-isqludwuh-xkdj-jhqydydw-218[dhuqw]
ltpedcxots-raphhxuxts-qphzti-advxhixrh-765[jahpi]
zgmfyxypbmsq-djmucp-rcaflmjmew-548[aeoiv]
qspkfdujmf-ezf-nbobhfnfou-207[lnkrt]
fbebmtkr-zktwx-pxtihgbsxw-ietlmbv-zktll-kxlxtkva-943[hajmb]
apwmeclga-hcjjwzcyl-bctcjmnkclr-548[yxnzl]
rflsjynh-kqtbjw-btwpxmtu-177[tbjwf]
kfg-jvtivk-treup-uvgcfpdvek-373[vkefg]
upq-tfdsfu-kfmmzcfbo-nbobhfnfou-285[vsglz]
chnylhuncihuf-mwupyhayl-bohn-xypyfijgyhn-266[pwahm]
apwmeclga-zyqicr-dglylagle-886[lagce]
jlidywncfy-xsy-qilembij-188[uxjts]
jqwpihizlwca-lgm-lmaqov-954[laimq]
qcffcgwjs-foppwh-gozsg-246[fgcop]
bqxnfdmhb-rbzudmfdq-gtms-cdrhfm-287[dmbfh]
gifavtkzcv-wcfnvi-rthlzjzkzfe-763[tmniq]
uqtqbizg-ozilm-kivlg-kwibqvo-tijwzibwzg-720[qndzg]
sxdobxkdsyxkv-mkxni-bomosfsxq-848[zyubw]
qfmcusbwq-foppwh-kcfygvcd-662[cfpqw]
sehheiylu-fbqijys-whqii-skijecuh-iuhlysu-660[kdjyq]
sedikcuh-whqtu-uww-bqrehqjeho-660[dtawl]
veqtekmrk-wgezirkiv-lyrx-eguymwmxmsr-464[emrkg]
lqwhuqdwlrqdo-exqqb-uhdftxlvlwlrq-231[ydznk]
sno-rdbqds-bzmcx-otqbgzrhmf-183[gomah]
ujqgywfau-jsttal-hmjuzskafy-476[lghae]
yrwxefpi-jpsaiv-gsrxemrqirx-100[yazxo]
udglrdfwlyh-exqqb-sxufkdvlqj-569[dlqfu]
ugjjgkanw-uzgugdslw-esjcwlafy-736[rnxjs]
pdjqhwlf-sodvwlf-judvv-orjlvwlfv-673[vldfj]
xekdwvwnzkqo-fahhuxawj-ajcejaanejc-524[ajewc]
pwcvonofrcig-pibbm-fsqswjwbu-766[myazu]
tcrjjzwzvu-wcfnvi-glityrjzex-893[bkuyx]
lugjuacha-wbiwifuny-omyl-nymncha-448[mosph]
ckgvutofkj-inuiurgzk-jkvgxzsktz-228[kguzi]
ydjuhdqjyedqb-sqdto-ijehqwu-868[ozqsj]
sxdobxkdsyxkv-zvkcdsm-qbkcc-myxdksxwoxd-640[xdksc]
odkasqzuo-dmnnuf-dqmocgueufuaz-482[wfbke]
wpuvcdng-tcddkv-wugt-vguvkpi-414[hayjs]
lqwhuqdwlrqdo-edvnhw-uhfhlylqj-439[bjzye]
wpuvcdng-dwppa-ceswkukvkqp-674[mxnkj]
qzlozfhmf-bkzrrhehdc-okzrshb-fqzrr-zbpthrhshnm-365[hrzbf]
raphhxuxts-rpcsn-rdpixcv-rjhidbtg-htgkxrt-635[yozvr]
tfejldvi-xiruv-gcrjkzt-xirjj-tljkfdvi-jvimztv-321[veyxs]
ryexqpqhteki-sxesebqju-iqbui-868[qebar]
eqpuwogt-itcfg-hnqygt-tgegkxkpi-648[ywzjl]
uzfqdzmfuazmx-pkq-bgdotmeuzs-482[zmudf]
sbnqbhjoh-cbtlfu-bdrvjtjujpo-441[taquv]
gokzyxsjon-bkwzkqsxq-lexxi-bomosfsxq-354[xoskq]
oazegyqd-sdmpq-iqmbazulqp-dmnnuf-geqd-fqefuzs-456[qdefm]
dwbcjkun-ljwmh-lxjcrwp-anbnjalq-875[hoynm]
udskkaxawv-eadalsjq-yjsvw-xdgowj-klgjsyw-216[cnwyi]
surmhfwloh-exqqb-sxufkdvlqj-439[tspmq]
ksodcbwnsr-foppwh-zcuwghwqg-402[vopuk]
zsxyfgqj-hmthtqfyj-fhvznxnynts-697[fhnty]
yflexwxoalrp-yxphbq-bkdfkbbofkd-653[jzvpm]
ltpedcxots-tvv-rdcipxcbtci-557[ctdip]
slqryzjc-djmucp-qyjcq-756[cjqyd]
rgndvtcxr-qphzti-bpcpvtbtci-817[tcpbi]
ftzgxmbv-fbebmtkr-zktwx-vtgwr-vhtmbgz-lmhktzx-371[wzxvl]
htqtwkzq-hfsid-yjhmstqtld-463[rxszy]
rwcnawjcrxwju-yujbcrl-pajbb-mnenuxyvnwc-979[gkutb]
gokzyxsjon-tovvilokx-kmaescsdsyx-562[dwlah]
iutyaskx-mxgjk-lruckx-iayzuskx-ykxboik-826[kxiuy]
vhglnfxk-zktwx-yehpxk-hixktmbhgl-891[diznt]
sedikcuh-whqtu-kdijqrbu-sqdto-seqjydw-iuhlysui-790[lksjh]
jyfvnlupj-zjhclunly-obua-vwlyhapvuz-617[pirsw]
iuruxlar-sgmtkzoi-hgyqkz-zkinturume-670[qatsn]
wkqxodsm-mrymyvkdo-mecdywob-cobfsmo-250[hgarm]
odiih-kjbtnc-nwprwnnarwp-381[qpodn]
kfg-jvtivk-tyftfcrkv-kirzezex-373[srcvd]
gcfcnuls-aluxy-zotts-wuhxs-omyl-nymncha-552[clnsu]
xmtjbzidx-zbb-xpnojhzm-nzmqdxz-421[mnkio]
qjopwxha-acc-iwngapejc-160[jimst]
emixwvqhml-kivlg-kwibqvo-aitma-564[qspyb]
nvrgfezqvu-avccpsvre-cfxzjkztj-529[lmnsh]
emixwvqhml-ktiaaqnqml-xtiabqk-oziaa-ikycqaqbqwv-746[ozadu]
zhdsrqlchg-hjj-orjlvwlfv-751[hjlrv]
cybyjqho-whqtu-uww-qsgkyiyjyed-478[szxuo]
clxalrtyr-nsznzwlep-wzrtdetnd-405[lnrtz]
sgmtkzoi-yigbktmkx-natz-rghuxgzuxe-722[gktxz]
hjgbwuladw-tskcwl-sfsdqkak-502[txdsw]
yrwxefpi-hci-vigimzmrk-646[hdmzy]
hqcfqwydw-hqrryj-jusxdebewo-946[qwdeh]
wsvsdkbi-qbkno-cmkfoxqob-rexd-yzobkdsyxc-276[wptxs]
qfmcusbwq-qvcqczohs-zcuwghwqg-870[mnybx]
clxalrtyr-nsznzwlep-cpdplcns-743[rtycz]
fbebmtkr-zktwx-ktuubm-ybgtgvbgz-553[osmdy]
jvuzbtly-nyhkl-yhtwhnpun-jovjvshal-ylzlhyjo-773[hlyjn]
slqryzjc-aylbw-pcacgtgle-782[nxkri]
tfcfiwlc-wcfnvi-wzeretzex-971[smobe]
jef-iushuj-uww-qsgkyiyjyed-556[xzrwq]
crwwv-yxphbq-xkxivpfp-653[pxvwb]
hqcfqwydw-zubboruqd-husuylydw-244[lqeho]
oxmeeuruqp-qss-eqdhuoqe-534[equos]
qxdwpopgsdjh-rgndvtcxr-gpqqxi-gthtpgrw-687[gpdqr]
mybbycsfo-mrymyvkdo-bocokbmr-692[pymza]
myvybpev-oqq-yzobkdsyxc-250[sxytw]
fnjyxwrinm-kdwwh-uxprbcrlb-329[natqu]
aietsrmdih-nippcfier-gsrxemrqirx-958[iremp]
xmrrq-tmffq-vwhdgqewfl-138[fqmrw]
oqnidbshkd-bzmcx-sdbgmnknfx-599[nzdyx]
eqttqukxg-ecpfa-eqcvkpi-ewuvqogt-ugtxkeg-128[mytkp]
nchhg-ntwemz-amzdqkma-252[kmbop]
bjfutsneji-jll-zxjw-yjxynsl-775[ndbsw]
ktwbhtvmbox-lvtoxgzxk-angm-mxvaghehzr-319[ijqxb]
kyelcrga-afmamjyrc-pcqcypaf-210[acyfm]
myxcewob-qbkno-mkxni-oxqsxoobsxq-484[oxbqk]
esyfwlau-vqw-kzahhafy-788[jikae]
oqnidbshkd-eknvdq-btrsnldq-rdquhbd-391[njzml]
qjopwxha-bhksan-opknwca-888[ahkno]
udskkaxawv-jsttal-vwhdgqewfl-190[hqmnt]
excdklvo-lexxi-crszzsxq-458[uavnl]
frqvxphu-judgh-fdqgb-frdwlqj-wudlqlqj-179[bimaq]
iuruxlar-kmm-ykxboiky-852[tijpz]
tyepcyletzylw-mldvpe-lylwjdtd-509[lydet]
frqvxphu-judgh-gbh-whfkqrorjb-101[mhbes]
xqvwdeoh-edvnhw-zrunvkrs-699[zmudw]
irdgrxzex-treup-fgvirkzfej-893[fbsyn]
cxy-bnlanc-ljwmh-orwjwlrwp-771[ngpmz]
eqpuwogt-itcfg-gii-ucngu-388[hzgae]
ikhcxvmbex-cxeeruxtg-wxlbzg-553[mvnfs]
mrxivrexmsrep-fyrrc-asvowlst-854[codsq]
npmhcargjc-aylbw-qcptgacq-366[ditsg]
ftzgxmbv-ietlmbv-zktll-phkdlahi-241[ltbhi]
hqcfqwydw-tou-bewyijysi-270[hnvux]
emixwvqhml-kivlg-abwziom-590[imlvw]
pejji-nio-mecdywob-cobfsmo-926[wrjmp]
bknsykmdsfo-oqq-dbksxsxq-640[naysz]
gifavtkzcv-vxx-tfekrzedvek-789[cnwtp]
kmjezxodgz-diozmivodjivg-agjrzm-xjiovdihzio-915[yqktj]
shoewudys-vbemuh-qsgkyiyjyed-946[nqsjd]
htqtwkzq-ojqqdgjfs-rfwpjynsl-749[hryqo]
rmn-qcapcr-zyqicr-pcacgtgle-340[znstw]
bnqqnrhud-bzmcx-bnmszhmldms-729[yfetv]
surmhfwloh-gbh-rshudwlrqv-725[dsaym]
jchipqat-tvv-itrwcdadvn-505[povhu]
zgmfyxypbmsq-njyqrga-epyqq-rcaflmjmew-340[mqyae]
froruixo-exqqb-pdunhwlqj-283[nmuqd]
lnkfaypeha-xwogap-odellejc-784[ytrsz]
jlidywncfy-xsy-fuvilunils-864[ilyfn]
joufsobujpobm-dipdpmbuf-sftfbsdi-545[rwjnm]
tvsnigxmpi-gerhc-gsexmrk-eguymwmxmsr-932[pivem]
tfejldvi-xiruv-srjbvk-ivjvrity-815[vijrt]
zuv-ykixkz-yigbktmkx-natz-zkinturume-410[kzitu]
enzcntvat-pubpbyngr-qrcyblzrag-117[oywbs]
wsvsdkbi-qbkno-lkcuod-nofovyzwoxd-744[xnuqc]
wbhsfbohwcboz-foppwh-aobousasbh-246[nfsml]
uiovmbqk-jcvvg-abwziom-720[nbqaz]
etaqigpke-fag-fgrnqaogpv-674[gaefp]
ejpanjwpekjwh-nwxxep-hkceopeyo-238[bmscu]
qjopwxha-bhksan-wjwhuoeo-940[xenwh]
etyyx-bzmcx-bnzshmf-qdzbpthrhshnm-729[hbmzn]
uqtqbizg-ozilm-lgm-abwziom-356[tspmz]
excdklvo-mybbycsfo-tovvilokx-psxkxmsxq-874[axwon]
mvydjvxodqz-xviyt-xjvodib-pnzm-oznodib-187[nflym]
ixccb-zhdsrqlchg-edvnhw-xvhu-whvwlqj-465[hcvwd]
qspkfdujmf-votubcmf-tdbwfohfs-ivou-bdrvjtjujpo-181[esuzg]
fkqbokxqflkxi-qlm-pbzobq-bdd-jxohbqfkd-601[dcgym]
mtzslklcozfd-prr-nfdezxpc-dpcgtnp-301[tmnrk]
xekdwvwnzkqo-lhwopey-cnwoo-wymqeoepekj-290[rzsnk]
fubrjhqlf-sodvwlf-judvv-pdqdjhphqw-725[dfhjq]
shoewudys-zubboruqd-skijecuh-iuhlysu-608[ushbd]
zlkprjbo-doxab-zxkav-rpbo-qbpqfkd-679[bkopa]
nzcczdtgp-mldvpe-opawzjxpye-587[tkbms]
apuut-nxvqzibzm-cpio-yzkvmohzio-655[rsozd]
rgllk-ngzzk-ymdwqfuzs-300[yhzxu]
cvabijtm-jcvvg-uiviomumvb-538[ixajz]
oazegyqd-sdmpq-otaoaxmfq-pqbmdfyqzf-248[qadfm]
rtqlgevkng-fag-nqikuvkeu-960[nqdom]
bnknqetk-cxd-cdrhfm-183[mfpwa]
ohmnuvfy-wuhxs-wiuncha-lyuwkocmcncih-552[chunw]
hqtyeqsjylu-jef-iushuj-tou-fkhsxqiydw-296[isfmy]
kwtwznct-kwvacumz-ozilm-jiasmb-uiviomumvb-746[qmjyz]
qfmcusbwq-foppwh-twbobqwbu-298[bwqfo]
ykhknbqh-xqjju-owhao-472[hjtck]
dszphfojd-tdbwfohfs-ivou-mbcpsbupsz-103[sbdfo]
lahxpnwrl-ljwmh-nwprwnnarwp-641[srtpm]
ckgvutofkj-lruckx-jkvruesktz-878[zjlyk]
dyz-combod-zvkcdsm-qbkcc-nocsqx-926[yvute]
ktwbhtvmbox-wrx-nlxk-mxlmbgz-345[lsuwt]
nwilwcejc-nwxxep-zalhkuiajp-186[bznxr]
uzfqdzmfuazmx-otaoaxmfq-bgdotmeuzs-846[mzafo]
oxmeeuruqp-omzpk-oamfuzs-oazfmuzyqzf-352[ypdzg]
zhdsrqlchg-fdqgb-ghsduwphqw-361[hdgqs]
nchhg-jiasmb-amzdqkma-278[qklti]
tfiifjzmv-upv-wzeretzex-295[itvos]
eqttqukxg-ecpfa-ujkrrkpi-830[kepqr]
clotzlnetgp-mldvpe-nzyeltyxpye-145[xfpsy]
mbiyqoxsm-myvybpev-mkxni-mykdsxq-yzobkdsyxc-900[ymxbk]
plolwdub-judgh-vfdyhqjhu-kxqw-vhuylfhv-621[zqwmy]
atyzghrk-vxupkizork-jek-giwaoyozout-228[abrmv]
zotts-xsy-mufym-162[mstyf]
vhehkyne-ktuubm-mktbgbgz-293[qmytr]
kwvacumz-ozilm-zijjqb-ivitgaqa-616[fkoxt]
yaxsnlcrun-ajvyjprwp-snuuhknjw-anlnrerwp-771[zpyld]
raphhxuxts-bpvctixr-eaphixr-vgphh-bpcpvtbtci-115[phtxb]
nuatmlmdpage-odkasqzuo-qss-dqmocgueufuaz-768[umnqw]
yknnkoera-lhwopey-cnwoo-nawymqeoepekj-680[eonkw]
pybgmyargtc-aylbw-qyjcq-886[buzfp]
gzefmnxq-ngzzk-iadwetab-638[zaegn]
sbnqbhjoh-kfmmzcfbo-usbjojoh-129[acdkb]
lxaaxbren-lujbbrornm-ljwmh-lxjcrwp-mnyjacvnwc-355[yzsuk]
nchhg-lgm-nqvivkqvo-200[dystz]
plolwdub-judgh-udeelw-rshudwlrqv-335[sihdt]
wlsiayhcw-vumeyn-lymyulwb-292[zbrux]
ytu-xjhwjy-hfsid-htfynsl-qtlnxynhx-411[adxmu]
wkqxodsm-tovvilokx-ckvoc-822[uhgov]
chnylhuncihuf-vumeyn-nluchcha-500[rcbmn]
tfiifjzmv-lejkrscv-tyftfcrkv-jyzggzex-243[fjtvz]
eqpuwogt-itcfg-tcddkv-tgugctej-310[pyemh]
iuruxlar-xgsvgmotm-pkrrehkgt-xkykgxin-956[btwqp]
shoewudys-sxesebqju-qdqboiyi-894[seqbd]
zlkprjbo-doxab-gbiivybxk-pxibp-861[azyjx]
ckgvutofkj-inuiurgzk-lotgtiotm-982[qszly]
thnulapj-jshzzpmplk-jhukf-vwlyhapvuz-747[hpjlu]
pybgmyargtc-hcjjwzcyl-qcptgacq-782[bxsuc]
xgsvgmotm-vrgyzoi-mxgyy-iutzgotsktz-150[gtmoy]
laffe-yigbktmkx-natz-jkyomt-696[ktafm]
zvyvgnel-tenqr-pubpbyngr-znexrgvat-507[wfjhu]
pelbtravp-pnaql-znantrzrag-403[cbyja]
jqwpihizlwca-akidmvomz-pcvb-apqxxqvo-850[oxymv]
cvabijtm-ntwemz-twoqabqka-954[atbmq]
zixppfcfba-avb-zlkqxfkjbkq-809[zlmjc]
sebehvkb-zubboruqd-tufqhjcudj-556[budeh]
lqwhuqdwlrqdo-fdqgb-ghvljq-621[qdlgh]
qlm-pbzobq-crwwv-zxkav-zlxqfkd-rpbo-qbpqfkd-731[ciyxw]
pwcvonofrcig-gqojsbusf-vibh-qighcasf-gsfjwqs-740[csebm]
mvydjvxodqz-kmjezxodgz-kgvnodx-bmvnn-yzqzgjkhzio-239[zdovg]
kzgwomvqk-xtiabqk-oziaa-tijwzibwzg-564[menyj]
ksodcbwnsr-xszzmpsob-kcfygvcd-454[mbaod]
ejpanjwpekjwh-xwogap-hwxknwpknu-472[wpjkn]
mvydjvxodqz-hvbizodx-wpiit-hvivbzhzio-967[ivzdh]
mvydjvxodqz-mvwwdo-nzmqdxzn-681[jryzk]
enqvbnpgvir-rtt-freivprf-871[lgqrc]
hvbizodx-wpiit-kpmxcvndib-291[dyjmn]
molgbzqfib-mixpqfz-doxpp-xkxivpfp-965[pxfib]
fbebmtkr-zktwx-cxeeruxtg-nlxk-mxlmbgz-137[dckut]
luxciuwncpy-luvvcn-mbcjjcha-500[qsvzt]
apwmeclga-hcjjwzcyl-qyjcq-704[cjalq]
wpuvcdng-eqttqukxg-uecxgpigt-jwpv-cpcnauku-830[ucgpt]
iehepwnu-cnwza-fahhuxawj-pnwejejc-940[ewahj]
pbybeshy-pbeebfvir-pnaql-pbngvat-freivprf-715[uyzwp]
htsxzrjw-lwfij-ojqqdgjfs-zxjw-yjxynsl-957[iyonc]
sxdobxkdsyxkv-wsvsdkbi-qbkno-zvkcdsm-qbkcc-bomosfsxq-536[mbyan]
fruurvlyh-fkrfrodwh-uhdftxlvlwlrq-335[rflhu]
froruixo-hjj-orjlvwlfv-387[uyawn]
myvybpev-lexxi-vklybkdybi-978[ybvei]
chnylhuncihuf-vohhs-xymcah-240[yxnmh]
tagzsrsjvgmk-vqw-vwhsjlewfl-606[svwgj]
zbytomdsvo-lexxi-domrxyvyqi-250[oxydi]
qfkkj-clmmte-opgpwzaxpye-821[pekma]
lgh-kwujwl-udskkaxawv-jsttal-hmjuzskafy-320[axyrm]
irdgrxzex-nvrgfezqvu-avccpsvre-cfxzjkztj-191[sclzh]
mhi-lxvkxm-xzz-etuhktmhkr-319[rcomn]
lhkhszqx-fqzcd-dff-sdbgmnknfx-391[ugevx]
apwmeclga-aylbw-ylyjwqgq-314[izfye]
yflexwxoalrp-zlkprjbo-doxab-ciltbo-qbzeklildv-341[byclp]
cvabijtm-kwzzwaqdm-ntwemz-abwziom-252[rdmvn]
qfkkj-upwwjmply-epnsyzwzrj-899[okhgz]
jxdkbqfz-avb-zlkqxfkjbkq-861[wptxb]
gpsxdprixkt-qphzti-hwxeexcv-947[krgwe]
nij-mywlyn-wuhxs-wiuncha-lymyulwb-968[wylnu]
sbnqbhjoh-kfmmzcfbo-ufdiopmphz-987[bfhmo]
guahyncw-jfumncw-alumm-xyjfisgyhn-500[htamn]
ytu-xjhwjy-jll-ijxnls-879[duthg]
lgh-kwujwl-usfvq-ugslafy-esfsywewfl-944[ilszy]
tvsnigxmpi-tpewxmg-kveww-xiglrspskc-152[gipsw]
joufsobujpobm-cbtlfu-dvtupnfs-tfswjdf-129[fubjo]
rwcnawjcrxwju-bljenwpna-qdwc-mnyuxhvnwc-225[wncja]
qzchnzbshud-okzrshb-fqzrr-rzkdr-989[rzhbd]
qzoggwtwsr-pogysh-rsjszcdasbh-896[sghor]
gzefmnxq-dmnnuf-xmnadmfadk-326[tvuiw]
qzoggwtwsr-pibbm-zopcfohcfm-792[jsmfu]
mvydjvxodqz-xviyt-xjvodib-hvivbzhzio-369[iceny]
wkqxodsm-lkcuod-cdybkqo-224[dkocq]
veqtekmrk-ikk-wxsveki-542[keivm]
zlkprjbo-doxab-yxphbq-pqloxdb-419[ckdtm]
buzahisl-ibuuf-klzpnu-721[stjnm]
hwdtljsnh-kqtbjw-ijajqturjsy-515[plnqy]
luxciuwncpy-jfumncw-alumm-lyuwkocmcncih-474[lqpco]
tinnm-ibghopzs-rms-aobousasbh-506[sboah]
pbeebfvir-rtt-ratvarrevat-403[tdokj]
dmybmsuzs-pkq-efadmsq-300[msdqa]
ujqgywfau-tmffq-dgyaklauk-970[yxmid]
ovbunmneqbhf-enoovg-hfre-grfgvat-481[efgno]
hqfxxnknji-kzeed-uqfxynh-lwfxx-wjhjnansl-957[nxfhj]
plolwdub-judgh-edvnhw-pdqdjhphqw-985[dsxhg]
nwlddtqtpo-awldetn-rcldd-nfdezxpc-dpcgtnp-353[dnptc]
bwx-amkzmb-xzwrmkbqtm-ntwemz-amzdqkma-668[swmnl]
bqxnfdmhb-qzaahs-rdquhbdr-443[bdhqa]
egdytrixat-ide-htrgti-uadltg-steadnbtci-297[zampy]
gsrwyqiv-kvehi-gerhc-gsexmrk-erepcwmw-880[bkwts]
nsyjwsfyntsfq-gfxpjy-jslnsjjwnsl-749[lvzus]
dfcxsqhwzs-pibbm-gvwddwbu-246[dqbem]
mtzslklcozfd-ojp-fdpc-epdetyr-613[dpcef]
gbc-frperg-ohaal-erfrnepu-351[reafg]
gvaaz-cbtlfu-efqbsunfou-311[dvnmz]
ugdgjxmd-tskcwl-umklgewj-kwjnauw-892[wgjku]
iruzfrtkzmv-avccpsvre-nfibjyfg-243[jzoyc]
shoewudys-hqrryj-bqrehqjeho-296[heqrj]
hwdtljsnh-kqtbjw-htsyfnsrjsy-827[dntpc]
zilqwikbqdm-kivlg-uiviomumvb-902[imvbk]
rsvxltspi-sfnigx-wxsveki-984[sixve]
surmhfwloh-gbh-xvhu-whvwlqj-387[hwluv]
ubhatstkwhnl-yehpxk-wxlbzg-137[raqjb]
oknkvcta-itcfg-uecxgpigt-jwpv-ocpcigogpv-596[cgpio]
amjmpdsj-djmucp-nspafyqgle-470[ztpqn]
zixppfcfba-avb-abpfdk-471[abfpc]
owshgfarwv-jsttal-vwkayf-944[smcyx]
vjpwncrl-ljwmh-lxjcrwp-lxwcjrwvnwc-589[irbxq]
qvbmzvibqwvit-ziuxioqvo-lgm-amzdqkma-928[hgfln]
lxuxaodu-kjbtnc-jwjuhbrb-147[bjuxa]
etaqigpke-fag-yqtmujqr-440[qaegt]
zekvierkzferc-irdgrxzex-jtrmvexvi-ylek-rthlzjzkzfe-633[gkyzp]
mfklstdw-hdsklau-yjskk-kwjnauwk-762[vnfzg]
pkl-oaynap-fahhuxawj-oanreyao-706[mdfpn]
hwdtljsnh-hmthtqfyj-rfsfljrjsy-359[sxziu]
fab-eqodqf-ngzzk-bgdotmeuzs-144[kxags]
tagzsrsjvgmk-tskcwl-vwhsjlewfl-424[ejuah]
kzgwomvqk-jiasmb-uizsmbqvo-590[mbiko]
qjopwxha-xqjju-oanreyao-758[ubmon]
hvbizodx-xmtjbzidx-nxvqzibzm-cpio-yzkgjthzio-889[rmyqo]
iuruxlar-kmm-jkvruesktz-644[kruma]
ujqgywfau-jsttal-vwhdgqewfl-710[hbdlx]
jlidywncfy-wuhxs-wiuncha-yhachyylcha-630[hycaw]
lugjuacha-wlsiayhcw-dyffsvyuh-uhufsmcm-890[juefh]
hjgbwuladw-xdgowj-hmjuzskafy-398[wqigl]
yuxufmdk-sdmpq-pkq-etubbuzs-456[wldkg]
vcibutulxiom-dyffsvyuh-qilembij-110[jdnmz]
nzwzcqfw-clmmte-dpcgtnpd-509[cdmnp]
aczupnetwp-nlyoj-nzletyr-zapcletzyd-665[zelnp]
htsxzrjw-lwfij-wfintfhynaj-kqtbjw-knsfshnsl-983[kytzm]
enqvbnpgvir-onfxrg-qrirybczrag-611[rgnbi]
molgbzqfib-ciltbo-xkxivpfp-159[biflo]
plolwdub-judgh-fkrfrodwh-ghyhorsphqw-517[hdorw]
gzefmnxq-omzpk-oazfmuzyqzf-872[zkycu]
qjopwxha-lhwopey-cnwoo-naoawnyd-186[cvyno]
jyfvnlupj-ipvohghykvbz-jovjvshal-ylzlhyjo-435[xlenk]
ajmrxjlcren-kjbtnc-jwjuhbrb-329[klcuz]
wdjcvuvmyjpn-ezggtwzvi-jkzmvodjin-603[gmveh]
muqfedyput-fbqijys-whqii-bqrehqjeho-192[vdlge]
ktfitzbgz-xzz-ftgtzxfxgm-605[izfql]
bknsykmdsfo-oqq-wkbuodsxq-458[stifb]
slqryzjc-hcjjwzcyl-yaosgqgrgml-314[qymir]
gpewwmjmih-veffmx-xvemrmrk-126[itcvu]
rdadguja-gpqqxi-ldgzhwde-297[hnvso]
lxaaxbren-mhn-cnlqwxuxph-251[xvjuz]
xst-wigvix-fewoix-gsrxemrqirx-698[xireg]
iehepwnu-cnwza-zua-wymqeoepekj-108[sdnmj]
oknkvcta-itcfg-rncuvke-itcuu-hkpcpekpi-908[pgfbe]
enqvbnpgvir-ohaal-hfre-grfgvat-351[hsgdf]
ixccb-iorzhu-hqjlqhhulqj-647[hqcij]
apuut-agjrzm-jkzmvodjin-915[jamuz]
hqcfqwydw-rqiauj-ijehqwu-530[qwhij]
vhehkyne-ktwbhtvmbox-lvtoxgzxk-angm-kxvxbobgz-683[tsurp]
gntmfefwitzx-idj-knsfshnsl-723[fnsit]
ajvyjprwp-bljenwpna-qdwc-ujkxajcxah-563[yskxv]
joufsobujpobm-dboez-dpbujoh-mbcpsbupsz-259[bopuj]
xlrypetn-prr-nzyeltyxpye-847[yeprl]
zuv-ykixkz-xgsvgmotm-lruckx-jkvgxzsktz-696[ijlfz]
jqwpihizlwca-moo-lmxtwgumvb-798[nkzsr]
jsvagsulanw-kusnwfywj-zmfl-klgjsyw-736[ectrq]
ykhknbqh-nwxxep-nawymqeoepekj-758[cfvdy]
kzeed-gfxpjy-tujwfyntsx-385[aunmy]
slqryzjc-qaytclecp-fslr-dglylagle-184[lcyae]
laffe-vrgyzoi-mxgyy-iutzgotsktz-410[gtyzf]
gpbepvxcv-hrpktcvtg-wjci-stktadebtci-141[zoqhx]
yaxsnlcrun-lqxlxujcn-mnyuxhvnwc-641[nxclu]
tagzsrsjvgmk-kusnwfywj-zmfl-dstgjslgjq-294[gayon]
kwzzwaqdm-zijjqb-xczkpiaqvo-902[mkgjt]
mfklstdw-usfvq-ugslafy-xafsfuafy-684[fsaul]
zvyvgnel-tenqr-ovbunmneqbhf-sybjre-fgbentr-117[shfce]
emixwvqhml-akidmvomz-pcvb-amzdqkma-720[relbk]
rdggdhxkt-eaphixr-vgphh-hwxeexcv-973[xozyv]
bqvvu-zua-iwngapejc-992[nmdax]
bjfutsneji-kqtbjw-wjxjfwhm-203[irjmx]
bdavqofuxq-nmewqf-abqdmfuaze-976[vgzhc]
vdzonmhydc-okzrshb-fqzrr-rzkdr-313[rzdhk]
sawlkjevaz-oywrajcan-dqjp-wjwhuoeo-836[ajwoe]
fruurvlyh-gbh-sxufkdvlqj-413[kftmo]
fruurvlyh-sodvwlf-judvv-ghsorbphqw-569[tadzk]
sbejpbdujwf-tdbwfohfs-ivou-dpoubjonfou-103[rbqio]
oxmeeuruqp-otaoaxmfq-xasuefuoe-222[ozipy]
rdggdhxkt-qphzti-ejgrwphxcv-921[tusrb]
dkqjcbctfqwu-fag-yqtmujqr-882[kzvuf]
gzefmnxq-dmnnuf-mzmxkeue-248[menfu]
kgjgrypw-epybc-aylbw-kylyeckclr-314[mlvhs]
bwx-amkzmb-akidmvomz-pcvb-abwziom-148[nmtyw]
ckgvutofkj-sorozgxe-mxgjk-xghhoz-xkykgxin-670[gkxoh]
zhdsrqlchg-fkrfrodwh-ghsorbphqw-803[cjybd]
hvbizodx-wvnfzo-adivixdib-603[xwstz]
tvsnigxmpi-gerhc-hitpscqirx-204[icghp]
jrncbavmrq-cynfgvp-tenff-npdhvfvgvba-741[ybszn]
mbiyqoxsm-pvygob-psxkxmsxq-952[mjfnc]
gsrwyqiv-kvehi-veffmx-gywxsqiv-wivzmgi-282[bdrgj]
clxalrtyr-xtwtelcj-rclop-awldetn-rcldd-cpdplcns-847[lcdrt]
ahngzyzqcntr-bzmcx-sdbgmnknfx-287[fmyqt]
zgmfyxypbmsq-aylbw-amyrgle-bctcjmnkclr-340[mybcl]
fydelmwp-prr-nzyeltyxpye-717[gfjxa]
rnqnyfwd-lwfij-rflsjynh-wfggny-xfqjx-931[fnjwy]
zilqwikbqdm-xtiabqk-oziaa-twoqabqka-278[ftonr]
bjfutsneji-gzssd-uzwhmfxnsl-827[sfjnu]
ojk-nzxmzo-pinovwgz-agjrzm-jkzmvodjin-733[zjomn]
ygcrqpkbgf-dcumgv-fgukip-570[vmhxn]
dzczkrip-xiruv-srjbvk-jyzggzex-945[uzneh]
bkzrrhehdc-bzmcx-lzmzfdldms-287[eclvd]
ziuxioqvo-kpwkwtibm-lmxizbumvb-564[txsru]
kzgwomvqk-lgm-lmxizbumvb-122[mbgkl]
htsxzrjw-lwfij-idj-xjwanhjx-463[obdze]
gntmfefwitzx-kqtbjw-wjxjfwhm-749[qzutv]
htsxzrjw-lwfij-jll-tujwfyntsx-671[xugan]
ymszqfuo-rxaiqd-etubbuzs-118[ubqsz]
vdzonmhydc-azrjds-lzqjdshmf-989[dzhjm]
dyz-combod-bkllsd-oxqsxoobsxq-354[nrmkx]
pyknyegle-afmamjyrc-yaosgqgrgml-626[zdlfg]
oxmeeuruqp-vqxxknqmz-oazfmuzyqzf-352[rnsyt]
qjopwxha-xqjju-pnwejejc-654[jepqw]
wifilzof-jfumncw-alumm-xypyfijgyhn-604[fjerw]
vagreangvbany-enoovg-fuvccvat-533[gncot]
avw-zljyla-zjhclunly-obua-thuhnltlua-669[wathd]
ynssr-lvtoxgzxk-angm-mxvaghehzr-345[vopnm]
cvabijtm-uqtqbizg-ozilm-xtiabqk-oziaa-lmdmtwxumvb-928[imabt]
frqvxphu-judgh-sodvwlf-judvv-pdqdjhphqw-751[azovy]
qmpmxevc-kvehi-jyddc-fyrrc-qerekiqirx-282[ygmhv]
fodvvlilhg-udeelw-pdunhwlqj-153[sndmo]
gpsxdprixkt-ytaanqtpc-gthtpgrw-765[tpgar]
cvabijtm-kpwkwtibm-bmkpvwtwog-174[wbkmt]
vetllbybxw-yehpxk-wxlbzg-891[yekxl]
nzwzcqfw-nlyoj-dezclrp-275[zclnw]
qmpmxevc-kvehi-glsgspexi-gsrxemrqirx-828[exgim]
xtwtelcj-rclop-dnlgpyrpc-sfye-hzcvdsza-873[xmpon]
jrncbavmrq-pnaql-jbexfubc-793[bacjn]
ohmnuvfy-yaa-lymyulwb-266[yalmu]
nzwzcqfw-aczupnetwp-awldetn-rcldd-pyrtyppctyr-613[pctwd]
vqr-ugetgv-uecxgpigt-jwpv-rwtejcukpi-752[geptu]
tfcfiwlc-lejkrscv-upv-rthlzjzkzfe-607[tcfns]
hwdtljsnh-uqfxynh-lwfxx-knsfshnsl-229[xtngb]
iuruxlar-igtje-iayzuskx-ykxboik-930[kmghr]
xjgjmapg-ezggtwzvi-hvivbzhzio-421[gzivh]
gpbepvxcv-hrpktcvtg-wjci-hwxeexcv-349[xswrp]
tcorcikpi-eqttqukxg-gii-hkpcpekpi-622[ruxyk]
ygcrqpkbgf-ejqeqncvg-ucngu-440[gcqen]
etyyx-dff-qdbdhuhmf-729[wskto]
tfiifjzmv-upv-vexzevvizex-399[veizf]
houngfgxjuay-sorozgxe-mxgjk-jek-aykx-zkyzotm-566[aimhd]
hcd-gsqfsh-dzoghwq-ufogg-aobousasbh-714[ynfie]
foadouwbu-qobrm-qcohwbu-zopcfohcfm-792[obcfu]
ynukcajey-oywrajcan-dqjp-wjwhuoeo-680[jaowy]
rflsjynh-jll-rfsfljrjsy-489[jlfrs]
vkrhzxgbv-pxtihgbsxw-yehpxk-mktbgbgz-917[igtvy]
hjgbwuladw-tskcwl-dgyaklauk-294[aklwd]
cvabijtm-jcvvg-zmikycqaqbqwv-772[vcqab]
odiih-yujbcrl-pajbb-vjwjpnvnwc-849[jbcin]
tinnm-tzcksf-igsf-hsghwbu-220[bnamt]
pbeebfvir-wryylorna-jbexfubc-637[egouk]
xmtjbzidx-xviyt-yzqzgjkhzio-265[vxsry]
avw-zljyla-zjhclunly-obua-klwhyatlua-201[sjayl]
dfcxsqhwzs-qvcqczohs-fsgsofqv-246[dosrp]
rzvkjiduzy-xviyt-xjvodib-kpmxcvndib-291[cwzla]
gcfcnuls-aluxy-mwupyhayl-bohn-wihnuchgyhn-968[hnuyc]
dyz-combod-lsyrkjkbnyec-bkllsd-domrxyvyqi-328[vtxzd]
fruurvlyh-mhoobehdq-dftxlvlwlrq-907[jlves]
mrxivrexmsrep-gerhc-gsexmrk-tyvglewmrk-152[wzuly]
votubcmf-gmpxfs-pqfsbujpot-883[fpbmo]
bljenwpna-qdwc-anbnjalq-329[lcwmy]
xekdwvwnzkqo-ydkykhwpa-wjwhuoeo-550[toavy]
yhkpvhjapcl-yhiipa-jbzavtly-zlycpjl-201[lpyah]
xjinphzm-bmvyz-wvnfzo-nzmqdxzn-681[ykfxe]
pbeebfvir-rtt-ybtvfgvpf-507[bftve]
gvcskirmg-ikk-hizipstqirx-750[iyquj]
yhwooebeaz-lhwopey-cnwoo-oanreyao-108[tmuag]
wlqqp-jtrmvexvi-ylek-nfibjyfg-581[tnrhf]
tfiifjzmv-avccpsvre-jyzggzex-477[mvnjr]
xjmmjndqz-zbb-yzndbi-811[bzdjm]
qjopwxha-xwogap-nayaerejc-160[isjqz]
qzlozfhmf-azrjds-knfhrshbr-573[dfmys]
vhglnfxk-zktwx-vetllbybxw-vtgwr-vhtmbgz-ybgtgvbgz-761[gbtvl]
etaqigpke-ecpfa-eqcvkpi-cpcnauku-336[eyxtb]
lqwhuqdwlrqdo-fdqgb-frdwlqj-zrunvkrs-933[tvijl]
gvcskirmg-tvsnigxmpi-gerhc-gsexmrk-wlmttmrk-828[szawg]
irdgrxzex-kfg-jvtivk-wcfnvi-jyzggzex-269[givxz]
cqwdujys-sqdto-iqbui-270[siyeh]
bnqqnrhud-bgnbnkzsd-trdq-sdrshmf-807[dnbqr]
rgndvtcxr-hrpktcvtg-wjci-prfjxhxixdc-193[yjsht]
qekrixmg-hci-xvemrmrk-282[mreik]
xcitgcpixdcpa-snt-apqdgpidgn-349[mfywv]
wkqxodsm-pvygob-wkbuodsxq-978[ysamp]
aoubshwq-qvcqczohs-kcfygvcd-558[ytvls]
tyepcyletzylw-qwzhpc-opalcexpye-301[gamdn]
tfcfiwlc-treup-uvjzxe-607[nrthm]
ubhatstkwhnl-lvtoxgzxk-angm-inkvatlbgz-865[tagkl]
wihmogyl-aluxy-yaa-qilembij-890[emvct]
bxaxipgn-vgpst-ltpedcxots-gpqqxi-hidgpvt-245[pgtxi]
jfifqxov-doxab-mixpqfz-doxpp-obpbxoze-107[ghpyi]
gvaaz-dpssptjwf-sbccju-fohjoffsjoh-675[pfzwa]
gzefmnxq-eomhqzsqd-tgzf-efadmsq-378[qefmz]
emixwvqhml-kivlg-zmkmqdqvo-876[dcfin]
fodvvlilhg-fdqgb-frqwdlqphqw-725[qdflg]
laffe-pkrrehkgt-rumoyzoiy-670[dyjut]
egdytrixat-qphzti-tcvxcttgxcv-245[tcxgi]
htqtwkzq-wfintfhynaj-xhfajsljw-mzsy-jslnsjjwnsl-645[eynzi]
vrurcjah-pajmn-npp-mnyuxhvnwc-563[npach]
ejpanjwpekjwh-acc-klanwpekjo-576[jaekp]
kwvacumz-ozilm-kpwkwtibm-uizsmbqvo-876[mikwz]
hjgbwuladw-xdgowj-esfsywewfl-866[byzdm]
pbybeshy-wryylorna-npdhvfvgvba-351[stmxy]
qjopwxha-ywjzu-hkceopeyo-654[tysoa]
lhkhszqx-fqzcd-dff-vnqjrgno-417[fqdhn]
rgllk-otaoaxmfq-fdmuzuzs-768[vkqac]
ohmnuvfy-xsy-omyl-nymncha-214[hmtfs]
enzcntvat-cynfgvp-tenff-nanylfvf-455[cuimh]
sedikcuh-whqtu-sehheiylu-tou-bqrehqjeho-868[ydaux]
tyepcyletzylw-ojp-opalcexpye-145[wciks]
udpsdjlqj-hjj-frqwdlqphqw-309[gbpcz]
eqpuwogt-itcfg-lgnnadgcp-vtckpkpi-388[gpcti]
rkpqxyib-pzxsbkdbo-erkq-zrpqljbo-pbosfzb-133[bpkoq]
kdijqrbu-sxesebqju-tufqhjcudj-114[tdbva]
gsvvswmzi-wgezirkiv-lyrx-irkmriivmrk-412[twsrk]
ucynmlgxcb-qaytclecp-fslr-amlryglkclr-704[lcrya]
xst-wigvix-veffmx-wxsveki-100[ocvmr]
surmhfwloh-vfdyhqjhu-kxqw-frqwdlqphqw-829[hqwfd]
xmrrq-usfvq-esfsywewfl-528[alidm]
zhdsrqlchg-lqwhuqdwlrqdo-sodvwlf-judvv-ghsorbphqw-777[rtnmj]
egdytrixat-xcitgcpixdcpa-rwdrdapit-uxcpcrxcv-245[cdabn]
yrwxefpi-ikk-gywxsqiv-wivzmgi-152[iwgkv]
qcffcgwjs-foppwh-obozmgwg-558[zotsu]
veqtekmrk-gerhc-gsexmrk-hitpscqirx-568[nczdq]
gzefmnxq-pkq-pqbmdfyqzf-794[jxrmh]
eadalsjq-yjsvw-usfvq-ugslafy-ugflsafewfl-632[fsalu]
esyfwlau-usfvq-ugslafy-vwhdgqewfl-684[flsuw]
ktfitzbgz-fbebmtkr-zktwx-utldxm-wxlbzg-683[afwhg]
wihmogyl-aluxy-vohhs-uwkocmcncih-292[wzryd]
bkzrrhehdc-idkkxadzm-lzmzfdldms-677[oxwvn]
clxalrtyr-qwzhpc-lnbftdtetzy-249[zryvn]
rgllk-fab-eqodqf-vqxxknqmz-pqbxakyqzf-222[qfkxa]
xjinphzm-bmvyz-xviyt-mzxzdqdib-603[xnhfs]
htsxzrjw-lwfij-hmthtqfyj-wjfhvznxnynts-385[zreuy]
myvybpev-gokzyxsjon-oqq-nozvyiwoxd-692[iyzuj]
hcd-gsqfsh-pogysh-gvwddwbu-480[mysuk]
hcd-gsqfsh-foppwh-rsgwub-428[kvtfs]
frqvxphu-judgh-exqqb-uhvhdufk-621[wtgmn]
vhglnfxk-zktwx-vahvhetmx-vhgmtbgfxgm-345[hnamj]
tagzsrsjvgmk-usfvq-ugslafy-ugflsafewfl-892[yckbv]
joufsobujpobm-gmpxfs-vtfs-uftujoh-233[foujs]
zsxyfgqj-ojqqdgjfs-zxjw-yjxynsl-593[jqsxy]
bnknqetk-atmmx-qdzbpthrhshnm-131[ecnmt]
hmsdqmzshnmzk-dff-sqzhmhmf-859[dnxcz]
hqtyeqsjylu-tou-udwyduuhydw-348[uydhq]
ktiaaqnqml-kpwkwtibm-zmikycqaqbqwv-772[tlrsg]
nzydfxpc-rclop-mtzslklcozfd-mfyyj-nfdezxpc-dpcgtnp-951[cpdfz]
ckgvutofkj-hatte-gtgreyoy-644[tgeko]
iwcjapey-zua-paydjkhkcu-628[hntmg]
bnknqetk-okzrshb-fqzrr-trdq-sdrshmf-729[tuzoy]
qmpmxevc-kvehi-yrwxefpi-glsgspexi-wlmttmrk-828[hsyvf]
amjmpdsj-njyqrga-epyqq-qcptgacq-106[bhysd]
dwbcjkun-ljwmh-mnyuxhvnwc-641[wuyrz]
gspsvjyp-jpsaiv-hiwmkr-854[zthel]
gsrwyqiv-kvehi-gerhc-stivexmsrw-750[whgse]
xjgjmapg-wpiit-ozxcijgjbt-889[ytsop]
xgjougizobk-kmm-rghuxgzuxe-280[cwrty]
zovldbkfz-oxjmxdfkd-oxyyfq-ixyloxqlov-653[snkwb]
qczcftiz-qvcqczohs-gsfjwqsg-142[cqszf]
krxqjijamxdb-mhn-ldbcxvna-bnaerln-771[ravbt]
pybgmyargtc-bwc-bcqgel-860[bcgya]
wyvqljapsl-jovjvshal-shivyhavyf-773[vahjl]
pbafhzre-tenqr-onfxrg-bcrengvbaf-221[zyaro]
glrcplyrgmlyj-bwc-pcqcypaf-132[clpyg]
dpmpsgvm-dboez-dpbujoh-tfswjdft-545[bdmzf]
dkqjcbctfqwu-rncuvke-itcuu-cpcnauku-700[cuknq]
ajmrxjlcren-yujbcrl-pajbb-anbnjalq-459[yslvg]
oazegyqd-sdmpq-bxmefuo-sdmee-fqotzaxask-586[vfmnu]
ugdgjxmd-jsttal-ksdwk-632[hfjix]
aietsrmdih-gvcskirmg-tpewxmg-kveww-vigimzmrk-412[kfcim]
drxevkzt-jtrmvexvi-ylek-uvgcfpdvek-685[vekdr]
excdklvo-bkllsd-nozvyiwoxd-250[dlokv]
uwtojhynqj-hfsid-wjxjfwhm-281[fqsmx]
plolwdub-judgh-udeelw-uhfhlylqj-205[ludhe]
oqnidbshkd-dff-zmzkxrhr-729[cvlkx]
bknsykmdsfo-tovvilokx-bomosfsxq-328[boqly]
dpotvnfs-hsbef-qspkfdujmf-cvooz-tijqqjoh-961[zmnyi]
gspsvjyp-fyrrc-gsrxemrqirx-490[rsgpx]
gifavtkzcv-szfyrqriuflj-wcfnvi-uvmvcfgdvek-139[zadfj]
gsrwyqiv-kvehi-wgezirkiv-lyrx-wxsveki-490[alpzb]
ykhknbqh-ydkykhwpa-zalhkuiajp-862[khayp]
dmybmsuzs-yuxufmdk-sdmpq-bxmefuo-sdmee-fqotzaxask-586[nwikx]
nwzekwypera-bhksan-nayaerejc-940[xnmta]
wrs-vhfuhw-hjj-zrunvkrs-283[hrjsu]
ajyqqgdgcb-pyzzgr-amlryglkclr-782[lozts]
ohmnuvfy-jfumncw-alumm-womnigyl-mylpcwy-110[mqrgd]
foadouwbu-suu-obozmgwg-792[hgkuj]
wdjcvuvmyjpn-ytz-yzkgjthzio-109[jyztv]
ucynmlgxcb-pyzzgr-qfgnngle-210[iftry]
ymszqfuo-omzpk-oamfuzs-pqhqxabyqzf-872[qzfmo]
clotzlnetgp-ojp-opawzjxpye-769[pnhtz]
mhi-lxvkxm-yehpxk-ftgtzxfxgm-657[etajx]
surmhfwloh-fkrfrodwh-uhfhlylqj-699[rkslj]
iruzfrtkzmv-tyftfcrkv-kirzezex-841[emztq]
bdavqofuxq-nmewqf-ogefayqd-eqdhuoq-352[jpmyv]
bdavqofuxq-otaoaxmfq-xasuefuoe-326[aofqu]
gpsxdprixkt-tvv-ldgzhwde-219[dgptv]
pbeebfvir-rtt-bcrengvbaf-897[enlaq]
jchipqat-gpqqxi-bpgztixcv-375[cnqyt]
glrcplyrgmlyj-qaytclecp-fslr-pcqcypaf-574[clpyr]
pejji-oqq-vyqscdsmc-640[qcjsd]
houngfgxjuay-yigbktmkx-natz-xkykgxin-774[mszcw]
ltpedcxots-jchipqat-gpqqxi-bpcpvtbtci-219[isgfv]
gifavtkzcv-tyftfcrkv-drerxvdvek-659[vbdyz]
vjpwncrl-mhn-orwjwlrwp-641[wrjln]
vjpwncrl-ouxfna-bcxajpn-511[ydzfw]
rzvkjiduzy-xviyt-xjvodib-adivixdib-187[idvxb]
tinnm-suu-twbobqwbu-272[datjf]
apuut-xviyt-vxlpdndodji-941[zrtso]
jxdkbqfz-zixppfcfba-mixpqfz-doxpp-jxohbqfkd-705[fpxbd]
zilqwikbqdm-lgm-kwvbiqvumvb-876[bqpme]
jyddc-wgezirkiv-lyrx-wxsveki-256[sjntv]
ahngzyzqcntr-qzaahs-zbpthrhshnm-963[fzvai]
ksodcbwnsr-qfmcusbwq-suu-qighcasf-gsfjwqs-350[wyezk]
atyzghrk-igtje-iugzotm-jkyomt-462[ksuli]
dwbcjkun-ajmrxjlcren-yujbcrl-pajbb-nwprwnnarwp-563[tjsqg]
aoubshwq-dzoghwq-ufogg-aofyshwbu-896[hwcmz]
apwmeclga-npmhcargjc-njyqrga-epyqq-rpyglgle-340[dgtsc]
apwmeclga-aylbw-amyrgle-dglylagle-210[iumzy]
ydjuhdqjyedqb-rkddo-sedjqydcudj-738[ycbmx]
iuxxuyobk-xgjougizobk-pkrrehkgt-sgtgmksktz-644[pzsmw]
bnmrtldq-fqzcd-bgnbnkzsd-vnqjrgno-521[nbdqg]
wfruflnsl-gzssd-wjhjnansl-177[wtmsg]
yhwooebeaz-ywjzu-klanwpekjo-680[eowaj]
pynffvsvrq-cynfgvp-tenff-ernpdhvfvgvba-663[vbduy]
zilqwikbqdm-ntwemz-uizsmbqvo-356[yhenq]
jvsvymbs-zjhclunly-obua-jvuahputlua-721[uajlv]
fhezusjybu-rqiauj-tufbeocudj-400[ecamb]
ftzgxmbv-wrx-xgzbgxxkbgz-293[xgbzf]
chnylhuncihuf-xsy-xypyfijgyhn-578[jigcy]
vhkkhlbox-pxtihgbsxw-cxeeruxtg-wxlbzg-111[hsuty]
foadouwbu-tzcksf-gozsg-246[ofgsu]
xzwrmkbqtm-moo-nqvivkqvo-434[moqvk]
gvaaz-cvooz-dpoubjonfou-415[mcnzb]
pbafhzre-tenqr-enoovg-grpuabybtl-169[bktjl]
uwtojhynqj-gzssd-ywfnsnsl-723[phguv]
dlhwvupglk-zjhclunly-obua-klwhyatlua-227[luahk]
vhkkhlbox-vhehkyne-vahvhetmx-ybgtgvbgz-215[hvbeg]
qlm-pbzobq-gbiivybxk-lmboxqflkp-809[blqik]
forwcoqhwjs-qvcqczohs-ghcfous-792[mtuqn]
eqpuwogt-itcfg-dwppa-fgrnqaogpv-570[gpafo]
lxuxaodu-bljenwpna-qdwc-jwjuhbrb-121[rbqfd]
ykhknbqh-xqjju-oanreyao-680[ahjkn]
ugfkmewj-yjsvw-hdsklau-yjskk-kzahhafy-918[kahjs]
gbc-frperg-fpniratre-uhag-fnyrf-897[dskta]
myxcewob-qbkno-lexxi-wkxkqowoxd-770[spdoc]
cqwdujys-fbqijys-whqii-huiuqhsx-998[uhebs]
ckgvutofkj-igtje-iugzotm-rghuxgzuxe-774[gutei]
excdklvo-lexxi-psxkxmsxq-302[ypsmx]
mbiyqoxsm-dyz-combod-mkxni-mykdsxq-zebmrkcsxq-692[fnhpz]
zlkprjbo-doxab-gbiivybxk-xkxivpfp-809[ydtxn]
wdjcvuvmyjpn-ezggtwzvi-hvmfzodib-603[vzdgi]
njmjubsz-hsbef-fhh-bobmztjt-649[mxkjw]
wsvsdkbi-qbkno-oqq-ecob-docdsxq-796[rglok]
htsxzrjw-lwfij-gfxpjy-fsfqdxnx-307[uyteb]
wpuvcdng-ejqeqncvg-yqtmujqr-882[svamn]
tagzsrsjvgmk-hdsklau-yjskk-ugflsafewfl-606[tysrn]
kwtwznct-akidmvomz-pcvb-zmamizkp-200[skpom]
dpmpsgvm-dboez-dpbujoh-fohjoffsjoh-311[fknst]
rnqnyfwd-lwfij-hmthtqfyj-xytwflj-567[gzkol]
zntargvp-pnaql-hfre-grfgvat-923[yijbm]
dzczkrip-xiruv-treup-tfrkzex-drerxvdvek-347[vrmsu]
ajyqqgdgcb-afmamjyrc-sqcp-rcqrgle-522[cqagr]
pelbtravp-ohaal-erprvivat-715[jnbmz]
irdgrxzex-sleep-ivrthlzjzkzfe-113[bmsnw]
eqpuwogt-itcfg-tcddkv-fgxgnqrogpv-804[gtcdf]
cvabijtm-moo-ivitgaqa-226[darfu]
ytu-xjhwjy-xhfajsljw-mzsy-zxjw-yjxynsl-281[wzjeb]
fkqbokxqflkxi-yxphbq-obxznrfpfqflk-809[dcasb]
gokzyxsjon-sxdobxkdsyxkv-mkxni-ecob-docdsxq-276[zypso]
ibghopzs-suu-kcfygvcd-402[cgsub]
tfiifjzmv-srjbvk-uvjzxe-581[sovtj]
gntmfefwitzx-gfxpjy-xmnuunsl-619[fnxgm]
lgh-kwujwl-bwddqtwsf-vwhsjlewfl-788[tlejf]
hjgbwuladw-wyy-ghwjslagfk-164[wgahj]
nzwzcqfw-ojp-qtylyntyr-431[ynqtw]
sbejpbdujwf-sbccju-vtfs-uftujoh-909[kujit]
vhkkhlbox-wrx-ftkdxmbgz-241[uwzex]
lahxpnwrl-bljenwpna-qdwc-cajrwrwp-381[yjzno]
lugjuacha-jfumncw-alumm-jolwbumcha-838[uamcj]
gvcskirmg-glsgspexi-jmrergmrk-828[smeyi]
thnulapj-ihzrla-thyrlapun-955[ahlnp]
sno-rdbqds-bzmcx-btrsnldq-rdquhbd-937[dbqrs]
vdzonmhydc-eknvdq-dmfhmddqhmf-781[dmhfn]
iehepwnu-cnwza-xqjju-ykjpwejiajp-368[jepwa]
dfcxsqhwzs-dzoghwq-ufogg-cdsfohwcbg-974[gcdfh]
sbqiiyvyut-tou-jhqydydw-608[okbzs]
htsxzrjw-lwfij-gzssd-uzwhmfxnsl-801[nmtjq]
hvbizodx-rzvkjiduzy-xviyt-yzqzgjkhzio-213[zivyd]
ajmrxjlcren-ljwmh-lxjcrwp-bqryyrwp-745[kheat]
vkppo-shoewudys-tou-udwyduuhydw-556[udowy]
dpotvnfs-hsbef-dmbttjgjfe-gmpxfs-nbslfujoh-363[qapli]
glrcplyrgmlyj-djmucp-qrmpyec-158[clmpr]
emixwvqhml-xtiabqk-oziaa-wxmzibqwva-642[rkpba]
qczcftiz-dzoghwq-ufogg-aofyshwbu-298[lmcuy]
cvabijtm-zilqwikbqdm-akidmvomz-pcvb-nqvivkqvo-746[ynxzo]
pkl-oaynap-acc-wjwhuoeo-134[jxlai]
xjmmjndqz-kgvnodx-bmvnn-rjmfncjk-291[njmdk]
ejpanjwpekjwh-nwxxep-nayaerejc-550[lisvd]
htwwtxnaj-htsxzrjw-lwfij-hfsid-htfynsl-wjfhvznxnynts-541[hntwf]
mbiyqoxsm-mkxni-mykdsxq-crszzsxq-770[zhowm]
rmn-qcapcr-ucynmlgxcb-cee-pcqcypaf-886[cpaem]
rtqlgevkng-ejqeqncvg-fgxgnqrogpv-466[zktns]
fydelmwp-mfyyj-nfdezxpc-dpcgtnp-769[anfej]
yuxufmdk-sdmpq-otaoaxmfq-pqbxakyqzf-742[ohxti]
vxupkizork-igtje-xkgiwaoyozout-592[bmwjf]
veqtekmrk-tvsnigxmpi-gerhc-gsexmrk-gywxsqiv-wivzmgi-802[dglps]
nsyjwsfyntsfq-uqfxynh-lwfxx-ijuqtdrjsy-931[ymnhu]
gifavtkzcv-avccpsvre-fgvirkzfej-841[ypigz]
krxqjijamxdb-kdwwh-mnyjacvnwc-641[krnma]
dszphfojd-ezf-sftfbsdi-805[fdszb]
xmrrq-tmffq-lwuzfgdgyq-372[fqgmr]
tagzsrsjvgmk-xdgowj-vwhsjlewfl-788[gjswl]
lsyrkjkbnyec-mkxni-nofovyzwoxd-614[knoyx]
dwbcjkun-mhn-bjunb-173[mykra]
vhehkyne-vtgwr-nlxk-mxlmbgz-319[eghkl]
bkzrrhehdc-bnqqnrhud-bzmcx-bnzshmf-otqbgzrhmf-677[xaszn]
oxmeeuruqp-bxmefuo-sdmee-abqdmfuaze-248[udtec]
jlidywncfy-mwupyhayl-bohn-uhufsmcm-500[yhmuc]
xjmmjndqz-zbb-mzvxlpdndodji-239[djmzb]
yuxufmdk-sdmpq-omzpk-qzsuzqqduzs-534[ofrpg]
tfejldvi-xiruv-vxx-uvgrikdvek-659[cnesm]
yaxsnlcrun-ajkkrc-anbnjalq-979[nmivs]
tvsnigxmpi-ikk-wivzmgiw-880[agunv]
mrxivrexmsrep-tpewxmg-kveww-viwievgl-698[evwim]
nglmtuex-yehpxk-labiibgz-241[begil]
zuv-ykixkz-ixeumktoi-igtje-iugzotm-aykx-zkyzotm-670[pjybl]
forwcoqhwjs-dzoghwq-ufogg-difqvogwbu-272[xkwoz]
ajyqqgdgcb-qaytclecp-fslr-bcqgel-886[mkvsi]
myxcewob-qbkno-mkxni-mykdsxq-wkbuodsxq-770[zmijb]
uwtojhynqj-kqtbjw-yjhmstqtld-333[jtqhw]
wsvsdkbi-qbkno-lkcuod-dbksxsxq-406[biaoe]
gpbepvxcv-rpcsn-rdpixcv-advxhixrh-895[dcwgp]
muqfedyput-isqludwuh-xkdj-mehaixef-712[betdq]
ckgvutofkj-inuiurgzk-xkgiwaoyozout-956[sazyo]
wfruflnsl-uqfxynh-lwfxx-btwpxmtu-541[fxluw]
qfmcusbwq-rms-igsf-hsghwbu-246[sbfgh]
ynukcajey-nwxxep-qoan-paopejc-602[htmbv]
ujqgywfau-uzgugdslw-jwkwsjuz-138[newms]
yflexwxoalrp-zxkav-cfkxkzfkd-705[ctnsy]
vjpwncrl-lqxlxujcn-mnyuxhvnwc-953[nawmz]
willimcpy-wuhxs-lyuwkocmcncih-786[cilwh]
mtzslklcozfd-clmmte-cpnptgtyr-119[tjkgv]
xlrypetn-awldetn-rcldd-cplnbftdtetzy-795[tdlen]
vkppo-rqiauj-huqsgkyiyjyed-452[yijkp]
vxupkizork-lruckx-jkbkruvsktz-124[eumyz]
diozmivodjivg-agjrzm-nzmqdxzn-915[otpfl]
owshgfarwv-hdsklau-yjskk-klgjsyw-918[qcjim]
zuv-ykixkz-igtje-iugzotm-zkinturume-202[plvqf]
zlilocri-oxyyfq-bkdfkbbofkd-835[bswmn]
ziuxioqvo-lgm-amzdqkma-798[maioq]
xqvwdeoh-sodvwlf-judvv-ghyhorsphqw-517[hvdow]
ovbunmneqbhf-enqvbnpgvir-onfxrg-qrfvta-507[nvbfq]
gbc-frperg-pnaql-genvavat-351[pmzkq]
eadalsjq-yjsvw-jsttal-suimakalagf-580[zjghy]
rdadguja-rpcsn-rdpixcv-apqdgpidgn-245[dpagr]
tbxmlkfwba-pzxsbkdbo-erkq-abpfdk-523[vifrq]
ocipgvke-uecxgpigt-jwpv-ugtxkegu-544[abfsh]
ovbunmneqbhf-zvyvgnel-tenqr-wryylorna-ybtvfgvpf-481[hxymg]
pinovwgz-xjinphzm-bmvyz-agjrzm-ozxcijgjbt-681[cqlnu]
tinnm-qobrm-ghcfous-220[hyczt]
iuruxlar-yigbktmkx-natz-ykxboiky-748[kixya]
bkzrrhehdc-bzmcx-bnzshmf-cdrhfm-209[hbcmr]
gpsxdprixkt-tvv-uxcpcrxcv-973[xcpvr]
forwcoqhwjs-rms-hfowbwbu-974[stzrm]
zovldbkfz-fkqbokxqflkxi-mixpqfz-doxpp-cfkxkzfkd-705[tsmfo]
vetllbybxw-lvtoxgzxk-angm-ftgtzxfxgm-371[sbemy]
hwbba-ejqeqncvg-tgugctej-232[iyrqv]
vqr-ugetgv-lgnnadgcp-wugt-vguvkpi-596[gvunp]
xgvnndadzy-wpiit-yzndbi-343[rawyd]
jxdkbqfz-oxyyfq-qbzeklildv-107[qbdfk]
wlsiayhcw-luvvcn-mufym-656[jbvne]
surmhfwloh-fdqgb-ghvljq-621[ymnve]
mvkccspson-bkllsd-vklybkdybi-432[yscux]
dszphfojd-sbccju-dvtupnfs-tfswjdf-129[itbfs]
lsyrkjkbnyec-lexxi-crszzsxq-978[sxcek]
qlm-pbzobq-mixpqfz-doxpp-zlkqxfkjbkq-211[satyb]
bknsykmdsfo-nio-kmaescsdsyx-744[tspif]
bpvctixr-rpcsn-rjhidbtg-htgkxrt-713[rtbcg]
sebehvkb-rqiauj-udwyduuhydw-140[udbeh]
zhdsrqlchg-fdqgb-hqjlqhhulqj-387[zptrs]
qxdwpopgsdjh-rpcsn-sthxvc-635[nbixj]
pualyuhapvuhs-msvdly-klzpnu-721[ulpah]
sbqiiyvyut-shoewudys-isqludwuh-xkdj-jhqydydw-894[dysuh]
wsvsdkbi-qbkno-lexxi-dbksxsxq-614[onzwh]
ydjuhdqjyedqb-rqiauj-efuhqjyedi-894[ocdpe]
kwzzwaqdm-ntwemz-wxmzibqwva-434[nwzml]
qspkfdujmf-fhh-nbobhfnfou-571[zpyau]
bxaxipgn-vgpst-tvv-detgpixdch-583[xwiac]
qfmcusbwq-dfcxsqhwzs-xszzmpsob-fsqswjwbu-402[lstrx]
dpmpsgvm-dboez-sfdfjwjoh-337[dfjmo]
dzoghwq-ufogg-fsgsofqv-636[gfoqs]
nzwzcqfw-dnlgpyrpc-sfye-qtylyntyr-509[milhd]
xgsvgmotm-pkrrehkgt-vaxingyotm-176[jubcm]
xgsvgmotm-jek-cuxqynuv-644[soxwn]
cxy-bnlanc-lahxpnwrl-kdwwh-fxatbqxy-485[zamhj]
irgyyolokj-inuiurgzk-sgtgmksktz-982[vzkrq]
xgvnndadzy-xcjxjgvoz-xjiovdihzio-733[ozhyu]
gvcskirmg-nippcfier-xiglrspskc-334[bastq]
zlilocri-gbiivybxk-obxznrfpfqflk-367[ntyda]
pyknyegle-pyzzgr-pcqcypaf-886[nxvzy]
zhdsrqlchg-gbh-frqwdlqphqw-361[nqzts]
kyelcrga-cee-yaosgqgrgml-808[izdqr]
hplazytkpo-prr-cpnptgtyr-379[prtya]

View File

@@ -1,598 +0,0 @@
jtfxgqec
zxoeuddn
anlfufma
dxuuyxkg
ttnewhlw
sjoyeiry
rgfwwdhw
qymxsllk
forftdvy
rzmnmewh
hogawihi
mtsyexba
mrjzqqfk
ypmkexpg
pjuyopgv
rtqquvaj
evubmlrq
bqlrtuce
ndidnbps
vqukosam
mzdyfkcd
rrbwdimb
uhnvxgly
aaimxpcv
acxvinqj
muaeikzy
lhzbosjd
fflqqiit
unfhzfrs
gmwoyvob
cculubmy
zqbugcwa
ijouicwt
bildjjww
ugksmnps
ivawibvu
igzteede
foehssxo
pkeevvlt
xumuixyw
okhhtycj
xhblffye
iqapgjqe
lkhpntum
wuzxgwow
bkkpfguu
bnqctsdi
cwncjrwn
eivhabsi
bwdicgfm
kowiourk
dhbzuztx
gibitfxo
wmrlhenb
wfzmjvwh
zddjirfg
fafhmiwf
ddhvufhg
qdwnlzqp
nhsnngut
uacmfgop
morcixux
sfdxrgqy
tezzvctv
dnnmtkfp
dygdzcib
efurreri
npvpklix
svpbdgyw
mcntltzd
inwkhxlx
sajfgeoi
nwkqrspt
qtzqsksv
mtncajjk
etarsvxr
eyaeeauy
gqnctylg
uerywmma
hjrxhtjb
zdsdyfzp
zhgrrhvd
yvxqyalf
rlgwftff
xczvgpzq
yydydclu
rzltbrro
jforpzau
zskadlfz
dqbqdsgv
bcwjltvc
byfoamgd
cpefdmso
ocuetyke
vlqrfnpp
ggikwydh
eakpyuov
osaguhlz
ylmrfvee
nvdvqpzm
pudbbuhh
bwmqdpyv
proscvgy
cetkcpjw
sbhcqeya
fgnyltmf
qcspgopp
bdhnemmy
tczkhihl
yduxunvr
dtxerncl
xnxeaayt
rvlcbgts
vpavzjqs
oueloufw
mubbhyna
nptmeppg
ojjfbuzz
lusboycs
gurmmorr
kefddaka
cpvpszit
bfvthzpm
owgcvdjo
simxphmv
rxedvjyw
hmeieuxr
vgqhcapz
vwtvbain
aobnhdsx
hkpshsjs
jxgegczu
xbsfxesk
pqhifeaj
triurorr
rnkufaxl
hmrqfoaw
veghzoxa
zbvgbpcm
rqrnbylj
txaawlta
uuksnfel
jqvycrvw
cdttmdpc
wojvbrzp
qvnuinon
gnpguyvh
cgbkpzbu
pdaqhlan
muiykslt
prvzlunm
whhcrchz
cahjhrkl
zifdgfpq
wanlienf
sfrnozvi
mwmykvyh
fbdfzgut
wfrviilb
ucaopfgo
fjhuikma
hdmizjdj
xngpfwvn
rueojtjg
xvtssxtx
vvcgzidf
xtehcxki
xksbfbso
osnzpqmy
isrnjkxh
utleakmz
dthmtbdt
plregxuh
amoeprsy
tmyhzhqd
csxqavbe
jmojlysw
slebxnbl
ldzryqmj
ajejyudk
ynhgnjhw
mdibxxxw
rvtcmesd
jmnwqddq
hppfoplc
nrcbjynz
kcqnjzue
mthvgjxm
ykztdbcv
etqqnhuz
tezkopgq
fwhwkqmz
fozpkzfy
hbbtlcog
hdvjqwyh
xuljsrvz
abskreoo
aedeydgc
dcyigvqf
ntpcvvgk
iiwgzkhl
zofhlqlx
veumtlae
qibdapwq
xpgpwirt
wvnnautq
wfhlgmdg
yqcrvdgx
srdufrbu
vycrvkpx
flwxzkim
enxayqxm
dgpntiaj
qedfutmp
vfdovine
dgrvjfjt
dqxxjahk
hnxpblyp
nnadwbsc
krmqqgwf
efykkzeb
lkrmrwqw
vfzayrwt
chopbnyf
vbydrtln
azmlestl
sqcyddvi
zdcubjok
afshwptc
sjgpuoch
bnfylydl
rsyxsbzi
psyuvyzx
npngqypd
xejayhdk
aqfmvjfi
tpffksph
uekwkjnj
ljsjimwm
hbgzjlig
ngssshxx
icitlosb
unxryqyt
nzpujfti
lupxnzhe
kxglfnic
ecewosbs
htlqxpiq
clqgnyfd
yyiozvar
mbvjgmyc
srhwhlin
casmlryr
ebuzskkp
iewhdqtr
oyidcobe
avptvltf
mfheqaxl
shqnezrq
xrpkzuvb
soxdjwba
aitmzlds
rpmpozpd
ccgxauky
gsstsjyx
bzeolqal
vfhddmuc
wfbbmqfv
pumxmnhj
qumdxkns
xymraott
uthlccig
ezpalags
giftxymr
ujjacleo
cgwgmktp
istetgdl
azedmaao
bnlfwyoq
orcwhbek
amswhkum
yxupesxu
mlzvqsrg
solkxzby
tbaxnjdu
xwbsiquk
hsftntsn
ajraaorz
mwmycrff
ymnbrbpj
uyfscatq
kzkgmbeh
libgpgnr
kxlgthxc
vzjbobyx
isqessab
ehursvof
guwrjnbi
xivkphwn
rurrmdmi
nqijeuzq
jambocej
qrtidktb
sbzvehmq
aikgzrsq
lgydnujf
twafyzry
nxhtklba
xhyaqyqe
xgvdfcrf
wdieppsd
iabrfmdm
doijaavc
oxydttkg
qsqiofwv
titrvjym
mwojqcku
tewiyhjx
jlqbksqd
knycvoks
tmcbnvhv
ekksoxmz
mgvommal
hrosnzeu
fzeymbek
evqxcukn
ilkpvdvl
rclpjbkb
tdpitlei
zvvzuucc
pzdgwnfz
mralxxlz
wywkawzh
hmazaakd
llltvbex
ihsmefpz
rzzgkjyz
srjqpeoq
jrczcdna
uuyskwop
yeuiaepa
vzppcwnn
oqhxixdo
xkwpfsij
cmsoiogl
ngbmaeue
lmqttyrj
yhgjxfmx
lwfgjnyp
ibbkjgra
gaxsotzr
paugisvs
pcqqauqi
pweuwnqs
jcbrscrj
ovtsgcnh
oscsgtqn
hkpwmhwk
pmdgwclk
owmskdhh
qutyussr
atdkvmzl
oqslriwe
wafjwfxp
ipcqlsxv
kzurbnoh
lfhfzwqo
ucybqwrj
tgnblzgm
lhwlniea
tlxymfbu
bcyvlkvt
glpacpjk
rjagzpnu
fyjpvhaq
cjtzwtdu
dkaqawts
pjoovtlv
xsnwqixw
swcftfed
cadigksp
fnsmxccx
cbxmdxvb
hpyqnpjq
jzpvphmo
kdkpubul
kiajwwta
uyeuctbe
yetyzqxw
fgeemnbl
brprbvgj
xszwwlea
ygunyguo
jwplrcbq
fejndxnx
oxsmkcqm
ldwkbpsk
cmzuxrst
jaoadiiu
oxcpkgbc
nyulhuci
bdwfqtkv
ehxvnzyd
cizuemsb
lbqyqduk
kqweswcd
tqnicuzh
utyaiaeu
osjdgvtj
qmrxcaoa
qiltxgvv
qklfgyss
lpjebmuo
bvebkous
yifrmeoa
jzgntlep
wadcknde
kaikclag
tucuhehr
bvwhuwzn
uvlecxgy
rzyxjhmo
dyyfwjgv
vocjkohi
ylyflktq
raltxpqg
eitypruw
pfbmopgm
qerushjt
xykophcv
amjhrlhi
uqkjhdhn
kkohprfw
hvsmtnfd
uxgiqmqc
npxwplcj
ltchgces
exiyyief
ysmvbqso
zpyvuhqz
lkvwronk
vxilskkl
cxfypwcd
jhrczkmf
rdedtejq
gmxcrlzi
jumwfmnn
gkynzdtd
dfdkxggc
yldclxhz
fsxvbwyj
ioiupzio
lxyqvncv
rsgsviny
osgcimej
tecqrgkq
tozohtwt
kmlowfrf
hhpiukqe
xlxlkjwf
ntvtoexx
zzvsvdow
yluidajg
vumkynvp
vaxipwwg
pqymmoif
sgjzogut
jppwszzn
gvvaibqu
lwjotuil
srflotab
ibnblmjm
kvcsdivb
wqrpzmvr
gcmqdezs
vrizdyfo
vtqnsjbf
jwocjmvb
fjkiiowl
ctjhmmrq
pcckqfki
wqolxgfg
gbsdyrbc
giqmfqwb
fodfpvyl
nxdzwvzz
hpnatltw
adjjyhjd
aoguhvmv
yyeanoir
baojaygs
ovkebbjb
pmykvfex
zeooykoa
uuozuxjb
kxxvbhbr
jxbchjlr
qhiwdonk
dnvfwwfh
kjfrlslh
wionbrdf
qgkjarob
kwplsxso
txgelygh
vlmziqwf
wbetqqkp
qfkocear
wrvonhyr
sbiqrcri
lnwzitce
bctyrwph
kallfwzc
zfqwanet
bevnljjr
kwqsktan
gjviqwlu
zflsnpig
wzaufqvr
uvxhutav
diejbica
ojciaexn
zyjoxrwi
djkodeiz
gsinkcqk
jkonssuq
eychyabp
fkcogwnr
kkioyrnn
inqxlztu
cqnbxxks
ipwmpdmm
moozfajm
irjaimrw
ojihmanb
hzoszxzc
ajjvxqqi
ohkfkijd
nlsahrpv
zizxtmxa
gjtnrurd
pyqghfuj
fltnnyfe
goxagvfp
nplhpkiy
dlwgyvby
fzrfhcgh
zaiuostp
jdjojfkw
thksqbjh
qopcwnht
ewkljwho
qguaeaac
wxzzxgcc
nlnuuhdu
ihtzrqay
nmtdbkhp
yasxhulm
drzjobfy
qpgcjdxn
aegbxmjb
bbuxsffr
zevjcgzn
pgbqezxk
qdlepjko
zbtzvicm
ssjdcggg
ugrtxalo
tsbvnppt
rboleppu
gywfqiwz
skgzeqhu
hzuggbcf
dkegaxap
zijcjrkm
jtfkeoog
fyvtrvig
gophbeoj
ieatnihe
vlaauxgz
mxnheqkz
mftwybny
ebawojuj
dyrvecbs
lrrcwang
qswijdeu
wkuszdax
ecaokzfc
pmbznspx
tjqrztdv
mwdxruge
whutfdqy
zpfwqvox
fkqapoid
bodleqbn
kpxiuodk
johmsncc
enhamlol
yhtydoss

File diff suppressed because it is too large Load Diff

View File

@@ -1,194 +0,0 @@
rect 1x1
rotate row y=0 by 7
rect 1x1
rotate row y=0 by 5
rect 1x1
rotate row y=0 by 5
rect 1x1
rotate row y=0 by 2
rect 1x1
rotate row y=0 by 3
rect 1x1
rotate row y=0 by 5
rect 1x1
rotate row y=0 by 3
rect 1x1
rotate row y=0 by 2
rect 1x1
rotate row y=0 by 3
rect 2x1
rotate row y=0 by 7
rect 6x1
rotate row y=0 by 3
rect 2x1
rotate row y=0 by 2
rect 1x2
rotate row y=1 by 10
rotate row y=0 by 3
rotate column x=0 by 1
rect 2x1
rotate column x=20 by 1
rotate column x=15 by 1
rotate column x=5 by 1
rotate row y=1 by 5
rotate row y=0 by 2
rect 1x2
rotate row y=0 by 5
rotate column x=0 by 1
rect 4x1
rotate row y=2 by 15
rotate row y=0 by 5
rotate column x=0 by 1
rect 4x1
rotate row y=2 by 5
rotate row y=0 by 5
rotate column x=0 by 1
rect 4x1
rotate row y=2 by 10
rotate row y=0 by 10
rotate column x=8 by 1
rotate column x=5 by 1
rotate column x=0 by 1
rect 9x1
rotate column x=27 by 1
rotate row y=0 by 5
rotate column x=0 by 1
rect 4x1
rotate column x=42 by 1
rotate column x=40 by 1
rotate column x=22 by 1
rotate column x=17 by 1
rotate column x=12 by 1
rotate column x=7 by 1
rotate column x=2 by 1
rotate row y=3 by 10
rotate row y=2 by 5
rotate row y=1 by 3
rotate row y=0 by 10
rect 1x4
rotate column x=37 by 2
rotate row y=3 by 18
rotate row y=2 by 30
rotate row y=1 by 7
rotate row y=0 by 2
rotate column x=13 by 3
rotate column x=12 by 1
rotate column x=10 by 1
rotate column x=7 by 1
rotate column x=6 by 3
rotate column x=5 by 1
rotate column x=3 by 3
rotate column x=2 by 1
rotate column x=0 by 1
rect 14x1
rotate column x=38 by 3
rotate row y=3 by 12
rotate row y=2 by 10
rotate row y=0 by 10
rotate column x=7 by 1
rotate column x=5 by 1
rotate column x=2 by 1
rotate column x=0 by 1
rect 9x1
rotate row y=4 by 20
rotate row y=3 by 25
rotate row y=2 by 10
rotate row y=0 by 15
rotate column x=12 by 1
rotate column x=10 by 1
rotate column x=8 by 3
rotate column x=7 by 1
rotate column x=5 by 1
rotate column x=3 by 3
rotate column x=2 by 1
rotate column x=0 by 1
rect 14x1
rotate column x=34 by 1
rotate row y=1 by 45
rotate column x=47 by 1
rotate column x=42 by 1
rotate column x=19 by 1
rotate column x=9 by 2
rotate row y=4 by 7
rotate row y=3 by 20
rotate row y=0 by 7
rotate column x=5 by 1
rotate column x=3 by 1
rotate column x=2 by 1
rotate column x=0 by 1
rect 6x1
rotate row y=4 by 8
rotate row y=3 by 5
rotate row y=1 by 5
rotate column x=5 by 1
rotate column x=4 by 1
rotate column x=3 by 2
rotate column x=2 by 1
rotate column x=1 by 3
rotate column x=0 by 1
rect 6x1
rotate column x=36 by 3
rotate column x=25 by 3
rotate column x=18 by 3
rotate column x=11 by 3
rotate column x=3 by 4
rotate row y=4 by 5
rotate row y=3 by 5
rotate row y=2 by 8
rotate row y=1 by 8
rotate row y=0 by 3
rotate column x=3 by 4
rotate column x=0 by 4
rect 4x4
rotate row y=4 by 10
rotate row y=3 by 20
rotate row y=1 by 10
rotate row y=0 by 10
rotate column x=8 by 1
rotate column x=7 by 1
rotate column x=6 by 1
rotate column x=5 by 1
rotate column x=3 by 1
rotate column x=2 by 1
rotate column x=1 by 1
rotate column x=0 by 1
rect 9x1
rotate row y=0 by 40
rotate column x=44 by 1
rotate column x=35 by 5
rotate column x=18 by 5
rotate column x=15 by 3
rotate column x=10 by 5
rotate row y=5 by 15
rotate row y=4 by 10
rotate row y=3 by 40
rotate row y=2 by 20
rotate row y=1 by 45
rotate row y=0 by 35
rotate column x=48 by 1
rotate column x=47 by 5
rotate column x=46 by 5
rotate column x=45 by 1
rotate column x=43 by 1
rotate column x=40 by 1
rotate column x=38 by 2
rotate column x=37 by 3
rotate column x=36 by 2
rotate column x=32 by 2
rotate column x=31 by 2
rotate column x=28 by 1
rotate column x=23 by 3
rotate column x=22 by 3
rotate column x=21 by 5
rotate column x=20 by 1
rotate column x=18 by 1
rotate column x=17 by 3
rotate column x=13 by 1
rotate column x=10 by 1
rotate column x=8 by 1
rotate column x=7 by 5
rotate column x=6 by 5
rotate column x=5 by 1
rotate column x=3 by 5
rotate column x=2 by 5
rotate column x=1 by 5

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
3294199471327195994824832197564859876682638188889768298894243832665654681412886862234525991553276578641265589959178414218389329361496673991614673626344552179413995562266818138372393213966143124914469397692587251112663217862879233226763533911128893354536353213847122251463857894159819828724827969576432191847787772732881266875469721189331882228146576832921314638221317393256471998598117289632684663355273845983933845721713497811766995367795857965222183668765517454263354111134841334631345111596131682726196574763165187889337599583345634413436165539744188866156771585647718555182529936669683581662398618765391487164715724849894563314426959348119286955144439452731762666568741612153254469131724137699832984728937865956711925592628456617133695259554548719328229938621332325125972547181236812263887375866231118312954369432937359357266467383318326239572877314765121844831126178173988799765218913178825966268816476559792947359956859989228917136267178571776316345292573489873792149646548747995389669692188457724414468727192819919448275922166321158141365237545222633688372891451842434458527698774342111482498999383831492577615154591278719656798277377363284379468757998373193231795767644654155432692988651312845433511879457921638934877557575241394363721667237778962455961493559848522582413748218971212486373232795878362964873855994697149692824917183375545192119453587398199912564474614219929345185468661129966379693813498542474732198176496694746111576925715493967296487258237854152382365579876894391815759815373319159213475555251488754279888245492373595471189191353244684697662848376529881512529221627313527441221459672786923145165989611223372241149929436247374818467481641931872972582295425936998535194423916544367799522276914445231582272368388831834437562752119325286474352863554693373718848649568451797751926315617575295381964426843625282819524747119726872193569785611959896776143539915299968276374712996485367853494734376257511273443736433464496287219615697341973131715166768916149828396454638596713572963686159214116763

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@@ -1,43 +0,0 @@
0: 3
1: 2
2: 4
4: 6
6: 4
8: 6
10: 5
12: 6
14: 9
16: 6
18: 8
20: 8
22: 8
24: 8
26: 8
28: 8
30: 12
32: 14
34: 10
36: 12
38: 12
40: 10
42: 12
44: 12
46: 12
48: 12
50: 12
52: 14
54: 14
56: 12
62: 12
64: 14
66: 14
68: 14
70: 17
72: 14
74: 14
76: 14
82: 14
86: 18
88: 14
96: 14
98: 44

File diff suppressed because one or more lines are too long

View File

@@ -1,41 +0,0 @@
set i 31
set a 1
mul p 17
jgz p p
mul a 2
add i -1
jgz i -2
add a -1
set i 127
set p 826
mul p 8505
mod p a
mul p 129749
add p 12345
mod p a
set b p
mod b 10000
snd b
add i -1
jgz i -9
jgz a 3
rcv b
jgz b -1
set f 0
set i 126
rcv a
rcv b
set p a
mul p -1
add p b
jgz p 4
snd a
set a b
jgz 1 3
snd b
set f 1
add i -1
jgz i -11
snd a
jgz f -16
jgz a -19

View File

@@ -1,201 +0,0 @@
|
+-+ +-----------------------------+ +---+ +-------+ +-+ +-+ +-+ +-------+ +-+
| | | | | | | | | | | | | | | | |
+-------------+ | +-+ +-------------------------------|---|---|---------------------------------------------------------+ | | | | | | | | +-+ | |
| | | | | | | | | | | | | | | | | | | | |
| | | | | | +-+ +---+ | | | +-------------------------------------------------|-------------+ | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | |
+-------|-------------------|-|-+ | | +---+ I +-|---|-|---+ | | +-------------------------------------------------------------------|-|-----|---+ +-------+
| | | | | | | | | | | | | | | | | | | | | | | | | |
| | | +---------|-------------|---------+ +-|---------|---------|-----------+ | | | +---------|-|-------------------------------|-----+ |
| | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | +---|-------------|-------|---|-|-------------+ | | | +-------|-+ | | | +---------------------|-----|---+ | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | +---|---------|-----------|-------|---------------------|-------|-----------|-------------------------|-------|-------+ | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | +-----|---|-------|-------|-----|-----------------------------------------|---------|-------+ | +---------------------|-|-------------|---+
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | +-|-|---------------|-|-----|-----|-|---+ | | | | | | | | | | | | +-------------+ +-------|---+ | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
+---------------------+ +-------|-----|---------------|-|-----|-----|-|-----------+ | | | +-----------------|-----|-----|---------------------------|-----|-----+ | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | +-|---|-------|---------------------|-------------------|---------|-----|-------|---|-|-------|-----------------------+ | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | +-----|---+ +-------|-----------------|-----------|-------+ | | +---|-------------|---------------------|---------|-|-----+ | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | +-+ +-|-----------|-------------|-|-|---------------------+ | | +-|-----------------|-----------|---+ +---------|---------------|-|-|-----------------|-------------|-----|-----|---|---------+
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | +-|-|-+ | | | | | | | | | +---|-----+ | | | | | | | | | | +-----|-----|-----|---+ | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | +---+ | | | | | | | +-|---|---|-|-----+ | +-------------|-----------|---+ | | | | | | | | | | | | | +-----------------------|-+ | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | +---------------------------------------|---|---|---|---------------------|-------------------+ | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | +-----|-+ | +-----|-----------|---|-|-|-------------+ +---|-+ | | | +-----+ | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | +-|-|-|---+ | | | | | | | | | | +-------------|-----------------|-|---|-|-|---|---------------|-|-|-|-----+ | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | +---------|-|-----|-+ | | | | | | | | | +-------------------|----------------------C--|---------------+ | | | | | | | | | +-------|-----|-----+ | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | +-----------------|-------|-|---|-|-----------|-----|-|-|-|-----|-----------------|---|---------------------|-----|-----------|-------|-------|-----------|-----------|-----+ | | | | +-|-+ | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +-|---|-+ | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | +---------------------|---|---------|---------+ | | | | +---+ | | | | | | | | | | +-|-----------------+ | | | +-------+ |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +-|---------|-----|-|---+ | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | +---|---|-+ | | | +---+ | | | | | | | +-----|-----|---|-|-----------------|-----|---+ | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | +-|---|-------+ | | | | | | | | | | | | | | | | | | | | | | | | +-|-|---------+ | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | +-|-----+ | | | | | | | | | | | | | | | | | | | | | | | | | | | | +---|-|---|-----|---|-|-+ | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | +-----+ +---------|---+ | | | | | | | | | | | | | | | | | | | +-|---+ | +-----|---+ | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +-+ | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
+-+ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +---------|-|---------------------------+ | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +-----------|-----------------------|---------------|-|-----|-----|-|-|-+
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +-|---|-|-+ |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | +-----|-------------|-----|-----|-----|---------|---------|-|-|-|-------|-----|-+ | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | +-------|-----|---|---|-----|-----|-----------|---|-|---|-|-|-----|-----|---------------|-|-----------|-----|-----|-----|---------|-----|-----|-|-|-----|-|-----|---|-|-------+ |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | +-|---|---------|---|-------------------|-|-|---|-|---|-|-----------------|-----------|-|-----------|-----|-----|---------------------|-----------|---------|-----|---|---------|-+
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | +---|---------|---|---|-----------|-----------------|---|---|------L----|-|-------+ | | | | | | | | | | | +-|-|-|---|-|---|-----|-|---+ | +---+ |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +---------------------|-|-----|-----------|-------|---+ |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | +-|-----------|-|---+ | +-------------|-----------------|---|-----|-|---|-|-----|---|-|---+ | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | +-------------|---|-------|-----|---------|---|-|-----|-----------+ | | | +-|-------|-------|-----|---+ |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +-------|-|-------------|---|-+ | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | X | | | | | | | | | | |
| | | | | +---|-------|-----------------|---|-|-------------------|---------+ +-----|-------------|-----|-----|-----------------------|-|-------|---|-|---|-|-|-|-------+ |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
+--B--|---------+ | | | | | | | | | | | | | | | | | | | | | | +-|-----------|---+ | | | | | | | | | | +-|---|---------+ | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | +---|-|-----------|---------|-------------|-------|-----|-|-|-----|---|-----------------------|-------|-|-------|-|-----|---|-----|-----|---|-----|-----|-|-----|---+ | +-|-|-|---+ |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | +-----------------------|-------|-|-|---------------|-------|-|-------+ | | | | | +-+ |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | +-----|-|-----------|-|---|-------------|---|-------|-----|---|-|---|-----|---------------|-----|-|-|-------|-|-------+ | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | +-------------|-|-|---------|---+ | | | | | | | | | | | | | +-|-----------------|-------+ | | | | | | | | | | | | | +---|---------|-----+ | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | +---|-|-|---------|---------------------|---|-------|-----|-|-----|---+ +---|-------------|---|-------------------------|-|-|-----------|---|---------|-|-|---|-|---|---+ | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | +---|---------------------------------------|---------|-|---|-|---|-----|-----------|-|-----+ |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | +-|-|-----|-|-----------|-------------|-|-|---------|---|-----|-------|-----------|---|-------------+ | | | | | | | | | | | +-----|-|---+ | | +-|-|-+ | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | +-------|-|-------|-------------------------|---------|---|---------------------------------|---------------------|-|---|-|---|-----|-----|-------------|-|-----|-|-|---|---+ | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | +---------------------|---|-----------------|---------|-|---|---------------|---------|-------|---|---|-----------+ |
| | P | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | +-------------|-----|---|-|-----+ | | | | | | | | | | | | | | | | | | | | | | | | +-----|-|-|-|---|---|---+ | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | +-----|-----|-------|---|-----------------|-------------------------|---------------|-|---|-------|---|-----|---------|-+ | | | +-----|-|-|---|---------+ | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +-|-|-----|---+ | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | +---------|---+ | +---|-----|---|-|-------------|-----|-------|-|---------|---+ | +-----|-----|-----|-|-|-------------+ | +---------|-------|---|-|-|-----|-+ | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | +-+ | | | | | +---------|-----|-|-------|-|-----+ | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | +-----------|-----------|-----|-----|---|-|-----|---------|-----|-|-|-------|-|-+ | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | +-------------------|-----|---|-|-|-------------|-----------|---|-----|---+ | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
+-|-------------------|---------|-|---------------|-----|-|-----|-------|-|-|-----+ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | +-----|------H------+ | | | | | | | | | | +-|-----|---|-+ | | | +-+ | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +-----|---|---------+ | | +-|-+ | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| +-----|-----|---------+ | | | | | | | | | | | | | | | | | | | +---------------|-----|-|---|-------------|---|-----|-|-----|-----------------+ | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | V | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
+-|-------------|-------+ | | | | | | | | | | | | | | | | | | | | +---------------|-------|-+ | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | +-------------+ | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
+-+ | | | | | | | | +-------------|-------|---|-------+ | | | | +---|-|-|-----------|-|-------+ | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | +-----|-|-------------|---|---------------|-------|---|-------|---|-----|---|---------------------|---|---|-------------------|-----|---|-|-------|-------|-------|-+ | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | +---|-------------------|---------+ | | | | | | | +---+ | | +-|-+ | | | | | | | | | | | | +---|---------|-|-----+ | | +---------+ | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | +-------|-------------------+ +---------+ | | +-----|---|---|-+ | | | | | | | | | | +---------|---|---------|---|-+ | | | | | | | +-+ | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | +-|-------|---|---+ +---------|-------------|-|-|-|-----|---|---|-|---------+ +-----|-----------------------------------|-----------|---|---|---|-|-------|-+ | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | T | | | | | | | | | | | | | |
+---|-----|-|-------|-------|---------------------------------|---|---------|-|-----|---|-----------------------|---------------|-|-----|---+ | | | | | | | | | | | +-+ | | +-+ | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | +-----|-|-|-----|---|---------|---|-----------------------|-------|-|-----------|-|-|----------E------|-------|---|---+ | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | +-------|-----------|---------------------------|-|-|---|---|-----------|---|-----+ | | | | | | | | | | | | | +---|-----------|---------|---+ | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | +-|-|-------------------------------|-|-|-------|-|---|---------|---------------+ | +---------------|---|---------|---------------------|---+ | | | | +-+ | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | +---------------------------------|-|-|---|---|-|---|-|-------|-----------|-------|-----------|---|-------------|---|-----|---|---|-----|-|-------|---+ | +-+ | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
+-----+ +-----+ | | | | | | | | | | | | | | | | | | +---|-+ | | | | | | +-----|-------|---------|-----------|-----+ | +---|-+ | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
+---------------------------|---+ | | | | | | | | | | +-------|-------|-----------|-------|---|-----------|-|---------------------|-----|-|---+ | +-------|-+ | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | +---|-----------|---|-|-----|-------|---|-|-----+ | | +-|---------|---|---------|-|---|-+ | | +-+ | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
+-----------|-----|-------|---|---------------------------------|-------|---|-------|---------------|-----------|---+ | | | | | | | | | +-----|-+ | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
+---------------|-|-|---------|-----------------------------|-----|-|-------|-|---|-|---|---|-------|---------------|-------|---|-|-|---------|---+ | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | +-|---|-+ +-------------------------------+ | | | | | +-----|---|-------|---------------|-------|-------|---+ | | | +-----|-|---|-----------|-|---------------|---+ | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
+-----------|-----|-|---|-|---|-|---+ | | | | | | | | | | | | | | +---|---|---|-|-|-+ | | | | | +---|---------|-|-----|-|---|---+ +-----|---+ | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | +---------------|---|-------|---|-|-----|---|-----------|---|-|---------|-------|-|-|---+ | | +---+ | | | | +-+ | +---|-------------+ | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | +-------+ +-------|-----------------------------|---+ +-|-----------|-------+ | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
+---+ | | +-----|---------|---------|---------------|-------|-----|-+ | | | | | +---------|-----|-------|-------------|---------|-|-----------|-----|---+ | +-|-+ | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
+---|-----+ | | | | | | | | | | | | | | | +-|---|-----|---|-----------|-------+ +-----|---|-----------------|-----|-------|-|---------------|-------|---+ | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | +---|---|-|-----|---+ | | | | | +---------|---|-------------------------------------|-|-------------------------|-|---+ | | | | +-------|-|-------+ | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | +---------|---------------|-----------|---|-------------|---------------|-----|-----------|---------+ | +-+ | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
+-----|-----|---------+ | | | | +---+ | | | +-----------------------|-----------------+ | | | | | | | | | | | | | +---------|---+ +-----|-+ | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| +---|-------|---|-+ | | +-------|---------------|-----------------------|---|---|-------------|-|-----------+ | | | | +-------|---|-|-+ | | +---|-----|-----------|---|---+ | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | +-|-----------------------+ | +-----------|---------------+ | | | +-|-----|-|-------+ | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
+-----|-----------|-------|-------|---------------|-------|-------------+ | +---+ +-|-----|-------------------|-------------|-|-----|---+ +-+ | | | | | | | +---+ +-+ | | +---+ | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | +---+ | | | | | | | +---------------|-----|-----------------------------------------|---------+ | | | +-------|-----------+ | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | |
| +-----------|-------|---------------|-|-----|-------------------------------------|-------------------|-----------+ | +-----+ +-----------------------+ | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | |
| +---------------------------|-----|-------------------------------|-------|-----------------|-------------+ +-------------|-------------+ +-------|---+ | | |
| | | | | | | | | | | | | | | | | | | | | |
+-------------------|-----------------------|-|-----|---------------------------------------------+ +---------|---------------------------+ | | | +---|-+ | | | | |
| | | | | | | | | | | | | | | | | | | | | |
+-------+ +-+ +---------+ +-------------+ +---------|---------------------------|-----|---------------|-----------+ +---|-+
| | | | | | | | | |
+-------------------------------------+ +-----------------+ +-----|-------------------------------+ | |
| | | | | | | |
+-------------------------------------------------------------------------------------------+ +-+ +---------------+ +-+

File diff suppressed because it is too large Load Diff

View File

@@ -1,108 +0,0 @@
../.. => .../.#./.#.
#./.. => .../#../#..
##/.. => #.#/.#./.#.
.#/#. => ##./##./...
##/#. => .##/###/#..
##/## => .##/#../##.
.../.../... => .#.#/###./##.#/###.
#../.../... => #.#./..#./..../#.#.
.#./.../... => #.##/..#./.#.#/####
##./.../... => ###./.#../####/##..
#.#/.../... => ...#/####/#.##/...#
###/.../... => .#../..#./#..#/..#.
.#./#../... => ###./.##./#.../..#.
##./#../... => #.#./...#/..../.###
..#/#../... => ..../..../##../#..#
#.#/#../... => ..#./#..#/.#../..##
.##/#../... => ##../.#.#/.##./...#
###/#../... => ..../#.../#..#/#..#
.../.#./... => ##.#/#.#./#.../#..#
#../.#./... => ..#./#.#./.##./....
.#./.#./... => ..##/#.../..../###.
##./.#./... => .#../...#/.##./.#.#
#.#/.#./... => ...#/#..#/.#../.###
###/.#./... => ###./.###/##.#/#.##
.#./##./... => ##.#/##../..##/..##
##./##./... => #.##/.###/.##./###.
..#/##./... => ##.#/.##./..##/####
#.#/##./... => ####/####/#.##/.#..
.##/##./... => ####/.#../####/#..#
###/##./... => #.#./..#./###./..#.
.../#.#/... => #.../..../.#../#.##
#../#.#/... => ..#./###./####/..#.
.#./#.#/... => #.##/.#../##.#/#.#.
##./#.#/... => ###./.###/###./##..
#.#/#.#/... => ...#/.##./.#.#/#.##
###/#.#/... => ####/#.../###./###.
.../###/... => ..##/#.##/.#../.#..
#../###/... => ..../.###/.#.#/...#
.#./###/... => #.##/.#.#/.#.#/.##.
##./###/... => #..#/.#.#/#.##/#.#.
#.#/###/... => #.../##../#.##/##.#
###/###/... => .#../.#../.###/..#.
..#/.../#.. => ...#/.##./.##./####
#.#/.../#.. => ##.#/##../#.#./.#..
.##/.../#.. => #..#/.##./####/.#..
###/.../#.. => ..../..../..##/..##
.##/#../#.. => ..##/.##./#..#/###.
###/#../#.. => ##.#/#..#/#.../#..#
..#/.#./#.. => #..#/##.#/.##./#..#
#.#/.#./#.. => .#../####/..##/#.##
.##/.#./#.. => ###./#..#/.##./###.
###/.#./#.. => ####/###./##../..##
.##/##./#.. => #.../####/...#/####
###/##./#.. => .#../#.##/.##./####
#../..#/#.. => .#../####/#.../....
.#./..#/#.. => .#.#/...#/.###/.#.#
##./..#/#.. => ..##/#..#/#..#/....
#.#/..#/#.. => .###/.#.#/.##./#.#.
.##/..#/#.. => ...#/#.##/#.../..##
###/..#/#.. => #.##/#.##/...#/#.##
#../#.#/#.. => #..#/..##/.#../.###
.#./#.#/#.. => #.##/..../.##./.#..
##./#.#/#.. => #.#./..#./.#.#/.#..
..#/#.#/#.. => ...#/#..#/###./##..
#.#/#.#/#.. => ##.#/##.#/.#.#/.#..
.##/#.#/#.. => #..#/#..#/##../.#..
###/#.#/#.. => #.##/..##/##.#/....
#../.##/#.. => ##.#/.##./...#/.#.#
.#./.##/#.. => .##./.###/###./.#.#
##./.##/#.. => #.#./#.##/..##/.#..
#.#/.##/#.. => ..#./.##./..##/.#..
.##/.##/#.. => ##../..##/#..#/#...
###/.##/#.. => ###./#..#/##.#/..#.
#../###/#.. => .###/#.../####/#.#.
.#./###/#.. => #.#./.###/#..#/....
##./###/#.. => ..#./.#.#/#.../#...
..#/###/#.. => ...#/..#./##../#..#
#.#/###/#.. => .#.#/###./.#../##..
.##/###/#.. => .#../###./..#./##..
###/###/#.. => .#../..##/#.../#...
.#./#.#/.#. => ##.#/..../##../.#..
##./#.#/.#. => #.../#.##/.###/#.##
#.#/#.#/.#. => ...#/..##/##.#/#.##
###/#.#/.#. => ...#/.#.#/###./#..#
.#./###/.#. => ...#/...#/##../#.##
##./###/.#. => ###./###./.#.#/..##
#.#/###/.#. => ..../#..#/..##/#..#
###/###/.#. => .#.#/.#.#/##../.###
#.#/..#/##. => .##./..#./##../....
###/..#/##. => ####/...#/.#.#/#...
.##/#.#/##. => ..#./...#/###./.#..
###/#.#/##. => ..../.#../.#../#.#.
#.#/.##/##. => .##./..../#.../.#.#
###/.##/##. => ..../#..#/...#/#...
.##/###/##. => #.##/##.#/#.../..#.
###/###/##. => .#../.###/###./##.#
#.#/.../#.# => .#.#/..../#..#/.#..
###/.../#.# => ##../#.##/##.#/..#.
###/#../#.# => .#.#/..../.#.#/.###
#.#/.#./#.# => ...#/..../##.#/#...
###/.#./#.# => ####/.###/#.#./#.##
###/##./#.# => #..#/.###/...#/###.
#.#/#.#/#.# => #.##/...#/.###/.##.
###/#.#/#.# => #.../.#.#/.#.#/.###
#.#/###/#.# => ##.#/##../###./#...
###/###/#.# => .##./.###/.#../..##
###/#.#/### => #.##/###./#..#/#..#
###/###/### => #.../..../#..#/#...

View File

@@ -1,25 +0,0 @@
..######.###...######...#
.##..##.#....#..##.#....#
.##.#....###..##.###.#.#.
#.#.###.#####.###.##.##.#
.###.#.#.###.####..##.###
..####.##..#.#.#####...##
....##.###..#.#..#...####
.#.##.##.#..##...##.###..
.######..#..#.#####....##
###.##.###.########...###
.#.#.#..#.##.#..###...#..
.#.##.#.####.#.#.....###.
##..###.###..##...#.##.##
##.#.##..#...##...#...###
##..#..###.#..##.#.#.#.#.
.##.#####..##....#.#.#..#
..#.######.##...#..#.##..
#.##...#.#....###.#.##.#.
.#..#.#.#..#.####..#.####
.##...##....##..#.#.###..
..##.#.#.##..##.#.#....#.
###.###.######.#.########
..#.####.#.#.##..####...#
#.##..#.#.####...#..#..##
###.###.#..##..#.###....#

View File

@@ -1,32 +0,0 @@
set b 99
set c b
jnz a 2
jnz 1 5
mul b 100
sub b -100000
set c b
sub c -17000
set f 1
set d 2
set e 2
set g d
mul g e
sub g b
jnz g 2
set f 0
sub e -1
set g e
sub g b
jnz g -8
sub d -1
set g d
sub g b
jnz g -13
jnz f 2
sub h -1
set g b
sub g c
jnz g 2
jnz 1 3
sub b -17
jnz 1 -23

View File

@@ -1,57 +0,0 @@
14/42
2/3
6/44
4/10
23/49
35/39
46/46
5/29
13/20
33/9
24/50
0/30
9/10
41/44
35/50
44/50
5/11
21/24
7/39
46/31
38/38
22/26
8/9
16/4
23/39
26/5
40/40
29/29
5/20
3/32
42/11
16/14
27/49
36/20
18/39
49/41
16/6
24/46
44/48
36/4
6/6
13/6
42/12
29/41
39/39
9/3
30/2
25/20
15/6
15/23
28/40
8/7
26/23
48/10
28/28
2/13
48/14

View File

@@ -1,512 +0,0 @@
kvvfl kvvfl olud wjqsqa olud frc
slhm rdfm yxb rsobyt rdfm
pib wzfr xyoakcu zoapeze rtdxt rikc jyeps wdyo hawr xyoakcu hawr
ismtq qwoi kzt ktgzoc gnxblp dzfayil ftfx asscba ionxi dzfayil qwoi
dzuhys kfekxe nvdhdtj hzusdy xzhehgc dhtvdnj oxwlvef
gxg qahl aaipx tkmckn hcsuhy jsudcmy kcefhpn kiasaj tkmckn
roan kqnztj edc zpjwb
yzc roc qrygby rsvts nyijgwr xnpqz
jqgj hhgtw tmychia whkm vvxoq tfbzpe ska ldjmvmo
nyeeg omn geyen ngyee rcjt rjuxh
qpq udci tnp fdfk kffd eyzvmg ufppf wfuodj toamfn tkze jzsb
rrcgxyp rbufd tfjmok vpyhej hcnz ftkojm
jnmomfc jnmomfc bkluz izn ovvm flsch bkluz
odisl hzwv hiasrhi hez ihihsra qpbmi ltwjj iknkwxf nbdtq gbo
gjtszl gjtszl fruo fruo
rdapv gaik cqboix sxnizhh uxmpali jdd usqnz advrp dze
flooz flooz qad tcrq yze bnoijff qpqu vup hyagwll
lnazok dze foi tqwjsk hpx qcql euzpj mwfrk
ilb fmviby ivybmf gtx xtg
rpauuu timere gyg wcolt ireetm safi
croe szwmq bbhd lciird vhcci pdax
hnc ykswt qqqmei goe bri wmyai hnc qpgqc pberqf bzs
hsnrb wdvh iezzrq iezzrq rdbmpta iezzrq kemnptg alkjnp wymmz
ngw don ddvyds nlhkoa aaf gptumum ugtpmmu
vmccke qbpag kvf kvf tgrfghb kvf bhpd sglgx
obomgk bkcgo yso ttft vbw ckl wjgk
fli qvw zhin dfpgfjb udsin nihz ovr tiewo
tgmzmph hauzieo jmg tdbtl lvfr qpaayq qapaqy ausioeu jun piygx
jkp guqrnx asdqmxf vmfvtqb tloqgyo ioix gajowri tmek ilc puhipb
uycn zxqm znft ayal znacus kvcyd ekv qqfpnh
fqghur xtbtdd ztjrylr bpuikb ziyk
rvakn uqbl ozitpdh uqbl dsej xehj
laxp haz jyd xnkrb ijldth woy xapl iqgg alpx gnupa ukptmmh
dyiy dyiy ihb qcyxr
wbwkd hdwu zvgkn hdwu wjc sakwhn zxujdo npllzp uyr uyr
fxczpmn cininu akcxs ggslxr riyxe ojisxe
ppbch sampq dnct afikor dnct edsqy pnzyzmc afikor
jnvygtn hijqjxl vsd jnvygtn nqcqv zns odq gkboxrv kolnq wrvd
mroq mroq flsbu flsbu
fyshor xvpaunj qmktlo xoce wkiyfu ukcl srndc ugwylwm ozcwdw mtqcste kpokr
cfh cxjvx cfh cfh uewshh
bpspbap bpspbap fquj mxmn bwls iirhvuk dmpkyt exrn mxmn
tvyvzk ezszod ntxr xtnr och
knfxhy kbnyl knfxhy xhkssx lxru uprh nkxpbx oodolxr tpvyf
nblmysu iwoffs upgof tyagwf aan vovji ajk ywzq oyfi sfulz
aushzkm lcaeki mkuzsah ynxvte rsntd refk pcm
mgguob gobmug dzenpty gmogbu
yvq eepof rgnree nerger fpb stfrln ernger
hrgkbl mzwvswk rsrsbk ieru holco pajvvn ztgsr qkyp fyeg owpcmoj
fowda gmsqdca yugj mcrroxv mqcbojd fjnqfji qdfsc jqs
qnc rvjfz vvxk sjd xrma ucdjvq sbw zydyt dfzww
ocajazv cozaajv tqunkla udwf ecnnmbz lsakqg bki njnda zsdu ccfqw rxpc
qqm qdfya qxyx qmq qfday uqnfttt
rnbirb iapor qet iapor hxkhz dfvzig pedl ybyb
mkgamxg xkniv meb hbzmxjn dhbj zhbxjmn hdjb
ilteux pyutyfx mau lrr bacak
sjjonmn dbbbgs crxyuu jztstgd ezb uiabyaa
tra fle ufzlvf nnaw kec hiwnnlj tei wld iyt syk hjdczb
qmd jtlud dgh dbanock fzp dsjgqru wwvo jwvxwgv xlemfij jcacd
rpkx oxesil snazcgx fly miiyc ikmtmp oefyyn egbw
ypfpeu wldnyd acchppb yqwcaw wldnyd turbz megci nbgxq xkc ypfpeu
iqqv iqqv neui iqqv
ypsxm icqyup zyetrwq nbisrv
viommi toszx dpueq eyy cunjou ffcjc jaeez djefra pxvkj liudlig yye
fhnacbg jghchh ghjhhc iue hwqmo
vbjw lpn cizba ltnsfpz tzoweml irewlc uzckhpd mszal obd
yeos utxkft hflxkfe fxczge qpgigkc ksgr vuumql vhlvv
xzmkv xzmkv krecdi klpem jsbu nwcmik emfzxf cjmpgnj
vtkjo pmiv zou gxo qdiyxsf hwyinjk jhkgf rjq
dyuoc ywiyvch irfgl ywiyvch fxb fxb
tuz onhr syu rqya abkaf bcfx mbknex juwoor zmksl
oheg spjorx ksdy vwtq fxz phvtazk tcze lrxg
hew lbup botaj ltr jpd
dxgc tzinkej gnz hxvvub adsqmc dxgc asgpp rqbdcra goy pmamdua bhiacva
xqv ygb kihxqz vyv pjcny vmyvsdv cgsi nfyx
tqga ssshrw ndq qlbvwh huyd pxbgj qbxk dkkbf jxy chsobw pph
hxl iwph iwph xnr otifm ljhre
zlgvpd kapxpoc dve rklk ogh hgnp rbrmc zzkz hhmcx aklmo
sar gfor nkf hek nkf aql shc aql
dtcrw kfjzcjx qyhi bldson whwdayo mqtgt xhqzp ttqmg
omspdml isze jdl nvwo qrkm wztfg ssfgyh dryj jhp unsmty
jxt cszylng ifht ixtuna azoi xutqlv jtx tjx
usgm azuayp fgkby ezpyq jqwl ezofj
tnhvil nrvg moyrpqs sldx qymoff megflxh pyhqwms xmdw
zomy zcquwnv lzx bvcna yods mjp dgsez
blklyf xokd gpit tiysj yrwfhm tofx
dtig vhdp omuj vhpd
fogwxim qvdwig emdiv jvhl euwbzkg xvxb hwmqo ujdmlp epmykj
sjxll sjxll pedvgb sjxll
drvay gtzhgtx yrt okz nqf
haxfazn pvkovwb pgu tgshw mxcjf pbe nwoymzc mxcjf pbe hydwy jradcr
prjsloa ahylvj okbsj qbdcdjt pmfo pagyoeg vkmhjzt khzmjvt opfm xfrji gyjqyel
lzypt jdbtrad ogr jdbtrad heink
rcoucuq gdxewa rcoucuq whlw zhhm rcoucuq azaqohe mzyli rdvaf
yuag ebcf yuag nsotg qqzuxr jfmao vyucw wmoye
qwvk xemm hgqrr wyxkpp tojndm xlvzypw jus bgnu bgnu nklfwhs
daqi knenmku ccm xkiuy vkexsbc kvvdagx umopitw yaocnx yoakqql mllmsp
mrxgl gywit mfopia ncnsvw vdxek axuiot rsejua nei prndudz mnu
egqn gaa qgen urs mix zbn rhn
ewharq aihy udkdaob kgrdd kgrdd kugbjtj fcef llqb pduxaq wcexmm
dwtiw nelq hppad algxgf gcc upou akm efnb mxmhrud
yxqaa ups okbhgt iet qns tqn rnjqxgp
npmhdm cgds ldexvr typi jyivoqk zkgq vfyxu xgfo
dkwnmr umm dkwnmr okpjw wqx jpztebl eqsib dkwnmr
dxbild wpbup evscivq dxbild dxbild geqp ojfbpl jshvqej
cxdntxs csfocjd pyy tuhws teb boyloz xfw scxh pxhonky
lteucke xrgwy hszgzu hnyrcvb
pfgsgwg dxzh fworek qbstod
usemcrf psczxu gcjtr brls
hjol efxczux bqdn gvrnpey yyoqse gbam ndzyj lbwb bhzn unsezg
bapw xifz blupk qqdk bofvqpp wnbuwyt rnwocu lzwgtt zucag pov
xkre lqvd juf lqvd xio xyg xyg
tzdao ztheib aymcf aorg iyawrch hetcxa iyawrch czdymc ccv
ucgl azlppu jvxqlj pest
dvwlw fuuy mnhmm okrp ualnqlm uyuznba fzyejk yaq crl ctprp
odfq knox mkbcku pxucmuf lpjpol phl
ixongh hfs ruorbd auy qyssl kykwcix aytsm rlj aytsm duq segpqhk
izufsk wedpzh podjkor eamo vqvev ifnz podjkor xrnuqe
twyfps bmdbgtu qye qkwjms
wlav htym vhsnu cocphsj mdsuq vhsnu jflgmrp
opajag itwjhfu purnnvk opajag
hpkopqp vnj aialpt lzrkzfs nwucez nwuezc
mcx hzcjxq zbxr dsx tpknx fva
rlvgm xrejsvn ghawxb efyos xty wdzdgh olahbtn rga efyos vhtm nsr
cni mbab qtgeiow ulttn rckc kmiaju jvbq emyvpew cdlxldn ulttn brhkprx
eykpffp rapik qki fhjgdyu tome ehjuy bibjk htxd vexvag
wrk dpxt gwkuiov gbkif ike gbkif pcd wpj toywyf qzsa aol
yqwzh uujn ujun ujnu
srs ralwxrz yxvvmgp sjhbhk waasid cqtxoxf whcladv jkmaq khjbsh dlavcwh
mdvsjh xaj etvxlsy fxgiy rgjesel rlegesj ptriz ebdyhkp kugxm dxv egljser
lhehwrs mqevb ygmv gri izop qgb ivm
loqqam alojlwg hgen hbyw qlwpun loqqam worgnwk kope
phozre todsknr todsknr ibj mvllsar
wuripy ruwlfbh wukbkey qhq iishw tvtvci xawvxc vxacwx hsiwi ogq
xryq vxwupqa zhqex aquxpwv bnvxrba dtbxki
yvvwh zvsm vqskhp vqskhp ggqqlw bpn wbuv
kqz tdy goqwge ygn jgd
szjjhdk zkpoo nxexz ebicc
wzuemcj oyd qupulju iaakzmt vzkvz
nppahov umm wpzev wxkgfxd owgekp bhhb bbhh dgviiw kdfgxwx wryb
bnc rhes lmbuhhy kwbefga bnc rtxnvz bnc
ani mggxf mcoixh zdd nai hbhzl mes bdpqr
mjn uinoty jjegvze bjgqg yhqsxbt coj obylb hddude xqi rhfbhha alood
cbjzj drmihy tfkrhsd nuhav hihzx bvblqpl tdd szmp gjgfv box
uumhdxd cmwgyf vepr rwqdkj exwk
hwvr ydvw bqefu kghes gvbhp awms iqsqes khgse
mrey jqfw fwvzhps komj dayvs fbui zmtd cofn mrey
dsjds fdpx irjj usndok qcctsvf fgk wvg txwxcl dxs llp zyilwtq
xmkelgk fdukc cye legkxkm wwly
enlny eynln cccku brkz dpof mwfoxcd yftmnqh wpebvyc
ggdn jnysl dsacffw ukj hdae cmzxku
uqhm gcachmn kxndfrl htmfis jfnajz fiqiypr kekho kekho ndcw ckrndub dejfna
keazuq ertql rauwl keazuq obmh rauwl ksrotm
jppp poigqhv repfsje grjk xwkyuh pkx ayzcj hoxzv
yhjw pcuyad icie icie icie hwcsuy wcd yihjh jnrxs
gaug ivvx ceb xujonak hbtfkeb ttciml cctoz
dggyyi dggyyi gqlyumf yasu fwdfa cbb nncn verhq
rhgcw gpcyct kiuhbg kiuhbg gpcyct jlmleo nhumm
wulxxu jyjek hclcp ogob viex wiqcupq
tthu nxgzpid kcnj mss ukapgkp nnc bxjocv qwxs oejwsif aywqtu brahkb
dtde bgvb smu vbbg zhlu
lyo nwjjmep ldbok wgxhto wwuh qfgjknk wnsl
lleyr onha hkwulbm jfg
bybjwd uoxvbh mvj iqfpnxs bybjwd zqtszp wvc lbazjr zkzenja cev
rbuyyr divtslq yuqmyt ajyveb smxsjb nlk tzqhq ims fewg wpjhr gqh
kpewfd beq klilis klisli eeezut
euqh hueq ldoo crqurv lvrwh tmaewp oodl
bqi lzrf jyhvxfh bqi jyhvxfh nbztd lwpdn cuzi
srjylou phavzjd wost uxkaq byh sluryoj
ihrdk bcegkpq nygrs qbcq wyjg dvzme pgzhjl vibg kvv
ijsx iedemek ktlz gtga tbal lbki gtga
vmiaxn kefig kefig vngxz
vrdmfvi qts vlvhq vlvhq dihmq
cfz dyrz zlw qnt vok fwvahg skshbqf hbwozdc ntana jdb uflp
rimbj bxemw sfps krtk umta vnk ewmbx nrlje ymrtqrz mxewb kjxunbt
egnuti ozat eltl ngueti
qtcwoxq rmaf qtcwoxq qtcwoxq
zws gcoa pydruw qsrk lrkybdf ugr wkrxoj nyvf vitwn
tmr hhd dojid zwrj bhsim righ keqlep flzunou
lwoquvy acjowxk tqudk oenvioh nyavyl
rgh dfhgyke iff cpxhuz hui koe iff hui dmukrei
bjiumig lcbmbgh vleipx sfawua rnf
gftfh qwb tfdroe xbno qhgofm vqfoe mux
ljdrr gyfggai iun nju xrucbis mhrcrh fukr obvuqc whlalfe xrucbis nju
nxjmjr egqwg arllu xqaahri lzc ivt uhsti
sqiepba rcmts kvesv nvp
tiksw tiksw rjni gbhvzm ctbq zuqfyvz
ibsnm kfka aoqigwo sqouih rxz
jmymq lxio adtmk umyu sxvzquq bporqnb heol fow
mepa eckq rqviawv dkqoei ifmngpp jiava rtklseu
yuycd jiufjci yuycd uowg yuycd udq izkicbr csxobh
nwu tfsjavb rruoxbn oepcov elxf rruoxbn rruoxbn azglwth jcjm ksqiqpv
dthfwip zqnwa zqnwa zqnwa
gso wruece ufl crgnlxv vllsm dpyfm wpa ctxko
wvpze seodz lpq lpq pmtp wsxs ffppx
yfxquj phvjn rtwieq rtwieq kgxztyu vbjvkc prqqd lyzmdo ojbrt ojbrt qiqjz
esaezr rpggiy jey kbzrhu uthus osr xxaiijd qfxlf auhzbx gkigoqw
yfhcj uvgck cds gjhhrg cmempgj yfhcj cjb
yxi voxvtuw unwg jqqm
igvjr ljz rus sru gbjtjt qfeg ztu zjl
leof ocxns hbkoysh hbkoysh leof
hab lyxmf yhh qeks fwhfxki xmbcak okqjii nfgzyg bhtfgdj lpmjn
mgognh tad herere lvwnzx ixwqs zphmuuc etdjz kczsf
mtej rlolsnn zbl uykek dpkan gmz etxtgj
mihuieo emjgbp jgks mihuieo iexrfw mjdnr bvp mcuzea xkbusvi
jvqpj bwt jvqpj bwt gxr
qpnd fpt tpor bibbpcg hmvguez wqc afl ckviua gpi
dntmcg jglm sxtnu sxtnu sxtnu
fzkbptw cbfwo ozvwov wbv gcdd izqo ovwzov lolewo xikqpw
nkxyxzd kpn datf fki werq mwidqx oiibor zizcjph
xvgyxym zor ijoy lvwsf fjuara idvvq rreit mqyyy ctio tzwqqhj rnpee
maqkfpk maqkfpk xukg sfdmnlg xjopvr xjopvr irf
liujcd vnlkouy dxkwc gto vhjvtw
swhqhj cas aupsd swhqhj cas bvbooii jquck dtdm
igh iqicicf ghi pcxt srcrjx gmf gyscphv
drplj drplj wopgpnk wytag wopgpnk
zexe ilcqoh qiefb txkuv lirfzv
ovvpn ovvpn uqeurqx uwzn hgmucj ovvpn sjxulms
rox silka irhsvym kutus otasof tdneav pcagds
mkja omu tyshbfq onp trxs lxa tftbv bnpl djhnc zdqfs muo
tjj rmmqas cbbkxs qio pikk ykyew gxlxt nhsyl ykyew
frcprg njrz oaxcmhc qben pedm ecvtga nzxwpb ior gaklot dpem
zyt kncau spoe qlchg sqys wkpbng yflju qlchg vkve bzadbpa
qtq pkaicl qtq mfkfqvr dnleiq brrjxsx uoyxh pkaicl yvmlug
firwy imtlp ywl qfa dqrbazz ztzb pcsbwhn zesmlag
ivey ivey mtvc mtvc
lhize acwf moa cdeoazd voktshy qmvqq jvmuvk ljfmq tsanygc
xreiqkc aawrovl pofcsg xreiqkc xreiqkc
cjbzvn ozds iniqu sdoz gqmki bablvll krs vjzcbn
izsod htkeqz entxn qtns prpcwu omfnmoy
kwfb tctzda aztctd tadtcz gyt wunbcub ydiwdin xxk
epnl ijcp giq ltfk zjcabve zfksmz epnl giq xxxbsom
ulyukpa mdjsbn dydko uhkdt qms aaaj hustlwu
zlsbu ohx jcwovf egf zlvpqgx qhejm wrywdmw
uhxqrzr mmu kjxcalj unuohiq rri yzngnb ikvlxry mfiym qbksdx
khqciz som yklmm jceb khqciz jspy jceb
ncwggv njvi nqox krtsn lnm
bgtqme xaxcoq qbtgme obqual vorfk baoqul lgrb
jli tsbb nlxjc pkwzmz dlxrj hmho gzguko ilj iyaasm
wlmw grkumg dynwtyo emxhhqr huluk slpqu uhqcmd absmr ufirmwr
pbs pcammxv dplfr tzvmav nccyy blvyq ffhnz bccutq
hgge ghge vxmvz hqxgjdg zab guo gheg
ylj bucoyoq udndc wpgyrbx ueh udndc gxdsdh hdoz wwgqlg
cjdeh gttyqe kdkm ltzd lfeozse quvjq mnwhokm kdv oojxm nxt
mfkzus knqxt saxkqww njx zumsfk sbmcyad cpt agvbuv
tukn vyco yobvsn bzgnn klrnzy kea thzk pxpwq ryfff nxzm
ylbm lxlz lybm lzxl
wgtxoij zad slgsi cvnxfg iomswwl vmx
hkm yinhnkj kmh kwkw kayknck chur styjif yknakck
rtfwhkq rtfwhkq zsf zsf
sldq zlntr ueegiw kajivqc ozcbm ceft snvugom pdyc elppeed nnqrp prwwf
lhk xjonc muc tudag tsafx mmivb dvrjbp qgrew
hnzer fbgqp aazta aazta lxaz lmgv aazta
victgxu victgxu mlpd ummrnbx cazjgnw isxcyp efy zfa cyusj
gyojxo onzq gyojxo uxufp awi ilhl wefwfxr gcjlt tmliynw uxufp pdcnxah
wjwachn xkuhfbp oky oky ybaeqkr rbuix yreoaw wepmye brvon aasb
kiidorw vxtxiqx wtqvbrv efdth isel qbom vcssyc vxtxiqx wtqvbrv riafzsw mqzsj
eurpjd vkhdamt tmfx czeoot hiz ykz lmixzq tfur jhzr
ipuftpj qbll sqkkdw fwncmiv bri oeeh lehd ioh wag
suima nanngc imrmc krq atxdo woy atxdo akev qlr aezco qlr
cfc efwbzck ozkmcxv moczkvx ccf
bnekky iakrk sask uwgnjp iyi rynev bdnas ldh kass
sicmw vvjbvv cap nsumc xgvrlm wsoo uoqdu psykckm
ugg mtr wnzhmmh tjxc ehwnji lwhu mdsckk yvmk enubrqo
grb oxmxz ohu ytetedv ssx apzlppg fdkamm sxofc jdt ynmu wyejok
umoep rbyqm eqfk twqnog cptbbi dragna ngqs ffb cexxnc rbyqm
utizi ormkel wvwur bdx ecelqbv xiccama aag glfvmj
znb rsuqoa uxo svc
obs lbifa cffi catpd
qkxwian ajlzjz wewduzp bbyv qmt fsr qgiu epinp ghmf
hatg bfgmb aght ghat
kuq inp dun cknbun wmwsu drlmmg kyxc bdl
bddybth swdbf jhi fva qpobio bjwm wjaztp jywi
mgckz vhveu zkemhp zdf xtiqqew mlx wazgd
umbjq pya lvvxf jeavij rhrxvew bwjqgpr piz
xaycpwo vjcuc qksc yuixhni sfbfb dydyaq gdfvb tggg xidphvf bpjdrl goskxym
agxfoip gguif wvo agxfoip ntkbaw fbyggy ooft zxih
nzvsu ffwq uxvfbl qrql olhmhom qhdltg ymwz krtndtx olhmhom nfsv krtndtx
qdp jqk ustz xjripzv mnk grnodk pjwdsj uug zqxjqj
mufrcox zunisfs ocvcge acamm xua vor bsde kxr vor kxr orccxx
ncycbp anvcxay bmm wndmeaw oso knmk mmb wamenwd kmkv ppdd
motdcn xzagzwu vuzt utffrn yuqxzrh uvzt ujttq
tauoqy coiy ybesz tauoqy wpmr trquyne ahxbj jzhems dsdy
aczq ypw pgmzz srfn quatjgf
cih ypapk bfxvr euvhkk gugru auhqui
vyf pssgfvy dnhvbfl xpacme dnhvbfl mzdv iynq hcqu
lbzvbu hhxiq hdfyiiz iyzihfd xhqih uzdqyxr
iapbdll vdr cprmrkk vdr dfjqse mlry flpqk vdr
grrfkq xcpxd grrfkq dxc bjpr prvwh swoc swoc
bopo chvwuhf qhd ieesl xey ieesl fnjcbe
kic fyq hsucnu agwyl pzzmd hqksh psw
mxf uau iti lcoz lpg zbu ocre wqlocmh mxf nidqj lcoz
bypmix ptzxgmf xmtzgpf hrvzzq
lbfw zwusma lbfw tuyyy
lrf uej unswvh obgsb npbl zajr kenea uej qnyjcu wzufim qpzkgya
qcrxj llyu kligt hlm ehwtbx dda lgsvhdt xewfcv uikn
nfzjx izqdbq mfbxs imiuc yqxb xlmvix izqdbq eflqfq wku omgtuu izqdbq
lasdwg hiy btzt eefd eyoep icn nnmhg otml rek luixac nyzgn
vekteds utsuxdx utsuxdx vekteds
feyov qrij zbebwg ijrq seplram wttkwm zewbgb kzuhuh
dmkgtv wohgqo ddtqmv zatahx mym hqowog tkmvdg
vhha wjrmuyx kqh vyyrj xzchbi ejsdq orlxg vyyrj dlrc
yetngqn zdtuqox hkarjei fqpsgh eaqwbg zsssog ghb gddqqzr hbg
obldb zsrhz zxp uxphnev mwnbc pfjft fms xwslk vjm fxy
nfij dbfykv ttq gyjgac igxuyqi gtiioqx ilhdex dbfykv uyp bdiwya gqf
pffzruz vogfosh dcs wje
pohhf fhpoh oon yyz
xxuam afwm qxl lnt syyr bwxhhf sozauq shlhfmz kwnn milav ochq
wefcqrt gejw cwerqtf fttf gjew
jfsvnmr osca epwtle pgfif sxom
exlfzmq nakp rgdnx rrcvth vhrrct aajjdrt ryyg dsozd jdqlqj pakn iruv
rmcvo txszcs xxhyxz hbsozk wshkocf rmcvo rcbnt
kitz yjgney yvkymef nauj hmllsgl kyhm kqr pzsu rcf pzsu qpte
cdinpx bfur mkj naz ihkheyr nohhoe
ylris xeqcgup wap bbfih tgfoj
ina gnlnm zyeqhij cudfuf ipufae bvkdzni aat teqsg cudfuf bjokrbl teqsg
aedx edax dnfwq qndwf
rdngdy jde wvgkhto bdvngf mdup eskuvg ezli opibo mppoc mdup zrasc
qcnc iaw grjfsxe gnf gnf
zbjm snznt zelswrk gkhlnx dqxqn qqxnd dmro
zisecvx ztezof uzbq otnrtj qsjzkwm ewvcp rlir bfghlq tgapdr qxmr
ipnqj opjf vabyoe wkwnd
wyf mfqxnrf apm snarf jqu aaghx pwecbv lvghayg
acncv jmmbwlg oiphlm ifuo cvt
pvmb egansnd zmh gcuzzci rrxpslv ubith
uoleptg xbouzn xbmg cfh cpn wpqi xbouzn xtxis sxzpns
rilybri kurbpq vfmjpck tjyogho hfyxad svfofx lfbbhxj khaerfs iqr
seaebgz wlmtkre qguv qguv wlmtkre
sgo edkxya zdqgwtt gxu nibuu rairqoq mzxli dci qsv
tsol mdhzqr rmaqnru ggvcq arbwkn hlkcnj ljkcuof
mmliphp ocup puoc eijjv
gmajqpb ijki ijki kvz
pmqss unhlpcj dlkll nuhlcjp expe tlurzmv nsy vlumtzr tgseozl
gkvaoni hsba hsba viuedv phyoclp fdq phyoclp febld nqfs
rxvdtw abn pntv qrqfzz slsvv abn lrxix mnu npot
ghlfjp woy xwkbmv bkahpkj jve cncvk jvdype fwgvoju yrkwjp gwfvln mvkv
kmluh mie bby fwer chsinb ojglqr nqk mie
yzmiu igkgca ybnsqja jpfejtp yjddy xsosxfi ingx qwuhb emrkwpx idqjmmm
btrllw mphm dkvo ewdl dchcul yah btrllw kmqi mtvgk wtb
hxsgard yuikc lykt tdee adprp gpougod klnzk mzsmlb
hdn znblw ifoblur bwzln dbv
smofpbs vjuyiro llk lfzesga tybu tybu
gffnpug xaup iqiyz fjkpnkz drrk fwyxw lwzfskz gslwpmv vjxylva tbkyo nib
evydmb nhwuiiu fkerq nkgbuyy uclrs ydjgglh xhotwbm riirgzt
bsub eavbt uvd dpzwyt rhn khrbptt xszckc djnfxju axofhat powmso nvdffrv
xtuykl fjz mbikc xpnx hmey fjz fjz
rkls nwdcsyx rkls rkls
tygml untequ ybdfumz nqffbq uipc sove hfnqj
ytecew vven koqn royynd qsn ksl qsn sdw
hknlw qwho whoq oqwh
lzmmtqu qvhyeo cnofuj utpwkjz gnirz yhhu aodbnd
zsr axw kwtzcv tydzo kwtzcv lkxsm
rbjtqe nihifd gvdxd bpxzy rxteky vgcgllv vbbua anygiup rqo
dpd wblfwp wblfwp wblfwp ygahc tqjbaq
gsw gsw pacgj xmrcz zmxhmch xmrcz
pdq rhe xqmq lgpkhg fyffrot ovnqh wle
tbjavke ypzzrj jizx gdxoh icjsat otfh fmygumv
snch nxlgjgp jeyn sxoqfj jtage jtage iuice
rtb coefuj grwg grwg rtb krhqnma vfhgbr
vhegtl btorwxg szcev kbvkx itsk nlzpbed
hiukrf ilzkm yllhh xsgwkdp zyy kjbv
rfcg tdorci zcj wzftlv rfcg rfcg
lgbc lzizat vsno pau nvv vsno bbr lzizat qhtb gwp
sfwnio tcugjk bsfsz ykyfwg ibkap fsrvy mygk kzunawx zyhyh
mpavlh qps bylh lttjkz rqabgk vewb bwev tlzkjt gzrbxga ktmso prpkj
gpf ims ynh ffrs vpa iemp gofh cgbauje
secys qks mcnfhwh drog kqs pajy zoltkw lfihnb myb ioxptu
ytq nrta ouk ajqblf yuwwcd zdy blyoxbw dakk nvgi bzrhzaa
nkoych sufiia xkdvw crtldee zycl qblab egqhr qblab
nllno muxaf vds qjnitmw zkpj wskyhft kmqct xamuzpw qcai cdjtbt kaxv
qzdytpe osr fuw osr qzdytpe whperd rydwdcl knoa
zkdznhd peh duoygr zamrgl irnvj otpe pltpq jdkecg
byzgw rece iigdug ehif tpgje
ccnn foqdran gbctca tefdjxh ntcr rjciii xip xlss crl wvvhzqm twyohf
dqyii milqqc qjgkojp qjgkojp ryde
tdkyj tbrcud tsba vqtmb cjwxnf
hqhmq wemvrce nagig pwnw nagig epg nagig vlsi
tqgvw luoplw hccti npjm rytdruq cylrsun rytdruq vjsbjl rytdruq ppti
itgt tuwc itgt rvp itgt tigns eipl ksmru
pdw wdhtkn nbdbpn wff zhuuipg rvemv qxr
qgkwdq cjilayh ymeks mrpuzai dwgs stfstgz ucvqhb yout oiq
vpxik ypfr qytimvu qms oxbmw ppyfx
fwwidn gdhd pyuexk snsz iwndfw
lfcb sllxjna lfcb hpzahfg mmvgaa svny jhuzd
unyg gicmzd fwc spkciy toyq wjupckd vzzx iuqgka ytqycb pxsufj
goj tnrcml eyizngj txa xrkiw zvu igduz
wek xrrlkna clyof rrlnxak
cjm rmyuku vjom gtf
buk cfae awstd dywgqp hxo wcxvf laihqw xdqfes wdbh qceh uzlwj
sudguo dxwplto rlebdh bkamu dxwplto
crwkyxm yuz kjtdhom crwkyxm
trhc sduorxr aizfryh rsudxor gbyc
pczkyl bptp qnn nxmpwsx udrg hhlb rubtrmx twzodlp xygnht
jmqct cden yfajtkz fevcw sxonbxz sxonbxz qkzkm hhngr fbv
sdsnm mwvicr wypfi cty ndbowr woiz mrauwzd qlno mwvicr
vteyo fng lvr lxytn txpj milg
wjx ahtmgo cgwcaj kaxae fhlvlqf
ezj eetqhzu upwda iiefwlk vyvby
imalvy yeghqe jwcu mvrod cwju
bxnmsa yhfu npsdar tsbri hfuy sirbt oofxmy
fkndt elbjtn vepqtxt elvpf fpelv bzkgag qttexpv prblwb
rmq iqs yvprnyy iezqrzm wlqsrr
yviovq lekxghj oey qwhzj lxknxw qiyovv ksnt jptz
tyrg cifxt hugqf tyrg ffuiv jmax qyw fozfosq ffuiv
nmg rsl jpzazd qbtlf yxqtsj czwmdfd bamge lbjdof uqy jssc
cbx boozjip pwgvzlq rjz kxy kxy hszacok fvsq jhnir cnsba gafz
sbcuxb wfur nnnfqjj fdwg huhe sbcuxb
icwk qelbxs uevp qped zsnhh wpuok wddxsln ftnzupr ruxol cgxjb jbhh
izcp htykj xxmndoq amnspe htykj
vverol oixwlny vqd tvfzu henc gnyrwr
ytxio etytsx choynep zqapo hfjit
lkvgr oyzfa taiqr jok djatvy ckif tmdw oyzfa zroy
jlgpyp kkqysg oqjki hjohoug hbhta muilz zft
sumfyu wftcu bwwdcy lezimwa qwvxv zwh mqyv bmfot aii torcol rnt
tpdj xrw ccsbnh fhptv fwkxjfm dmqaokd bjci
zxi vmf vmf dpyg
sfzxysw lcms bkojtv bkojtv
opywo qll ipkitr mtwp tudrr svhyp huz bxsdpn xomfy
gkod luo qrosbp orbd rpsjzyd rlh gdok tze
nusiuq nusiuq zeys ahufexc
veno jntg avtmtdn qojxru zegdcql odfcetz pgehau
uqun vigjm ykac ozlelj danmji bibugox
rpuozh ajwru rbvuevv uhzsq
iawoe tyb aewio ymf byt inijv ctu fcys micsgzl pbby alt
gktyxp ris mqpfm bkqsfl nrg idbbcxg jhcf
qibt invvv qibt luitx rnm eby hrfbmwl wnap sgkzvb qlwc hrfbmwl
jwkv qecsjbw lycgldd wjvk tjcp dycldgl pzrvr zrlcf kji
nzsrmiq nmhse ilivrk kqv
besmyzi imkgpt iekbjax abxeijk uvzs wwv
jdocl uki ltswp tjkljc ymce iuepze qygqxzs tei lkry
hhyfy gvzd mqksxlq czn afe mesnag eep frwgekg mqksxlq phpy
ehg connnza ekt ddgokw
mpbsoms uzhzl xevww ztt uzhzl
lftybr firc awsud dsxdkk ltf ipjv dtx lcymth
vkcpb gxtxq yioeq fexj xxgqt
srvca fslnnvf nfmkpvt egw wemumq jie vznf dzsjw cukf kcvyir
yxjkl lyjkx jyxlk kgc xtz
tpoe xzov csp leleoqo noyre tdhf cyib sjgtdx raehdw nmcxp
qvt uhznqe bpvos vtq ddlebtd tqv
xlw utsxs gpia rvlvnts elkxr dddihy tnrslvv ibf wlx bxg
cwqnnrt rkkqyf dye yde fzl pthanj
boc rqjenpp xjqte jteqx pvoofc pidqe ruoucy gvnro ognrv
qhalb gnazwc fhl iuti
clnbjfo nnfs nnfs heymvr oarew oarew nxu
lwtrotg hiaxwj ymzbly nvhzjhj zlsaheg nvhzjhj ymzbly
rrvi tsjp tsjp tsjp killji
rpx hiclj cmwq ibhj nfd
pvwymn iebkd xmpw vuhhkap ksw zigzy mzzyyxy rmuh iwwhea cglfq
rlwelgy sffml jin qsdzro xlsty mgqzuu etxjuo emzd jgnoyq tkjuy vfvb
tkctdj hhkuc viskmy obw
zvjkuj akeky ikj jqd hfhzbwe bkc
btev nrdo hcyiuph stf qharfg vpmel mpfz nvs ytgbbc
ieepn ndueuw svmdr tcvumw mceyrn mrjwhyl tbdj mgrgvz
uxrs ckyi xpmqm czzrkl cjp
nlliwd wrqkrkz yjmng nlliwd zirde hcjjn wco ysf mgl
dxti lcahe ommare izlwf ramsfb nzgfvo ijvm fwymrdu bndq
isxy jpvuzu tdduyhw dixp cfa fkzbteg ytoi kepk ysf yqcpi
qmeprfj soqo ncgeor cqsuuj grzy wogxy vyblnbg slvtry vdols kka
ltykfp gtzl olrp gxend vapee deq
emywfbn dbfiut rkt wvwe dbfiut bwffhea yuzcxv gogpicp wvwe
vqvmrp ofbk dlfabd jwllzxk obx vqpwjj umvng tqwis fstxy fstxy
miha zgvyux rmraszo xwf
kjaagk btm kjaagk wkewjrg kjaagk
lbmli aizs omrdr gzktnx asiz ptanzpa xlo ljre ckyb wob
svz dlk rijagg avxmg fkzwhk uro gegm
dzplum temdw jqnm tvxcww bmg tftttpp deuw comxey xfimzjx caluczi nqn
uwvhxa ztkd nlsdyt vihl julkwwv uzch dwakhs
wkhuihh ycrc cxff vzcfhpp uegfd gaok kcnvz lhzogq lwa tyrypvu
idp zmrrzp zmrrzp nktp xsnx rjsxn
eybrnib ivgntl vaxsbpi eybrnib
nzvnq xvbfa pbhwwh ylju runvsj imlx vztesn
nfdohd nfdohd gtevnky pivjyct ihvd fzcsrq lko fmqk
kwpkks ecikxu bcxswlt qvrxm sbcqmh
kdjrmj piuh kdjrmj vnaf gyedkg vptxgm xezssxx zsg qjzpo zsg
oqo sley aqx qmpqb fgmylbj egd zivj kepxizv kuakyn lunbnd
hmcf hmcf xlhgc hmcf cdlm buofnx
onjcj yluonz kzmk phqo phqo phqo
ohaafy efl bnkkjww wwjnyoj dxeaig ywnjjwo slk hrbebw ohlyju elf
msohiqz aunk njki bfktdgi htmyrj mgx
numlzrl rmnlulz glb ltt fhbajz gqxpu
gko hco oai ryq xwy sdqosft spjkiu cxfhg ycwpglh noy rah
btzpjem brpk vqr atxu rhlh rqv jmg fvyus
phmxxgj ejx xje qtk hsb kqt npwj gqt
hujyjp nwmsd ant zipuya lrkahww uwqal vzlo qmbo twkjkse ufivi
zfbnyz fwvh xrnrw usn zin daq iwjzj
yykyg iwypfy hehqnl cjvk cevdrec
gui muuto wsta glqmx gfo rdmbv mxwz gffzt eejpw gion
lpng nduid iqbpu nduid knrqd
xwxn oefpckv gjaua ugaaj gjuaa
qxk aeql trqdmqc crzlinj crzlinj trqdmqc rijcne ewyf
rfv qmbe fvr bmeq
upqyfw lowzq wpen upqyfw gfskbil sljuzh wpen
bdcara qyhx rtaez qyq gbyr
evzls qxtxq clzd svbgqi zxlzgss vtrre fko eebo qjyl
zaapeo kpwhz tygknau nyd pch trp xqe
ypzcafg rnqmbh qtteg sncu ssojhhm zonfym thir xmgheb wqj gpjg ssojhhm
wvcwyn xrf muozyya lasdp xpjgu kpqv zkiihiv ifje cbdlavg xbied hfnaa
qqqb rettz rycukl ihpkhh
dnxzxqv znb znb fbxj azxtezb xvxa
peqkd xlzqkov esgnw ucku hrwpfxd xtd vnig vlmfp ajte qswr kqoj
dpwy oavzkk dwyp ehij upqxgii pydw
amfc hfv xmqa nqvn cal rqmcq oej amqx cla ntxj
hqhhe qkbhwli wmhlcq xaczs peywuo
vcr xfv xfv kymo qpszwzo xfv
nmrbur tswo xbo ljlrzo bmhpgc pev zovkznz lok wbbhtkk
tojj lxqgr rhjavrm ndsdup gdbjwaq cqpnl wfaxivl rfry ryfr udspnd
beffod sknlph amb feobdf
mldgn jxovw yuawcvz kzgzwht rxqhzev fsdnvu vluuo eycoh cugf qjugo
tlnd qcxj ker fdir cgkpo nrqhyq raef uqadf iahy rxx
mhvisju lhmdbs tcxied xeidtc ujry cditex gvqpqm
cgc jazrp crgnna uvuokl uvuokl uoiwl sknmc sknmc
rvbu czwpdit vmlihg spz lfaxxev zslfuto oog dvoksub

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -1,86 +1,6 @@
<HTML>
<BODY>
<TITLE>Latitude-Longitude of US Cities (www.realestate3d.com)</TITLE>
Latitude-Longitude of US Cities (www.realestate3d.com)
<H2>Latitude-Longitude of US Cities (www.realestate3d.com)</H2>
<BR>
Notes:
<UL>
<LI> Lat-long database valuable to the GPSer. Some gotten
from the defunct http://rs560.cl.msu.edu/weather/stations/
<LI> <A HREF="world-latlong.htm">Latitude & longitude of World cities
</A>
<LI> <A HREF="uslatlongdegmin.htm">Version of US city lat-long
but with degrees/minutes/seconds information</A>
<LI> <A HREF="airport.htm">Latitude and Longitude of US Airports
(work in progress) </A>
<LI> <A HREF="usmap.htm">Very primitive Java-based Map
(work in progress) </A>
<LI> <A HREF="http://www.realestate3d.com"> Back to main page </A>
</UL>
<HR>
<H3>United States</H3>
<UL>
<LI> Alabama
<LI> Alaska
<LI> Arizona
<LI> Arkansas
<LI> California
<LI> Colorado
<LI> Connecticut
<LI> Delaware
<LI> District of Columbia
<LI> Florida
<LI> Georgia
<LI> Hawaii
<LI> Idaho
<LI> Illinois
<LI> Indiana
<LI> Iowa
<LI> Kansas
<LI> Kentucky
<LI> Louisiana
<LI> Maine
<LI> Maryland
<LI> Massachusetts
<LI> Michigan
<LI> Minnesota
<LI> Mississippi
<LI> Missouri
<LI> Montana
<LI> Nebraska
<LI> Nevada
<LI> New Hampshire
<LI> New Jersey
<LI> New Mexico
<LI> New York
<LI> North Carolina
<LI> North Dakota
<LI> Ohio
<LI> Oklahoma
<LI> Oregon
<LI> Pennsylvania
<LI> Rhode Island
<LI> South Carolina
<LI> South Dakota
<LI> Tennessee
<LI> Texas
<LI> Utah
<LI> Vermont
<LI> Virginia
<LI> Washington
<LI> West Virginia
<LI> Wisconsin
<LI> Wyoming
</UL>
<PRE>
ID LAT LON Location
ID LAT LON Location,State
Alabama
@@ -1458,18 +1378,3 @@ Wyoming
[WRL] 43.97 107.97 Worland,WY
[P60] 44.55 110.42 Yellowstone,WY
</PRE>
<HR>
<P>
<FONT SIZE=-1><I>
Find out more about RealEstate3D.com,
email <A HREF= "mailto:info@realestate3d.com">
info@realestate3d.com</A>.<BR>
Copyright &copy; 1996-1997 Orogo Technologies</I></FONT>
</CENTER>
<P>
</BODY>
</HTML>

View File

@@ -9,7 +9,7 @@
"\n",
"# Advent of Code 2025: The AI LLM Edition\n",
"\n",
"*This notebook shows some solutions by Gemini, Claude, and ChatGPT, three AI Large Language Models (LLMs), for the 2025 [**Advent of Code**](https://adventofcode.com/) (AoC) programming puzzles. In order to understand each puzzle, you'll have to look at the problem descriptions at [**Advent of Code**](https://adventofcode.com/2025) for each [**Day**](https://adventofcode.com/2025/day/1), and you can also look at [**my solutions**](Advent2025.ipynb), which I did before asking the LLMs for theirs.*\n",
"*This notebook shows some solutions by Gemini, Claude, and ChatGPT, three AI Large Language Models (LLMs), for the 2025 [**Advent of Code**](https://adventofcode.com/) (AoC) programming puzzles. In order to understand each puzzle, you'll have to look at the problem descriptions at [**Advent of Code**](https://adventofcode.com/2025) for each [**Day**](https://adventofcode.com/2025/day/1), and you can also look at [**my solutions**](Advent2025.ipynb), which I did before asking the LLMs for theirs. TLDR: the LLMs did great, got all the problems right, did so very quickly, but their code was 5 times more verbose and ran 3 times slower than mine.*\n",
"\n",
"*All the code in this notebook is written by an LLM (except for the one line where I call the LLM's code for each puzzle). My comments (like this one) are in italics, and my prompts given to the LLMs are in **bold italics**. Sometimes I quote the LLM's responses; those are in* regular roman font.\n",
"\n",
@@ -331,7 +331,7 @@
" It seems I made a subtle logic error in my previous calculation for the Right (R) rotation.\n",
" When the dial is at 0, the distance to the *next* zero is **100**, not 0.\n",
"\n",
"*which is exactly the error I made on *my* first attempt! Gemini produced the following updated code:*"
"*which is exactly the error I made on **my** first attempt! Gemini produced the following updated code:*"
]
},
{

File diff suppressed because one or more lines are too long

View File

@@ -8,32 +8,32 @@
"\n",
"# Cryptarithmetic Problems\n",
"\n",
"On 28 April 2014 Gary Antonik had a [Numberplay column](https://web.archive.org/web/20191001030614/https://wordplay.blogs.nytimes.com/2014/04/28/num/) that quotes my friend [Bill Gosper](https://en.wikipedia.org/wiki/Bill_Gosper). (Gosper often presents more advanced puzzles in the [math-fun](http://mailman.xmission.com/cgi-bin/mailman/listinfo/math-fun) mailing list.) This puzzle was:\n",
"On 28 April 2014 Gary Antonik had a [Numberplay column](https://web.archive.org/web/20191001030614/https://wordplay.blogs.nytimes.com/2014/04/28/num/) in which my friend [Bill Gosper](https://en.wikipedia.org/wiki/Bill_Gosper) poses this puzzle:\n",
"\n",
"> For the expression `N U M + B E R = P L A Y`,\n",
"> - Which distinct numerals (each different) can be substituted for letters to make a valid expression?\n",
"> - How many solutions are there?\n",
"<hr>\n",
"\n",
"**For the expression N U M + B E R = P L A Y**,\n",
"- **Which distinct numerals (each different) can be substituted for letters to make a valid expression?**\n",
"- **How many solutions are there?**\n",
"<hr>\n",
"\n",
"I [tackled](https://www.udacity.com/wiki/cs212/unit-2#rethinking-eval) this type of problem (also known as a [cryptarithmetic](http://mathworld.wolfram.com/Cryptarithmetic.html) or [alphametic](http://mathworld.wolfram.com/Alphametic.html) or [verbal arithmetic](https://en.wikipedia.org/wiki/Verbal_arithmetic) problem) in my Udacity class [CS 212](https://www.udacity.com/wiki/cs212/unit-2#cryptarithmetic). \n",
"\n",
"\n",
"\n",
"![](https://www.azquotes.com/picture-quotes/quote-when-in-doubt-use-brute-force-ken-thompson-131-46-05.jpg)\n",
"My initial approach follows Ken Thompson's adage, \"when in doubt, use brute force\":\n",
"\n",
"My initial approach follows Ken Thompson's adage, \"when in doubt, use brute force.\"\n",
"\n",
"- There are only 10 factorial or 3.6 million permutations of 10 digits, so we can try them all.\n",
"- There are only 10 factorial (3.6 million) permutations of 10 digits, so we can try them all.\n",
"- For each permutation, substitute the digits for the corresponding letters in the formula.\n",
"- Use Python's `eval` function to check if the resulting formula is a valid, true expression. \n",
"- Report the one(s) that are.\n",
"- Report the expressions that are.\n",
"\n",
"The basic idea is simple, but there are a few complications to worry about:\n",
"The basic idea is simple, but there are a few complications:\n",
"\n",
"- Python uses `==` for equality and `**` for exponentiation, but math notation uses `=` and `^`. I'll accept any of these, and translate from math to Python with `to_python`.\n",
"- Python uses `==` for equality and `**` for exponentiation, but math notation uses `=` and `^`. I'll define `to_python` to handle this.\n",
"- A number with a leading zero digit (like `012`) is illegal (except that `0` by itself is ok).\n",
"- We'll have to catch divide-by-zero errors, as in `1/0` or `4/(3-2-1)`.\n",
"- We'll have to catch divide-by-zero errors, as in `4/(3-2-1)`.\n",
"- In general, it is **unsafe** to eval a string that comes from a user, because a malicious user could inject malware. But eval-ing strings that we make ourselves is no worse than running code that we make ourselves. \n",
"- Only uppercase letters are replaced by digits. So in `2 * B or not 2 * BE`, the `or` and `not` are Python keywords.\n",
"- Should I define a `solve` function to find one solution (faster) or all solutions (comprehensive)? I'll handle both use cases by defining `solve` to yield solutions one at a time. You can quickly get the first one with `first` or all of them with `set`. \n",
"\n",
"# Defining `solve`\n",
@@ -49,12 +49,12 @@
},
"outputs": [],
"source": [
"from typing import Iterable, Callable, Tuple\n",
"from typing import Iterable, Callable\n",
"from itertools import permutations\n",
"from collections import Counter\n",
"import re\n",
"\n",
"Formula = str # A formula in Math notation, like \"NUM ^ BER = PLAY\"\n",
"Pformula = str # A formula in Python notation, like \"NUM ** BER == PLAY\"\n",
"Formula = str # A formula in Math notation, like \"NUM + BER = PLAY\"\n",
"Solution = str # A formula with letters relaced by digits, like \"356 + 742 = 1098\""
]
},
@@ -62,7 +62,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Below we see that `solve` works by substituting each permutation of digits for the letters in the formula, and then reporting on the ones that are valid (ones that evaluate to true and have no number with a leading zero). Note that `solve` checks if a `to_python` version of the formula is `valid`, and if it is, returns a substituted version of the original formula."
"Below we see that `solve` works by substituting each permutation of digits for the letters in the formula, and then reporting on the ones that are valid. "
]
},
{
@@ -76,29 +76,29 @@
"def solve(formula) -> Iterable[Solution]:\n",
" \"\"\"Given a formula like 'NUM + BER == PLAY', fill in digits to solve it.\"\"\"\n",
" letters = all_letters(formula)\n",
" pformula = to_python(formula)\n",
" pyformula = to_python(formula)\n",
" for digits in permutations('1234567890', len(letters)):\n",
" if valid(subst(digits, letters, pformula)):\n",
" if valid(subst(digits, letters, pyformula)):\n",
" yield subst(digits, letters, formula)\n",
" \n",
"def subst(digits, letters, formula) -> Formula:\n",
"def subst(digits: str, letters: str, formula: Formula) -> Formula:\n",
" \"\"\"Substitute digits for letters in formula.\"\"\"\n",
" return formula.translate(str.maketrans(letters, cat(digits)))\n",
" \n",
"def valid(pformula) -> bool:\n",
" \"\"\"A pformula is valid iff it has no leading zero, and evaluates to True.\"\"\"\n",
"def valid(pyformula: Formula) -> bool:\n",
" \"\"\"A pyformula is valid iff it has no leading zero, and evaluates to True.\"\"\"\n",
" try:\n",
" return (not leading_zero(pformula)) and (eval(pformula) is True)\n",
" return (not leading_zero(pyformula)) and (eval(pyformula) is True)\n",
" except ArithmeticError:\n",
" return False\n",
" \n",
"def to_python(formula: Formula) -> Pformula:\n",
"def to_python(formula: Formula) -> Formula:\n",
" \"\"\"Convert ' = ' and '^' to ' == ' and '**'.\"\"\"\n",
" return formula.replace(' = ', ' == ').replace('^', '**') \n",
"\n",
"def all_letters(formula: str) -> str: \n",
" \"\"\"The set of letters in formula, in the form of an alphabetized string.\"\"\"\n",
" return cat(sorted(set(re.findall('[A-Z]', formula))))\n",
"def all_letters(formula: Formula) -> str: \n",
" \"\"\"The set of letters in formula, in the order they first appear.\"\"\"\n",
" return cat(Counter(re.findall('[A-Z]', formula)))\n",
"\n",
"def first(iterable): \"First element\"; return next(iter(iterable), None)\n",
" \n",
@@ -111,7 +111,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"It would be good to have some unit tests for these functions, but I moved them to the end of this notebook, so that we can go right ahead and solve the problem:"
"We can go right ahead and solve the problem:"
]
},
{
@@ -127,7 +127,7 @@
{
"data": {
"text/plain": [
"'587 + 439 = 1026'"
"'246 + 789 = 1035'"
]
},
"execution_count": 3,
@@ -160,8 +160,8 @@
"name": "stdout",
"output_type": "stream",
"text": [
"CPU times: user 16.9 s, sys: 19.2 ms, total: 17 s\n",
"Wall time: 17 s\n"
"CPU times: user 11.1 s, sys: 14 ms, total: 11.1 s\n",
"Wall time: 11.1 s\n"
]
},
{
@@ -176,7 +176,7 @@
}
],
"source": [
"%time solutions = set(solve('NUM + BER = PLAY'))\n",
"%time solutions = list(solve('NUM + BER = PLAY'))\n",
"len(solutions)"
]
},
@@ -184,7 +184,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"It takes 15 or 20 seconds to find 96 solutions, Here are ten of them:"
"It takes about 11 seconds to find 96 solutions, Here are ten of them:"
]
},
{
@@ -195,16 +195,16 @@
{
"data": {
"text/plain": [
"['452 + 637 = 1089',\n",
" '589 + 437 = 1026',\n",
" '879 + 426 = 1305',\n",
" '749 + 286 = 1035',\n",
" '756 + 342 = 1098',\n",
" '673 + 425 = 1098',\n",
" '439 + 587 = 1026',\n",
" '432 + 657 = 1089',\n",
" '423 + 675 = 1098',\n",
" '429 + 876 = 1305']"
"['246 + 789 = 1035',\n",
" '249 + 786 = 1035',\n",
" '264 + 789 = 1053',\n",
" '269 + 784 = 1053',\n",
" '284 + 769 = 1053',\n",
" '286 + 749 = 1035',\n",
" '289 + 746 = 1035',\n",
" '289 + 764 = 1053',\n",
" '324 + 765 = 1089',\n",
" '325 + 764 = 1089']"
]
},
"execution_count": 5,
@@ -213,7 +213,7 @@
}
],
"source": [
"list(solutions)[:10]"
"solutions[:10]"
]
},
{
@@ -247,34 +247,180 @@
{
"data": {
"text/plain": [
" 3028913 function calls in 3.011 seconds\n",
" 3127170 function calls (3127152 primitive calls) in 2.079 seconds\n",
"\n",
" Ordered by: internal time\n",
"\n",
" ncalls tottime percall cumtime percall filename:lineno(function)\n",
" 309270 1.779 0.000 1.833 0.000 {built-in method builtins.eval}\n",
" 453271 0.229 0.000 0.229 0.000 {method 'translate' of 'str' objects}\n",
" 453270 0.220 0.000 0.220 0.000 {method 'search' of 're.Pattern' objects}\n",
" 2 0.215 0.107 3.065 1.532 89248256.py:1(solve)\n",
" 453271 0.209 0.000 0.669 0.000 89248256.py:9(subst)\n",
" 453271 0.146 0.000 0.146 0.000 {built-in method maketrans}\n",
" 453270 0.128 0.000 2.182 0.000 89248256.py:13(valid)\n",
" 453272 0.084 0.000 0.084 0.000 {method 'join' of 'str' objects}\n",
" 1 0.000 0.000 3.065 3.065 89248256.py:28(first)\n",
" 1 0.000 0.000 3.065 3.065 {built-in method builtins.exec}\n",
" 1 0.000 0.000 0.000 0.000 89248256.py:24(all_letters)\n",
" 1 0.000 0.000 0.000 0.000 {method 'findall' of 're.Pattern' objects}\n",
" 1 0.000 0.000 0.000 0.000 re.py:233(findall)\n",
" 1 0.000 0.000 0.000 0.000 89248256.py:20(to_python)\n",
" 1 0.000 0.000 0.000 0.000 {built-in method builtins.sorted}\n",
" 1 0.000 0.000 0.000 0.000 re.py:289(_compile)\n",
" 1 0.000 0.000 3.065 3.065 {built-in method builtins.next}\n",
" 1 0.000 0.000 0.000 0.000 {built-in method builtins.isinstance}\n",
" 2 0.000 0.000 0.000 0.000 {method 'replace' of 'str' objects}\n",
" 355667 1.382 0.000 1.411 0.000 {built-in method builtins.eval}\n",
" 461238 0.155 0.000 0.155 0.000 {method 'translate' of 'str' objects}\n",
" 461238 0.128 0.000 0.413 0.000 1816288747.py:9(subst)\n",
" 461237 0.104 0.000 0.104 0.000 {method 'search' of 're.Pattern' objects}\n",
" 461238 0.092 0.000 0.092 0.000 {built-in method maketrans}\n",
" 461237 0.074 0.000 1.589 0.000 1816288747.py:13(valid)\n",
" 1 0.068 0.068 1.383 1.383 1816288747.py:1(solve)\n",
" 461239 0.037 0.000 0.037 0.000 {method 'join' of 'str' objects}\n",
" 9/1 0.024 0.003 1.905 1.905 {built-in method builtins.next}\n",
" 2/0 0.005 0.003 0.000 base_events.py:1954(_run_once)\n",
" 1 0.002 0.002 0.043 0.043 socket.py:700(send_multipart)\n",
" 1 0.002 0.002 0.020 0.020 history.py:92(only_when_enabled)\n",
" 354 0.001 0.000 0.002 0.000 ipkernel.py:775(_clean_thread_parent_frames)\n",
" 1 0.001 0.001 0.013 0.013 history.py:1024(writeout_cache)\n",
" 11 0.001 0.000 0.012 0.001 socket.py:623(send)\n",
" 177 0.000 0.000 0.001 0.000 threading.py:1477(enumerate)\n",
" 1416 0.000 0.000 0.000 0.000 threading.py:1110(ident)\n",
" 3 0.000 0.000 0.050 0.017 events.py:87(_run)\n",
" 708 0.000 0.000 0.000 0.000 {method 'keys' of 'dict' objects}\n",
" 3 0.000 0.000 0.000 0.000 attrsettr.py:66(_get_attr_opt)\n",
" 1 0.000 0.000 0.043 0.043 zmqstream.py:573(_handle_events)\n",
" 460/456 0.000 0.000 0.000 0.000 {built-in method builtins.isinstance}\n",
" 354 0.000 0.000 0.000 0.000 {method 'values' of 'dict' objects}\n",
" 2/0 0.000 0.000 0.000 {method 'control' of 'select.kqueue' objects}\n",
" 1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}\n",
" 1 0.000 0.000 0.000 0.000 {built-in method builtins.iter}\n",
" 179 0.000 0.000 0.000 0.000 {method '__exit__' of '_thread.RLock' objects}\n",
" 1 0.000 0.000 0.000 0.000 {method 'execute' of 'sqlite3.Connection' objects}\n",
" 11 0.000 0.000 0.000 0.000 enum.py:1594(__or__)\n",
" 2 0.000 0.000 0.000 0.000 {method '__exit__' of 'sqlite3.Connection' objects}\n",
" 48 0.000 0.000 0.000 0.000 enum.py:1587(_get_value)\n",
" 1 0.000 0.000 0.000 0.000 {built-in method time.sleep}\n",
" 20 0.000 0.000 0.000 0.000 enum.py:695(__call__)\n",
" 3 0.000 0.000 0.000 0.000 attrsettr.py:43(__getattr__)\n",
" 1 0.000 0.000 0.000 0.000 {method 'send' of '_socket.socket' objects}\n",
" 20 0.000 0.000 0.000 0.000 enum.py:1154(__new__)\n",
" 1 0.000 0.000 0.000 0.000 iostream.py:616(_flush)\n",
" 5 0.000 0.000 0.000 0.000 enum.py:1605(__and__)\n",
" 1 0.000 0.000 0.000 0.000 inspect.py:3122(_bind)\n",
" 2 0.000 0.000 0.000 0.000 base_events.py:846(_call_soon)\n",
" 1 0.000 0.000 2.019 2.019 1816288747.py:28(first)\n",
" 2 0.000 0.000 0.043 0.022 ioloop.py:742(_run_callback)\n",
" 2 0.000 0.000 0.000 0.000 zmqstream.py:653(_rebuild_io_state)\n",
" 1 0.000 0.000 0.000 0.000 socket.py:771(recv_multipart)\n",
" 3 0.000 0.000 0.043 0.014 {method 'run' of '_contextvars.Context' objects}\n",
" 2 0.000 0.000 0.000 0.000 zmqstream.py:676(_update_handler)\n",
" 2 0.000 0.000 0.000 0.000 traitlets.py:3631(set)\n",
" 2 0.000 0.000 0.000 0.000 traitlets.py:718(_validate)\n",
" 1 0.000 0.000 0.000 0.000 traitlets.py:1527(_notify_observers)\n",
" 1 0.000 0.000 0.000 0.000 asyncio.py:225(add_callback)\n",
" 2 0.000 0.000 0.000 0.000 typing.py:1665(__subclasscheck__)\n",
" 1 0.000 0.000 0.043 0.043 zmqstream.py:546(_run_callback)\n",
" 5 0.000 0.000 0.000 0.000 base_events.py:766(time)\n",
" 3 0.000 0.000 0.000 0.000 typing.py:426(inner)\n",
" 1 0.000 0.000 0.000 0.000 kernelbase.py:302(poll_control_queue)\n",
" 2/0 0.000 0.000 0.000 selectors.py:540(select)\n",
" 2 0.000 0.000 0.000 0.000 traitlets.py:3474(validate)\n",
" 1 0.000 0.000 0.000 0.000 inspect.py:3264(bind)\n",
" 1 0.000 0.000 0.000 0.000 decorator.py:200(fix)\n",
" 1 0.000 0.000 0.000 0.000 queues.py:225(get)\n",
" 2 0.000 0.000 0.000 0.000 queue.py:115(empty)\n",
" 1 0.000 0.000 0.000 0.000 _base.py:537(set_result)\n",
" 8 0.000 0.000 0.000 0.000 {built-in method builtins.hasattr}\n",
" 4 0.000 0.000 0.000 0.000 {built-in method builtins.getattr}\n",
" 4 0.000 0.000 0.000 0.000 traitlets.py:676(__get__)\n",
" 2 0.000 0.000 0.000 0.000 traitlets.py:689(set)\n",
" 1 0.000 0.000 0.043 0.043 zmqstream.py:614(_handle_recv)\n",
" 1 0.000 0.000 0.000 0.000 iostream.py:710(_flush_buffers)\n",
" 3 0.000 0.000 0.000 0.000 <frozen importlib._bootstrap>:1390(_handle_fromlist)\n",
" 15 0.000 0.000 0.000 0.000 {built-in method builtins.len}\n",
" 1 0.000 0.000 0.000 0.000 threading.py:315(_acquire_restore)\n",
" 1 0.000 0.000 0.000 0.000 traitlets.py:1512(_notify_trait)\n",
" 2 0.000 0.000 0.000 0.000 traitlets.py:3624(validate_elements)\n",
" 1 0.000 0.000 0.000 0.000 inspect.py:2936(apply_defaults)\n",
" 1 0.000 0.000 0.043 0.043 iostream.py:278(_really_send)\n",
" 2 0.000 0.000 0.000 0.000 typing.py:1374(__instancecheck__)\n",
" 1 0.000 0.000 0.020 0.020 decorator.py:232(fun)\n",
" 2 0.000 0.000 0.000 0.000 traitlets.py:727(_cross_validate)\n",
" 1 0.000 0.000 0.000 0.000 __init__.py:270(findall)\n",
" 2 0.000 0.000 0.000 0.000 traitlets.py:708(__set__)\n",
" 1 0.000 0.000 0.043 0.043 iostream.py:276(<lambda>)\n",
" 1 0.000 0.000 0.000 0.000 1816288747.py:24(all_letters)\n",
" 1 0.000 0.000 0.000 0.000 __init__.py:599(__init__)\n",
" 1 0.000 0.000 0.000 0.000 contextlib.py:108(__init__)\n",
" 2 0.000 0.000 0.000 0.000 events.py:36(__init__)\n",
" 2 0.000 0.000 0.000 0.000 {built-in method builtins.issubclass}\n",
" 1 0.000 0.000 0.000 0.000 futures.py:391(_call_set_state)\n",
" 2 0.000 0.000 0.000 0.000 {built-in method _abc._abc_subclasscheck}\n",
" 1 0.000 0.000 0.000 0.000 queues.py:256(get_nowait)\n",
" 1 0.000 0.000 0.000 0.000 traitlets.py:1523(notify_change)\n",
" 2 0.000 0.000 0.000 0.000 typing.py:1443(__hash__)\n",
" 2 0.000 0.000 0.000 0.000 traitlets.py:2304(validate)\n",
" 2 0.000 0.000 0.000 0.000 {built-in method posix.getppid}\n",
" 4 0.000 0.000 0.000 0.000 traitlets.py:629(get)\n",
" 2 0.000 0.000 0.000 0.000 <frozen abc>:121(__subclasscheck__)\n",
" 1 0.000 0.000 0.000 0.000 __init__.py:330(_compile)\n",
" 1 0.000 0.000 0.000 0.000 base_events.py:870(call_soon_threadsafe)\n",
" 3 0.000 0.000 0.000 0.000 threading.py:306(__exit__)\n",
" 1 0.000 0.000 0.000 0.000 inspect.py:2883(args)\n",
" 3 0.000 0.000 0.000 0.000 threading.py:303(__enter__)\n",
" 1 0.000 0.000 0.000 0.000 iostream.py:718(_rotate_buffers)\n",
" 2 0.000 0.000 0.000 0.000 zmqstream.py:532(sending)\n",
" 5 0.000 0.000 0.000 0.000 {method 'append' of 'collections.deque' objects}\n",
" 1 0.000 0.000 0.000 0.000 contextlib.py:145(__exit__)\n",
" 1 0.000 0.000 0.043 0.043 zmqstream.py:684(<lambda>)\n",
" 1 0.000 0.000 0.000 0.000 threading.py:428(notify_all)\n",
" 1 0.000 0.000 0.000 0.000 {built-in method _heapq.heappop}\n",
" 1 0.000 0.000 0.000 0.000 history.py:1016(_writeout_output_cache)\n",
" 1 0.000 0.000 0.000 0.000 iostream.py:213(_is_master_process)\n",
" 5 0.000 0.000 0.000 0.000 {built-in method time.monotonic}\n",
" 1 0.000 0.000 0.000 0.000 selector_events.py:141(_write_to_self)\n",
" 1 0.000 0.000 0.000 0.000 contextlib.py:303(helper)\n",
" 1 0.000 0.000 0.000 0.000 history.py:1008(_writeout_input_cache)\n",
" 1 0.000 0.000 0.000 0.000 {method 'findall' of 're.Pattern' objects}\n",
" 1 0.000 0.000 0.043 0.043 iostream.py:157(_handle_event)\n",
" 1 0.000 0.000 0.000 0.000 __init__.py:673(update)\n",
" 2 0.000 0.000 0.000 0.000 queue.py:267(_qsize)\n",
" 19 0.000 0.000 0.000 0.000 typing.py:2371(cast)\n",
" 6 0.000 0.000 0.000 0.000 {method '__exit__' of '_thread.lock' objects}\n",
" 1 0.000 0.000 0.000 0.000 base_events.py:817(call_soon)\n",
" 1 0.000 0.000 0.000 0.000 _base.py:337(_invoke_callbacks)\n",
" 1 0.000 0.000 0.000 0.000 {built-in method _collections._count_elements}\n",
" 4 0.000 0.000 0.000 0.000 {method 'popleft' of 'collections.deque' objects}\n",
" 3 0.000 0.000 0.000 0.000 {method 'acquire' of '_thread.lock' objects}\n",
" 2 0.000 0.000 0.000 0.000 traitlets.py:3486(validate_elements)\n",
" 3 0.000 0.000 0.000 0.000 {built-in method builtins.max}\n",
" 3 0.000 0.000 0.000 0.000 selector_events.py:740(_process_events)\n",
" 1 0.000 0.000 0.000 0.000 threading.py:631(clear)\n",
" 1 0.000 0.000 0.000 0.000 inspect.py:2906(kwargs)\n",
" 1 0.000 0.000 0.000 0.000 threading.py:312(_release_save)\n",
" 4 0.000 0.000 0.000 0.000 {method 'get' of 'dict' objects}\n",
" 2 0.000 0.000 0.000 0.000 history.py:1065(hold)\n",
" 1 0.000 0.000 0.000 0.000 <frozen abc>:117(__instancecheck__)\n",
" 2 0.000 0.000 0.000 0.000 {built-in method _contextvars.copy_context}\n",
" 1 0.000 0.000 0.000 0.000 threading.py:398(notify)\n",
" 1 0.000 0.000 0.000 0.000 {method 'values' of 'mappingproxy' objects}\n",
" 2 0.000 0.000 0.000 0.000 {method 'extend' of 'list' objects}\n",
" 1 0.000 0.000 0.000 0.000 contextlib.py:136(__enter__)\n",
" 10 0.000 0.000 0.000 0.000 inspect.py:2793(kind)\n",
" 3 0.000 0.000 0.000 0.000 {built-in method builtins.iter}\n",
" 1 0.000 0.000 0.000 0.000 1816288747.py:20(to_python)\n",
" 3 0.000 0.000 0.000 0.000 zmqstream.py:528(receiving)\n",
" 1 0.000 0.000 0.000 0.000 iostream.py:216(_check_mp_mode)\n",
" 4 0.000 0.000 0.000 0.000 {method 'append' of 'list' objects}\n",
" 3 0.000 0.000 0.000 0.000 {method 'upper' of 'str' objects}\n",
" 3 0.000 0.000 0.000 0.000 {method 'items' of 'mappingproxy' objects}\n",
" 1 0.000 0.000 0.000 0.000 {built-in method _abc._abc_instancecheck}\n",
" 2 0.000 0.000 0.000 0.000 {method 'replace' of 'str' objects}\n",
" 1 0.000 0.000 0.000 0.000 {method '__enter__' of '_thread.RLock' objects}\n",
" 2 0.000 0.000 0.000 0.000 {method '__enter__' of '_thread.lock' objects}\n",
" 1 0.000 0.000 0.000 0.000 queues.py:173(qsize)\n",
" 4 0.000 0.000 0.000 0.000 inspect.py:2781(name)\n",
" 2 0.000 0.000 0.000 0.000 {built-in method builtins.hash}\n",
" 2 0.000 0.000 0.000 0.000 base_events.py:548(_check_closed)\n",
" 1 0.000 0.000 0.000 0.000 threading.py:318(_is_owned)\n",
" 1 0.000 0.000 0.000 0.000 {method 'items' of 'dict' objects}\n",
" 1 0.000 0.000 0.000 0.000 queues.py:322(_consume_expired)\n",
" 3 0.000 0.000 0.000 0.000 base_events.py:2052(get_debug)\n",
" 1 0.000 0.000 0.000 0.000 {built-in method _asyncio.get_running_loop}\n",
" 4 0.000 0.000 0.000 0.000 inspect.py:3076(parameters)\n",
" 1 0.000 0.000 0.000 0.000 {built-in method posix.getpid}\n",
" 1 0.000 0.000 0.000 0.000 <string>:1(<module>)\n",
" 1 0.000 0.000 0.000 0.000 {built-in method builtins.len}"
" 1 0.000 0.000 0.000 0.000 {method 'cancelled' of '_asyncio.Future' objects}\n",
" 1 0.000 0.000 0.000 0.000 inspect.py:2875(__init__)\n",
" 1 0.000 0.000 0.000 0.000 {built-in method _thread.allocate_lock}\n",
" 1 0.000 0.000 0.000 0.000 {method 'release' of '_thread.lock' objects}\n",
" 1 0.000 0.000 0.000 0.000 {method '_is_owned' of '_thread.RLock' objects}\n",
" 1 0.000 0.000 0.000 0.000 queues.py:59(_set_timeout)\n",
" 1 0.000 0.000 0.000 0.000 base_events.py:752(is_closed)\n",
" 1 0.000 0.000 0.000 0.000 iostream.py:255(closed)"
]
},
"metadata": {},
@@ -316,7 +462,7 @@
},
"outputs": [],
"source": [
"def translate_formula(formula, verbose=False) -> Tuple[str, str]:\n",
"def translate_formula(formula: Formula) -> tuple[str, str]:\n",
" \"\"\"Translate formula into two values: (lambda function string, parameter letters).\"\"\"\n",
" letters = all_letters(formula)\n",
" assert len(letters) <= 10, f'{len(letters)} letters is too many; only 10 allowed'\n",
@@ -368,8 +514,8 @@
{
"data": {
"text/plain": [
"('lambda A,B,E,L,M,N,P,R,U,Y: N and B and P and (100*N + 10*U + M) + (100*B + 10*E + R) == (1000*P + 100*L + 10*A + Y)',\n",
" 'ABELMNPRUY')"
"('lambda N,U,M,B,E,R,P,L,A,Y: N and B and P and (100*N + 10*U + M) + (100*B + 10*E + R) == (1000*P + 100*L + 10*A + Y)',\n",
" 'NUMBERPLAY')"
]
},
"execution_count": 9,
@@ -415,7 +561,7 @@
{
"data": {
"text/plain": [
"'587 + 439 = 1026'"
"'246 + 789 = 1035'"
]
},
"execution_count": 11,
@@ -448,20 +594,20 @@
"name": "stdout",
"output_type": "stream",
"text": [
"CPU times: user 1.11 s, sys: 3.16 ms, total: 1.11 s\n",
"Wall time: 1.11 s\n"
"CPU times: user 476 ms, sys: 1.66 ms, total: 478 ms\n",
"Wall time: 477 ms\n"
]
}
],
"source": [
"%time solutions2 = set(faster_solve('NUM + BER = PLAY'))"
"%time solutions2 = list(faster_solve('NUM + BER = PLAY'))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"About 15 times faster! Does it give the same solutions as `solve`?"
"About 20 times faster! Does it give the same solutions as `solve`?"
]
},
{
@@ -553,7 +699,7 @@
"SORRY + TO + BE + A + PARTY = POOPER\n",
"SORRY + TO + BUST + YOUR = BUBBLE\n",
"STEEL + BELTED = RADIALS\n",
"ABRA + CADABRA + ABRA + CADABRA = HOUDINI\n",
"2 * (ABRA + CADABRA) = HOUDINI\n",
"I + GUESS + THE + TRUTH = HURTS\n",
"LETS + CUT + TO + THE = CHASE\n",
"THATS + THE + THEORY = ANYWAY\n",
@@ -570,6 +716,10 @@
"sum(range(POP)) = BOBO\n",
"ODD + ODD = EVEN\n",
"ROMANS+ALSO+MORE+OR+LESS+ADDED = LETTERS\n",
"X * X * X = M\n",
"XXVI + CCCXXXI = CCCLVII\n",
"LXVII + CCCLXXX = CDXLVII\n",
"CXX * XLII = MMMMMXL\n",
"FOUR+ONE = FIVE and ONE+ONE+ONE+ONE+ONE = FIVE\n",
"TEN+SEVEN+SEVEN+SEVEN+FOUR+FOUR+ONE = FORTY\n",
"NINETEEN+THIRTEEN+THREE+2*TWO+3*ONE = FORTYTWO\n",
@@ -594,251 +744,263 @@
"name": "stdout",
"output_type": "stream",
"text": [
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"NUM + BER = PLAY\n",
"587 + 439 = 1026\n",
"__________________________________________________________________________________________\n",
"246 + 789 = 1035\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"YOU = ME ^ 2\n",
"576 = 24 ^ 2\n",
"__________________________________________________________________________________________\n",
"289 = 17 ^ 2\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"SEND + MORE = MONEY\n",
"9567 + 1085 = 10652\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"FOUR + SCORE + 7 = YEARS + AGO\n",
"9071 + 26014 + 7 = 34512 + 580\n",
"__________________________________________________________________________________________\n",
"6071 + 29014 + 7 = 34512 + 580\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"WRONG + WRONG = RIGHT\n",
"37081 + 37081 = 74162\n",
"__________________________________________________________________________________________\n",
"12734 + 12734 = 25468\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"WRIGHT + WRIGHT = TO * FLY + FLIGHT\n",
"413058 + 413058 = 82 * 769 + 763058\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"HALF + HALF = WHOLE\n",
"9604 + 9604 = 19208\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"HALF + FIFTH + TENTH + TENTH + TENTH = WHOLE\n",
"6701 + 14126 + 25326 + 25326 + 25326 = 96805\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"BASE + BALL = GAMES\n",
"7483 + 7455 = 14938\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"YOUR + YOU = HEART\n",
"9426 + 942 = 10368\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"EAT + THAT = APPLE\n",
"819 + 9219 = 10038\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"ALPHABET + LETTERS = SCRABBLE\n",
"17531908 + 7088062 = 24619970\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"POTATO + TOMATO = PUMPKIN\n",
"168486 + 863486 = 1031972\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"ODD * ODD = FREAKY\n",
"677 * 677 = 458329\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"DOUBLE + DOUBLE + TOIL = TROUBLE\n",
"798064 + 798064 + 1936 = 1598064\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"WASH + YOUR = HANDS\n",
"5291 + 6748 = 12039\n",
"__________________________________________________________________________________________\n",
"4261 + 7835 = 12096\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"WEAR + A + MASK + WASH = SAFER\n",
"9617 + 1 + 3125 + 9124 = 21867\n",
"__________________________________________________________________________________________\n",
"2743 + 4 + 9416 + 2410 = 14573\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"PERSON + WOMAN + MAN = CAMERA\n",
"320567 + 96817 + 817 = 418201\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"TWO + TWENTY = TWELVE + TEN\n",
"784 + 781279 = 781351 + 712\n",
"__________________________________________________________________________________________\n",
"123 + 124617 = 124594 + 146\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"AA + BB + CC = ABC\n",
"11 + 99 + 88 = 198\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"PI * R^2 = AREA\n",
"96 * 7^2 = 4704\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"A^2 + B^2 = C^2\n",
"3^2 + 4^2 = 5^2\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"A^2 + BE^2 = BY^2 \n",
"5^2 + 12^2 = 13^2 \n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"AYH^2 + BEE^2 = SEE^2\n",
"760^2 + 522^2 = 922^2\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"RAMN = R^3 + RM^3 = N^3 + RX^3\n",
"1729 = 1^3 + 12^3 = 9^3 + 10^3\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"MON-EY = EVIL^(1/2)\n",
"108-42 = 4356^(1/2)\n",
"__________________________________________________________________________________________\n",
"132-58 = 5476^(1/2)\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"SIN^2 + COS^2 = UNITY\n",
"235^2 + 142^2 = 75389\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"SPEED + LIMIT = FIFTY\n",
"40221 + 36568 = 76789\n",
"__________________________________________________________________________________________\n",
"10224 + 73635 = 83859\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"TERRIBLE + NUMBER = THIRTEEN\n",
"45881795 + 302758 = 46184553\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"SEVEN + SEVEN + SIX = TWENTY\n",
"68782 + 68782 + 650 = 138214\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"EIGHT + EIGHT + TWO + ONE + ONE = TWENTY\n",
"52371 + 52371 + 104 + 485 + 485 = 105816\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"ELEVEN + NINE + FIVE + FIVE = THIRTY\n",
"797275 + 5057 + 4027 + 4027 = 810386\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"NINE + SEVEN + SEVEN + SEVEN = THIRTY\n",
"3239 + 49793 + 49793 + 49793 = 152618\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"FOURTEEN + TEN + TEN + SEVEN = FORTYONE\n",
"19564882 + 482 + 482 + 78082 = 19643928\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"HAWAII + IDAHO + IOWA + OHIO = STATES\n",
"510199 + 98153 + 9301 + 3593 = 621246\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"VIOLIN * 2 + VIOLA = TRIO + SONATA\n",
"176478 * 2 + 17645 = 2076 + 368525\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"SEND + A + TAD + MORE = MONEY\n",
"9283 + 7 + 473 + 1062 = 10825\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"ZEROES + ONES = BINARY\n",
"698392 + 3192 = 701584\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"DCLIZ + DLXVI = MCCXXV\n",
"62049 + 60834 = 122883\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"COUPLE + COUPLE = QUARTET\n",
"653924 + 653924 = 1307848\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"FISH + N + CHIPS = SUPPER\n",
"5718 + 3 + 98741 = 104462\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"SATURN + URANUS + NEPTUNE + PLUTO = PLANETS\n",
"127503 + 502351 + 3947539 + 46578 = 4623971\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"PLUTO not in {PLANETS}\n",
"63985 not in {6314287}\n",
"__________________________________________________________________________________________\n",
"12345 not in {1267849}\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"EARTH + AIR + FIRE + WATER = NATURE\n",
"67432 + 704 + 8046 + 97364 = 173546\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"TWO * TWO = SQUARE\n",
"807 * 807 = 651249\n",
"__________________________________________________________________________________________\n",
"567 * 567 = 321489\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"HIP * HIP = HURRAY\n",
"958 * 958 = 917764\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"NORTH / SOUTH = EAST / WEST\n",
"51304 / 61904 = 7260 / 8760\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"NAUGHT ^ 2 = ZERO ^ 3\n",
"328509 ^ 2 = 4761 ^ 3\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"I + THINK + IT + BE + THINE = INDEED\n",
"1 + 64125 + 16 + 73 + 64123 = 128338\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"DO + YOU + FEEL = LUCKY\n",
"57 + 870 + 9441 = 10368\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"WELL - DO + YOU = PUNK\n",
"5277 - 13 + 830 = 6094\n",
"__________________________________________________________________________________________\n",
"1399 - 65 + 750 = 2084\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"NOW + WE + KNOW + THE = TRUTH\n",
"673 + 38 + 9673 + 128 = 10512\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"SORRY + TO + BE + A + PARTY = POOPER\n",
"80556 + 20 + 34 + 9 + 19526 = 100145\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"SORRY + TO + BUST + YOUR = BUBBLE\n",
"94665 + 24 + 1092 + 5406 = 101187\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"STEEL + BELTED = RADIALS\n",
"87336 + 936732 = 1024068\n",
"__________________________________________________________________________________________\n",
"ABRA + CADABRA + ABRA + CADABRA = HOUDINI\n",
"7457 + 1797457 + 7457 + 1797457 = 3609828\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"2 * (ABRA + CADABRA) = HOUDINI\n",
"2 * (7457 + 1797457) = 3609828\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"I + GUESS + THE + TRUTH = HURTS\n",
"5 + 26811 + 478 + 49647 = 76941\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"LETS + CUT + TO + THE = CHASE\n",
"9478 + 127 + 75 + 704 = 10384\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"THATS + THE + THEORY = ANYWAY\n",
"86987 + 863 + 863241 = 951091\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"TWO + TWO = FOUR\n",
"734 + 734 = 1468\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"X / X = X\n",
"1 / 1 = 1\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"X + X = X\n",
"0 + 0 = 0\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"A^N + B^N = C^N and N > 1\n",
"3^2 + 4^2 = 5^2 and 2 > 1\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"ATOM^0.5 = A + TO + M\n",
"1296^0.5 = 1 + 29 + 6\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"ALL + GLITTERS is not GOLD\n",
"166 + 46500389 is not 4762\n",
"__________________________________________________________________________________________\n",
"122 + 32455678 is not 3920\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"ONE < TWO and FOUR < FIVE\n",
"351 < 703 and 2386 < 2491\n",
"__________________________________________________________________________________________\n",
"123 < 451 and 6178 < 6903\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"ONE < TWO < THREE < TWO * TWO\n",
"431 < 674 < 62511 < 674 * 674\n",
"__________________________________________________________________________________________\n",
"123 < 451 < 46733 < 451 * 451\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"(2 * BE or not 2 * BE) = THE + QUES-TION\n",
"(2 * 13 or not 2 * 13) = 843 + 7239-8056\n",
"__________________________________________________________________________________________\n",
"(2 * 13 or not 2 * 13) = 793 + 6438-7205\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"sum(range(AA)) = BB\n",
"sum(range(11)) = 55\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"sum(range(POP)) = BOBO\n",
"sum(range(101)) = 5050\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"ODD + ODD = EVEN\n",
"655 + 655 = 1310\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"ROMANS+ALSO+MORE+OR+LESS+ADDED = LETTERS\n",
"975348+3187+5790+79+1088+36606 = 1022098\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"X * X * X = M\n",
"2 * 2 * 2 = 8\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"XXVI + CCCXXXI = CCCLVII\n",
"3370 + 1113330 = 1116700\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"LXVII + CCCLXXX = CDXLVII\n",
"20133 + 8882000 = 8902133\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"CXX * XLII = MMMMMXL\n",
"422 * 2633 = 1111126\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"FOUR+ONE = FIVE and ONE+ONE+ONE+ONE+ONE = FIVE\n",
"1380+345 = 1725 and 345+345+345+345+345 = 1725\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"TEN+SEVEN+SEVEN+SEVEN+FOUR+FOUR+ONE = FORTY\n",
"520+12820+12820+12820+4937+4937+902 = 49756\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"NINETEEN+THIRTEEN+THREE+2*TWO+3*ONE = FORTYTWO\n",
"42415114+56275114+56711+2*538+3*841 = 98750538\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"IN + ARCTIC + TERRAIN + AN + ANCIENT + EERIE + ICE + TRACT + I + ENTER + A + TRANCE = FLATIANA\n",
"42 + 379549 + 5877342 + 32 + 3294825 + 88748 + 498 + 57395 + 4 + 82587 + 3 + 573298 = 10354323\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"ONE < TWO < THREE < SEVEN - THREE < THREE + TWO < THREE + THREE < SEVEN < SEVEN + ONE < THREE * THREE\n",
"321 < 483 < 45711 < 91612 - 45711 < 45711 + 483 < 45711 + 45711 < 91612 < 91612 + 321 < 45711 * 45711\n",
"__________________________________________________________________________________________\n",
"123 < 451 < 46733 < 93832 - 46733 < 46733 + 451 < 46733 + 46733 < 93832 < 93832 + 123 < 46733 * 46733\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"ABCDEFGHIJ/JIHGFEDCBA = AI/IG\n",
"1073589264/4629853701 = 16/69\n",
"__________________________________________________________________________________________\n",
"——————————————————————————————————————————————————————————————————————————————————————————\n",
"AN + ACCELERATING + INFERENTIAL + ENGINEERING + TALE + ELITE + GRANT + FEE + ET + CETERA = ARTIFICIAL + INTELLIGENCE\n",
"59 + 577404251698 + 69342491650 + 49869442698 + 1504 + 40614 + 82591 + 344 + 41 + 741425 = 5216367650 + 691400684974\n",
"CPU times: user 42.1 s, sys: 77.8 ms, total: 42.2 s\n",
"Wall time: 42.2 s\n"
"CPU times: user 18.2 s, sys: 47.4 ms, total: 18.2 s\n",
"Wall time: 18.2 s\n"
]
},
{
"data": {
"text/plain": [
"79"
"83"
]
},
"execution_count": 15,
@@ -847,7 +1009,7 @@
}
],
"source": [
"def show(formulas: Iterable[Formula], sep='_'*90):\n",
"def show(formulas: Iterable[Formula], sep=''*90):\n",
" \"\"\"Solve all the formulas and show results.\"\"\"\n",
" for f in formulas:\n",
" print(f'{sep}\\n{f}\\n{first(faster_solve(f))}')\n",
@@ -902,8 +1064,8 @@
"\n",
"assert translate_formula(\"A + B = CD\") == ('lambda A,B,C,D: C and (A) + (B) == (10*C + D)', 'ABCD')\n",
"assert translate_formula(\"NUM + BER = PLAY\") == (\n",
" 'lambda A,B,E,L,M,N,P,R,U,Y: N and B and P and (100*N + 10*U + M) + (100*B + 10*E + R) == (1000*P + 100*L + 10*A + Y)',\n",
" 'ABELMNPRUY')"
" 'lambda N,U,M,B,E,R,P,L,A,Y: N and B and P and (100*N + 10*U + M) + (100*B + 10*E + R) == (1000*P + 100*L + 10*A + Y)',\n",
" 'NUMBERPLAY')"
]
}
],
@@ -923,7 +1085,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.15"
"version": "3.13.3"
}
},
"nbformat": 4,

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@@ -7,24 +7,24 @@
"source": [
"<div style=\"text-align: right\">Peter Norvig<br>Mar 2024</div> \n",
"\n",
"# Stubborn Number Endings\n",
"# Stubborn Number Endings (e.g. 5² = 25)\n",
"\n",
"[Francis Su](https://www.francissu.com/)'s book *Mathematics for Human Flourishing* mentions the fact that numbers that end in \"5\" have a square that also ends in \"5\". \n",
"[Francis Su](https://www.francissu.com/)'s fine book *[Mathematics for Human Flourishing](https://www.francissu.com/flourishing)* mentions the fact that numbers that end in \"5\" have a square that also ends in \"5\". \n",
"\n",
"For example, 5² = 25, 15² = 225, and 25² = 625. \n",
"\n",
"This leads to some questions:\n",
"\n",
"- Is there an easy way to calculate the square of a number ending in \"5\"?\n",
"- Is there an easy way to calculate the square of a number ending in \"5\" without using a calculator?\n",
"- What should we call this property of \"square has same ending\"?\n",
"- Are there other digits besides 5 that have this property?\n",
"- Can we prove the property, not just show some examples?\n",
"- Are there multi-digit endings that have this property?\n",
"- Can we prove it, not just show some examples?\n",
"\n",
"\n",
"## Is there an easy way to calculate the square of a number ending in \"5\"?\n",
"\n",
"Let's make a table of {number: square} pairs and try to see a pattern:"
"Let's make a table of {number: square} pairs and look for a pattern:"
]
},
{
@@ -111,36 +111,34 @@
"\n",
"## What should we call this property?\n",
"\n",
"Let's define an **ending** as the rightmost-digits (zero or more) of a number in decimal notation. \n",
"Let's define an **ending** as the rightmost-digits of an integer in decimal notation. \n",
"\n",
"Then we can say that an ending is **stubborn** if every number with that ending has a square with the same ending.\n",
"Then we can say that an ending is **stubborn** if every integer with that ending has the same ending when squared.\n",
"\n",
"## Are there other digits besides 5 that are stubborn?\n",
"\n",
"We could work this out in our heads, or with paper and pencil, or we can compute it with an expression:"
"We could work this out in our heads, or with paper and pencil, or we can compute it:"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "c86f99ed-48fa-4954-9467-b72d67252d73",
"execution_count": 3,
"id": "ddcdafa8-bfa6-4707-951c-6683701e06c2",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'0', '1', '5', '6'}"
"{0, 1, 5, 6}"
]
},
"execution_count": 15,
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"digits = '0123456789'\n",
"\n",
"{e for e in digits if str(int(e) ** 2).endswith(e)}"
"{e for e in range(10) if str(e ** 2).endswith(str(e))}"
]
},
{
@@ -152,23 +150,27 @@
"\n",
"## Can we prove stubborness?\n",
"\n",
"We have seen that 0² ends in 0, 1² ends in 1, 5² ends in 5, and 6² ends in 6. And we have checked some numbers with those endings, for example, 245² ends in 5. But can we **prove** that **every** number ending in 0, 1, 5, or 6 has a square that ends in the same digit?\n",
"We have seen that 0² ends in 0, 1² ends in 1, 5² ends in 5, and 6² ends in 6. And we have checked some numbers with those endings, for example, 245² ends in 5. But can we **prove** that **every** integer ending in 0, 1, 5, or 6 has a square that ends in the same digit?\n",
"\n",
"Some notation: I'll use quote marks, as in \"*se*\" to mean the string of staring digits \"*s*\" followed by the string of ending digits \"*e*\".\n",
"Some notation: I'll use quote marks, as in \"*se*\" to mean the string of starting digits \"*s*\" followed by the string of ending digits \"*e*\".\n",
"\n",
"With a little bit of algebra we can see that if *s* is any string of digits and *e* is a single ending digit, then:\n",
"\n",
"\"*se*\"² = (10⋅*s* + *e*)² = (10⋅*s*)² + 2⋅(10⋅*s**e*) + *e*² = 10 ⋅ (10⋅*s*² + 2⋅*s*⋅*e*) + *e*²\n",
"\"*se*\"² = (10⋅*s* + *e*)² = (10⋅*s*)² + 2⋅(10⋅*s**e*) + *e*² = 10 ⋅ (10⋅*s*² + 2⋅*s*⋅*e*) + *e*² = *e*² (mod 10)\n",
"\n",
"This is ten times some integer, plus *e*², so \"*se*\"² ends in the digit *e* if and only if *e*² ends in *e*, and we know that is true for 0, 1, 5, and 6, and for no other digits.\n",
"In other words, \"*se*\"² is 10 times some integer plus *e*², so \"*se*\"² ends in the digit *e* if and only if *e*² ends in *e*. \n",
"\n",
"We know that is true for 0, 1, 5, and 6, and for no other digits.\n",
"\n",
"## Are there multi-digit endings that are stubborn?\n",
"\n",
"The algebraic argument above can be extended to work with an ending string *e* that is *k* digits long:\n",
"\n",
"\"*se*\"² = (10<sup>*k*</sup>⋅*s* + *e*)² = (10<sup>*k*</sup>⋅*s*)² + 2⋅(10<sup>*k*</sup>⋅*s* ⋅ *e*) + *e*² = 10<sup>*k*</sup> ⋅ (10<sup>*k*</sup>⋅*s*² + 2⋅*s*⋅*e*) + *e*²\n",
"\"*se*\"² = (10<sup>*k*</sup>⋅*s* + *e*)² = (10<sup>*k*</sup>⋅*s*)² + 2⋅(10<sup>*k*</sup>⋅*s* ⋅ *e*) + *e*² = 10<sup>*k*</sup> ⋅ (10<sup>*k*</sup>⋅*s*² + 2⋅*s*⋅*e*) + *e*² = *e*² (mod 10)\n",
"\n",
"This is 10<sup>*k*</sup> times some integer, plus *e*², so again \"*se*\"² ends in *e* if and only if *e*² ends in *e*. To put it another way, to test whether *e* is stubborn, all we have to do is square *e* and see if the result ends in *e*. There is one complication: we'd like to say that \"00\" is stubborn, because any number ending in \"00\", when squared, also ends in \"00\", for example 200² = 40000. But 00² is zero, which we write as \"0\", not as \"00\" or \"0000\". To make sure that \"00\" is considered stubborn, I will define the predicate function `stubborn(ending)` to test the square of \"1\" followed by the ending (I could have chosen any other starting digit string and the result would be the same). \n"
"Again, \"*se*\"² ends in *e* if and only if *e*² ends in *e*. To test whether *e* is a stubborn ending (with all possible starting digit strings), all we have to do is square *e* and see if the result ends in *e*. \n",
"\n",
"There is one **complication**: we'd like to say that \"0\" and \"00\" are two distinct stubborn endings, but 0 and 00 are the same integer. To distinguish them, I will describe endings as strings, not integers. I will define the predicate function `stubborn(ending: str)`:"
]
},
{
@@ -179,8 +181,10 @@
"outputs": [],
"source": [
"def stubborn(ending: str) -> bool:\n",
" \"\"\"Does the square of any number with this ending also end with this ending?\"\"\"\n",
" return str(int(\"1\" + ending) ** 2).endswith(ending)"
" \"\"\"Does every integer with this ending, when squared, also end with this ending?\"\"\"\n",
" start = \"1\" # Arbitrary choice of start; could be any non-zero digit string\n",
" square = str(int(start + ending) ** 2)\n",
" return square.endswith(ending)"
]
},
{
@@ -193,7 +197,7 @@
},
{
"cell_type": "code",
"execution_count": 17,
"execution_count": 5,
"id": "57e64e31-0674-4849-bf72-f6c6b437009a",
"metadata": {},
"outputs": [
@@ -203,13 +207,16 @@
"['00', '01', '25', '76']"
]
},
"execution_count": 17,
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"[s + e for s in digits for e in digits if stubborn(s + e)]"
"digits = '0123456789'\n",
"endings = [s + e for s in digits for e in digits]\n",
"\n",
"list(filter(stubborn, endings))"
]
},
{
@@ -217,12 +224,12 @@
"id": "61a2b8e2-2bdf-458f-adaf-ffde56125862",
"metadata": {},
"source": [
"We could easily continue on in this way, enumerating all three-, four- or even six-digit endings, and checking each one to see if it is stubborn. There are only a million six-digit endings. But there are a quadrillion 15-digit endings, so it would take a *long* time to check all of those. And 100-digit endings? Forget about it. Instead we need to rely on a simplification:\n",
"We could easily continue on in this way, enumerating all three-, four-, or more-digit endings, and checking each one to see if it is stubborn. There are only a million possible six-digit endings; we could quickly check them all. But there are a quadrillion 15-digit endings, so it would take a *long* time to check all of those. And 100-digit endings? Forget about it. Instead we need to rely on an optimization:\n",
"- Any two-digit stubborn ending ('00', '01', '25', '76') has to end in a one-digit-stubborn ending ('0', '1', '5', '6').\n",
"- In general, any *d*-digit stubborn ending has to end in a (*d*-1)-digit stubborn ending.\n",
"- So, to find the stubborn endings of length 100, I don't need to generate and test all 10<sup>100</sup> endings, I only need to consider the stubborn endings of length 99 and check each one of them. (If this simplification is not obvious, stop and convince yourself it is true.)\n",
"- So, to find the stubborn endings of length 100, I don't need to generate and test all 10<sup>100</sup> endings, I only need to consider the stubborn endings of length 99, prepend each of the ten digits to each of these endings to get a list of 100-digit endings, and then check each one for stubborness. \n",
"\n",
"Using this simplification we can efficiently compute all stubborn-endings of a given length *d* as follows (caching greatly improves efficiency):"
"Using this optimization we can efficiently compute all stubborn-endings of a given length *d* as follows (caching greatly improves efficiency):"
]
},
{
@@ -232,17 +239,16 @@
"metadata": {},
"outputs": [],
"source": [
"from functools import lru_cache\n",
"from functools import cache\n",
"\n",
"@lru_cache(None)\n",
"def stubborn_endings(d: int) -> list:\n",
"@cache\n",
"def stubborn_endings(d: int) -> list[str]:\n",
" \"\"\"A list of all stubborn endings of length `d` digits.\"\"\"\n",
" if d == 0:\n",
" return [''] # The empty ending is the sole stubborn ending of length 0.\n",
" return [''] # The empty ending is the only stubborn ending of length 0.\n",
" else:\n",
" return [(s + e) for e in stubborn_endings(d - 1) \n",
" for s in digits \n",
" if stubborn(s + e)]"
" endings = [s + e for e in stubborn_endings(d - 1) for s in digits]\n",
" return list(filter(stubborn, endings))"
]
},
{
@@ -262,7 +268,16 @@
{
"data": {
"text/plain": [
"['000', '001', '625', '376']"
"{0: [''],\n",
" 1: ['0', '1', '5', '6'],\n",
" 2: ['00', '01', '25', '76'],\n",
" 3: ['000', '001', '625', '376'],\n",
" 4: ['0000', '0001', '0625', '9376'],\n",
" 5: ['00000', '00001', '90625', '09376'],\n",
" 6: ['000000', '000001', '890625', '109376'],\n",
" 7: ['0000000', '0000001', '2890625', '7109376'],\n",
" 8: ['00000000', '00000001', '12890625', '87109376'],\n",
" 9: ['000000000', '000000001', '212890625', '787109376']}"
]
},
"execution_count": 7,
@@ -271,76 +286,13 @@
}
],
"source": [
"stubborn_endings(3)"
"{d: stubborn_endings(d) for d in range(10)}"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "d1dc31eb-e5dd-405e-b16d-eceef5c9493c",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['0000', '0001', '0625', '9376']"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"stubborn_endings(4)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "81730e6b-7218-4fca-9107-2a9539f62ea3",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['00000', '00001', '90625', '09376']"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"stubborn_endings(5)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "288506c8-6dc1-40d5-842a-eb65ed94ae98",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['000000', '000001', '890625', '109376']"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"stubborn_endings(6)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "73491ea5-a4c8-4221-8fc7-d6ce44d17bb4",
"id": "38c26d56-d916-481e-bc04-51af7a52b1e8",
"metadata": {},
"outputs": [
{
@@ -352,7 +304,7 @@
" '6046992680891830197061490109937833490419136188999442576576769103890995893380022607743740081787109376']"
]
},
"execution_count": 11,
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
@@ -366,26 +318,26 @@
"id": "37a45341-8dac-4720-be7d-388fa47eec1a",
"metadata": {},
"source": [
"## More questions!\n",
"\n",
"This leads to a few new questions.\n",
"\n",
"## Can each stubborn ending be extended exactly one way?\n",
"## Can each stubborn ending always be extended exactly one way?\n",
"\n",
"We know that each stubborn ending of length *d* has to build on the endings of length *d - 1*, but is it always the case that for any length *d* there will be exactly four endings? Might there be a case where two digits work with one of the endings, or no digits?\n",
"\n",
"I can show that there are always 4 endings up to length *d* = 2000, but I leave it to you to describe a proof that this will always be true."
"There are four stubborn endings of length 1: '0', '1', '5', and '6'. So far, every time we try, each of the four can be extended from length *d* to length *d*+1 in exactly one way. Will that always be the case? I leave it up to you to provide a proof, but I can show that it is true for every *d* up to 2000:"
]
},
{
"cell_type": "code",
"execution_count": 12,
"execution_count": 9,
"id": "654d53af-e58f-4ed2-874b-c4573f3a9a7a",
"metadata": {},
"outputs": [],
"source": [
"def last_digits(endings) -> list[str]: \n",
" \"\"\"A list of the last digits of these endings.\"\"\"\n",
" return [e[-1] for e in endings]\n",
" \n",
"for d in range(1, 2000):\n",
" assert len(stubborn_endings(d)) == 4 "
" assert last_digits(stubborn_endings(d)) == ['0', '1', '5', '6']"
]
},
{
@@ -393,37 +345,45 @@
"id": "537556a3-d570-4a50-93bf-9632b40f9b47",
"metadata": {},
"source": [
"One cool implication: if it is true that a stubborn ending of any length can always be extended, that means there is an infinitely long integer whose square ends with itself!\n",
"\n",
"## What digits are used to extend each ending?\n",
"\n",
"There doesn't seem to be a pattern, and all digits seemingly get used roughly evenly. \n",
"\n",
"I don't have a theory of which digit comes next, but I can count how many times each digit appears in the 2000-digit endings that end in \"5\" and \"6\", and see that each of the ten digits appears about 200 times:"
"I don't have a theory of which digit is used to extend each stubborn ending, but I can count:"
]
},
{
"cell_type": "code",
"execution_count": 13,
"execution_count": 10,
"id": "4dbd7ace-8b41-4ea7-b71f-8f7e318243e1",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Counter({'0': 205,\n",
" '3': 173,\n",
" '2': 208,\n",
" '6': 197,\n",
" '9': 198,\n",
" '5': 197,\n",
" '4': 206,\n",
" '8': 214,\n",
" '7': 205,\n",
" '1': 197})"
"{'0': Counter({'0': 1999}),\n",
" '1': Counter({'0': 1999}),\n",
" '5': Counter({'8': 214,\n",
" '2': 208,\n",
" '4': 206,\n",
" '0': 205,\n",
" '7': 205,\n",
" '9': 198,\n",
" '6': 197,\n",
" '1': 197,\n",
" '5': 196,\n",
" '3': 173}),\n",
" '6': Counter({'1': 214,\n",
" '7': 208,\n",
" '5': 206,\n",
" '9': 205,\n",
" '2': 205,\n",
" '0': 198,\n",
" '3': 197,\n",
" '8': 197,\n",
" '4': 196,\n",
" '6': 173})}"
]
},
"execution_count": 13,
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
@@ -431,47 +391,23 @@
"source": [
"from collections import Counter\n",
"\n",
"zero, one, five, six = stubborn_endings(2000)\n",
"\n",
"Counter(five)"
"{end: Counter(start) for (*start, end) in stubborn_endings(2000)}"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "96bdab37-c5a3-4597-b4ca-fb560e4c3163",
"cell_type": "markdown",
"id": "35e84df9-0b76-4d8d-aa13-2c4e73a86643",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Counter({'9': 205,\n",
" '6': 174,\n",
" '7': 208,\n",
" '3': 197,\n",
" '0': 198,\n",
" '4': 196,\n",
" '5': 206,\n",
" '1': 214,\n",
" '2': 205,\n",
" '8': 197})"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Counter(six)"
"This is saying that the stubborn endings \"0\" and \"1\" are always extended by prepending a \"0\", but for \"5\" and \"6\", it seems to be pretty random; each of the ten digits appears roughly 200 times."
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"display_name": "Python [conda env:base] *",
"language": "python",
"name": "python3"
"name": "conda-base-py"
},
"language_info": {
"codemirror_mode": {
@@ -483,7 +419,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.15"
"version": "3.13.9"
}
},
"nbformat": 4,

File diff suppressed because one or more lines are too long

View File

@@ -13,11 +13,11 @@
"\n",
"[![](https://community.wolfram.com//c/portal/getImageAttachment?filename=IMG_20181212_120939.jpg&userId=143131)](https://community.wolfram.com/groups/-/m/t/1569707)\n",
"\n",
"The 24-digit number printed on it is a prime, and as you sharpen the pencil and remove digits one at a time from the left, the resulting numbers are all primes:\n",
"The 24-digit number printed on this pencil is a prime, and as you sharpen the pencil and remove digits one at a time from the left, the resulting numbers are all primes:\n",
"\n",
" 357686312646216567629137 is prime\n",
" 57686312646216567629137 is prime\n",
" 7686312646216567629137 is prime|\n",
" 7686312646216567629137 is prime\n",
" ...\n",
" 137 is prime\n",
" 37 is prime\n",
@@ -1127,7 +1127,7 @@
"\n",
"# Note on Modular Exponentiation\n",
"\n",
"Just one more thing: none of this would work unless we can efficiently compute *a*<sup>(*n* - 1)</sup> (mod *n*). How does the `pow` builtin function do it? When *a* and *n* are 24-digit numbers, if we naively tried to compute `a ** (n - 1)`, we'd have two problems: we'd need nearly a billion petabytes to store the result, and we'd need centuries to compute it. The way around these problems is to use [modular exponentiation](https://en.wikipedia.org/wiki/Modular_exponentiation) where we apply the modulus to each intermediate result, and cut the exponent in half each iteration, so we need only do *O*(log *n*) multiplications, not *O*(*n*). That's a big difference: 10<sup>24</sup> is a trillion trillion, and log<sub>2</sub>(10<sup>24</sup>) is only 80. \n",
"Just one more thing: none of this would work unless we can efficiently compute *a*<sup>(*n* - 1)</sup> (mod *n*). How does the `pow` builtin function do it? When *a* and *n* are 24-digit numbers, if we naively tried to compute `a ** (n - 1)` and then apply (mod *n*), we'd have two problems: we'd need nearly a billion petabytes to store the result, and we'd need centuries to compute it. The way around these problems is to use [modular exponentiation](https://en.wikipedia.org/wiki/Modular_exponentiation) where we apply the modulus to each intermediate result, and cut the exponent in half each iteration, so we need only do *O*(log *n*) multiplications, not *O*(*n*). That's a big difference: 10<sup>24</sup> is a trillion trillion, and log<sub>2</sub>(10<sup>24</sup>) is only 80. \n",
"\n",
"There are two key ides that make this work:\n",
"1) *b*<sup>2*e*</sup> = (*b* × *b*)<sup>*e*</sup>\n",

BIN
ipynb/houses4.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@@ -23,8 +23,8 @@ notebooks = {
'How many electoral votes would Trump get if he wins the state where he has positive net approval?')],
'Advent of Code': [
('Advent of Code 2025: AI LLM Edition', 2024, 'Advent-2025-AI.ipynb', 'Using large language coding models to solve AoC puzzles'),
('Advent of Code 2025', 2024, 'Advent-2025.ipynb', 'Puzzle site with a coding puzzle for 12 days of Christmas, December 2025'),
('Advent of Code 2025: AI LLM Edition', 2025, 'Advent-2025-AI.ipynb', 'Using large language coding models to solve AoC puzzles'),
('Advent of Code 2025', 2025, 'Advent-2025.ipynb', 'Puzzle site with a coding puzzle for 12 days of Christmas, December 2025'),
('Advent of Code 2024', 2024, 'Advent-2024.ipynb', 'Puzzle site with a coding puzzle each day of Advent, December 2024'),
('Advent of Code 2023', 2023, 'Advent-2023.ipynb', 'Puzzle site with a coding puzzle each day of Advent, December 2023'),
('Advent of Code 2022', 2022, 'Advent-2022.ipynb', 'Puzzle site with a coding puzzle each day of Advent, December 2022'),
@@ -98,7 +98,7 @@ notebooks = {
('Lottery', 2019, 'RiddlerLottery.ipynb', 'Can you find what lottery number tickets these five friends picked?'),
('How Many Soldiers to Beat the Night King?', 2019, 'NightKing.ipynb', 'A battle between the army of the dead and the army of the living'),
('Misanthropic Neighbors', 2017, 'Mean%20Misanthrope%20Density.ipynb', 'How crowded will this neighborhood be, if nobody wants to live next door to anyone else?'),
('Properly Ordered Card Hands', 2018, 'Orderable%20Cards.ipynb', 'Can you get your hand of cards into a nice order with just one move?'),
('Properly Organized Card Hands', 2018, 'Orderable%20Cards.ipynb', 'Can you get your hand of cards into a nice order with just one move?'),
('Race Track', 2021, 'RaceTrack.ipynb', 'Race virtual cars around a circular track defined on a grid of points.'),
('Split the States', 2021, 'SplitStates.ipynb', 'Split the US states into two near-halves by area.'),
('Tour de 538', 2020, 'TourDe538.ipynb', 'Solve a puzzle involving the best pace for a bicycle race.'),
@@ -143,6 +143,7 @@ import re
import urllib.request
current_year = 2026
new_year = current_year - 2 # What `find_newest` looks for
def read_url(url: str) -> str:
"""Reads a file from the specified URL and returns its content as a string."""
@@ -178,7 +179,7 @@ def format_notebooks() -> str:
find_newest(notebooks)
return '\n'.join(format_category(name) for name in notebooks)
def find_newest(notebooks, label='New', year=current_year-1) -> None:
def find_newest(notebooks, label='New', year=new_year) -> None:
"""Mutate `notebooks['New']` to have a collection of newest notebooks."""
for category in notebooks:
for line in notebooks[category]:
@@ -220,7 +221,7 @@ def format_python(url, description, doc='') -> str:
body = f"""
<div align="right" style="text-align:right"><i>Peter Norvig
<br><a href="https://github.com/norvig/pytudes/blob/main/LICENSE">MIT License</a><br>2015-2022</i></div>
<br><a href="https://github.com/norvig/pytudes/blob/main/LICENSE">MIT License</a><br>2015-2026</i></div>
# pytudes
@@ -233,7 +234,6 @@ This project contains ***pytudes***—Python programs, usually short, for perfec
To continue the musical analogy, some people think of programming like [Spotify](http://spotify.com): they want to know how to install the app, find a good playlist, and hit the "play" button; after that they don't want to think about it. There are plenty of other tutorials that will tell you how to do the equivalent of that for various programming tasks—this one won't help. But if you think of programming like playing the piano—a craft that can take [years](https://norvig.com/21-days.html) to perfect—then I hope this collection can help.
# Index of Jupyter (IPython) Notebooks
For each notebook you can hover on the title to see a description, or click the title to view on github, or click one of the letters in the left column to launch the notebook on
@@ -250,15 +250,30 @@ For each notebook you can hover on the title to see a description, or click the
{format_pythons()}
# Etudes for Programmers
I got the idea for the *"etudes"* part of the name from
this [1978 book](https://books.google.com/books/about/Etudes_for_programmers.html?id=u89WAAAAMAAJ)
by [Charles Wetherell](http://demin.ws/blog/english/2012/08/25/interview-with-charles-wetherell)
that was very influential to me when I was first learning to program. I still have my copy.
that was very influential to me when I was first learning to program. I still have my copy, but
it is now easier to find a [pdf](txt/Etudes.pdf) than a hard copy.
![](https://images-na.ssl-images-amazon.com/images/I/51ZnZH29dvL._SX394_BO1,204,203,200_.jpg)
# Reviews of pytudes
Here's what some people are saying about `pytudes`:
- "What I find interesting is how Peter builds bottom-up solutions using low-level utilities... Reading his code is educational." - [Jeremey Howard](https://en.wikipedia.org/wiki/Jeremy_Howard_(entrepreneur)), co-founder of fast.ai and chief scientist at Kaggle
- "Everything I see from Peter Norvig is just always so incredibly well written and coded." — [Jonathan](https://news.ycombinator.com/user?id=jypepin), [Hacker News](https://news.ycombinator.com/item?id=27379366)
- "Peter Norvig is my go to recommendation when someone is interested in becoming better at solving day to day problems ... I feel his skill of dividing a problem into small pieces and expressing them in code in a natural way is unparalleled." — [mikevin](https://news.ycombinator.com/user?id=mikevin), [Hacker News](https://news.ycombinator.com/item?id=27379366)
- "I've never seen Peter Norvig choose anything but the most elegant and perfect data model for the problem at hand." — [spoonjim](https://news.ycombinator.com/user?id=spoonjim), [Hacker News](https://news.ycombinator.com/item?id=27379366)
- "I just find Norvig's style of "functional Python" lovely in its own way (with noted disregard of Pep8 and other "best practices")" —[raverbashing](https://news.ycombinator.com/user?id=raverbashing), [Hacker News](https://news.ycombinator.com/item?id=25654955)
- "You should check out Norvig's design of computer programs [course on Udacity](https://imp.i115008.net/c/2331964/788805/11298?u=https://www.udacity.com/course/design-of-computer-programs--cs212) where he uses these kinds of puzzle programs to teach programming design concepts. It is a hard but really rewarding course. — [nafizh](https://news.ycombinator.com/user?id=nafizh), [HN ACademy](https://yahnd.com/academy/r/udacity.com/course/design-of-computer-programs--cs212/)
- "Often enough I would think of something [a possible improvement[, but if you worked it out in detail there was some less-obvious reason the code was the way it was... All the code is pretty short, and it's not really 'production code', but it's enough to be an education in craftsmanship at every level."
- [What code samples should programmers read?] "Anything else implemented by Norvig, he's one of the best programmers that I've had the pleasure of reading code from." - [jacquesm](https://news.ycombinator.com/user?id=jacquesm) on [Hacker News](https://news.ycombinator.com/item?id=14487724)
- "Everything I see from Peter Norvig is just always so incredibly well written and coded. Every year looking at his solutions for advent of code [0] brings just so much learnings. Strongly recommend. - [jyepin](https://news.ycombinator.com/user?id=jypepin) [Hacker News](https://news.ycombinator.com/item?id=27379366)
- "I feel his skill of dividing a problem into small pieces and expressing them in code in a natural way is unparalleled." - [mikevin](https://news.ycombinator.com/user?id=mikevin) [Hacker News](https://news.ycombinator.com/item?id=27379366)
"""
output = 'README.md'
print(f'Wrote {open(output, "w").write(body)} characters to {output}')
print('Checking...')
check()
with open('README.md', "w") as out:
print(f'Wrote {out.write(body)} characters to {out.name}')
#print('Checking...'); check()