Initial commit master
authorNeil Smith <neil.git@njae.me.uk>
Fri, 13 Oct 2017 12:44:07 +0000 (13:44 +0100)
committerNeil Smith <neil.git@njae.me.uk>
Fri, 13 Oct 2017 12:44:07 +0000 (13:44 +0100)
.gitignore [new file with mode: 0644]
bubble-oneshot.ipynb [new file with mode: 0644]
bubble-sort-then-write.ipynb [new file with mode: 0644]
insertion-sort.ipynb [new file with mode: 0644]
selection-sort.ipynb [new file with mode: 0644]

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..dacae82
--- /dev/null
@@ -0,0 +1,11 @@
+*~
+*doc
+*log
+/tmp
+/__pycache__/*
+*pyc
+.ipynb*
+*.sublime-workspace
+
+*png
+*mp4
diff --git a/bubble-oneshot.ipynb b/bubble-oneshot.ipynb
new file mode 100644 (file)
index 0000000..3c33f04
--- /dev/null
@@ -0,0 +1,1673 @@
+{
+ "cells": [
+  {
+   "cell_type": "code",
+   "execution_count": 12,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "import random\n",
+    "import time\n",
+    "import re\n",
+    "from IPython.display import clear_output\n",
+    "from PIL import Image, ImageDraw, ImageColor, ImageFont"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 17,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "ROWS = 300\n",
+    "COLUMNS = 720 \n",
+    "RANGE = 360"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 18,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "grid = [[random.randrange(RANGE) for _ in range(COLUMNS)] for _ in range(ROWS)]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 52,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "grid = [random.sample(list(range(360))*2, 720) for _ in range(ROWS)]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 53,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[(0, 600), (1, 600), (2, 600), (3, 600), (4, 600)]"
+      ]
+     },
+     "execution_count": 53,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "import collections\n",
+    "collections.Counter(c for r in grid for c in r).most_common(5)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 44,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def draw_frame(grid, frame_number, prefix='frame'):\n",
+    "    im = Image.new('RGB', (COLUMNS * 1, ROWS * 1))\n",
+    "\n",
+    "    draw = ImageDraw.Draw(im)\n",
+    "    for (r, row) in enumerate(grid):\n",
+    "        for (c, cell) in enumerate(row):\n",
+    "            rx = c * 1\n",
+    "            ry = r * 1\n",
+    "    #         print(rx, ry)\n",
+    "            draw.rectangle([rx, ry, rx + 1, ry + 1], \n",
+    "                           fill=ImageColor.getrgb(\"hsl({}, 100%, 50%)\".format(cell)))\n",
+    "\n",
+    "    im.save('{}{:04}.png'.format(prefix, frame_number), 'PNG')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 45,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def bubblesort_step(grid):\n",
+    "    for row in grid:\n",
+    "        max_n = 0\n",
+    "        max_i = 0\n",
+    "        for i in range(1, len(row)):\n",
+    "            if row[i] < row[i-1]:\n",
+    "                row[i-1], row[i] = row[i], row[i-1]\n",
+    "    return grid"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 46,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def all_sorted(grid):\n",
+    "    return all(sorted(row) == row for row in grid)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 54,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# grid = [[random.randrange(RANGE) for _ in range(COLUMNS)] for _ in range(ROWS)]\n",
+    "grid = [random.sample(list(range(360))*2, 720) for _ in range(ROWS)]\n",
+    "frame_n = 0\n",
+    "while not all_sorted(grid):\n",
+    "    draw_frame(grid, frame_n, prefix='bubblesort')\n",
+    "    bubblesort_step(grid)\n",
+    "    frame_n += 1"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 55,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "716"
+      ]
+     },
+     "execution_count": 55,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "frame_n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 57,
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "APNG Assembler 2.7\n",
+      "\n",
+      "reading bubblesort0000.png (1 of 716)\n",
+      "reading bubblesort0001.png (2 of 716)\n",
+      "reading bubblesort0002.png (3 of 716)\n",
+      "reading bubblesort0003.png (4 of 716)\n",
+      "reading bubblesort0004.png (5 of 716)\n",
+      "reading bubblesort0005.png (6 of 716)\n",
+      "reading bubblesort0006.png (7 of 716)\n",
+      "reading bubblesort0007.png (8 of 716)\n",
+      "reading bubblesort0008.png (9 of 716)\n",
+      "reading bubblesort0009.png (10 of 716)\n",
+      "reading bubblesort0010.png (11 of 716)\n",
+      "reading bubblesort0011.png (12 of 716)\n",
+      "reading bubblesort0012.png (13 of 716)\n",
+      "reading bubblesort0013.png (14 of 716)\n",
+      "reading bubblesort0014.png (15 of 716)\n",
+      "reading bubblesort0015.png (16 of 716)\n",
+      "reading bubblesort0016.png (17 of 716)\n",
+      "reading bubblesort0017.png (18 of 716)\n",
+      "reading bubblesort0018.png (19 of 716)\n",
+      "reading bubblesort0019.png (20 of 716)\n",
+      "reading bubblesort0020.png (21 of 716)\n",
+      "reading bubblesort0021.png (22 of 716)\n",
+      "reading bubblesort0022.png (23 of 716)\n",
+      "reading bubblesort0023.png (24 of 716)\n",
+      "reading bubblesort0024.png (25 of 716)\n",
+      "reading bubblesort0025.png (26 of 716)\n",
+      "reading bubblesort0026.png (27 of 716)\n",
+      "reading bubblesort0027.png (28 of 716)\n",
+      "reading bubblesort0028.png (29 of 716)\n",
+      "reading bubblesort0029.png (30 of 716)\n",
+      "reading bubblesort0030.png (31 of 716)\n",
+      "reading bubblesort0031.png (32 of 716)\n",
+      "reading bubblesort0032.png (33 of 716)\n",
+      "reading bubblesort0033.png (34 of 716)\n",
+      "reading bubblesort0034.png (35 of 716)\n",
+      "reading bubblesort0035.png (36 of 716)\n",
+      "reading bubblesort0036.png (37 of 716)\n",
+      "reading bubblesort0037.png (38 of 716)\n",
+      "reading bubblesort0038.png (39 of 716)\n",
+      "reading bubblesort0039.png (40 of 716)\n",
+      "reading bubblesort0040.png (41 of 716)\n",
+      "reading bubblesort0041.png (42 of 716)\n",
+      "reading bubblesort0042.png (43 of 716)\n",
+      "reading bubblesort0043.png (44 of 716)\n",
+      "reading bubblesort0044.png (45 of 716)\n",
+      "reading bubblesort0045.png (46 of 716)\n",
+      "reading bubblesort0046.png (47 of 716)\n",
+      "reading bubblesort0047.png (48 of 716)\n",
+      "reading bubblesort0048.png (49 of 716)\n",
+      "reading bubblesort0049.png (50 of 716)\n",
+      "reading bubblesort0050.png (51 of 716)\n",
+      "reading bubblesort0051.png (52 of 716)\n",
+      "reading bubblesort0052.png (53 of 716)\n",
+      "reading bubblesort0053.png (54 of 716)\n",
+      "reading bubblesort0054.png (55 of 716)\n",
+      "reading bubblesort0055.png (56 of 716)\n",
+      "reading bubblesort0056.png (57 of 716)\n",
+      "reading bubblesort0057.png (58 of 716)\n",
+      "reading bubblesort0058.png (59 of 716)\n",
+      "reading bubblesort0059.png (60 of 716)\n",
+      "reading bubblesort0060.png (61 of 716)\n",
+      "reading bubblesort0061.png (62 of 716)\n",
+      "reading bubblesort0062.png (63 of 716)\n",
+      "reading bubblesort0063.png (64 of 716)\n",
+      "reading bubblesort0064.png (65 of 716)\n",
+      "reading bubblesort0065.png (66 of 716)\n",
+      "reading bubblesort0066.png (67 of 716)\n",
+      "reading bubblesort0067.png (68 of 716)\n",
+      "reading bubblesort0068.png (69 of 716)\n",
+      "reading bubblesort0069.png (70 of 716)\n",
+      "reading bubblesort0070.png (71 of 716)\n",
+      "reading bubblesort0071.png (72 of 716)\n",
+      "reading bubblesort0072.png (73 of 716)\n",
+      "reading bubblesort0073.png (74 of 716)\n",
+      "reading bubblesort0074.png (75 of 716)\n",
+      "reading bubblesort0075.png (76 of 716)\n",
+      "reading bubblesort0076.png (77 of 716)\n",
+      "reading bubblesort0077.png (78 of 716)\n",
+      "reading bubblesort0078.png (79 of 716)\n",
+      "reading bubblesort0079.png (80 of 716)\n",
+      "reading bubblesort0080.png (81 of 716)\n",
+      "reading bubblesort0081.png (82 of 716)\n",
+      "reading bubblesort0082.png (83 of 716)\n",
+      "reading bubblesort0083.png (84 of 716)\n",
+      "reading bubblesort0084.png (85 of 716)\n",
+      "reading bubblesort0085.png (86 of 716)\n",
+      "reading bubblesort0086.png (87 of 716)\n",
+      "reading bubblesort0087.png (88 of 716)\n",
+      "reading bubblesort0088.png (89 of 716)\n",
+      "reading bubblesort0089.png (90 of 716)\n",
+      "reading bubblesort0090.png (91 of 716)\n",
+      "reading bubblesort0091.png (92 of 716)\n",
+      "reading bubblesort0092.png (93 of 716)\n",
+      "reading bubblesort0093.png (94 of 716)\n",
+      "reading bubblesort0094.png (95 of 716)\n",
+      "reading bubblesort0095.png (96 of 716)\n",
+      "reading bubblesort0096.png (97 of 716)\n",
+      "reading bubblesort0097.png (98 of 716)\n",
+      "reading bubblesort0098.png (99 of 716)\n",
+      "reading bubblesort0099.png (100 of 716)\n",
+      "reading bubblesort0100.png (101 of 716)\n",
+      "reading bubblesort0101.png (102 of 716)\n",
+      "reading bubblesort0102.png (103 of 716)\n",
+      "reading bubblesort0103.png (104 of 716)\n",
+      "reading bubblesort0104.png (105 of 716)\n",
+      "reading bubblesort0105.png (106 of 716)\n",
+      "reading bubblesort0106.png (107 of 716)\n",
+      "reading bubblesort0107.png (108 of 716)\n",
+      "reading bubblesort0108.png (109 of 716)\n",
+      "reading bubblesort0109.png (110 of 716)\n",
+      "reading bubblesort0110.png (111 of 716)\n",
+      "reading bubblesort0111.png (112 of 716)\n",
+      "reading bubblesort0112.png (113 of 716)\n",
+      "reading bubblesort0113.png (114 of 716)\n",
+      "reading bubblesort0114.png (115 of 716)\n",
+      "reading bubblesort0115.png (116 of 716)\n",
+      "reading bubblesort0116.png (117 of 716)\n",
+      "reading bubblesort0117.png (118 of 716)\n",
+      "reading bubblesort0118.png (119 of 716)\n",
+      "reading bubblesort0119.png (120 of 716)\n",
+      "reading bubblesort0120.png (121 of 716)\n",
+      "reading bubblesort0121.png (122 of 716)\n",
+      "reading bubblesort0122.png (123 of 716)\n",
+      "reading bubblesort0123.png (124 of 716)\n",
+      "reading bubblesort0124.png (125 of 716)\n",
+      "reading bubblesort0125.png (126 of 716)\n",
+      "reading bubblesort0126.png (127 of 716)\n",
+      "reading bubblesort0127.png (128 of 716)\n",
+      "reading bubblesort0128.png (129 of 716)\n",
+      "reading bubblesort0129.png (130 of 716)\n",
+      "reading bubblesort0130.png (131 of 716)\n",
+      "reading bubblesort0131.png (132 of 716)\n",
+      "reading bubblesort0132.png (133 of 716)\n",
+      "reading bubblesort0133.png (134 of 716)\n",
+      "reading bubblesort0134.png (135 of 716)\n",
+      "reading bubblesort0135.png (136 of 716)\n",
+      "reading bubblesort0136.png (137 of 716)\n",
+      "reading bubblesort0137.png (138 of 716)\n",
+      "reading bubblesort0138.png (139 of 716)\n",
+      "reading bubblesort0139.png (140 of 716)\n",
+      "reading bubblesort0140.png (141 of 716)\n",
+      "reading bubblesort0141.png (142 of 716)\n",
+      "reading bubblesort0142.png (143 of 716)\n",
+      "reading bubblesort0143.png (144 of 716)\n",
+      "reading bubblesort0144.png (145 of 716)\n",
+      "reading bubblesort0145.png (146 of 716)\n",
+      "reading bubblesort0146.png (147 of 716)\n",
+      "reading bubblesort0147.png (148 of 716)\n",
+      "reading bubblesort0148.png (149 of 716)\n",
+      "reading bubblesort0149.png (150 of 716)\n",
+      "reading bubblesort0150.png (151 of 716)\n",
+      "reading bubblesort0151.png (152 of 716)\n",
+      "reading bubblesort0152.png (153 of 716)\n",
+      "reading bubblesort0153.png (154 of 716)\n",
+      "reading bubblesort0154.png (155 of 716)\n",
+      "reading bubblesort0155.png (156 of 716)\n",
+      "reading bubblesort0156.png (157 of 716)\n",
+      "reading bubblesort0157.png (158 of 716)\n",
+      "reading bubblesort0158.png (159 of 716)\n",
+      "reading bubblesort0159.png (160 of 716)\n",
+      "reading bubblesort0160.png (161 of 716)\n",
+      "reading bubblesort0161.png (162 of 716)\n",
+      "reading bubblesort0162.png (163 of 716)\n",
+      "reading bubblesort0163.png (164 of 716)\n",
+      "reading bubblesort0164.png (165 of 716)\n",
+      "reading bubblesort0165.png (166 of 716)\n",
+      "reading bubblesort0166.png (167 of 716)\n",
+      "reading bubblesort0167.png (168 of 716)\n",
+      "reading bubblesort0168.png (169 of 716)\n",
+      "reading bubblesort0169.png (170 of 716)\n",
+      "reading bubblesort0170.png (171 of 716)\n",
+      "reading bubblesort0171.png (172 of 716)\n",
+      "reading bubblesort0172.png (173 of 716)\n",
+      "reading bubblesort0173.png (174 of 716)\n",
+      "reading bubblesort0174.png (175 of 716)\n",
+      "reading bubblesort0175.png (176 of 716)\n",
+      "reading bubblesort0176.png (177 of 716)\n",
+      "reading bubblesort0177.png (178 of 716)\n",
+      "reading bubblesort0178.png (179 of 716)\n",
+      "reading bubblesort0179.png (180 of 716)\n",
+      "reading bubblesort0180.png (181 of 716)\n",
+      "reading bubblesort0181.png (182 of 716)\n",
+      "reading bubblesort0182.png (183 of 716)\n",
+      "reading bubblesort0183.png (184 of 716)\n",
+      "reading bubblesort0184.png (185 of 716)\n",
+      "reading bubblesort0185.png (186 of 716)\n",
+      "reading bubblesort0186.png (187 of 716)\n",
+      "reading bubblesort0187.png (188 of 716)\n",
+      "reading bubblesort0188.png (189 of 716)\n",
+      "reading bubblesort0189.png (190 of 716)\n",
+      "reading bubblesort0190.png (191 of 716)\n",
+      "reading bubblesort0191.png (192 of 716)\n",
+      "reading bubblesort0192.png (193 of 716)\n",
+      "reading bubblesort0193.png (194 of 716)\n",
+      "reading bubblesort0194.png (195 of 716)\n",
+      "reading bubblesort0195.png (196 of 716)\n",
+      "reading bubblesort0196.png (197 of 716)\n",
+      "reading bubblesort0197.png (198 of 716)\n",
+      "reading bubblesort0198.png (199 of 716)\n",
+      "reading bubblesort0199.png (200 of 716)\n",
+      "reading bubblesort0200.png (201 of 716)\n",
+      "reading bubblesort0201.png (202 of 716)\n",
+      "reading bubblesort0202.png (203 of 716)\n",
+      "reading bubblesort0203.png (204 of 716)\n",
+      "reading bubblesort0204.png (205 of 716)\n",
+      "reading bubblesort0205.png (206 of 716)\n",
+      "reading bubblesort0206.png (207 of 716)\n",
+      "reading bubblesort0207.png (208 of 716)\n",
+      "reading bubblesort0208.png (209 of 716)\n",
+      "reading bubblesort0209.png (210 of 716)\n",
+      "reading bubblesort0210.png (211 of 716)\n",
+      "reading bubblesort0211.png (212 of 716)\n",
+      "reading bubblesort0212.png (213 of 716)\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "reading bubblesort0213.png (214 of 716)\n",
+      "reading bubblesort0214.png (215 of 716)\n",
+      "reading bubblesort0215.png (216 of 716)\n",
+      "reading bubblesort0216.png (217 of 716)\n",
+      "reading bubblesort0217.png (218 of 716)\n",
+      "reading bubblesort0218.png (219 of 716)\n",
+      "reading bubblesort0219.png (220 of 716)\n",
+      "reading bubblesort0220.png (221 of 716)\n",
+      "reading bubblesort0221.png (222 of 716)\n",
+      "reading bubblesort0222.png (223 of 716)\n",
+      "reading bubblesort0223.png (224 of 716)\n",
+      "reading bubblesort0224.png (225 of 716)\n",
+      "reading bubblesort0225.png (226 of 716)\n",
+      "reading bubblesort0226.png (227 of 716)\n",
+      "reading bubblesort0227.png (228 of 716)\n",
+      "reading bubblesort0228.png (229 of 716)\n",
+      "reading bubblesort0229.png (230 of 716)\n",
+      "reading bubblesort0230.png (231 of 716)\n",
+      "reading bubblesort0231.png (232 of 716)\n",
+      "reading bubblesort0232.png (233 of 716)\n",
+      "reading bubblesort0233.png (234 of 716)\n",
+      "reading bubblesort0234.png (235 of 716)\n",
+      "reading bubblesort0235.png (236 of 716)\n",
+      "reading bubblesort0236.png (237 of 716)\n",
+      "reading bubblesort0237.png (238 of 716)\n",
+      "reading bubblesort0238.png (239 of 716)\n",
+      "reading bubblesort0239.png (240 of 716)\n",
+      "reading bubblesort0240.png (241 of 716)\n",
+      "reading bubblesort0241.png (242 of 716)\n",
+      "reading bubblesort0242.png (243 of 716)\n",
+      "reading bubblesort0243.png (244 of 716)\n",
+      "reading bubblesort0244.png (245 of 716)\n",
+      "reading bubblesort0245.png (246 of 716)\n",
+      "reading bubblesort0246.png (247 of 716)\n",
+      "reading bubblesort0247.png (248 of 716)\n",
+      "reading bubblesort0248.png (249 of 716)\n",
+      "reading bubblesort0249.png (250 of 716)\n",
+      "reading bubblesort0250.png (251 of 716)\n",
+      "reading bubblesort0251.png (252 of 716)\n",
+      "reading bubblesort0252.png (253 of 716)\n",
+      "reading bubblesort0253.png (254 of 716)\n",
+      "reading bubblesort0254.png (255 of 716)\n",
+      "reading bubblesort0255.png (256 of 716)\n",
+      "reading bubblesort0256.png (257 of 716)\n",
+      "reading bubblesort0257.png (258 of 716)\n",
+      "reading bubblesort0258.png (259 of 716)\n",
+      "reading bubblesort0259.png (260 of 716)\n",
+      "reading bubblesort0260.png (261 of 716)\n",
+      "reading bubblesort0261.png (262 of 716)\n",
+      "reading bubblesort0262.png (263 of 716)\n",
+      "reading bubblesort0263.png (264 of 716)\n",
+      "reading bubblesort0264.png (265 of 716)\n",
+      "reading bubblesort0265.png (266 of 716)\n",
+      "reading bubblesort0266.png (267 of 716)\n",
+      "reading bubblesort0267.png (268 of 716)\n",
+      "reading bubblesort0268.png (269 of 716)\n",
+      "reading bubblesort0269.png (270 of 716)\n",
+      "reading bubblesort0270.png (271 of 716)\n",
+      "reading bubblesort0271.png (272 of 716)\n",
+      "reading bubblesort0272.png (273 of 716)\n",
+      "reading bubblesort0273.png (274 of 716)\n",
+      "reading bubblesort0274.png (275 of 716)\n",
+      "reading bubblesort0275.png (276 of 716)\n",
+      "reading bubblesort0276.png (277 of 716)\n",
+      "reading bubblesort0277.png (278 of 716)\n",
+      "reading bubblesort0278.png (279 of 716)\n",
+      "reading bubblesort0279.png (280 of 716)\n",
+      "reading bubblesort0280.png (281 of 716)\n",
+      "reading bubblesort0281.png (282 of 716)\n",
+      "reading bubblesort0282.png (283 of 716)\n",
+      "reading bubblesort0283.png (284 of 716)\n",
+      "reading bubblesort0284.png (285 of 716)\n",
+      "reading bubblesort0285.png (286 of 716)\n",
+      "reading bubblesort0286.png (287 of 716)\n",
+      "reading bubblesort0287.png (288 of 716)\n",
+      "reading bubblesort0288.png (289 of 716)\n",
+      "reading bubblesort0289.png (290 of 716)\n",
+      "reading bubblesort0290.png (291 of 716)\n",
+      "reading bubblesort0291.png (292 of 716)\n",
+      "reading bubblesort0292.png (293 of 716)\n",
+      "reading bubblesort0293.png (294 of 716)\n",
+      "reading bubblesort0294.png (295 of 716)\n",
+      "reading bubblesort0295.png (296 of 716)\n",
+      "reading bubblesort0296.png (297 of 716)\n",
+      "reading bubblesort0297.png (298 of 716)\n",
+      "reading bubblesort0298.png (299 of 716)\n",
+      "reading bubblesort0299.png (300 of 716)\n",
+      "reading bubblesort0300.png (301 of 716)\n",
+      "reading bubblesort0301.png (302 of 716)\n",
+      "reading bubblesort0302.png (303 of 716)\n",
+      "reading bubblesort0303.png (304 of 716)\n",
+      "reading bubblesort0304.png (305 of 716)\n",
+      "reading bubblesort0305.png (306 of 716)\n",
+      "reading bubblesort0306.png (307 of 716)\n",
+      "reading bubblesort0307.png (308 of 716)\n",
+      "reading bubblesort0308.png (309 of 716)\n",
+      "reading bubblesort0309.png (310 of 716)\n",
+      "reading bubblesort0310.png (311 of 716)\n",
+      "reading bubblesort0311.png (312 of 716)\n",
+      "reading bubblesort0312.png (313 of 716)\n",
+      "reading bubblesort0313.png (314 of 716)\n",
+      "reading bubblesort0314.png (315 of 716)\n",
+      "reading bubblesort0315.png (316 of 716)\n",
+      "reading bubblesort0316.png (317 of 716)\n",
+      "reading bubblesort0317.png (318 of 716)\n",
+      "reading bubblesort0318.png (319 of 716)\n",
+      "reading bubblesort0319.png (320 of 716)\n",
+      "reading bubblesort0320.png (321 of 716)\n",
+      "reading bubblesort0321.png (322 of 716)\n",
+      "reading bubblesort0322.png (323 of 716)\n",
+      "reading bubblesort0323.png (324 of 716)\n",
+      "reading bubblesort0324.png (325 of 716)\n",
+      "reading bubblesort0325.png (326 of 716)\n",
+      "reading bubblesort0326.png (327 of 716)\n",
+      "reading bubblesort0327.png (328 of 716)\n",
+      "reading bubblesort0328.png (329 of 716)\n",
+      "reading bubblesort0329.png (330 of 716)\n",
+      "reading bubblesort0330.png (331 of 716)\n",
+      "reading bubblesort0331.png (332 of 716)\n",
+      "reading bubblesort0332.png (333 of 716)\n",
+      "reading bubblesort0333.png (334 of 716)\n",
+      "reading bubblesort0334.png (335 of 716)\n",
+      "reading bubblesort0335.png (336 of 716)\n",
+      "reading bubblesort0336.png (337 of 716)\n",
+      "reading bubblesort0337.png (338 of 716)\n",
+      "reading bubblesort0338.png (339 of 716)\n",
+      "reading bubblesort0339.png (340 of 716)\n",
+      "reading bubblesort0340.png (341 of 716)\n",
+      "reading bubblesort0341.png (342 of 716)\n",
+      "reading bubblesort0342.png (343 of 716)\n",
+      "reading bubblesort0343.png (344 of 716)\n",
+      "reading bubblesort0344.png (345 of 716)\n",
+      "reading bubblesort0345.png (346 of 716)\n",
+      "reading bubblesort0346.png (347 of 716)\n",
+      "reading bubblesort0347.png (348 of 716)\n",
+      "reading bubblesort0348.png (349 of 716)\n",
+      "reading bubblesort0349.png (350 of 716)\n",
+      "reading bubblesort0350.png (351 of 716)\n",
+      "reading bubblesort0351.png (352 of 716)\n",
+      "reading bubblesort0352.png (353 of 716)\n",
+      "reading bubblesort0353.png (354 of 716)\n",
+      "reading bubblesort0354.png (355 of 716)\n",
+      "reading bubblesort0355.png (356 of 716)\n",
+      "reading bubblesort0356.png (357 of 716)\n",
+      "reading bubblesort0357.png (358 of 716)\n",
+      "reading bubblesort0358.png (359 of 716)\n",
+      "reading bubblesort0359.png (360 of 716)\n",
+      "reading bubblesort0360.png (361 of 716)\n",
+      "reading bubblesort0361.png (362 of 716)\n",
+      "reading bubblesort0362.png (363 of 716)\n",
+      "reading bubblesort0363.png (364 of 716)\n",
+      "reading bubblesort0364.png (365 of 716)\n",
+      "reading bubblesort0365.png (366 of 716)\n",
+      "reading bubblesort0366.png (367 of 716)\n",
+      "reading bubblesort0367.png (368 of 716)\n",
+      "reading bubblesort0368.png (369 of 716)\n",
+      "reading bubblesort0369.png (370 of 716)\n",
+      "reading bubblesort0370.png (371 of 716)\n",
+      "reading bubblesort0371.png (372 of 716)\n",
+      "reading bubblesort0372.png (373 of 716)\n",
+      "reading bubblesort0373.png (374 of 716)\n",
+      "reading bubblesort0374.png (375 of 716)\n",
+      "reading bubblesort0375.png (376 of 716)\n",
+      "reading bubblesort0376.png (377 of 716)\n",
+      "reading bubblesort0377.png (378 of 716)\n",
+      "reading bubblesort0378.png (379 of 716)\n",
+      "reading bubblesort0379.png (380 of 716)\n",
+      "reading bubblesort0380.png (381 of 716)\n",
+      "reading bubblesort0381.png (382 of 716)\n",
+      "reading bubblesort0382.png (383 of 716)\n",
+      "reading bubblesort0383.png (384 of 716)\n",
+      "reading bubblesort0384.png (385 of 716)\n",
+      "reading bubblesort0385.png (386 of 716)\n",
+      "reading bubblesort0386.png (387 of 716)\n",
+      "reading bubblesort0387.png (388 of 716)\n",
+      "reading bubblesort0388.png (389 of 716)\n",
+      "reading bubblesort0389.png (390 of 716)\n",
+      "reading bubblesort0390.png (391 of 716)\n",
+      "reading bubblesort0391.png (392 of 716)\n",
+      "reading bubblesort0392.png (393 of 716)\n",
+      "reading bubblesort0393.png (394 of 716)\n",
+      "reading bubblesort0394.png (395 of 716)\n",
+      "reading bubblesort0395.png (396 of 716)\n",
+      "reading bubblesort0396.png (397 of 716)\n",
+      "reading bubblesort0397.png (398 of 716)\n",
+      "reading bubblesort0398.png (399 of 716)\n",
+      "reading bubblesort0399.png (400 of 716)\n",
+      "reading bubblesort0400.png (401 of 716)\n",
+      "reading bubblesort0401.png (402 of 716)\n",
+      "reading bubblesort0402.png (403 of 716)\n",
+      "reading bubblesort0403.png (404 of 716)\n",
+      "reading bubblesort0404.png (405 of 716)\n",
+      "reading bubblesort0405.png (406 of 716)\n",
+      "reading bubblesort0406.png (407 of 716)\n",
+      "reading bubblesort0407.png (408 of 716)\n",
+      "reading bubblesort0408.png (409 of 716)\n",
+      "reading bubblesort0409.png (410 of 716)\n",
+      "reading bubblesort0410.png (411 of 716)\n",
+      "reading bubblesort0411.png (412 of 716)\n",
+      "reading bubblesort0412.png (413 of 716)\n",
+      "reading bubblesort0413.png (414 of 716)\n",
+      "reading bubblesort0414.png (415 of 716)\n",
+      "reading bubblesort0415.png (416 of 716)\n",
+      "reading bubblesort0416.png (417 of 716)\n",
+      "reading bubblesort0417.png (418 of 716)\n",
+      "reading bubblesort0418.png (419 of 716)\n",
+      "reading bubblesort0419.png (420 of 716)\n",
+      "reading bubblesort0420.png (421 of 716)\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "reading bubblesort0421.png (422 of 716)\n",
+      "reading bubblesort0422.png (423 of 716)\n",
+      "reading bubblesort0423.png (424 of 716)\n",
+      "reading bubblesort0424.png (425 of 716)\n",
+      "reading bubblesort0425.png (426 of 716)\n",
+      "reading bubblesort0426.png (427 of 716)\n",
+      "reading bubblesort0427.png (428 of 716)\n",
+      "reading bubblesort0428.png (429 of 716)\n",
+      "reading bubblesort0429.png (430 of 716)\n",
+      "reading bubblesort0430.png (431 of 716)\n",
+      "reading bubblesort0431.png (432 of 716)\n",
+      "reading bubblesort0432.png (433 of 716)\n",
+      "reading bubblesort0433.png (434 of 716)\n",
+      "reading bubblesort0434.png (435 of 716)\n",
+      "reading bubblesort0435.png (436 of 716)\n",
+      "reading bubblesort0436.png (437 of 716)\n",
+      "reading bubblesort0437.png (438 of 716)\n",
+      "reading bubblesort0438.png (439 of 716)\n",
+      "reading bubblesort0439.png (440 of 716)\n",
+      "reading bubblesort0440.png (441 of 716)\n",
+      "reading bubblesort0441.png (442 of 716)\n",
+      "reading bubblesort0442.png (443 of 716)\n",
+      "reading bubblesort0443.png (444 of 716)\n",
+      "reading bubblesort0444.png (445 of 716)\n",
+      "reading bubblesort0445.png (446 of 716)\n",
+      "reading bubblesort0446.png (447 of 716)\n",
+      "reading bubblesort0447.png (448 of 716)\n",
+      "reading bubblesort0448.png (449 of 716)\n",
+      "reading bubblesort0449.png (450 of 716)\n",
+      "reading bubblesort0450.png (451 of 716)\n",
+      "reading bubblesort0451.png (452 of 716)\n",
+      "reading bubblesort0452.png (453 of 716)\n",
+      "reading bubblesort0453.png (454 of 716)\n",
+      "reading bubblesort0454.png (455 of 716)\n",
+      "reading bubblesort0455.png (456 of 716)\n",
+      "reading bubblesort0456.png (457 of 716)\n",
+      "reading bubblesort0457.png (458 of 716)\n",
+      "reading bubblesort0458.png (459 of 716)\n",
+      "reading bubblesort0459.png (460 of 716)\n",
+      "reading bubblesort0460.png (461 of 716)\n",
+      "reading bubblesort0461.png (462 of 716)\n",
+      "reading bubblesort0462.png (463 of 716)\n",
+      "reading bubblesort0463.png (464 of 716)\n",
+      "reading bubblesort0464.png (465 of 716)\n",
+      "reading bubblesort0465.png (466 of 716)\n",
+      "reading bubblesort0466.png (467 of 716)\n",
+      "reading bubblesort0467.png (468 of 716)\n",
+      "reading bubblesort0468.png (469 of 716)\n",
+      "reading bubblesort0469.png (470 of 716)\n",
+      "reading bubblesort0470.png (471 of 716)\n",
+      "reading bubblesort0471.png (472 of 716)\n",
+      "reading bubblesort0472.png (473 of 716)\n",
+      "reading bubblesort0473.png (474 of 716)\n",
+      "reading bubblesort0474.png (475 of 716)\n",
+      "reading bubblesort0475.png (476 of 716)\n",
+      "reading bubblesort0476.png (477 of 716)\n",
+      "reading bubblesort0477.png (478 of 716)\n",
+      "reading bubblesort0478.png (479 of 716)\n",
+      "reading bubblesort0479.png (480 of 716)\n",
+      "reading bubblesort0480.png (481 of 716)\n",
+      "reading bubblesort0481.png (482 of 716)\n",
+      "reading bubblesort0482.png (483 of 716)\n",
+      "reading bubblesort0483.png (484 of 716)\n",
+      "reading bubblesort0484.png (485 of 716)\n",
+      "reading bubblesort0485.png (486 of 716)\n",
+      "reading bubblesort0486.png (487 of 716)\n",
+      "reading bubblesort0487.png (488 of 716)\n",
+      "reading bubblesort0488.png (489 of 716)\n",
+      "reading bubblesort0489.png (490 of 716)\n",
+      "reading bubblesort0490.png (491 of 716)\n",
+      "reading bubblesort0491.png (492 of 716)\n",
+      "reading bubblesort0492.png (493 of 716)\n",
+      "reading bubblesort0493.png (494 of 716)\n",
+      "reading bubblesort0494.png (495 of 716)\n",
+      "reading bubblesort0495.png (496 of 716)\n",
+      "reading bubblesort0496.png (497 of 716)\n",
+      "reading bubblesort0497.png (498 of 716)\n",
+      "reading bubblesort0498.png (499 of 716)\n",
+      "reading bubblesort0499.png (500 of 716)\n",
+      "reading bubblesort0500.png (501 of 716)\n",
+      "reading bubblesort0501.png (502 of 716)\n",
+      "reading bubblesort0502.png (503 of 716)\n",
+      "reading bubblesort0503.png (504 of 716)\n",
+      "reading bubblesort0504.png (505 of 716)\n",
+      "reading bubblesort0505.png (506 of 716)\n",
+      "reading bubblesort0506.png (507 of 716)\n",
+      "reading bubblesort0507.png (508 of 716)\n",
+      "reading bubblesort0508.png (509 of 716)\n",
+      "reading bubblesort0509.png (510 of 716)\n",
+      "reading bubblesort0510.png (511 of 716)\n",
+      "reading bubblesort0511.png (512 of 716)\n",
+      "reading bubblesort0512.png (513 of 716)\n",
+      "reading bubblesort0513.png (514 of 716)\n",
+      "reading bubblesort0514.png (515 of 716)\n",
+      "reading bubblesort0515.png (516 of 716)\n",
+      "reading bubblesort0516.png (517 of 716)\n",
+      "reading bubblesort0517.png (518 of 716)\n",
+      "reading bubblesort0518.png (519 of 716)\n",
+      "reading bubblesort0519.png (520 of 716)\n",
+      "reading bubblesort0520.png (521 of 716)\n",
+      "reading bubblesort0521.png (522 of 716)\n",
+      "reading bubblesort0522.png (523 of 716)\n",
+      "reading bubblesort0523.png (524 of 716)\n",
+      "reading bubblesort0524.png (525 of 716)\n",
+      "reading bubblesort0525.png (526 of 716)\n",
+      "reading bubblesort0526.png (527 of 716)\n",
+      "reading bubblesort0527.png (528 of 716)\n",
+      "reading bubblesort0528.png (529 of 716)\n",
+      "reading bubblesort0529.png (530 of 716)\n",
+      "reading bubblesort0530.png (531 of 716)\n",
+      "reading bubblesort0531.png (532 of 716)\n",
+      "reading bubblesort0532.png (533 of 716)\n",
+      "reading bubblesort0533.png (534 of 716)\n",
+      "reading bubblesort0534.png (535 of 716)\n",
+      "reading bubblesort0535.png (536 of 716)\n",
+      "reading bubblesort0536.png (537 of 716)\n",
+      "reading bubblesort0537.png (538 of 716)\n",
+      "reading bubblesort0538.png (539 of 716)\n",
+      "reading bubblesort0539.png (540 of 716)\n",
+      "reading bubblesort0540.png (541 of 716)\n",
+      "reading bubblesort0541.png (542 of 716)\n",
+      "reading bubblesort0542.png (543 of 716)\n",
+      "reading bubblesort0543.png (544 of 716)\n",
+      "reading bubblesort0544.png (545 of 716)\n",
+      "reading bubblesort0545.png (546 of 716)\n",
+      "reading bubblesort0546.png (547 of 716)\n",
+      "reading bubblesort0547.png (548 of 716)\n",
+      "reading bubblesort0548.png (549 of 716)\n",
+      "reading bubblesort0549.png (550 of 716)\n",
+      "reading bubblesort0550.png (551 of 716)\n",
+      "reading bubblesort0551.png (552 of 716)\n",
+      "reading bubblesort0552.png (553 of 716)\n",
+      "reading bubblesort0553.png (554 of 716)\n",
+      "reading bubblesort0554.png (555 of 716)\n",
+      "reading bubblesort0555.png (556 of 716)\n",
+      "reading bubblesort0556.png (557 of 716)\n",
+      "reading bubblesort0557.png (558 of 716)\n",
+      "reading bubblesort0558.png (559 of 716)\n",
+      "reading bubblesort0559.png (560 of 716)\n",
+      "reading bubblesort0560.png (561 of 716)\n",
+      "reading bubblesort0561.png (562 of 716)\n",
+      "reading bubblesort0562.png (563 of 716)\n",
+      "reading bubblesort0563.png (564 of 716)\n",
+      "reading bubblesort0564.png (565 of 716)\n",
+      "reading bubblesort0565.png (566 of 716)\n",
+      "reading bubblesort0566.png (567 of 716)\n",
+      "reading bubblesort0567.png (568 of 716)\n",
+      "reading bubblesort0568.png (569 of 716)\n",
+      "reading bubblesort0569.png (570 of 716)\n",
+      "reading bubblesort0570.png (571 of 716)\n",
+      "reading bubblesort0571.png (572 of 716)\n",
+      "reading bubblesort0572.png (573 of 716)\n",
+      "reading bubblesort0573.png (574 of 716)\n",
+      "reading bubblesort0574.png (575 of 716)\n",
+      "reading bubblesort0575.png (576 of 716)\n",
+      "reading bubblesort0576.png (577 of 716)\n",
+      "reading bubblesort0577.png (578 of 716)\n",
+      "reading bubblesort0578.png (579 of 716)\n",
+      "reading bubblesort0579.png (580 of 716)\n",
+      "reading bubblesort0580.png (581 of 716)\n",
+      "reading bubblesort0581.png (582 of 716)\n",
+      "reading bubblesort0582.png (583 of 716)\n",
+      "reading bubblesort0583.png (584 of 716)\n",
+      "reading bubblesort0584.png (585 of 716)\n",
+      "reading bubblesort0585.png (586 of 716)\n",
+      "reading bubblesort0586.png (587 of 716)\n",
+      "reading bubblesort0587.png (588 of 716)\n",
+      "reading bubblesort0588.png (589 of 716)\n",
+      "reading bubblesort0589.png (590 of 716)\n",
+      "reading bubblesort0590.png (591 of 716)\n",
+      "reading bubblesort0591.png (592 of 716)\n",
+      "reading bubblesort0592.png (593 of 716)\n",
+      "reading bubblesort0593.png (594 of 716)\n",
+      "reading bubblesort0594.png (595 of 716)\n",
+      "reading bubblesort0595.png (596 of 716)\n",
+      "reading bubblesort0596.png (597 of 716)\n",
+      "reading bubblesort0597.png (598 of 716)\n",
+      "reading bubblesort0598.png (599 of 716)\n",
+      "reading bubblesort0599.png (600 of 716)\n",
+      "reading bubblesort0600.png (601 of 716)\n",
+      "reading bubblesort0601.png (602 of 716)\n",
+      "reading bubblesort0602.png (603 of 716)\n",
+      "reading bubblesort0603.png (604 of 716)\n",
+      "reading bubblesort0604.png (605 of 716)\n",
+      "reading bubblesort0605.png (606 of 716)\n",
+      "reading bubblesort0606.png (607 of 716)\n",
+      "reading bubblesort0607.png (608 of 716)\n",
+      "reading bubblesort0608.png (609 of 716)\n",
+      "reading bubblesort0609.png (610 of 716)\n",
+      "reading bubblesort0610.png (611 of 716)\n",
+      "reading bubblesort0611.png (612 of 716)\n",
+      "reading bubblesort0612.png (613 of 716)\n",
+      "reading bubblesort0613.png (614 of 716)\n",
+      "reading bubblesort0614.png (615 of 716)\n",
+      "reading bubblesort0615.png (616 of 716)\n",
+      "reading bubblesort0616.png (617 of 716)\n",
+      "reading bubblesort0617.png (618 of 716)\n",
+      "reading bubblesort0618.png (619 of 716)\n",
+      "reading bubblesort0619.png (620 of 716)\n",
+      "reading bubblesort0620.png (621 of 716)\n",
+      "reading bubblesort0621.png (622 of 716)\n",
+      "reading bubblesort0622.png (623 of 716)\n",
+      "reading bubblesort0623.png (624 of 716)\n",
+      "reading bubblesort0624.png (625 of 716)\n",
+      "reading bubblesort0625.png (626 of 716)\n",
+      "reading bubblesort0626.png (627 of 716)\n",
+      "reading bubblesort0627.png (628 of 716)\n",
+      "reading bubblesort0628.png (629 of 716)\n",
+      "reading bubblesort0629.png (630 of 716)\n",
+      "reading bubblesort0630.png (631 of 716)\n",
+      "reading bubblesort0631.png (632 of 716)\n",
+      "reading bubblesort0632.png (633 of 716)\n",
+      "reading bubblesort0633.png (634 of 716)\n",
+      "reading bubblesort0634.png (635 of 716)\n",
+      "reading bubblesort0635.png (636 of 716)\n",
+      "reading bubblesort0636.png (637 of 716)\n",
+      "reading bubblesort0637.png (638 of 716)\n",
+      "reading bubblesort0638.png (639 of 716)\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "reading bubblesort0639.png (640 of 716)\n",
+      "reading bubblesort0640.png (641 of 716)\n",
+      "reading bubblesort0641.png (642 of 716)\n",
+      "reading bubblesort0642.png (643 of 716)\n",
+      "reading bubblesort0643.png (644 of 716)\n",
+      "reading bubblesort0644.png (645 of 716)\n",
+      "reading bubblesort0645.png (646 of 716)\n",
+      "reading bubblesort0646.png (647 of 716)\n",
+      "reading bubblesort0647.png (648 of 716)\n",
+      "reading bubblesort0648.png (649 of 716)\n",
+      "reading bubblesort0649.png (650 of 716)\n",
+      "reading bubblesort0650.png (651 of 716)\n",
+      "reading bubblesort0651.png (652 of 716)\n",
+      "reading bubblesort0652.png (653 of 716)\n",
+      "reading bubblesort0653.png (654 of 716)\n",
+      "reading bubblesort0654.png (655 of 716)\n",
+      "reading bubblesort0655.png (656 of 716)\n",
+      "reading bubblesort0656.png (657 of 716)\n",
+      "reading bubblesort0657.png (658 of 716)\n",
+      "reading bubblesort0658.png (659 of 716)\n",
+      "reading bubblesort0659.png (660 of 716)\n",
+      "reading bubblesort0660.png (661 of 716)\n",
+      "reading bubblesort0661.png (662 of 716)\n",
+      "reading bubblesort0662.png (663 of 716)\n",
+      "reading bubblesort0663.png (664 of 716)\n",
+      "reading bubblesort0664.png (665 of 716)\n",
+      "reading bubblesort0665.png (666 of 716)\n",
+      "reading bubblesort0666.png (667 of 716)\n",
+      "reading bubblesort0667.png (668 of 716)\n",
+      "reading bubblesort0668.png (669 of 716)\n",
+      "reading bubblesort0669.png (670 of 716)\n",
+      "reading bubblesort0670.png (671 of 716)\n",
+      "reading bubblesort0671.png (672 of 716)\n",
+      "reading bubblesort0672.png (673 of 716)\n",
+      "reading bubblesort0673.png (674 of 716)\n",
+      "reading bubblesort0674.png (675 of 716)\n",
+      "reading bubblesort0675.png (676 of 716)\n",
+      "reading bubblesort0676.png (677 of 716)\n",
+      "reading bubblesort0677.png (678 of 716)\n",
+      "reading bubblesort0678.png (679 of 716)\n",
+      "reading bubblesort0679.png (680 of 716)\n",
+      "reading bubblesort0680.png (681 of 716)\n",
+      "reading bubblesort0681.png (682 of 716)\n",
+      "reading bubblesort0682.png (683 of 716)\n",
+      "reading bubblesort0683.png (684 of 716)\n",
+      "reading bubblesort0684.png (685 of 716)\n",
+      "reading bubblesort0685.png (686 of 716)\n",
+      "reading bubblesort0686.png (687 of 716)\n",
+      "reading bubblesort0687.png (688 of 716)\n",
+      "reading bubblesort0688.png (689 of 716)\n",
+      "reading bubblesort0689.png (690 of 716)\n",
+      "reading bubblesort0690.png (691 of 716)\n",
+      "reading bubblesort0691.png (692 of 716)\n",
+      "reading bubblesort0692.png (693 of 716)\n",
+      "reading bubblesort0693.png (694 of 716)\n",
+      "reading bubblesort0694.png (695 of 716)\n",
+      "reading bubblesort0695.png (696 of 716)\n",
+      "reading bubblesort0696.png (697 of 716)\n",
+      "reading bubblesort0697.png (698 of 716)\n",
+      "reading bubblesort0698.png (699 of 716)\n",
+      "reading bubblesort0699.png (700 of 716)\n",
+      "reading bubblesort0700.png (701 of 716)\n",
+      "reading bubblesort0701.png (702 of 716)\n",
+      "reading bubblesort0702.png (703 of 716)\n",
+      "reading bubblesort0703.png (704 of 716)\n",
+      "reading bubblesort0704.png (705 of 716)\n",
+      "reading bubblesort0705.png (706 of 716)\n",
+      "reading bubblesort0706.png (707 of 716)\n",
+      "reading bubblesort0707.png (708 of 716)\n",
+      "reading bubblesort0708.png (709 of 716)\n",
+      "reading bubblesort0709.png (710 of 716)\n",
+      "reading bubblesort0710.png (711 of 716)\n",
+      "reading bubblesort0711.png (712 of 716)\n",
+      "reading bubblesort0712.png (713 of 716)\n",
+      "reading bubblesort0713.png (714 of 716)\n",
+      "reading bubblesort0714.png (715 of 716)\n",
+      "reading bubblesort0715.png (716 of 716)\n",
+      "saving all-bubblesort.png (frame 1 of 716)\n",
+      "saving all-bubblesort.png (frame 2 of 716)\n",
+      "saving all-bubblesort.png (frame 3 of 716)\n",
+      "saving all-bubblesort.png (frame 4 of 716)\n",
+      "saving all-bubblesort.png (frame 5 of 716)\n",
+      "saving all-bubblesort.png (frame 6 of 716)\n",
+      "saving all-bubblesort.png (frame 7 of 716)\n",
+      "saving all-bubblesort.png (frame 8 of 716)\n",
+      "saving all-bubblesort.png (frame 9 of 716)\n",
+      "saving all-bubblesort.png (frame 10 of 716)\n",
+      "saving all-bubblesort.png (frame 11 of 716)\n",
+      "saving all-bubblesort.png (frame 12 of 716)\n",
+      "saving all-bubblesort.png (frame 13 of 716)\n",
+      "saving all-bubblesort.png (frame 14 of 716)\n",
+      "saving all-bubblesort.png (frame 15 of 716)\n",
+      "saving all-bubblesort.png (frame 16 of 716)\n",
+      "saving all-bubblesort.png (frame 17 of 716)\n",
+      "saving all-bubblesort.png (frame 18 of 716)\n",
+      "saving all-bubblesort.png (frame 19 of 716)\n",
+      "saving all-bubblesort.png (frame 20 of 716)\n",
+      "saving all-bubblesort.png (frame 21 of 716)\n",
+      "saving all-bubblesort.png (frame 22 of 716)\n",
+      "saving all-bubblesort.png (frame 23 of 716)\n",
+      "saving all-bubblesort.png (frame 24 of 716)\n",
+      "saving all-bubblesort.png (frame 25 of 716)\n",
+      "saving all-bubblesort.png (frame 26 of 716)\n",
+      "saving all-bubblesort.png (frame 27 of 716)\n",
+      "saving all-bubblesort.png (frame 28 of 716)\n",
+      "saving all-bubblesort.png (frame 29 of 716)\n",
+      "saving all-bubblesort.png (frame 30 of 716)\n",
+      "saving all-bubblesort.png (frame 31 of 716)\n",
+      "saving all-bubblesort.png (frame 32 of 716)\n",
+      "saving all-bubblesort.png (frame 33 of 716)\n",
+      "saving all-bubblesort.png (frame 34 of 716)\n",
+      "saving all-bubblesort.png (frame 35 of 716)\n",
+      "saving all-bubblesort.png (frame 36 of 716)\n",
+      "saving all-bubblesort.png (frame 37 of 716)\n",
+      "saving all-bubblesort.png (frame 38 of 716)\n",
+      "saving all-bubblesort.png (frame 39 of 716)\n",
+      "saving all-bubblesort.png (frame 40 of 716)\n",
+      "saving all-bubblesort.png (frame 41 of 716)\n",
+      "saving all-bubblesort.png (frame 42 of 716)\n",
+      "saving all-bubblesort.png (frame 43 of 716)\n",
+      "saving all-bubblesort.png (frame 44 of 716)\n",
+      "saving all-bubblesort.png (frame 45 of 716)\n",
+      "saving all-bubblesort.png (frame 46 of 716)\n",
+      "saving all-bubblesort.png (frame 47 of 716)\n",
+      "saving all-bubblesort.png (frame 48 of 716)\n",
+      "saving all-bubblesort.png (frame 49 of 716)\n",
+      "saving all-bubblesort.png (frame 50 of 716)\n",
+      "saving all-bubblesort.png (frame 51 of 716)\n",
+      "saving all-bubblesort.png (frame 52 of 716)\n",
+      "saving all-bubblesort.png (frame 53 of 716)\n",
+      "saving all-bubblesort.png (frame 54 of 716)\n",
+      "saving all-bubblesort.png (frame 55 of 716)\n",
+      "saving all-bubblesort.png (frame 56 of 716)\n",
+      "saving all-bubblesort.png (frame 57 of 716)\n",
+      "saving all-bubblesort.png (frame 58 of 716)\n",
+      "saving all-bubblesort.png (frame 59 of 716)\n",
+      "saving all-bubblesort.png (frame 60 of 716)\n",
+      "saving all-bubblesort.png (frame 61 of 716)\n",
+      "saving all-bubblesort.png (frame 62 of 716)\n",
+      "saving all-bubblesort.png (frame 63 of 716)\n",
+      "saving all-bubblesort.png (frame 64 of 716)\n",
+      "saving all-bubblesort.png (frame 65 of 716)\n",
+      "saving all-bubblesort.png (frame 66 of 716)\n",
+      "saving all-bubblesort.png (frame 67 of 716)\n",
+      "saving all-bubblesort.png (frame 68 of 716)\n",
+      "saving all-bubblesort.png (frame 69 of 716)\n",
+      "saving all-bubblesort.png (frame 70 of 716)\n",
+      "saving all-bubblesort.png (frame 71 of 716)\n",
+      "saving all-bubblesort.png (frame 72 of 716)\n",
+      "saving all-bubblesort.png (frame 73 of 716)\n",
+      "saving all-bubblesort.png (frame 74 of 716)\n",
+      "saving all-bubblesort.png (frame 75 of 716)\n",
+      "saving all-bubblesort.png (frame 76 of 716)\n",
+      "saving all-bubblesort.png (frame 77 of 716)\n",
+      "saving all-bubblesort.png (frame 78 of 716)\n",
+      "saving all-bubblesort.png (frame 79 of 716)\n",
+      "saving all-bubblesort.png (frame 80 of 716)\n",
+      "saving all-bubblesort.png (frame 81 of 716)\n",
+      "saving all-bubblesort.png (frame 82 of 716)\n",
+      "saving all-bubblesort.png (frame 83 of 716)\n",
+      "saving all-bubblesort.png (frame 84 of 716)\n",
+      "saving all-bubblesort.png (frame 85 of 716)\n",
+      "saving all-bubblesort.png (frame 86 of 716)\n",
+      "saving all-bubblesort.png (frame 87 of 716)\n",
+      "saving all-bubblesort.png (frame 88 of 716)\n",
+      "saving all-bubblesort.png (frame 89 of 716)\n",
+      "saving all-bubblesort.png (frame 90 of 716)\n",
+      "saving all-bubblesort.png (frame 91 of 716)\n",
+      "saving all-bubblesort.png (frame 92 of 716)\n",
+      "saving all-bubblesort.png (frame 93 of 716)\n",
+      "saving all-bubblesort.png (frame 94 of 716)\n",
+      "saving all-bubblesort.png (frame 95 of 716)\n",
+      "saving all-bubblesort.png (frame 96 of 716)\n",
+      "saving all-bubblesort.png (frame 97 of 716)\n",
+      "saving all-bubblesort.png (frame 98 of 716)\n",
+      "saving all-bubblesort.png (frame 99 of 716)\n",
+      "saving all-bubblesort.png (frame 100 of 716)\n",
+      "saving all-bubblesort.png (frame 101 of 716)\n",
+      "saving all-bubblesort.png (frame 102 of 716)\n",
+      "saving all-bubblesort.png (frame 103 of 716)\n",
+      "saving all-bubblesort.png (frame 104 of 716)\n",
+      "saving all-bubblesort.png (frame 105 of 716)\n",
+      "saving all-bubblesort.png (frame 106 of 716)\n",
+      "saving all-bubblesort.png (frame 107 of 716)\n",
+      "saving all-bubblesort.png (frame 108 of 716)\n",
+      "saving all-bubblesort.png (frame 109 of 716)\n",
+      "saving all-bubblesort.png (frame 110 of 716)\n",
+      "saving all-bubblesort.png (frame 111 of 716)\n",
+      "saving all-bubblesort.png (frame 112 of 716)\n",
+      "saving all-bubblesort.png (frame 113 of 716)\n",
+      "saving all-bubblesort.png (frame 114 of 716)\n",
+      "saving all-bubblesort.png (frame 115 of 716)\n",
+      "saving all-bubblesort.png (frame 116 of 716)\n",
+      "saving all-bubblesort.png (frame 117 of 716)\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "saving all-bubblesort.png (frame 118 of 716)\n",
+      "saving all-bubblesort.png (frame 119 of 716)\n",
+      "saving all-bubblesort.png (frame 120 of 716)\n",
+      "saving all-bubblesort.png (frame 121 of 716)\n",
+      "saving all-bubblesort.png (frame 122 of 716)\n",
+      "saving all-bubblesort.png (frame 123 of 716)\n",
+      "saving all-bubblesort.png (frame 124 of 716)\n",
+      "saving all-bubblesort.png (frame 125 of 716)\n",
+      "saving all-bubblesort.png (frame 126 of 716)\n",
+      "saving all-bubblesort.png (frame 127 of 716)\n",
+      "saving all-bubblesort.png (frame 128 of 716)\n",
+      "saving all-bubblesort.png (frame 129 of 716)\n",
+      "saving all-bubblesort.png (frame 130 of 716)\n",
+      "saving all-bubblesort.png (frame 131 of 716)\n",
+      "saving all-bubblesort.png (frame 132 of 716)\n",
+      "saving all-bubblesort.png (frame 133 of 716)\n",
+      "saving all-bubblesort.png (frame 134 of 716)\n",
+      "saving all-bubblesort.png (frame 135 of 716)\n",
+      "saving all-bubblesort.png (frame 136 of 716)\n",
+      "saving all-bubblesort.png (frame 137 of 716)\n",
+      "saving all-bubblesort.png (frame 138 of 716)\n",
+      "saving all-bubblesort.png (frame 139 of 716)\n",
+      "saving all-bubblesort.png (frame 140 of 716)\n",
+      "saving all-bubblesort.png (frame 141 of 716)\n",
+      "saving all-bubblesort.png (frame 142 of 716)\n",
+      "saving all-bubblesort.png (frame 143 of 716)\n",
+      "saving all-bubblesort.png (frame 144 of 716)\n",
+      "saving all-bubblesort.png (frame 145 of 716)\n",
+      "saving all-bubblesort.png (frame 146 of 716)\n",
+      "saving all-bubblesort.png (frame 147 of 716)\n",
+      "saving all-bubblesort.png (frame 148 of 716)\n",
+      "saving all-bubblesort.png (frame 149 of 716)\n",
+      "saving all-bubblesort.png (frame 150 of 716)\n",
+      "saving all-bubblesort.png (frame 151 of 716)\n",
+      "saving all-bubblesort.png (frame 152 of 716)\n",
+      "saving all-bubblesort.png (frame 153 of 716)\n",
+      "saving all-bubblesort.png (frame 154 of 716)\n",
+      "saving all-bubblesort.png (frame 155 of 716)\n",
+      "saving all-bubblesort.png (frame 156 of 716)\n",
+      "saving all-bubblesort.png (frame 157 of 716)\n",
+      "saving all-bubblesort.png (frame 158 of 716)\n",
+      "saving all-bubblesort.png (frame 159 of 716)\n",
+      "saving all-bubblesort.png (frame 160 of 716)\n",
+      "saving all-bubblesort.png (frame 161 of 716)\n",
+      "saving all-bubblesort.png (frame 162 of 716)\n",
+      "saving all-bubblesort.png (frame 163 of 716)\n",
+      "saving all-bubblesort.png (frame 164 of 716)\n",
+      "saving all-bubblesort.png (frame 165 of 716)\n",
+      "saving all-bubblesort.png (frame 166 of 716)\n",
+      "saving all-bubblesort.png (frame 167 of 716)\n",
+      "saving all-bubblesort.png (frame 168 of 716)\n",
+      "saving all-bubblesort.png (frame 169 of 716)\n",
+      "saving all-bubblesort.png (frame 170 of 716)\n",
+      "saving all-bubblesort.png (frame 171 of 716)\n",
+      "saving all-bubblesort.png (frame 172 of 716)\n",
+      "saving all-bubblesort.png (frame 173 of 716)\n",
+      "saving all-bubblesort.png (frame 174 of 716)\n",
+      "saving all-bubblesort.png (frame 175 of 716)\n",
+      "saving all-bubblesort.png (frame 176 of 716)\n",
+      "saving all-bubblesort.png (frame 177 of 716)\n",
+      "saving all-bubblesort.png (frame 178 of 716)\n",
+      "saving all-bubblesort.png (frame 179 of 716)\n",
+      "saving all-bubblesort.png (frame 180 of 716)\n",
+      "saving all-bubblesort.png (frame 181 of 716)\n",
+      "saving all-bubblesort.png (frame 182 of 716)\n",
+      "saving all-bubblesort.png (frame 183 of 716)\n",
+      "saving all-bubblesort.png (frame 184 of 716)\n",
+      "saving all-bubblesort.png (frame 185 of 716)\n",
+      "saving all-bubblesort.png (frame 186 of 716)\n",
+      "saving all-bubblesort.png (frame 187 of 716)\n",
+      "saving all-bubblesort.png (frame 188 of 716)\n",
+      "saving all-bubblesort.png (frame 189 of 716)\n",
+      "saving all-bubblesort.png (frame 190 of 716)\n",
+      "saving all-bubblesort.png (frame 191 of 716)\n",
+      "saving all-bubblesort.png (frame 192 of 716)\n",
+      "saving all-bubblesort.png (frame 193 of 716)\n",
+      "saving all-bubblesort.png (frame 194 of 716)\n",
+      "saving all-bubblesort.png (frame 195 of 716)\n",
+      "saving all-bubblesort.png (frame 196 of 716)\n",
+      "saving all-bubblesort.png (frame 197 of 716)\n",
+      "saving all-bubblesort.png (frame 198 of 716)\n",
+      "saving all-bubblesort.png (frame 199 of 716)\n",
+      "saving all-bubblesort.png (frame 200 of 716)\n",
+      "saving all-bubblesort.png (frame 201 of 716)\n",
+      "saving all-bubblesort.png (frame 202 of 716)\n",
+      "saving all-bubblesort.png (frame 203 of 716)\n",
+      "saving all-bubblesort.png (frame 204 of 716)\n",
+      "saving all-bubblesort.png (frame 205 of 716)\n",
+      "saving all-bubblesort.png (frame 206 of 716)\n",
+      "saving all-bubblesort.png (frame 207 of 716)\n",
+      "saving all-bubblesort.png (frame 208 of 716)\n",
+      "saving all-bubblesort.png (frame 209 of 716)\n",
+      "saving all-bubblesort.png (frame 210 of 716)\n",
+      "saving all-bubblesort.png (frame 211 of 716)\n",
+      "saving all-bubblesort.png (frame 212 of 716)\n",
+      "saving all-bubblesort.png (frame 213 of 716)\n",
+      "saving all-bubblesort.png (frame 214 of 716)\n",
+      "saving all-bubblesort.png (frame 215 of 716)\n",
+      "saving all-bubblesort.png (frame 216 of 716)\n",
+      "saving all-bubblesort.png (frame 217 of 716)\n",
+      "saving all-bubblesort.png (frame 218 of 716)\n",
+      "saving all-bubblesort.png (frame 219 of 716)\n",
+      "saving all-bubblesort.png (frame 220 of 716)\n",
+      "saving all-bubblesort.png (frame 221 of 716)\n",
+      "saving all-bubblesort.png (frame 222 of 716)\n",
+      "saving all-bubblesort.png (frame 223 of 716)\n",
+      "saving all-bubblesort.png (frame 224 of 716)\n",
+      "saving all-bubblesort.png (frame 225 of 716)\n",
+      "saving all-bubblesort.png (frame 226 of 716)\n",
+      "saving all-bubblesort.png (frame 227 of 716)\n",
+      "saving all-bubblesort.png (frame 228 of 716)\n",
+      "saving all-bubblesort.png (frame 229 of 716)\n",
+      "saving all-bubblesort.png (frame 230 of 716)\n",
+      "saving all-bubblesort.png (frame 231 of 716)\n",
+      "saving all-bubblesort.png (frame 232 of 716)\n",
+      "saving all-bubblesort.png (frame 233 of 716)\n",
+      "saving all-bubblesort.png (frame 234 of 716)\n",
+      "saving all-bubblesort.png (frame 235 of 716)\n",
+      "saving all-bubblesort.png (frame 236 of 716)\n",
+      "saving all-bubblesort.png (frame 237 of 716)\n",
+      "saving all-bubblesort.png (frame 238 of 716)\n",
+      "saving all-bubblesort.png (frame 239 of 716)\n",
+      "saving all-bubblesort.png (frame 240 of 716)\n",
+      "saving all-bubblesort.png (frame 241 of 716)\n",
+      "saving all-bubblesort.png (frame 242 of 716)\n",
+      "saving all-bubblesort.png (frame 243 of 716)\n",
+      "saving all-bubblesort.png (frame 244 of 716)\n",
+      "saving all-bubblesort.png (frame 245 of 716)\n",
+      "saving all-bubblesort.png (frame 246 of 716)\n",
+      "saving all-bubblesort.png (frame 247 of 716)\n",
+      "saving all-bubblesort.png (frame 248 of 716)\n",
+      "saving all-bubblesort.png (frame 249 of 716)\n",
+      "saving all-bubblesort.png (frame 250 of 716)\n",
+      "saving all-bubblesort.png (frame 251 of 716)\n",
+      "saving all-bubblesort.png (frame 252 of 716)\n",
+      "saving all-bubblesort.png (frame 253 of 716)\n",
+      "saving all-bubblesort.png (frame 254 of 716)\n",
+      "saving all-bubblesort.png (frame 255 of 716)\n",
+      "saving all-bubblesort.png (frame 256 of 716)\n",
+      "saving all-bubblesort.png (frame 257 of 716)\n",
+      "saving all-bubblesort.png (frame 258 of 716)\n",
+      "saving all-bubblesort.png (frame 259 of 716)\n",
+      "saving all-bubblesort.png (frame 260 of 716)\n",
+      "saving all-bubblesort.png (frame 261 of 716)\n",
+      "saving all-bubblesort.png (frame 262 of 716)\n",
+      "saving all-bubblesort.png (frame 263 of 716)\n",
+      "saving all-bubblesort.png (frame 264 of 716)\n",
+      "saving all-bubblesort.png (frame 265 of 716)\n",
+      "saving all-bubblesort.png (frame 266 of 716)\n",
+      "saving all-bubblesort.png (frame 267 of 716)\n",
+      "saving all-bubblesort.png (frame 268 of 716)\n",
+      "saving all-bubblesort.png (frame 269 of 716)\n",
+      "saving all-bubblesort.png (frame 270 of 716)\n",
+      "saving all-bubblesort.png (frame 271 of 716)\n",
+      "saving all-bubblesort.png (frame 272 of 716)\n",
+      "saving all-bubblesort.png (frame 273 of 716)\n",
+      "saving all-bubblesort.png (frame 274 of 716)\n",
+      "saving all-bubblesort.png (frame 275 of 716)\n",
+      "saving all-bubblesort.png (frame 276 of 716)\n",
+      "saving all-bubblesort.png (frame 277 of 716)\n",
+      "saving all-bubblesort.png (frame 278 of 716)\n",
+      "saving all-bubblesort.png (frame 279 of 716)\n",
+      "saving all-bubblesort.png (frame 280 of 716)\n",
+      "saving all-bubblesort.png (frame 281 of 716)\n",
+      "saving all-bubblesort.png (frame 282 of 716)\n",
+      "saving all-bubblesort.png (frame 283 of 716)\n",
+      "saving all-bubblesort.png (frame 284 of 716)\n",
+      "saving all-bubblesort.png (frame 285 of 716)\n",
+      "saving all-bubblesort.png (frame 286 of 716)\n",
+      "saving all-bubblesort.png (frame 287 of 716)\n",
+      "saving all-bubblesort.png (frame 288 of 716)\n",
+      "saving all-bubblesort.png (frame 289 of 716)\n",
+      "saving all-bubblesort.png (frame 290 of 716)\n",
+      "saving all-bubblesort.png (frame 291 of 716)\n",
+      "saving all-bubblesort.png (frame 292 of 716)\n",
+      "saving all-bubblesort.png (frame 293 of 716)\n",
+      "saving all-bubblesort.png (frame 294 of 716)\n",
+      "saving all-bubblesort.png (frame 295 of 716)\n",
+      "saving all-bubblesort.png (frame 296 of 716)\n",
+      "saving all-bubblesort.png (frame 297 of 716)\n",
+      "saving all-bubblesort.png (frame 298 of 716)\n",
+      "saving all-bubblesort.png (frame 299 of 716)\n",
+      "saving all-bubblesort.png (frame 300 of 716)\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "saving all-bubblesort.png (frame 301 of 716)\n",
+      "saving all-bubblesort.png (frame 302 of 716)\n",
+      "saving all-bubblesort.png (frame 303 of 716)\n",
+      "saving all-bubblesort.png (frame 304 of 716)\n",
+      "saving all-bubblesort.png (frame 305 of 716)\n",
+      "saving all-bubblesort.png (frame 306 of 716)\n",
+      "saving all-bubblesort.png (frame 307 of 716)\n",
+      "saving all-bubblesort.png (frame 308 of 716)\n",
+      "saving all-bubblesort.png (frame 309 of 716)\n",
+      "saving all-bubblesort.png (frame 310 of 716)\n",
+      "saving all-bubblesort.png (frame 311 of 716)\n",
+      "saving all-bubblesort.png (frame 312 of 716)\n",
+      "saving all-bubblesort.png (frame 313 of 716)\n",
+      "saving all-bubblesort.png (frame 314 of 716)\n",
+      "saving all-bubblesort.png (frame 315 of 716)\n",
+      "saving all-bubblesort.png (frame 316 of 716)\n",
+      "saving all-bubblesort.png (frame 317 of 716)\n",
+      "saving all-bubblesort.png (frame 318 of 716)\n",
+      "saving all-bubblesort.png (frame 319 of 716)\n",
+      "saving all-bubblesort.png (frame 320 of 716)\n",
+      "saving all-bubblesort.png (frame 321 of 716)\n",
+      "saving all-bubblesort.png (frame 322 of 716)\n",
+      "saving all-bubblesort.png (frame 323 of 716)\n",
+      "saving all-bubblesort.png (frame 324 of 716)\n",
+      "saving all-bubblesort.png (frame 325 of 716)\n",
+      "saving all-bubblesort.png (frame 326 of 716)\n",
+      "saving all-bubblesort.png (frame 327 of 716)\n",
+      "saving all-bubblesort.png (frame 328 of 716)\n",
+      "saving all-bubblesort.png (frame 329 of 716)\n",
+      "saving all-bubblesort.png (frame 330 of 716)\n",
+      "saving all-bubblesort.png (frame 331 of 716)\n",
+      "saving all-bubblesort.png (frame 332 of 716)\n",
+      "saving all-bubblesort.png (frame 333 of 716)\n",
+      "saving all-bubblesort.png (frame 334 of 716)\n",
+      "saving all-bubblesort.png (frame 335 of 716)\n",
+      "saving all-bubblesort.png (frame 336 of 716)\n",
+      "saving all-bubblesort.png (frame 337 of 716)\n",
+      "saving all-bubblesort.png (frame 338 of 716)\n",
+      "saving all-bubblesort.png (frame 339 of 716)\n",
+      "saving all-bubblesort.png (frame 340 of 716)\n",
+      "saving all-bubblesort.png (frame 341 of 716)\n",
+      "saving all-bubblesort.png (frame 342 of 716)\n",
+      "saving all-bubblesort.png (frame 343 of 716)\n",
+      "saving all-bubblesort.png (frame 344 of 716)\n",
+      "saving all-bubblesort.png (frame 345 of 716)\n",
+      "saving all-bubblesort.png (frame 346 of 716)\n",
+      "saving all-bubblesort.png (frame 347 of 716)\n",
+      "saving all-bubblesort.png (frame 348 of 716)\n",
+      "saving all-bubblesort.png (frame 349 of 716)\n",
+      "saving all-bubblesort.png (frame 350 of 716)\n",
+      "saving all-bubblesort.png (frame 351 of 716)\n",
+      "saving all-bubblesort.png (frame 352 of 716)\n",
+      "saving all-bubblesort.png (frame 353 of 716)\n",
+      "saving all-bubblesort.png (frame 354 of 716)\n",
+      "saving all-bubblesort.png (frame 355 of 716)\n",
+      "saving all-bubblesort.png (frame 356 of 716)\n",
+      "saving all-bubblesort.png (frame 357 of 716)\n",
+      "saving all-bubblesort.png (frame 358 of 716)\n",
+      "saving all-bubblesort.png (frame 359 of 716)\n",
+      "saving all-bubblesort.png (frame 360 of 716)\n",
+      "saving all-bubblesort.png (frame 361 of 716)\n",
+      "saving all-bubblesort.png (frame 362 of 716)\n",
+      "saving all-bubblesort.png (frame 363 of 716)\n",
+      "saving all-bubblesort.png (frame 364 of 716)\n",
+      "saving all-bubblesort.png (frame 365 of 716)\n",
+      "saving all-bubblesort.png (frame 366 of 716)\n",
+      "saving all-bubblesort.png (frame 367 of 716)\n",
+      "saving all-bubblesort.png (frame 368 of 716)\n",
+      "saving all-bubblesort.png (frame 369 of 716)\n",
+      "saving all-bubblesort.png (frame 370 of 716)\n",
+      "saving all-bubblesort.png (frame 371 of 716)\n",
+      "saving all-bubblesort.png (frame 372 of 716)\n",
+      "saving all-bubblesort.png (frame 373 of 716)\n",
+      "saving all-bubblesort.png (frame 374 of 716)\n",
+      "saving all-bubblesort.png (frame 375 of 716)\n",
+      "saving all-bubblesort.png (frame 376 of 716)\n",
+      "saving all-bubblesort.png (frame 377 of 716)\n",
+      "saving all-bubblesort.png (frame 378 of 716)\n",
+      "saving all-bubblesort.png (frame 379 of 716)\n",
+      "saving all-bubblesort.png (frame 380 of 716)\n",
+      "saving all-bubblesort.png (frame 381 of 716)\n",
+      "saving all-bubblesort.png (frame 382 of 716)\n",
+      "saving all-bubblesort.png (frame 383 of 716)\n",
+      "saving all-bubblesort.png (frame 384 of 716)\n",
+      "saving all-bubblesort.png (frame 385 of 716)\n",
+      "saving all-bubblesort.png (frame 386 of 716)\n",
+      "saving all-bubblesort.png (frame 387 of 716)\n",
+      "saving all-bubblesort.png (frame 388 of 716)\n",
+      "saving all-bubblesort.png (frame 389 of 716)\n",
+      "saving all-bubblesort.png (frame 390 of 716)\n",
+      "saving all-bubblesort.png (frame 391 of 716)\n",
+      "saving all-bubblesort.png (frame 392 of 716)\n",
+      "saving all-bubblesort.png (frame 393 of 716)\n",
+      "saving all-bubblesort.png (frame 394 of 716)\n",
+      "saving all-bubblesort.png (frame 395 of 716)\n",
+      "saving all-bubblesort.png (frame 396 of 716)\n",
+      "saving all-bubblesort.png (frame 397 of 716)\n",
+      "saving all-bubblesort.png (frame 398 of 716)\n",
+      "saving all-bubblesort.png (frame 399 of 716)\n",
+      "saving all-bubblesort.png (frame 400 of 716)\n",
+      "saving all-bubblesort.png (frame 401 of 716)\n",
+      "saving all-bubblesort.png (frame 402 of 716)\n",
+      "saving all-bubblesort.png (frame 403 of 716)\n",
+      "saving all-bubblesort.png (frame 404 of 716)\n",
+      "saving all-bubblesort.png (frame 405 of 716)\n",
+      "saving all-bubblesort.png (frame 406 of 716)\n",
+      "saving all-bubblesort.png (frame 407 of 716)\n",
+      "saving all-bubblesort.png (frame 408 of 716)\n",
+      "saving all-bubblesort.png (frame 409 of 716)\n",
+      "saving all-bubblesort.png (frame 410 of 716)\n",
+      "saving all-bubblesort.png (frame 411 of 716)\n",
+      "saving all-bubblesort.png (frame 412 of 716)\n",
+      "saving all-bubblesort.png (frame 413 of 716)\n",
+      "saving all-bubblesort.png (frame 414 of 716)\n",
+      "saving all-bubblesort.png (frame 415 of 716)\n",
+      "saving all-bubblesort.png (frame 416 of 716)\n",
+      "saving all-bubblesort.png (frame 417 of 716)\n",
+      "saving all-bubblesort.png (frame 418 of 716)\n",
+      "saving all-bubblesort.png (frame 419 of 716)\n",
+      "saving all-bubblesort.png (frame 420 of 716)\n",
+      "saving all-bubblesort.png (frame 421 of 716)\n",
+      "saving all-bubblesort.png (frame 422 of 716)\n",
+      "saving all-bubblesort.png (frame 423 of 716)\n",
+      "saving all-bubblesort.png (frame 424 of 716)\n",
+      "saving all-bubblesort.png (frame 425 of 716)\n",
+      "saving all-bubblesort.png (frame 426 of 716)\n",
+      "saving all-bubblesort.png (frame 427 of 716)\n",
+      "saving all-bubblesort.png (frame 428 of 716)\n",
+      "saving all-bubblesort.png (frame 429 of 716)\n",
+      "saving all-bubblesort.png (frame 430 of 716)\n",
+      "saving all-bubblesort.png (frame 431 of 716)\n",
+      "saving all-bubblesort.png (frame 432 of 716)\n",
+      "saving all-bubblesort.png (frame 433 of 716)\n",
+      "saving all-bubblesort.png (frame 434 of 716)\n",
+      "saving all-bubblesort.png (frame 435 of 716)\n",
+      "saving all-bubblesort.png (frame 436 of 716)\n",
+      "saving all-bubblesort.png (frame 437 of 716)\n",
+      "saving all-bubblesort.png (frame 438 of 716)\n",
+      "saving all-bubblesort.png (frame 439 of 716)\n",
+      "saving all-bubblesort.png (frame 440 of 716)\n",
+      "saving all-bubblesort.png (frame 441 of 716)\n",
+      "saving all-bubblesort.png (frame 442 of 716)\n",
+      "saving all-bubblesort.png (frame 443 of 716)\n",
+      "saving all-bubblesort.png (frame 444 of 716)\n",
+      "saving all-bubblesort.png (frame 445 of 716)\n",
+      "saving all-bubblesort.png (frame 446 of 716)\n",
+      "saving all-bubblesort.png (frame 447 of 716)\n",
+      "saving all-bubblesort.png (frame 448 of 716)\n",
+      "saving all-bubblesort.png (frame 449 of 716)\n",
+      "saving all-bubblesort.png (frame 450 of 716)\n",
+      "saving all-bubblesort.png (frame 451 of 716)\n",
+      "saving all-bubblesort.png (frame 452 of 716)\n",
+      "saving all-bubblesort.png (frame 453 of 716)\n",
+      "saving all-bubblesort.png (frame 454 of 716)\n",
+      "saving all-bubblesort.png (frame 455 of 716)\n",
+      "saving all-bubblesort.png (frame 456 of 716)\n",
+      "saving all-bubblesort.png (frame 457 of 716)\n",
+      "saving all-bubblesort.png (frame 458 of 716)\n",
+      "saving all-bubblesort.png (frame 459 of 716)\n",
+      "saving all-bubblesort.png (frame 460 of 716)\n",
+      "saving all-bubblesort.png (frame 461 of 716)\n",
+      "saving all-bubblesort.png (frame 462 of 716)\n",
+      "saving all-bubblesort.png (frame 463 of 716)\n",
+      "saving all-bubblesort.png (frame 464 of 716)\n",
+      "saving all-bubblesort.png (frame 465 of 716)\n",
+      "saving all-bubblesort.png (frame 466 of 716)\n",
+      "saving all-bubblesort.png (frame 467 of 716)\n",
+      "saving all-bubblesort.png (frame 468 of 716)\n",
+      "saving all-bubblesort.png (frame 469 of 716)\n",
+      "saving all-bubblesort.png (frame 470 of 716)\n",
+      "saving all-bubblesort.png (frame 471 of 716)\n",
+      "saving all-bubblesort.png (frame 472 of 716)\n",
+      "saving all-bubblesort.png (frame 473 of 716)\n",
+      "saving all-bubblesort.png (frame 474 of 716)\n",
+      "saving all-bubblesort.png (frame 475 of 716)\n",
+      "saving all-bubblesort.png (frame 476 of 716)\n",
+      "saving all-bubblesort.png (frame 477 of 716)\n",
+      "saving all-bubblesort.png (frame 478 of 716)\n",
+      "saving all-bubblesort.png (frame 479 of 716)\n",
+      "saving all-bubblesort.png (frame 480 of 716)\n",
+      "saving all-bubblesort.png (frame 481 of 716)\n",
+      "saving all-bubblesort.png (frame 482 of 716)\n",
+      "saving all-bubblesort.png (frame 483 of 716)\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "saving all-bubblesort.png (frame 484 of 716)\n",
+      "saving all-bubblesort.png (frame 485 of 716)\n",
+      "saving all-bubblesort.png (frame 486 of 716)\n",
+      "saving all-bubblesort.png (frame 487 of 716)\n",
+      "saving all-bubblesort.png (frame 488 of 716)\n",
+      "saving all-bubblesort.png (frame 489 of 716)\n",
+      "saving all-bubblesort.png (frame 490 of 716)\n",
+      "saving all-bubblesort.png (frame 491 of 716)\n",
+      "saving all-bubblesort.png (frame 492 of 716)\n",
+      "saving all-bubblesort.png (frame 493 of 716)\n",
+      "saving all-bubblesort.png (frame 494 of 716)\n",
+      "saving all-bubblesort.png (frame 495 of 716)\n",
+      "saving all-bubblesort.png (frame 496 of 716)\n",
+      "saving all-bubblesort.png (frame 497 of 716)\n",
+      "saving all-bubblesort.png (frame 498 of 716)\n",
+      "saving all-bubblesort.png (frame 499 of 716)\n",
+      "saving all-bubblesort.png (frame 500 of 716)\n",
+      "saving all-bubblesort.png (frame 501 of 716)\n",
+      "saving all-bubblesort.png (frame 502 of 716)\n",
+      "saving all-bubblesort.png (frame 503 of 716)\n",
+      "saving all-bubblesort.png (frame 504 of 716)\n",
+      "saving all-bubblesort.png (frame 505 of 716)\n",
+      "saving all-bubblesort.png (frame 506 of 716)\n",
+      "saving all-bubblesort.png (frame 507 of 716)\n",
+      "saving all-bubblesort.png (frame 508 of 716)\n",
+      "saving all-bubblesort.png (frame 509 of 716)\n",
+      "saving all-bubblesort.png (frame 510 of 716)\n",
+      "saving all-bubblesort.png (frame 511 of 716)\n",
+      "saving all-bubblesort.png (frame 512 of 716)\n",
+      "saving all-bubblesort.png (frame 513 of 716)\n",
+      "saving all-bubblesort.png (frame 514 of 716)\n",
+      "saving all-bubblesort.png (frame 515 of 716)\n",
+      "saving all-bubblesort.png (frame 516 of 716)\n",
+      "saving all-bubblesort.png (frame 517 of 716)\n",
+      "saving all-bubblesort.png (frame 518 of 716)\n",
+      "saving all-bubblesort.png (frame 519 of 716)\n",
+      "saving all-bubblesort.png (frame 520 of 716)\n",
+      "saving all-bubblesort.png (frame 521 of 716)\n",
+      "saving all-bubblesort.png (frame 522 of 716)\n",
+      "saving all-bubblesort.png (frame 523 of 716)\n",
+      "saving all-bubblesort.png (frame 524 of 716)\n",
+      "saving all-bubblesort.png (frame 525 of 716)\n",
+      "saving all-bubblesort.png (frame 526 of 716)\n",
+      "saving all-bubblesort.png (frame 527 of 716)\n",
+      "saving all-bubblesort.png (frame 528 of 716)\n",
+      "saving all-bubblesort.png (frame 529 of 716)\n",
+      "saving all-bubblesort.png (frame 530 of 716)\n",
+      "saving all-bubblesort.png (frame 531 of 716)\n",
+      "saving all-bubblesort.png (frame 532 of 716)\n",
+      "saving all-bubblesort.png (frame 533 of 716)\n",
+      "saving all-bubblesort.png (frame 534 of 716)\n",
+      "saving all-bubblesort.png (frame 535 of 716)\n",
+      "saving all-bubblesort.png (frame 536 of 716)\n",
+      "saving all-bubblesort.png (frame 537 of 716)\n",
+      "saving all-bubblesort.png (frame 538 of 716)\n",
+      "saving all-bubblesort.png (frame 539 of 716)\n",
+      "saving all-bubblesort.png (frame 540 of 716)\n",
+      "saving all-bubblesort.png (frame 541 of 716)\n",
+      "saving all-bubblesort.png (frame 542 of 716)\n",
+      "saving all-bubblesort.png (frame 543 of 716)\n",
+      "saving all-bubblesort.png (frame 544 of 716)\n",
+      "saving all-bubblesort.png (frame 545 of 716)\n",
+      "saving all-bubblesort.png (frame 546 of 716)\n",
+      "saving all-bubblesort.png (frame 547 of 716)\n",
+      "saving all-bubblesort.png (frame 548 of 716)\n",
+      "saving all-bubblesort.png (frame 549 of 716)\n",
+      "saving all-bubblesort.png (frame 550 of 716)\n",
+      "saving all-bubblesort.png (frame 551 of 716)\n",
+      "saving all-bubblesort.png (frame 552 of 716)\n",
+      "saving all-bubblesort.png (frame 553 of 716)\n",
+      "saving all-bubblesort.png (frame 554 of 716)\n",
+      "saving all-bubblesort.png (frame 555 of 716)\n",
+      "saving all-bubblesort.png (frame 556 of 716)\n",
+      "saving all-bubblesort.png (frame 557 of 716)\n",
+      "saving all-bubblesort.png (frame 558 of 716)\n",
+      "saving all-bubblesort.png (frame 559 of 716)\n",
+      "saving all-bubblesort.png (frame 560 of 716)\n",
+      "saving all-bubblesort.png (frame 561 of 716)\n",
+      "saving all-bubblesort.png (frame 562 of 716)\n",
+      "saving all-bubblesort.png (frame 563 of 716)\n",
+      "saving all-bubblesort.png (frame 564 of 716)\n",
+      "saving all-bubblesort.png (frame 565 of 716)\n",
+      "saving all-bubblesort.png (frame 566 of 716)\n",
+      "saving all-bubblesort.png (frame 567 of 716)\n",
+      "saving all-bubblesort.png (frame 568 of 716)\n",
+      "saving all-bubblesort.png (frame 569 of 716)\n",
+      "saving all-bubblesort.png (frame 570 of 716)\n",
+      "saving all-bubblesort.png (frame 571 of 716)\n",
+      "saving all-bubblesort.png (frame 572 of 716)\n",
+      "saving all-bubblesort.png (frame 573 of 716)\n",
+      "saving all-bubblesort.png (frame 574 of 716)\n",
+      "saving all-bubblesort.png (frame 575 of 716)\n",
+      "saving all-bubblesort.png (frame 576 of 716)\n",
+      "saving all-bubblesort.png (frame 577 of 716)\n",
+      "saving all-bubblesort.png (frame 578 of 716)\n",
+      "saving all-bubblesort.png (frame 579 of 716)\n",
+      "saving all-bubblesort.png (frame 580 of 716)\n",
+      "saving all-bubblesort.png (frame 581 of 716)\n",
+      "saving all-bubblesort.png (frame 582 of 716)\n",
+      "saving all-bubblesort.png (frame 583 of 716)\n",
+      "saving all-bubblesort.png (frame 584 of 716)\n",
+      "saving all-bubblesort.png (frame 585 of 716)\n",
+      "saving all-bubblesort.png (frame 586 of 716)\n",
+      "saving all-bubblesort.png (frame 587 of 716)\n",
+      "saving all-bubblesort.png (frame 588 of 716)\n",
+      "saving all-bubblesort.png (frame 589 of 716)\n",
+      "saving all-bubblesort.png (frame 590 of 716)\n",
+      "saving all-bubblesort.png (frame 591 of 716)\n",
+      "saving all-bubblesort.png (frame 592 of 716)\n",
+      "saving all-bubblesort.png (frame 593 of 716)\n",
+      "saving all-bubblesort.png (frame 594 of 716)\n",
+      "saving all-bubblesort.png (frame 595 of 716)\n",
+      "saving all-bubblesort.png (frame 596 of 716)\n",
+      "saving all-bubblesort.png (frame 597 of 716)\n",
+      "saving all-bubblesort.png (frame 598 of 716)\n",
+      "saving all-bubblesort.png (frame 599 of 716)\n",
+      "saving all-bubblesort.png (frame 600 of 716)\n",
+      "saving all-bubblesort.png (frame 601 of 716)\n",
+      "saving all-bubblesort.png (frame 602 of 716)\n",
+      "saving all-bubblesort.png (frame 603 of 716)\n",
+      "saving all-bubblesort.png (frame 604 of 716)\n",
+      "saving all-bubblesort.png (frame 605 of 716)\n",
+      "saving all-bubblesort.png (frame 606 of 716)\n",
+      "saving all-bubblesort.png (frame 607 of 716)\n",
+      "saving all-bubblesort.png (frame 608 of 716)\n",
+      "saving all-bubblesort.png (frame 609 of 716)\n",
+      "saving all-bubblesort.png (frame 610 of 716)\n",
+      "saving all-bubblesort.png (frame 611 of 716)\n",
+      "saving all-bubblesort.png (frame 612 of 716)\n",
+      "saving all-bubblesort.png (frame 613 of 716)\n",
+      "saving all-bubblesort.png (frame 614 of 716)\n",
+      "saving all-bubblesort.png (frame 615 of 716)\n",
+      "saving all-bubblesort.png (frame 616 of 716)\n",
+      "saving all-bubblesort.png (frame 617 of 716)\n",
+      "saving all-bubblesort.png (frame 618 of 716)\n",
+      "saving all-bubblesort.png (frame 619 of 716)\n",
+      "saving all-bubblesort.png (frame 620 of 716)\n",
+      "saving all-bubblesort.png (frame 621 of 716)\n",
+      "saving all-bubblesort.png (frame 622 of 716)\n",
+      "saving all-bubblesort.png (frame 623 of 716)\n",
+      "saving all-bubblesort.png (frame 624 of 716)\n",
+      "saving all-bubblesort.png (frame 625 of 716)\n",
+      "saving all-bubblesort.png (frame 626 of 716)\n",
+      "saving all-bubblesort.png (frame 627 of 716)\n",
+      "saving all-bubblesort.png (frame 628 of 716)\n",
+      "saving all-bubblesort.png (frame 629 of 716)\n",
+      "saving all-bubblesort.png (frame 630 of 716)\n",
+      "saving all-bubblesort.png (frame 631 of 716)\n",
+      "saving all-bubblesort.png (frame 632 of 716)\n",
+      "saving all-bubblesort.png (frame 633 of 716)\n",
+      "saving all-bubblesort.png (frame 634 of 716)\n",
+      "saving all-bubblesort.png (frame 635 of 716)\n",
+      "saving all-bubblesort.png (frame 636 of 716)\n",
+      "saving all-bubblesort.png (frame 637 of 716)\n",
+      "saving all-bubblesort.png (frame 638 of 716)\n",
+      "saving all-bubblesort.png (frame 639 of 716)\n",
+      "saving all-bubblesort.png (frame 640 of 716)\n",
+      "saving all-bubblesort.png (frame 641 of 716)\n",
+      "saving all-bubblesort.png (frame 642 of 716)\n",
+      "saving all-bubblesort.png (frame 643 of 716)\n",
+      "saving all-bubblesort.png (frame 644 of 716)\n",
+      "saving all-bubblesort.png (frame 645 of 716)\n",
+      "saving all-bubblesort.png (frame 646 of 716)\n",
+      "saving all-bubblesort.png (frame 647 of 716)\n",
+      "saving all-bubblesort.png (frame 648 of 716)\n",
+      "saving all-bubblesort.png (frame 649 of 716)\n",
+      "saving all-bubblesort.png (frame 650 of 716)\n",
+      "saving all-bubblesort.png (frame 651 of 716)\n",
+      "saving all-bubblesort.png (frame 652 of 716)\n",
+      "saving all-bubblesort.png (frame 653 of 716)\n",
+      "saving all-bubblesort.png (frame 654 of 716)\n",
+      "saving all-bubblesort.png (frame 655 of 716)\n",
+      "saving all-bubblesort.png (frame 656 of 716)\n",
+      "saving all-bubblesort.png (frame 657 of 716)\n",
+      "saving all-bubblesort.png (frame 658 of 716)\n",
+      "saving all-bubblesort.png (frame 659 of 716)\n",
+      "saving all-bubblesort.png (frame 660 of 716)\n",
+      "saving all-bubblesort.png (frame 661 of 716)\n",
+      "saving all-bubblesort.png (frame 662 of 716)\n",
+      "saving all-bubblesort.png (frame 663 of 716)\n",
+      "saving all-bubblesort.png (frame 664 of 716)\n",
+      "saving all-bubblesort.png (frame 665 of 716)\n",
+      "saving all-bubblesort.png (frame 666 of 716)\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "saving all-bubblesort.png (frame 667 of 716)\n",
+      "saving all-bubblesort.png (frame 668 of 716)\n",
+      "saving all-bubblesort.png (frame 669 of 716)\n",
+      "saving all-bubblesort.png (frame 670 of 716)\n",
+      "saving all-bubblesort.png (frame 671 of 716)\n",
+      "saving all-bubblesort.png (frame 672 of 716)\n",
+      "saving all-bubblesort.png (frame 673 of 716)\n",
+      "saving all-bubblesort.png (frame 674 of 716)\n",
+      "saving all-bubblesort.png (frame 675 of 716)\n",
+      "saving all-bubblesort.png (frame 676 of 716)\n",
+      "saving all-bubblesort.png (frame 677 of 716)\n",
+      "saving all-bubblesort.png (frame 678 of 716)\n",
+      "saving all-bubblesort.png (frame 679 of 716)\n",
+      "saving all-bubblesort.png (frame 680 of 716)\n",
+      "saving all-bubblesort.png (frame 681 of 716)\n",
+      "saving all-bubblesort.png (frame 682 of 716)\n",
+      "saving all-bubblesort.png (frame 683 of 716)\n",
+      "saving all-bubblesort.png (frame 684 of 716)\n",
+      "saving all-bubblesort.png (frame 685 of 716)\n",
+      "saving all-bubblesort.png (frame 686 of 716)\n",
+      "saving all-bubblesort.png (frame 687 of 716)\n",
+      "saving all-bubblesort.png (frame 688 of 716)\n",
+      "saving all-bubblesort.png (frame 689 of 716)\n",
+      "saving all-bubblesort.png (frame 690 of 716)\n",
+      "saving all-bubblesort.png (frame 691 of 716)\n",
+      "saving all-bubblesort.png (frame 692 of 716)\n",
+      "saving all-bubblesort.png (frame 693 of 716)\n",
+      "saving all-bubblesort.png (frame 694 of 716)\n",
+      "saving all-bubblesort.png (frame 695 of 716)\n",
+      "saving all-bubblesort.png (frame 696 of 716)\n",
+      "saving all-bubblesort.png (frame 697 of 716)\n",
+      "saving all-bubblesort.png (frame 698 of 716)\n",
+      "saving all-bubblesort.png (frame 699 of 716)\n",
+      "saving all-bubblesort.png (frame 700 of 716)\n",
+      "saving all-bubblesort.png (frame 701 of 716)\n",
+      "saving all-bubblesort.png (frame 702 of 716)\n",
+      "saving all-bubblesort.png (frame 703 of 716)\n",
+      "saving all-bubblesort.png (frame 704 of 716)\n",
+      "saving all-bubblesort.png (frame 705 of 716)\n",
+      "saving all-bubblesort.png (frame 706 of 716)\n",
+      "saving all-bubblesort.png (frame 707 of 716)\n",
+      "saving all-bubblesort.png (frame 708 of 716)\n",
+      "saving all-bubblesort.png (frame 709 of 716)\n",
+      "saving all-bubblesort.png (frame 710 of 716)\n",
+      "saving all-bubblesort.png (frame 711 of 716)\n",
+      "saving all-bubblesort.png (frame 712 of 716)\n",
+      "saving all-bubblesort.png (frame 713 of 716)\n",
+      "saving all-bubblesort.png (frame 714 of 716)\n",
+      "saving all-bubblesort.png (frame 715 of 716)\n",
+      "saving all-bubblesort.png (frame 716 of 716)\n",
+      "all done\n"
+     ]
+    }
+   ],
+   "source": [
+    "! apngasm all-bubblesort.png bubblesort*png 1 10"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.5.2"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/bubble-sort-then-write.ipynb b/bubble-sort-then-write.ipynb
new file mode 100644 (file)
index 0000000..1dd06a7
--- /dev/null
@@ -0,0 +1,1728 @@
+{
+ "cells": [
+  {
+   "cell_type": "code",
+   "execution_count": 11,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "import random\n",
+    "import time\n",
+    "import re\n",
+    "from IPython.display import clear_output\n",
+    "from PIL import Image, ImageDraw, ImageColor, ImageFont"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 12,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "ROWS = 300\n",
+    "COLUMNS = 720\n",
+    "RANGE = 360"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 13,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "initial_items = [int((float(i) * RANGE) / float(COLUMNS)) for i in range(COLUMNS)]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 14,
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [],
+   "source": [
+    "# initial_items"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 15,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[(0, 2), (1, 2), (2, 2), (3, 2), (4, 2)]"
+      ]
+     },
+     "execution_count": 15,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "import collections\n",
+    "collections.Counter(initial_items).most_common(5)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 16,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def draw_frame(rows, frame_number, prefix='frame'):\n",
+    "    im = Image.new('RGB', (COLUMNS * 1, ROWS * 1))\n",
+    "\n",
+    "    draw = ImageDraw.Draw(im)\n",
+    "    for r in range(len(rows)):\n",
+    "        if frame_number >= len(rows[r]):\n",
+    "            row = rows[r][-1]\n",
+    "        else:\n",
+    "            row = rows[r][frame_number]\n",
+    "#     for (r, row) in enumerate(grid):\n",
+    "        for (c, cell) in enumerate(row):\n",
+    "            rx = c * 1\n",
+    "            ry = r * 1\n",
+    "    #         print(rx, ry)\n",
+    "            draw.rectangle([rx, ry, rx + 1, ry + 1], \n",
+    "                           fill=ImageColor.getrgb(\"hsl({}, 100%, 50%)\".format(cell)))\n",
+    "\n",
+    "    im.save('{}{:04}.png'.format(prefix, frame_number), 'PNG')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 17,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def bubblesort_step(items):\n",
+    "    max_n = 0\n",
+    "    max_i = 0\n",
+    "    for i in range(1, len(items)):\n",
+    "        if items[i] < items[i-1]:\n",
+    "            items[i-1], items[i] = items[i], items[i-1]\n",
+    "    return items"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 18,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def bubblesort(items, step_history):\n",
+    "    while sorted(items) != items:\n",
+    "        step_history += [items[:]]\n",
+    "        bubblesort_step(items)\n",
+    "    step_history += [items[:]]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 19,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "histories = []\n",
+    "for _ in range(ROWS):\n",
+    "    items = initial_items[:]\n",
+    "    random.shuffle(items)\n",
+    "    step_history = []\n",
+    "    bubblesort(items, step_history)\n",
+    "    histories += [step_history]\n",
+    "    "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 20,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "672"
+      ]
+     },
+     "execution_count": 20,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "len(histories[0])"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 21,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "! rm bubblesort*"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 22,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "for frame_n in range(max(len(h) for h in histories)):\n",
+    "    draw_frame(histories, frame_n, prefix='bubblesort')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 23,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "718"
+      ]
+     },
+     "execution_count": 23,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "frame_n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 24,
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "APNG Assembler 2.7\n",
+      "\n",
+      "reading bubblesort0000.png (1 of 719)\n",
+      "reading bubblesort0001.png (2 of 719)\n",
+      "reading bubblesort0002.png (3 of 719)\n",
+      "reading bubblesort0003.png (4 of 719)\n",
+      "reading bubblesort0004.png (5 of 719)\n",
+      "reading bubblesort0005.png (6 of 719)\n",
+      "reading bubblesort0006.png (7 of 719)\n",
+      "reading bubblesort0007.png (8 of 719)\n",
+      "reading bubblesort0008.png (9 of 719)\n",
+      "reading bubblesort0009.png (10 of 719)\n",
+      "reading bubblesort0010.png (11 of 719)\n",
+      "reading bubblesort0011.png (12 of 719)\n",
+      "reading bubblesort0012.png (13 of 719)\n",
+      "reading bubblesort0013.png (14 of 719)\n",
+      "reading bubblesort0014.png (15 of 719)\n",
+      "reading bubblesort0015.png (16 of 719)\n",
+      "reading bubblesort0016.png (17 of 719)\n",
+      "reading bubblesort0017.png (18 of 719)\n",
+      "reading bubblesort0018.png (19 of 719)\n",
+      "reading bubblesort0019.png (20 of 719)\n",
+      "reading bubblesort0020.png (21 of 719)\n",
+      "reading bubblesort0021.png (22 of 719)\n",
+      "reading bubblesort0022.png (23 of 719)\n",
+      "reading bubblesort0023.png (24 of 719)\n",
+      "reading bubblesort0024.png (25 of 719)\n",
+      "reading bubblesort0025.png (26 of 719)\n",
+      "reading bubblesort0026.png (27 of 719)\n",
+      "reading bubblesort0027.png (28 of 719)\n",
+      "reading bubblesort0028.png (29 of 719)\n",
+      "reading bubblesort0029.png (30 of 719)\n",
+      "reading bubblesort0030.png (31 of 719)\n",
+      "reading bubblesort0031.png (32 of 719)\n",
+      "reading bubblesort0032.png (33 of 719)\n",
+      "reading bubblesort0033.png (34 of 719)\n",
+      "reading bubblesort0034.png (35 of 719)\n",
+      "reading bubblesort0035.png (36 of 719)\n",
+      "reading bubblesort0036.png (37 of 719)\n",
+      "reading bubblesort0037.png (38 of 719)\n",
+      "reading bubblesort0038.png (39 of 719)\n",
+      "reading bubblesort0039.png (40 of 719)\n",
+      "reading bubblesort0040.png (41 of 719)\n",
+      "reading bubblesort0041.png (42 of 719)\n",
+      "reading bubblesort0042.png (43 of 719)\n",
+      "reading bubblesort0043.png (44 of 719)\n",
+      "reading bubblesort0044.png (45 of 719)\n",
+      "reading bubblesort0045.png (46 of 719)\n",
+      "reading bubblesort0046.png (47 of 719)\n",
+      "reading bubblesort0047.png (48 of 719)\n",
+      "reading bubblesort0048.png (49 of 719)\n",
+      "reading bubblesort0049.png (50 of 719)\n",
+      "reading bubblesort0050.png (51 of 719)\n",
+      "reading bubblesort0051.png (52 of 719)\n",
+      "reading bubblesort0052.png (53 of 719)\n",
+      "reading bubblesort0053.png (54 of 719)\n",
+      "reading bubblesort0054.png (55 of 719)\n",
+      "reading bubblesort0055.png (56 of 719)\n",
+      "reading bubblesort0056.png (57 of 719)\n",
+      "reading bubblesort0057.png (58 of 719)\n",
+      "reading bubblesort0058.png (59 of 719)\n",
+      "reading bubblesort0059.png (60 of 719)\n",
+      "reading bubblesort0060.png (61 of 719)\n",
+      "reading bubblesort0061.png (62 of 719)\n",
+      "reading bubblesort0062.png (63 of 719)\n",
+      "reading bubblesort0063.png (64 of 719)\n",
+      "reading bubblesort0064.png (65 of 719)\n",
+      "reading bubblesort0065.png (66 of 719)\n",
+      "reading bubblesort0066.png (67 of 719)\n",
+      "reading bubblesort0067.png (68 of 719)\n",
+      "reading bubblesort0068.png (69 of 719)\n",
+      "reading bubblesort0069.png (70 of 719)\n",
+      "reading bubblesort0070.png (71 of 719)\n",
+      "reading bubblesort0071.png (72 of 719)\n",
+      "reading bubblesort0072.png (73 of 719)\n",
+      "reading bubblesort0073.png (74 of 719)\n",
+      "reading bubblesort0074.png (75 of 719)\n",
+      "reading bubblesort0075.png (76 of 719)\n",
+      "reading bubblesort0076.png (77 of 719)\n",
+      "reading bubblesort0077.png (78 of 719)\n",
+      "reading bubblesort0078.png (79 of 719)\n",
+      "reading bubblesort0079.png (80 of 719)\n",
+      "reading bubblesort0080.png (81 of 719)\n",
+      "reading bubblesort0081.png (82 of 719)\n",
+      "reading bubblesort0082.png (83 of 719)\n",
+      "reading bubblesort0083.png (84 of 719)\n",
+      "reading bubblesort0084.png (85 of 719)\n",
+      "reading bubblesort0085.png (86 of 719)\n",
+      "reading bubblesort0086.png (87 of 719)\n",
+      "reading bubblesort0087.png (88 of 719)\n",
+      "reading bubblesort0088.png (89 of 719)\n",
+      "reading bubblesort0089.png (90 of 719)\n",
+      "reading bubblesort0090.png (91 of 719)\n",
+      "reading bubblesort0091.png (92 of 719)\n",
+      "reading bubblesort0092.png (93 of 719)\n",
+      "reading bubblesort0093.png (94 of 719)\n",
+      "reading bubblesort0094.png (95 of 719)\n",
+      "reading bubblesort0095.png (96 of 719)\n",
+      "reading bubblesort0096.png (97 of 719)\n",
+      "reading bubblesort0097.png (98 of 719)\n",
+      "reading bubblesort0098.png (99 of 719)\n",
+      "reading bubblesort0099.png (100 of 719)\n",
+      "reading bubblesort0100.png (101 of 719)\n",
+      "reading bubblesort0101.png (102 of 719)\n",
+      "reading bubblesort0102.png (103 of 719)\n",
+      "reading bubblesort0103.png (104 of 719)\n",
+      "reading bubblesort0104.png (105 of 719)\n",
+      "reading bubblesort0105.png (106 of 719)\n",
+      "reading bubblesort0106.png (107 of 719)\n",
+      "reading bubblesort0107.png (108 of 719)\n",
+      "reading bubblesort0108.png (109 of 719)\n",
+      "reading bubblesort0109.png (110 of 719)\n",
+      "reading bubblesort0110.png (111 of 719)\n",
+      "reading bubblesort0111.png (112 of 719)\n",
+      "reading bubblesort0112.png (113 of 719)\n",
+      "reading bubblesort0113.png (114 of 719)\n",
+      "reading bubblesort0114.png (115 of 719)\n",
+      "reading bubblesort0115.png (116 of 719)\n",
+      "reading bubblesort0116.png (117 of 719)\n",
+      "reading bubblesort0117.png (118 of 719)\n",
+      "reading bubblesort0118.png (119 of 719)\n",
+      "reading bubblesort0119.png (120 of 719)\n",
+      "reading bubblesort0120.png (121 of 719)\n",
+      "reading bubblesort0121.png (122 of 719)\n",
+      "reading bubblesort0122.png (123 of 719)\n",
+      "reading bubblesort0123.png (124 of 719)\n",
+      "reading bubblesort0124.png (125 of 719)\n",
+      "reading bubblesort0125.png (126 of 719)\n",
+      "reading bubblesort0126.png (127 of 719)\n",
+      "reading bubblesort0127.png (128 of 719)\n",
+      "reading bubblesort0128.png (129 of 719)\n",
+      "reading bubblesort0129.png (130 of 719)\n",
+      "reading bubblesort0130.png (131 of 719)\n",
+      "reading bubblesort0131.png (132 of 719)\n",
+      "reading bubblesort0132.png (133 of 719)\n",
+      "reading bubblesort0133.png (134 of 719)\n",
+      "reading bubblesort0134.png (135 of 719)\n",
+      "reading bubblesort0135.png (136 of 719)\n",
+      "reading bubblesort0136.png (137 of 719)\n",
+      "reading bubblesort0137.png (138 of 719)\n",
+      "reading bubblesort0138.png (139 of 719)\n",
+      "reading bubblesort0139.png (140 of 719)\n",
+      "reading bubblesort0140.png (141 of 719)\n",
+      "reading bubblesort0141.png (142 of 719)\n",
+      "reading bubblesort0142.png (143 of 719)\n",
+      "reading bubblesort0143.png (144 of 719)\n",
+      "reading bubblesort0144.png (145 of 719)\n",
+      "reading bubblesort0145.png (146 of 719)\n",
+      "reading bubblesort0146.png (147 of 719)\n",
+      "reading bubblesort0147.png (148 of 719)\n",
+      "reading bubblesort0148.png (149 of 719)\n",
+      "reading bubblesort0149.png (150 of 719)\n",
+      "reading bubblesort0150.png (151 of 719)\n",
+      "reading bubblesort0151.png (152 of 719)\n",
+      "reading bubblesort0152.png (153 of 719)\n",
+      "reading bubblesort0153.png (154 of 719)\n",
+      "reading bubblesort0154.png (155 of 719)\n",
+      "reading bubblesort0155.png (156 of 719)\n",
+      "reading bubblesort0156.png (157 of 719)\n",
+      "reading bubblesort0157.png (158 of 719)\n",
+      "reading bubblesort0158.png (159 of 719)\n",
+      "reading bubblesort0159.png (160 of 719)\n",
+      "reading bubblesort0160.png (161 of 719)\n",
+      "reading bubblesort0161.png (162 of 719)\n",
+      "reading bubblesort0162.png (163 of 719)\n",
+      "reading bubblesort0163.png (164 of 719)\n",
+      "reading bubblesort0164.png (165 of 719)\n",
+      "reading bubblesort0165.png (166 of 719)\n",
+      "reading bubblesort0166.png (167 of 719)\n",
+      "reading bubblesort0167.png (168 of 719)\n",
+      "reading bubblesort0168.png (169 of 719)\n",
+      "reading bubblesort0169.png (170 of 719)\n",
+      "reading bubblesort0170.png (171 of 719)\n",
+      "reading bubblesort0171.png (172 of 719)\n",
+      "reading bubblesort0172.png (173 of 719)\n",
+      "reading bubblesort0173.png (174 of 719)\n",
+      "reading bubblesort0174.png (175 of 719)\n",
+      "reading bubblesort0175.png (176 of 719)\n",
+      "reading bubblesort0176.png (177 of 719)\n",
+      "reading bubblesort0177.png (178 of 719)\n",
+      "reading bubblesort0178.png (179 of 719)\n",
+      "reading bubblesort0179.png (180 of 719)\n",
+      "reading bubblesort0180.png (181 of 719)\n",
+      "reading bubblesort0181.png (182 of 719)\n",
+      "reading bubblesort0182.png (183 of 719)\n",
+      "reading bubblesort0183.png (184 of 719)\n",
+      "reading bubblesort0184.png (185 of 719)\n",
+      "reading bubblesort0185.png (186 of 719)\n",
+      "reading bubblesort0186.png (187 of 719)\n",
+      "reading bubblesort0187.png (188 of 719)\n",
+      "reading bubblesort0188.png (189 of 719)\n",
+      "reading bubblesort0189.png (190 of 719)\n",
+      "reading bubblesort0190.png (191 of 719)\n",
+      "reading bubblesort0191.png (192 of 719)\n",
+      "reading bubblesort0192.png (193 of 719)\n",
+      "reading bubblesort0193.png (194 of 719)\n",
+      "reading bubblesort0194.png (195 of 719)\n",
+      "reading bubblesort0195.png (196 of 719)\n",
+      "reading bubblesort0196.png (197 of 719)\n",
+      "reading bubblesort0197.png (198 of 719)\n",
+      "reading bubblesort0198.png (199 of 719)\n",
+      "reading bubblesort0199.png (200 of 719)\n",
+      "reading bubblesort0200.png (201 of 719)\n",
+      "reading bubblesort0201.png (202 of 719)\n",
+      "reading bubblesort0202.png (203 of 719)\n",
+      "reading bubblesort0203.png (204 of 719)\n",
+      "reading bubblesort0204.png (205 of 719)\n",
+      "reading bubblesort0205.png (206 of 719)\n",
+      "reading bubblesort0206.png (207 of 719)\n",
+      "reading bubblesort0207.png (208 of 719)\n",
+      "reading bubblesort0208.png (209 of 719)\n",
+      "reading bubblesort0209.png (210 of 719)\n",
+      "reading bubblesort0210.png (211 of 719)\n",
+      "reading bubblesort0211.png (212 of 719)\n",
+      "reading bubblesort0212.png (213 of 719)\n",
+      "reading bubblesort0213.png (214 of 719)\n",
+      "reading bubblesort0214.png (215 of 719)\n",
+      "reading bubblesort0215.png (216 of 719)\n",
+      "reading bubblesort0216.png (217 of 719)\n",
+      "reading bubblesort0217.png (218 of 719)\n",
+      "reading bubblesort0218.png (219 of 719)\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "reading bubblesort0219.png (220 of 719)\n",
+      "reading bubblesort0220.png (221 of 719)\n",
+      "reading bubblesort0221.png (222 of 719)\n",
+      "reading bubblesort0222.png (223 of 719)\n",
+      "reading bubblesort0223.png (224 of 719)\n",
+      "reading bubblesort0224.png (225 of 719)\n",
+      "reading bubblesort0225.png (226 of 719)\n",
+      "reading bubblesort0226.png (227 of 719)\n",
+      "reading bubblesort0227.png (228 of 719)\n",
+      "reading bubblesort0228.png (229 of 719)\n",
+      "reading bubblesort0229.png (230 of 719)\n",
+      "reading bubblesort0230.png (231 of 719)\n",
+      "reading bubblesort0231.png (232 of 719)\n",
+      "reading bubblesort0232.png (233 of 719)\n",
+      "reading bubblesort0233.png (234 of 719)\n",
+      "reading bubblesort0234.png (235 of 719)\n",
+      "reading bubblesort0235.png (236 of 719)\n",
+      "reading bubblesort0236.png (237 of 719)\n",
+      "reading bubblesort0237.png (238 of 719)\n",
+      "reading bubblesort0238.png (239 of 719)\n",
+      "reading bubblesort0239.png (240 of 719)\n",
+      "reading bubblesort0240.png (241 of 719)\n",
+      "reading bubblesort0241.png (242 of 719)\n",
+      "reading bubblesort0242.png (243 of 719)\n",
+      "reading bubblesort0243.png (244 of 719)\n",
+      "reading bubblesort0244.png (245 of 719)\n",
+      "reading bubblesort0245.png (246 of 719)\n",
+      "reading bubblesort0246.png (247 of 719)\n",
+      "reading bubblesort0247.png (248 of 719)\n",
+      "reading bubblesort0248.png (249 of 719)\n",
+      "reading bubblesort0249.png (250 of 719)\n",
+      "reading bubblesort0250.png (251 of 719)\n",
+      "reading bubblesort0251.png (252 of 719)\n",
+      "reading bubblesort0252.png (253 of 719)\n",
+      "reading bubblesort0253.png (254 of 719)\n",
+      "reading bubblesort0254.png (255 of 719)\n",
+      "reading bubblesort0255.png (256 of 719)\n",
+      "reading bubblesort0256.png (257 of 719)\n",
+      "reading bubblesort0257.png (258 of 719)\n",
+      "reading bubblesort0258.png (259 of 719)\n",
+      "reading bubblesort0259.png (260 of 719)\n",
+      "reading bubblesort0260.png (261 of 719)\n",
+      "reading bubblesort0261.png (262 of 719)\n",
+      "reading bubblesort0262.png (263 of 719)\n",
+      "reading bubblesort0263.png (264 of 719)\n",
+      "reading bubblesort0264.png (265 of 719)\n",
+      "reading bubblesort0265.png (266 of 719)\n",
+      "reading bubblesort0266.png (267 of 719)\n",
+      "reading bubblesort0267.png (268 of 719)\n",
+      "reading bubblesort0268.png (269 of 719)\n",
+      "reading bubblesort0269.png (270 of 719)\n",
+      "reading bubblesort0270.png (271 of 719)\n",
+      "reading bubblesort0271.png (272 of 719)\n",
+      "reading bubblesort0272.png (273 of 719)\n",
+      "reading bubblesort0273.png (274 of 719)\n",
+      "reading bubblesort0274.png (275 of 719)\n",
+      "reading bubblesort0275.png (276 of 719)\n",
+      "reading bubblesort0276.png (277 of 719)\n",
+      "reading bubblesort0277.png (278 of 719)\n",
+      "reading bubblesort0278.png (279 of 719)\n",
+      "reading bubblesort0279.png (280 of 719)\n",
+      "reading bubblesort0280.png (281 of 719)\n",
+      "reading bubblesort0281.png (282 of 719)\n",
+      "reading bubblesort0282.png (283 of 719)\n",
+      "reading bubblesort0283.png (284 of 719)\n",
+      "reading bubblesort0284.png (285 of 719)\n",
+      "reading bubblesort0285.png (286 of 719)\n",
+      "reading bubblesort0286.png (287 of 719)\n",
+      "reading bubblesort0287.png (288 of 719)\n",
+      "reading bubblesort0288.png (289 of 719)\n",
+      "reading bubblesort0289.png (290 of 719)\n",
+      "reading bubblesort0290.png (291 of 719)\n",
+      "reading bubblesort0291.png (292 of 719)\n",
+      "reading bubblesort0292.png (293 of 719)\n",
+      "reading bubblesort0293.png (294 of 719)\n",
+      "reading bubblesort0294.png (295 of 719)\n",
+      "reading bubblesort0295.png (296 of 719)\n",
+      "reading bubblesort0296.png (297 of 719)\n",
+      "reading bubblesort0297.png (298 of 719)\n",
+      "reading bubblesort0298.png (299 of 719)\n",
+      "reading bubblesort0299.png (300 of 719)\n",
+      "reading bubblesort0300.png (301 of 719)\n",
+      "reading bubblesort0301.png (302 of 719)\n",
+      "reading bubblesort0302.png (303 of 719)\n",
+      "reading bubblesort0303.png (304 of 719)\n",
+      "reading bubblesort0304.png (305 of 719)\n",
+      "reading bubblesort0305.png (306 of 719)\n",
+      "reading bubblesort0306.png (307 of 719)\n",
+      "reading bubblesort0307.png (308 of 719)\n",
+      "reading bubblesort0308.png (309 of 719)\n",
+      "reading bubblesort0309.png (310 of 719)\n",
+      "reading bubblesort0310.png (311 of 719)\n",
+      "reading bubblesort0311.png (312 of 719)\n",
+      "reading bubblesort0312.png (313 of 719)\n",
+      "reading bubblesort0313.png (314 of 719)\n",
+      "reading bubblesort0314.png (315 of 719)\n",
+      "reading bubblesort0315.png (316 of 719)\n",
+      "reading bubblesort0316.png (317 of 719)\n",
+      "reading bubblesort0317.png (318 of 719)\n",
+      "reading bubblesort0318.png (319 of 719)\n",
+      "reading bubblesort0319.png (320 of 719)\n",
+      "reading bubblesort0320.png (321 of 719)\n",
+      "reading bubblesort0321.png (322 of 719)\n",
+      "reading bubblesort0322.png (323 of 719)\n",
+      "reading bubblesort0323.png (324 of 719)\n",
+      "reading bubblesort0324.png (325 of 719)\n",
+      "reading bubblesort0325.png (326 of 719)\n",
+      "reading bubblesort0326.png (327 of 719)\n",
+      "reading bubblesort0327.png (328 of 719)\n",
+      "reading bubblesort0328.png (329 of 719)\n",
+      "reading bubblesort0329.png (330 of 719)\n",
+      "reading bubblesort0330.png (331 of 719)\n",
+      "reading bubblesort0331.png (332 of 719)\n",
+      "reading bubblesort0332.png (333 of 719)\n",
+      "reading bubblesort0333.png (334 of 719)\n",
+      "reading bubblesort0334.png (335 of 719)\n",
+      "reading bubblesort0335.png (336 of 719)\n",
+      "reading bubblesort0336.png (337 of 719)\n",
+      "reading bubblesort0337.png (338 of 719)\n",
+      "reading bubblesort0338.png (339 of 719)\n",
+      "reading bubblesort0339.png (340 of 719)\n",
+      "reading bubblesort0340.png (341 of 719)\n",
+      "reading bubblesort0341.png (342 of 719)\n",
+      "reading bubblesort0342.png (343 of 719)\n",
+      "reading bubblesort0343.png (344 of 719)\n",
+      "reading bubblesort0344.png (345 of 719)\n",
+      "reading bubblesort0345.png (346 of 719)\n",
+      "reading bubblesort0346.png (347 of 719)\n",
+      "reading bubblesort0347.png (348 of 719)\n",
+      "reading bubblesort0348.png (349 of 719)\n",
+      "reading bubblesort0349.png (350 of 719)\n",
+      "reading bubblesort0350.png (351 of 719)\n",
+      "reading bubblesort0351.png (352 of 719)\n",
+      "reading bubblesort0352.png (353 of 719)\n",
+      "reading bubblesort0353.png (354 of 719)\n",
+      "reading bubblesort0354.png (355 of 719)\n",
+      "reading bubblesort0355.png (356 of 719)\n",
+      "reading bubblesort0356.png (357 of 719)\n",
+      "reading bubblesort0357.png (358 of 719)\n",
+      "reading bubblesort0358.png (359 of 719)\n",
+      "reading bubblesort0359.png (360 of 719)\n",
+      "reading bubblesort0360.png (361 of 719)\n",
+      "reading bubblesort0361.png (362 of 719)\n",
+      "reading bubblesort0362.png (363 of 719)\n",
+      "reading bubblesort0363.png (364 of 719)\n",
+      "reading bubblesort0364.png (365 of 719)\n",
+      "reading bubblesort0365.png (366 of 719)\n",
+      "reading bubblesort0366.png (367 of 719)\n",
+      "reading bubblesort0367.png (368 of 719)\n",
+      "reading bubblesort0368.png (369 of 719)\n",
+      "reading bubblesort0369.png (370 of 719)\n",
+      "reading bubblesort0370.png (371 of 719)\n",
+      "reading bubblesort0371.png (372 of 719)\n",
+      "reading bubblesort0372.png (373 of 719)\n",
+      "reading bubblesort0373.png (374 of 719)\n",
+      "reading bubblesort0374.png (375 of 719)\n",
+      "reading bubblesort0375.png (376 of 719)\n",
+      "reading bubblesort0376.png (377 of 719)\n",
+      "reading bubblesort0377.png (378 of 719)\n",
+      "reading bubblesort0378.png (379 of 719)\n",
+      "reading bubblesort0379.png (380 of 719)\n",
+      "reading bubblesort0380.png (381 of 719)\n",
+      "reading bubblesort0381.png (382 of 719)\n",
+      "reading bubblesort0382.png (383 of 719)\n",
+      "reading bubblesort0383.png (384 of 719)\n",
+      "reading bubblesort0384.png (385 of 719)\n",
+      "reading bubblesort0385.png (386 of 719)\n",
+      "reading bubblesort0386.png (387 of 719)\n",
+      "reading bubblesort0387.png (388 of 719)\n",
+      "reading bubblesort0388.png (389 of 719)\n",
+      "reading bubblesort0389.png (390 of 719)\n",
+      "reading bubblesort0390.png (391 of 719)\n",
+      "reading bubblesort0391.png (392 of 719)\n",
+      "reading bubblesort0392.png (393 of 719)\n",
+      "reading bubblesort0393.png (394 of 719)\n",
+      "reading bubblesort0394.png (395 of 719)\n",
+      "reading bubblesort0395.png (396 of 719)\n",
+      "reading bubblesort0396.png (397 of 719)\n",
+      "reading bubblesort0397.png (398 of 719)\n",
+      "reading bubblesort0398.png (399 of 719)\n",
+      "reading bubblesort0399.png (400 of 719)\n",
+      "reading bubblesort0400.png (401 of 719)\n",
+      "reading bubblesort0401.png (402 of 719)\n",
+      "reading bubblesort0402.png (403 of 719)\n",
+      "reading bubblesort0403.png (404 of 719)\n",
+      "reading bubblesort0404.png (405 of 719)\n",
+      "reading bubblesort0405.png (406 of 719)\n",
+      "reading bubblesort0406.png (407 of 719)\n",
+      "reading bubblesort0407.png (408 of 719)\n",
+      "reading bubblesort0408.png (409 of 719)\n",
+      "reading bubblesort0409.png (410 of 719)\n",
+      "reading bubblesort0410.png (411 of 719)\n",
+      "reading bubblesort0411.png (412 of 719)\n",
+      "reading bubblesort0412.png (413 of 719)\n",
+      "reading bubblesort0413.png (414 of 719)\n",
+      "reading bubblesort0414.png (415 of 719)\n",
+      "reading bubblesort0415.png (416 of 719)\n",
+      "reading bubblesort0416.png (417 of 719)\n",
+      "reading bubblesort0417.png (418 of 719)\n",
+      "reading bubblesort0418.png (419 of 719)\n",
+      "reading bubblesort0419.png (420 of 719)\n",
+      "reading bubblesort0420.png (421 of 719)\n",
+      "reading bubblesort0421.png (422 of 719)\n",
+      "reading bubblesort0422.png (423 of 719)\n",
+      "reading bubblesort0423.png (424 of 719)\n",
+      "reading bubblesort0424.png (425 of 719)\n",
+      "reading bubblesort0425.png (426 of 719)\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "reading bubblesort0426.png (427 of 719)\n",
+      "reading bubblesort0427.png (428 of 719)\n",
+      "reading bubblesort0428.png (429 of 719)\n",
+      "reading bubblesort0429.png (430 of 719)\n",
+      "reading bubblesort0430.png (431 of 719)\n",
+      "reading bubblesort0431.png (432 of 719)\n",
+      "reading bubblesort0432.png (433 of 719)\n",
+      "reading bubblesort0433.png (434 of 719)\n",
+      "reading bubblesort0434.png (435 of 719)\n",
+      "reading bubblesort0435.png (436 of 719)\n",
+      "reading bubblesort0436.png (437 of 719)\n",
+      "reading bubblesort0437.png (438 of 719)\n",
+      "reading bubblesort0438.png (439 of 719)\n",
+      "reading bubblesort0439.png (440 of 719)\n",
+      "reading bubblesort0440.png (441 of 719)\n",
+      "reading bubblesort0441.png (442 of 719)\n",
+      "reading bubblesort0442.png (443 of 719)\n",
+      "reading bubblesort0443.png (444 of 719)\n",
+      "reading bubblesort0444.png (445 of 719)\n",
+      "reading bubblesort0445.png (446 of 719)\n",
+      "reading bubblesort0446.png (447 of 719)\n",
+      "reading bubblesort0447.png (448 of 719)\n",
+      "reading bubblesort0448.png (449 of 719)\n",
+      "reading bubblesort0449.png (450 of 719)\n",
+      "reading bubblesort0450.png (451 of 719)\n",
+      "reading bubblesort0451.png (452 of 719)\n",
+      "reading bubblesort0452.png (453 of 719)\n",
+      "reading bubblesort0453.png (454 of 719)\n",
+      "reading bubblesort0454.png (455 of 719)\n",
+      "reading bubblesort0455.png (456 of 719)\n",
+      "reading bubblesort0456.png (457 of 719)\n",
+      "reading bubblesort0457.png (458 of 719)\n",
+      "reading bubblesort0458.png (459 of 719)\n",
+      "reading bubblesort0459.png (460 of 719)\n",
+      "reading bubblesort0460.png (461 of 719)\n",
+      "reading bubblesort0461.png (462 of 719)\n",
+      "reading bubblesort0462.png (463 of 719)\n",
+      "reading bubblesort0463.png (464 of 719)\n",
+      "reading bubblesort0464.png (465 of 719)\n",
+      "reading bubblesort0465.png (466 of 719)\n",
+      "reading bubblesort0466.png (467 of 719)\n",
+      "reading bubblesort0467.png (468 of 719)\n",
+      "reading bubblesort0468.png (469 of 719)\n",
+      "reading bubblesort0469.png (470 of 719)\n",
+      "reading bubblesort0470.png (471 of 719)\n",
+      "reading bubblesort0471.png (472 of 719)\n",
+      "reading bubblesort0472.png (473 of 719)\n",
+      "reading bubblesort0473.png (474 of 719)\n",
+      "reading bubblesort0474.png (475 of 719)\n",
+      "reading bubblesort0475.png (476 of 719)\n",
+      "reading bubblesort0476.png (477 of 719)\n",
+      "reading bubblesort0477.png (478 of 719)\n",
+      "reading bubblesort0478.png (479 of 719)\n",
+      "reading bubblesort0479.png (480 of 719)\n",
+      "reading bubblesort0480.png (481 of 719)\n",
+      "reading bubblesort0481.png (482 of 719)\n",
+      "reading bubblesort0482.png (483 of 719)\n",
+      "reading bubblesort0483.png (484 of 719)\n",
+      "reading bubblesort0484.png (485 of 719)\n",
+      "reading bubblesort0485.png (486 of 719)\n",
+      "reading bubblesort0486.png (487 of 719)\n",
+      "reading bubblesort0487.png (488 of 719)\n",
+      "reading bubblesort0488.png (489 of 719)\n",
+      "reading bubblesort0489.png (490 of 719)\n",
+      "reading bubblesort0490.png (491 of 719)\n",
+      "reading bubblesort0491.png (492 of 719)\n",
+      "reading bubblesort0492.png (493 of 719)\n",
+      "reading bubblesort0493.png (494 of 719)\n",
+      "reading bubblesort0494.png (495 of 719)\n",
+      "reading bubblesort0495.png (496 of 719)\n",
+      "reading bubblesort0496.png (497 of 719)\n",
+      "reading bubblesort0497.png (498 of 719)\n",
+      "reading bubblesort0498.png (499 of 719)\n",
+      "reading bubblesort0499.png (500 of 719)\n",
+      "reading bubblesort0500.png (501 of 719)\n",
+      "reading bubblesort0501.png (502 of 719)\n",
+      "reading bubblesort0502.png (503 of 719)\n",
+      "reading bubblesort0503.png (504 of 719)\n",
+      "reading bubblesort0504.png (505 of 719)\n",
+      "reading bubblesort0505.png (506 of 719)\n",
+      "reading bubblesort0506.png (507 of 719)\n",
+      "reading bubblesort0507.png (508 of 719)\n",
+      "reading bubblesort0508.png (509 of 719)\n",
+      "reading bubblesort0509.png (510 of 719)\n",
+      "reading bubblesort0510.png (511 of 719)\n",
+      "reading bubblesort0511.png (512 of 719)\n",
+      "reading bubblesort0512.png (513 of 719)\n",
+      "reading bubblesort0513.png (514 of 719)\n",
+      "reading bubblesort0514.png (515 of 719)\n",
+      "reading bubblesort0515.png (516 of 719)\n",
+      "reading bubblesort0516.png (517 of 719)\n",
+      "reading bubblesort0517.png (518 of 719)\n",
+      "reading bubblesort0518.png (519 of 719)\n",
+      "reading bubblesort0519.png (520 of 719)\n",
+      "reading bubblesort0520.png (521 of 719)\n",
+      "reading bubblesort0521.png (522 of 719)\n",
+      "reading bubblesort0522.png (523 of 719)\n",
+      "reading bubblesort0523.png (524 of 719)\n",
+      "reading bubblesort0524.png (525 of 719)\n",
+      "reading bubblesort0525.png (526 of 719)\n",
+      "reading bubblesort0526.png (527 of 719)\n",
+      "reading bubblesort0527.png (528 of 719)\n",
+      "reading bubblesort0528.png (529 of 719)\n",
+      "reading bubblesort0529.png (530 of 719)\n",
+      "reading bubblesort0530.png (531 of 719)\n",
+      "reading bubblesort0531.png (532 of 719)\n",
+      "reading bubblesort0532.png (533 of 719)\n",
+      "reading bubblesort0533.png (534 of 719)\n",
+      "reading bubblesort0534.png (535 of 719)\n",
+      "reading bubblesort0535.png (536 of 719)\n",
+      "reading bubblesort0536.png (537 of 719)\n",
+      "reading bubblesort0537.png (538 of 719)\n",
+      "reading bubblesort0538.png (539 of 719)\n",
+      "reading bubblesort0539.png (540 of 719)\n",
+      "reading bubblesort0540.png (541 of 719)\n",
+      "reading bubblesort0541.png (542 of 719)\n",
+      "reading bubblesort0542.png (543 of 719)\n",
+      "reading bubblesort0543.png (544 of 719)\n",
+      "reading bubblesort0544.png (545 of 719)\n",
+      "reading bubblesort0545.png (546 of 719)\n",
+      "reading bubblesort0546.png (547 of 719)\n",
+      "reading bubblesort0547.png (548 of 719)\n",
+      "reading bubblesort0548.png (549 of 719)\n",
+      "reading bubblesort0549.png (550 of 719)\n",
+      "reading bubblesort0550.png (551 of 719)\n",
+      "reading bubblesort0551.png (552 of 719)\n",
+      "reading bubblesort0552.png (553 of 719)\n",
+      "reading bubblesort0553.png (554 of 719)\n",
+      "reading bubblesort0554.png (555 of 719)\n",
+      "reading bubblesort0555.png (556 of 719)\n",
+      "reading bubblesort0556.png (557 of 719)\n",
+      "reading bubblesort0557.png (558 of 719)\n",
+      "reading bubblesort0558.png (559 of 719)\n",
+      "reading bubblesort0559.png (560 of 719)\n",
+      "reading bubblesort0560.png (561 of 719)\n",
+      "reading bubblesort0561.png (562 of 719)\n",
+      "reading bubblesort0562.png (563 of 719)\n",
+      "reading bubblesort0563.png (564 of 719)\n",
+      "reading bubblesort0564.png (565 of 719)\n",
+      "reading bubblesort0565.png (566 of 719)\n",
+      "reading bubblesort0566.png (567 of 719)\n",
+      "reading bubblesort0567.png (568 of 719)\n",
+      "reading bubblesort0568.png (569 of 719)\n",
+      "reading bubblesort0569.png (570 of 719)\n",
+      "reading bubblesort0570.png (571 of 719)\n",
+      "reading bubblesort0571.png (572 of 719)\n",
+      "reading bubblesort0572.png (573 of 719)\n",
+      "reading bubblesort0573.png (574 of 719)\n",
+      "reading bubblesort0574.png (575 of 719)\n",
+      "reading bubblesort0575.png (576 of 719)\n",
+      "reading bubblesort0576.png (577 of 719)\n",
+      "reading bubblesort0577.png (578 of 719)\n",
+      "reading bubblesort0578.png (579 of 719)\n",
+      "reading bubblesort0579.png (580 of 719)\n",
+      "reading bubblesort0580.png (581 of 719)\n",
+      "reading bubblesort0581.png (582 of 719)\n",
+      "reading bubblesort0582.png (583 of 719)\n",
+      "reading bubblesort0583.png (584 of 719)\n",
+      "reading bubblesort0584.png (585 of 719)\n",
+      "reading bubblesort0585.png (586 of 719)\n",
+      "reading bubblesort0586.png (587 of 719)\n",
+      "reading bubblesort0587.png (588 of 719)\n",
+      "reading bubblesort0588.png (589 of 719)\n",
+      "reading bubblesort0589.png (590 of 719)\n",
+      "reading bubblesort0590.png (591 of 719)\n",
+      "reading bubblesort0591.png (592 of 719)\n",
+      "reading bubblesort0592.png (593 of 719)\n",
+      "reading bubblesort0593.png (594 of 719)\n",
+      "reading bubblesort0594.png (595 of 719)\n",
+      "reading bubblesort0595.png (596 of 719)\n",
+      "reading bubblesort0596.png (597 of 719)\n",
+      "reading bubblesort0597.png (598 of 719)\n",
+      "reading bubblesort0598.png (599 of 719)\n",
+      "reading bubblesort0599.png (600 of 719)\n",
+      "reading bubblesort0600.png (601 of 719)\n",
+      "reading bubblesort0601.png (602 of 719)\n",
+      "reading bubblesort0602.png (603 of 719)\n",
+      "reading bubblesort0603.png (604 of 719)\n",
+      "reading bubblesort0604.png (605 of 719)\n",
+      "reading bubblesort0605.png (606 of 719)\n",
+      "reading bubblesort0606.png (607 of 719)\n",
+      "reading bubblesort0607.png (608 of 719)\n",
+      "reading bubblesort0608.png (609 of 719)\n",
+      "reading bubblesort0609.png (610 of 719)\n",
+      "reading bubblesort0610.png (611 of 719)\n",
+      "reading bubblesort0611.png (612 of 719)\n",
+      "reading bubblesort0612.png (613 of 719)\n",
+      "reading bubblesort0613.png (614 of 719)\n",
+      "reading bubblesort0614.png (615 of 719)\n",
+      "reading bubblesort0615.png (616 of 719)\n",
+      "reading bubblesort0616.png (617 of 719)\n",
+      "reading bubblesort0617.png (618 of 719)\n",
+      "reading bubblesort0618.png (619 of 719)\n",
+      "reading bubblesort0619.png (620 of 719)\n",
+      "reading bubblesort0620.png (621 of 719)\n",
+      "reading bubblesort0621.png (622 of 719)\n",
+      "reading bubblesort0622.png (623 of 719)\n",
+      "reading bubblesort0623.png (624 of 719)\n",
+      "reading bubblesort0624.png (625 of 719)\n",
+      "reading bubblesort0625.png (626 of 719)\n",
+      "reading bubblesort0626.png (627 of 719)\n",
+      "reading bubblesort0627.png (628 of 719)\n",
+      "reading bubblesort0628.png (629 of 719)\n",
+      "reading bubblesort0629.png (630 of 719)\n",
+      "reading bubblesort0630.png (631 of 719)\n",
+      "reading bubblesort0631.png (632 of 719)\n",
+      "reading bubblesort0632.png (633 of 719)\n",
+      "reading bubblesort0633.png (634 of 719)\n",
+      "reading bubblesort0634.png (635 of 719)\n",
+      "reading bubblesort0635.png (636 of 719)\n",
+      "reading bubblesort0636.png (637 of 719)\n",
+      "reading bubblesort0637.png (638 of 719)\n",
+      "reading bubblesort0638.png (639 of 719)\n",
+      "reading bubblesort0639.png (640 of 719)\n",
+      "reading bubblesort0640.png (641 of 719)\n",
+      "reading bubblesort0641.png (642 of 719)\n",
+      "reading bubblesort0642.png (643 of 719)\n",
+      "reading bubblesort0643.png (644 of 719)\n",
+      "reading bubblesort0644.png (645 of 719)\n",
+      "reading bubblesort0645.png (646 of 719)\n",
+      "reading bubblesort0646.png (647 of 719)\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "reading bubblesort0647.png (648 of 719)\n",
+      "reading bubblesort0648.png (649 of 719)\n",
+      "reading bubblesort0649.png (650 of 719)\n",
+      "reading bubblesort0650.png (651 of 719)\n",
+      "reading bubblesort0651.png (652 of 719)\n",
+      "reading bubblesort0652.png (653 of 719)\n",
+      "reading bubblesort0653.png (654 of 719)\n",
+      "reading bubblesort0654.png (655 of 719)\n",
+      "reading bubblesort0655.png (656 of 719)\n",
+      "reading bubblesort0656.png (657 of 719)\n",
+      "reading bubblesort0657.png (658 of 719)\n",
+      "reading bubblesort0658.png (659 of 719)\n",
+      "reading bubblesort0659.png (660 of 719)\n",
+      "reading bubblesort0660.png (661 of 719)\n",
+      "reading bubblesort0661.png (662 of 719)\n",
+      "reading bubblesort0662.png (663 of 719)\n",
+      "reading bubblesort0663.png (664 of 719)\n",
+      "reading bubblesort0664.png (665 of 719)\n",
+      "reading bubblesort0665.png (666 of 719)\n",
+      "reading bubblesort0666.png (667 of 719)\n",
+      "reading bubblesort0667.png (668 of 719)\n",
+      "reading bubblesort0668.png (669 of 719)\n",
+      "reading bubblesort0669.png (670 of 719)\n",
+      "reading bubblesort0670.png (671 of 719)\n",
+      "reading bubblesort0671.png (672 of 719)\n",
+      "reading bubblesort0672.png (673 of 719)\n",
+      "reading bubblesort0673.png (674 of 719)\n",
+      "reading bubblesort0674.png (675 of 719)\n",
+      "reading bubblesort0675.png (676 of 719)\n",
+      "reading bubblesort0676.png (677 of 719)\n",
+      "reading bubblesort0677.png (678 of 719)\n",
+      "reading bubblesort0678.png (679 of 719)\n",
+      "reading bubblesort0679.png (680 of 719)\n",
+      "reading bubblesort0680.png (681 of 719)\n",
+      "reading bubblesort0681.png (682 of 719)\n",
+      "reading bubblesort0682.png (683 of 719)\n",
+      "reading bubblesort0683.png (684 of 719)\n",
+      "reading bubblesort0684.png (685 of 719)\n",
+      "reading bubblesort0685.png (686 of 719)\n",
+      "reading bubblesort0686.png (687 of 719)\n",
+      "reading bubblesort0687.png (688 of 719)\n",
+      "reading bubblesort0688.png (689 of 719)\n",
+      "reading bubblesort0689.png (690 of 719)\n",
+      "reading bubblesort0690.png (691 of 719)\n",
+      "reading bubblesort0691.png (692 of 719)\n",
+      "reading bubblesort0692.png (693 of 719)\n",
+      "reading bubblesort0693.png (694 of 719)\n",
+      "reading bubblesort0694.png (695 of 719)\n",
+      "reading bubblesort0695.png (696 of 719)\n",
+      "reading bubblesort0696.png (697 of 719)\n",
+      "reading bubblesort0697.png (698 of 719)\n",
+      "reading bubblesort0698.png (699 of 719)\n",
+      "reading bubblesort0699.png (700 of 719)\n",
+      "reading bubblesort0700.png (701 of 719)\n",
+      "reading bubblesort0701.png (702 of 719)\n",
+      "reading bubblesort0702.png (703 of 719)\n",
+      "reading bubblesort0703.png (704 of 719)\n",
+      "reading bubblesort0704.png (705 of 719)\n",
+      "reading bubblesort0705.png (706 of 719)\n",
+      "reading bubblesort0706.png (707 of 719)\n",
+      "reading bubblesort0707.png (708 of 719)\n",
+      "reading bubblesort0708.png (709 of 719)\n",
+      "reading bubblesort0709.png (710 of 719)\n",
+      "reading bubblesort0710.png (711 of 719)\n",
+      "reading bubblesort0711.png (712 of 719)\n",
+      "reading bubblesort0712.png (713 of 719)\n",
+      "reading bubblesort0713.png (714 of 719)\n",
+      "reading bubblesort0714.png (715 of 719)\n",
+      "reading bubblesort0715.png (716 of 719)\n",
+      "reading bubblesort0716.png (717 of 719)\n",
+      "reading bubblesort0717.png (718 of 719)\n",
+      "reading bubblesort0718.png (719 of 719)\n",
+      "saving all-bubblesort.png (frame 1 of 719)\n",
+      "saving all-bubblesort.png (frame 2 of 719)\n",
+      "saving all-bubblesort.png (frame 3 of 719)\n",
+      "saving all-bubblesort.png (frame 4 of 719)\n",
+      "saving all-bubblesort.png (frame 5 of 719)\n",
+      "saving all-bubblesort.png (frame 6 of 719)\n",
+      "saving all-bubblesort.png (frame 7 of 719)\n",
+      "saving all-bubblesort.png (frame 8 of 719)\n",
+      "saving all-bubblesort.png (frame 9 of 719)\n",
+      "saving all-bubblesort.png (frame 10 of 719)\n",
+      "saving all-bubblesort.png (frame 11 of 719)\n",
+      "saving all-bubblesort.png (frame 12 of 719)\n",
+      "saving all-bubblesort.png (frame 13 of 719)\n",
+      "saving all-bubblesort.png (frame 14 of 719)\n",
+      "saving all-bubblesort.png (frame 15 of 719)\n",
+      "saving all-bubblesort.png (frame 16 of 719)\n",
+      "saving all-bubblesort.png (frame 17 of 719)\n",
+      "saving all-bubblesort.png (frame 18 of 719)\n",
+      "saving all-bubblesort.png (frame 19 of 719)\n",
+      "saving all-bubblesort.png (frame 20 of 719)\n",
+      "saving all-bubblesort.png (frame 21 of 719)\n",
+      "saving all-bubblesort.png (frame 22 of 719)\n",
+      "saving all-bubblesort.png (frame 23 of 719)\n",
+      "saving all-bubblesort.png (frame 24 of 719)\n",
+      "saving all-bubblesort.png (frame 25 of 719)\n",
+      "saving all-bubblesort.png (frame 26 of 719)\n",
+      "saving all-bubblesort.png (frame 27 of 719)\n",
+      "saving all-bubblesort.png (frame 28 of 719)\n",
+      "saving all-bubblesort.png (frame 29 of 719)\n",
+      "saving all-bubblesort.png (frame 30 of 719)\n",
+      "saving all-bubblesort.png (frame 31 of 719)\n",
+      "saving all-bubblesort.png (frame 32 of 719)\n",
+      "saving all-bubblesort.png (frame 33 of 719)\n",
+      "saving all-bubblesort.png (frame 34 of 719)\n",
+      "saving all-bubblesort.png (frame 35 of 719)\n",
+      "saving all-bubblesort.png (frame 36 of 719)\n",
+      "saving all-bubblesort.png (frame 37 of 719)\n",
+      "saving all-bubblesort.png (frame 38 of 719)\n",
+      "saving all-bubblesort.png (frame 39 of 719)\n",
+      "saving all-bubblesort.png (frame 40 of 719)\n",
+      "saving all-bubblesort.png (frame 41 of 719)\n",
+      "saving all-bubblesort.png (frame 42 of 719)\n",
+      "saving all-bubblesort.png (frame 43 of 719)\n",
+      "saving all-bubblesort.png (frame 44 of 719)\n",
+      "saving all-bubblesort.png (frame 45 of 719)\n",
+      "saving all-bubblesort.png (frame 46 of 719)\n",
+      "saving all-bubblesort.png (frame 47 of 719)\n",
+      "saving all-bubblesort.png (frame 48 of 719)\n",
+      "saving all-bubblesort.png (frame 49 of 719)\n",
+      "saving all-bubblesort.png (frame 50 of 719)\n",
+      "saving all-bubblesort.png (frame 51 of 719)\n",
+      "saving all-bubblesort.png (frame 52 of 719)\n",
+      "saving all-bubblesort.png (frame 53 of 719)\n",
+      "saving all-bubblesort.png (frame 54 of 719)\n",
+      "saving all-bubblesort.png (frame 55 of 719)\n",
+      "saving all-bubblesort.png (frame 56 of 719)\n",
+      "saving all-bubblesort.png (frame 57 of 719)\n",
+      "saving all-bubblesort.png (frame 58 of 719)\n",
+      "saving all-bubblesort.png (frame 59 of 719)\n",
+      "saving all-bubblesort.png (frame 60 of 719)\n",
+      "saving all-bubblesort.png (frame 61 of 719)\n",
+      "saving all-bubblesort.png (frame 62 of 719)\n",
+      "saving all-bubblesort.png (frame 63 of 719)\n",
+      "saving all-bubblesort.png (frame 64 of 719)\n",
+      "saving all-bubblesort.png (frame 65 of 719)\n",
+      "saving all-bubblesort.png (frame 66 of 719)\n",
+      "saving all-bubblesort.png (frame 67 of 719)\n",
+      "saving all-bubblesort.png (frame 68 of 719)\n",
+      "saving all-bubblesort.png (frame 69 of 719)\n",
+      "saving all-bubblesort.png (frame 70 of 719)\n",
+      "saving all-bubblesort.png (frame 71 of 719)\n",
+      "saving all-bubblesort.png (frame 72 of 719)\n",
+      "saving all-bubblesort.png (frame 73 of 719)\n",
+      "saving all-bubblesort.png (frame 74 of 719)\n",
+      "saving all-bubblesort.png (frame 75 of 719)\n",
+      "saving all-bubblesort.png (frame 76 of 719)\n",
+      "saving all-bubblesort.png (frame 77 of 719)\n",
+      "saving all-bubblesort.png (frame 78 of 719)\n",
+      "saving all-bubblesort.png (frame 79 of 719)\n",
+      "saving all-bubblesort.png (frame 80 of 719)\n",
+      "saving all-bubblesort.png (frame 81 of 719)\n",
+      "saving all-bubblesort.png (frame 82 of 719)\n",
+      "saving all-bubblesort.png (frame 83 of 719)\n",
+      "saving all-bubblesort.png (frame 84 of 719)\n",
+      "saving all-bubblesort.png (frame 85 of 719)\n",
+      "saving all-bubblesort.png (frame 86 of 719)\n",
+      "saving all-bubblesort.png (frame 87 of 719)\n",
+      "saving all-bubblesort.png (frame 88 of 719)\n",
+      "saving all-bubblesort.png (frame 89 of 719)\n",
+      "saving all-bubblesort.png (frame 90 of 719)\n",
+      "saving all-bubblesort.png (frame 91 of 719)\n",
+      "saving all-bubblesort.png (frame 92 of 719)\n",
+      "saving all-bubblesort.png (frame 93 of 719)\n",
+      "saving all-bubblesort.png (frame 94 of 719)\n",
+      "saving all-bubblesort.png (frame 95 of 719)\n",
+      "saving all-bubblesort.png (frame 96 of 719)\n",
+      "saving all-bubblesort.png (frame 97 of 719)\n",
+      "saving all-bubblesort.png (frame 98 of 719)\n",
+      "saving all-bubblesort.png (frame 99 of 719)\n",
+      "saving all-bubblesort.png (frame 100 of 719)\n",
+      "saving all-bubblesort.png (frame 101 of 719)\n",
+      "saving all-bubblesort.png (frame 102 of 719)\n",
+      "saving all-bubblesort.png (frame 103 of 719)\n",
+      "saving all-bubblesort.png (frame 104 of 719)\n",
+      "saving all-bubblesort.png (frame 105 of 719)\n",
+      "saving all-bubblesort.png (frame 106 of 719)\n",
+      "saving all-bubblesort.png (frame 107 of 719)\n",
+      "saving all-bubblesort.png (frame 108 of 719)\n",
+      "saving all-bubblesort.png (frame 109 of 719)\n",
+      "saving all-bubblesort.png (frame 110 of 719)\n",
+      "saving all-bubblesort.png (frame 111 of 719)\n",
+      "saving all-bubblesort.png (frame 112 of 719)\n",
+      "saving all-bubblesort.png (frame 113 of 719)\n",
+      "saving all-bubblesort.png (frame 114 of 719)\n",
+      "saving all-bubblesort.png (frame 115 of 719)\n",
+      "saving all-bubblesort.png (frame 116 of 719)\n",
+      "saving all-bubblesort.png (frame 117 of 719)\n",
+      "saving all-bubblesort.png (frame 118 of 719)\n",
+      "saving all-bubblesort.png (frame 119 of 719)\n",
+      "saving all-bubblesort.png (frame 120 of 719)\n",
+      "saving all-bubblesort.png (frame 121 of 719)\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "saving all-bubblesort.png (frame 122 of 719)\n",
+      "saving all-bubblesort.png (frame 123 of 719)\n",
+      "saving all-bubblesort.png (frame 124 of 719)\n",
+      "saving all-bubblesort.png (frame 125 of 719)\n",
+      "saving all-bubblesort.png (frame 126 of 719)\n",
+      "saving all-bubblesort.png (frame 127 of 719)\n",
+      "saving all-bubblesort.png (frame 128 of 719)\n",
+      "saving all-bubblesort.png (frame 129 of 719)\n",
+      "saving all-bubblesort.png (frame 130 of 719)\n",
+      "saving all-bubblesort.png (frame 131 of 719)\n",
+      "saving all-bubblesort.png (frame 132 of 719)\n",
+      "saving all-bubblesort.png (frame 133 of 719)\n",
+      "saving all-bubblesort.png (frame 134 of 719)\n",
+      "saving all-bubblesort.png (frame 135 of 719)\n",
+      "saving all-bubblesort.png (frame 136 of 719)\n",
+      "saving all-bubblesort.png (frame 137 of 719)\n",
+      "saving all-bubblesort.png (frame 138 of 719)\n",
+      "saving all-bubblesort.png (frame 139 of 719)\n",
+      "saving all-bubblesort.png (frame 140 of 719)\n",
+      "saving all-bubblesort.png (frame 141 of 719)\n",
+      "saving all-bubblesort.png (frame 142 of 719)\n",
+      "saving all-bubblesort.png (frame 143 of 719)\n",
+      "saving all-bubblesort.png (frame 144 of 719)\n",
+      "saving all-bubblesort.png (frame 145 of 719)\n",
+      "saving all-bubblesort.png (frame 146 of 719)\n",
+      "saving all-bubblesort.png (frame 147 of 719)\n",
+      "saving all-bubblesort.png (frame 148 of 719)\n",
+      "saving all-bubblesort.png (frame 149 of 719)\n",
+      "saving all-bubblesort.png (frame 150 of 719)\n",
+      "saving all-bubblesort.png (frame 151 of 719)\n",
+      "saving all-bubblesort.png (frame 152 of 719)\n",
+      "saving all-bubblesort.png (frame 153 of 719)\n",
+      "saving all-bubblesort.png (frame 154 of 719)\n",
+      "saving all-bubblesort.png (frame 155 of 719)\n",
+      "saving all-bubblesort.png (frame 156 of 719)\n",
+      "saving all-bubblesort.png (frame 157 of 719)\n",
+      "saving all-bubblesort.png (frame 158 of 719)\n",
+      "saving all-bubblesort.png (frame 159 of 719)\n",
+      "saving all-bubblesort.png (frame 160 of 719)\n",
+      "saving all-bubblesort.png (frame 161 of 719)\n",
+      "saving all-bubblesort.png (frame 162 of 719)\n",
+      "saving all-bubblesort.png (frame 163 of 719)\n",
+      "saving all-bubblesort.png (frame 164 of 719)\n",
+      "saving all-bubblesort.png (frame 165 of 719)\n",
+      "saving all-bubblesort.png (frame 166 of 719)\n",
+      "saving all-bubblesort.png (frame 167 of 719)\n",
+      "saving all-bubblesort.png (frame 168 of 719)\n",
+      "saving all-bubblesort.png (frame 169 of 719)\n",
+      "saving all-bubblesort.png (frame 170 of 719)\n",
+      "saving all-bubblesort.png (frame 171 of 719)\n",
+      "saving all-bubblesort.png (frame 172 of 719)\n",
+      "saving all-bubblesort.png (frame 173 of 719)\n",
+      "saving all-bubblesort.png (frame 174 of 719)\n",
+      "saving all-bubblesort.png (frame 175 of 719)\n",
+      "saving all-bubblesort.png (frame 176 of 719)\n",
+      "saving all-bubblesort.png (frame 177 of 719)\n",
+      "saving all-bubblesort.png (frame 178 of 719)\n",
+      "saving all-bubblesort.png (frame 179 of 719)\n",
+      "saving all-bubblesort.png (frame 180 of 719)\n",
+      "saving all-bubblesort.png (frame 181 of 719)\n",
+      "saving all-bubblesort.png (frame 182 of 719)\n",
+      "saving all-bubblesort.png (frame 183 of 719)\n",
+      "saving all-bubblesort.png (frame 184 of 719)\n",
+      "saving all-bubblesort.png (frame 185 of 719)\n",
+      "saving all-bubblesort.png (frame 186 of 719)\n",
+      "saving all-bubblesort.png (frame 187 of 719)\n",
+      "saving all-bubblesort.png (frame 188 of 719)\n",
+      "saving all-bubblesort.png (frame 189 of 719)\n",
+      "saving all-bubblesort.png (frame 190 of 719)\n",
+      "saving all-bubblesort.png (frame 191 of 719)\n",
+      "saving all-bubblesort.png (frame 192 of 719)\n",
+      "saving all-bubblesort.png (frame 193 of 719)\n",
+      "saving all-bubblesort.png (frame 194 of 719)\n",
+      "saving all-bubblesort.png (frame 195 of 719)\n",
+      "saving all-bubblesort.png (frame 196 of 719)\n",
+      "saving all-bubblesort.png (frame 197 of 719)\n",
+      "saving all-bubblesort.png (frame 198 of 719)\n",
+      "saving all-bubblesort.png (frame 199 of 719)\n",
+      "saving all-bubblesort.png (frame 200 of 719)\n",
+      "saving all-bubblesort.png (frame 201 of 719)\n",
+      "saving all-bubblesort.png (frame 202 of 719)\n",
+      "saving all-bubblesort.png (frame 203 of 719)\n",
+      "saving all-bubblesort.png (frame 204 of 719)\n",
+      "saving all-bubblesort.png (frame 205 of 719)\n",
+      "saving all-bubblesort.png (frame 206 of 719)\n",
+      "saving all-bubblesort.png (frame 207 of 719)\n",
+      "saving all-bubblesort.png (frame 208 of 719)\n",
+      "saving all-bubblesort.png (frame 209 of 719)\n",
+      "saving all-bubblesort.png (frame 210 of 719)\n",
+      "saving all-bubblesort.png (frame 211 of 719)\n",
+      "saving all-bubblesort.png (frame 212 of 719)\n",
+      "saving all-bubblesort.png (frame 213 of 719)\n",
+      "saving all-bubblesort.png (frame 214 of 719)\n",
+      "saving all-bubblesort.png (frame 215 of 719)\n",
+      "saving all-bubblesort.png (frame 216 of 719)\n",
+      "saving all-bubblesort.png (frame 217 of 719)\n",
+      "saving all-bubblesort.png (frame 218 of 719)\n",
+      "saving all-bubblesort.png (frame 219 of 719)\n",
+      "saving all-bubblesort.png (frame 220 of 719)\n",
+      "saving all-bubblesort.png (frame 221 of 719)\n",
+      "saving all-bubblesort.png (frame 222 of 719)\n",
+      "saving all-bubblesort.png (frame 223 of 719)\n",
+      "saving all-bubblesort.png (frame 224 of 719)\n",
+      "saving all-bubblesort.png (frame 225 of 719)\n",
+      "saving all-bubblesort.png (frame 226 of 719)\n",
+      "saving all-bubblesort.png (frame 227 of 719)\n",
+      "saving all-bubblesort.png (frame 228 of 719)\n",
+      "saving all-bubblesort.png (frame 229 of 719)\n",
+      "saving all-bubblesort.png (frame 230 of 719)\n",
+      "saving all-bubblesort.png (frame 231 of 719)\n",
+      "saving all-bubblesort.png (frame 232 of 719)\n",
+      "saving all-bubblesort.png (frame 233 of 719)\n",
+      "saving all-bubblesort.png (frame 234 of 719)\n",
+      "saving all-bubblesort.png (frame 235 of 719)\n",
+      "saving all-bubblesort.png (frame 236 of 719)\n",
+      "saving all-bubblesort.png (frame 237 of 719)\n",
+      "saving all-bubblesort.png (frame 238 of 719)\n",
+      "saving all-bubblesort.png (frame 239 of 719)\n",
+      "saving all-bubblesort.png (frame 240 of 719)\n",
+      "saving all-bubblesort.png (frame 241 of 719)\n",
+      "saving all-bubblesort.png (frame 242 of 719)\n",
+      "saving all-bubblesort.png (frame 243 of 719)\n",
+      "saving all-bubblesort.png (frame 244 of 719)\n",
+      "saving all-bubblesort.png (frame 245 of 719)\n",
+      "saving all-bubblesort.png (frame 246 of 719)\n",
+      "saving all-bubblesort.png (frame 247 of 719)\n",
+      "saving all-bubblesort.png (frame 248 of 719)\n",
+      "saving all-bubblesort.png (frame 249 of 719)\n",
+      "saving all-bubblesort.png (frame 250 of 719)\n",
+      "saving all-bubblesort.png (frame 251 of 719)\n",
+      "saving all-bubblesort.png (frame 252 of 719)\n",
+      "saving all-bubblesort.png (frame 253 of 719)\n",
+      "saving all-bubblesort.png (frame 254 of 719)\n",
+      "saving all-bubblesort.png (frame 255 of 719)\n",
+      "saving all-bubblesort.png (frame 256 of 719)\n",
+      "saving all-bubblesort.png (frame 257 of 719)\n",
+      "saving all-bubblesort.png (frame 258 of 719)\n",
+      "saving all-bubblesort.png (frame 259 of 719)\n",
+      "saving all-bubblesort.png (frame 260 of 719)\n",
+      "saving all-bubblesort.png (frame 261 of 719)\n",
+      "saving all-bubblesort.png (frame 262 of 719)\n",
+      "saving all-bubblesort.png (frame 263 of 719)\n",
+      "saving all-bubblesort.png (frame 264 of 719)\n",
+      "saving all-bubblesort.png (frame 265 of 719)\n",
+      "saving all-bubblesort.png (frame 266 of 719)\n",
+      "saving all-bubblesort.png (frame 267 of 719)\n",
+      "saving all-bubblesort.png (frame 268 of 719)\n",
+      "saving all-bubblesort.png (frame 269 of 719)\n",
+      "saving all-bubblesort.png (frame 270 of 719)\n",
+      "saving all-bubblesort.png (frame 271 of 719)\n",
+      "saving all-bubblesort.png (frame 272 of 719)\n",
+      "saving all-bubblesort.png (frame 273 of 719)\n",
+      "saving all-bubblesort.png (frame 274 of 719)\n",
+      "saving all-bubblesort.png (frame 275 of 719)\n",
+      "saving all-bubblesort.png (frame 276 of 719)\n",
+      "saving all-bubblesort.png (frame 277 of 719)\n",
+      "saving all-bubblesort.png (frame 278 of 719)\n",
+      "saving all-bubblesort.png (frame 279 of 719)\n",
+      "saving all-bubblesort.png (frame 280 of 719)\n",
+      "saving all-bubblesort.png (frame 281 of 719)\n",
+      "saving all-bubblesort.png (frame 282 of 719)\n",
+      "saving all-bubblesort.png (frame 283 of 719)\n",
+      "saving all-bubblesort.png (frame 284 of 719)\n",
+      "saving all-bubblesort.png (frame 285 of 719)\n",
+      "saving all-bubblesort.png (frame 286 of 719)\n",
+      "saving all-bubblesort.png (frame 287 of 719)\n",
+      "saving all-bubblesort.png (frame 288 of 719)\n",
+      "saving all-bubblesort.png (frame 289 of 719)\n",
+      "saving all-bubblesort.png (frame 290 of 719)\n",
+      "saving all-bubblesort.png (frame 291 of 719)\n",
+      "saving all-bubblesort.png (frame 292 of 719)\n",
+      "saving all-bubblesort.png (frame 293 of 719)\n",
+      "saving all-bubblesort.png (frame 294 of 719)\n",
+      "saving all-bubblesort.png (frame 295 of 719)\n",
+      "saving all-bubblesort.png (frame 296 of 719)\n",
+      "saving all-bubblesort.png (frame 297 of 719)\n",
+      "saving all-bubblesort.png (frame 298 of 719)\n",
+      "saving all-bubblesort.png (frame 299 of 719)\n",
+      "saving all-bubblesort.png (frame 300 of 719)\n",
+      "saving all-bubblesort.png (frame 301 of 719)\n",
+      "saving all-bubblesort.png (frame 302 of 719)\n",
+      "saving all-bubblesort.png (frame 303 of 719)\n",
+      "saving all-bubblesort.png (frame 304 of 719)\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "saving all-bubblesort.png (frame 305 of 719)\n",
+      "saving all-bubblesort.png (frame 306 of 719)\n",
+      "saving all-bubblesort.png (frame 307 of 719)\n",
+      "saving all-bubblesort.png (frame 308 of 719)\n",
+      "saving all-bubblesort.png (frame 309 of 719)\n",
+      "saving all-bubblesort.png (frame 310 of 719)\n",
+      "saving all-bubblesort.png (frame 311 of 719)\n",
+      "saving all-bubblesort.png (frame 312 of 719)\n",
+      "saving all-bubblesort.png (frame 313 of 719)\n",
+      "saving all-bubblesort.png (frame 314 of 719)\n",
+      "saving all-bubblesort.png (frame 315 of 719)\n",
+      "saving all-bubblesort.png (frame 316 of 719)\n",
+      "saving all-bubblesort.png (frame 317 of 719)\n",
+      "saving all-bubblesort.png (frame 318 of 719)\n",
+      "saving all-bubblesort.png (frame 319 of 719)\n",
+      "saving all-bubblesort.png (frame 320 of 719)\n",
+      "saving all-bubblesort.png (frame 321 of 719)\n",
+      "saving all-bubblesort.png (frame 322 of 719)\n",
+      "saving all-bubblesort.png (frame 323 of 719)\n",
+      "saving all-bubblesort.png (frame 324 of 719)\n",
+      "saving all-bubblesort.png (frame 325 of 719)\n",
+      "saving all-bubblesort.png (frame 326 of 719)\n",
+      "saving all-bubblesort.png (frame 327 of 719)\n",
+      "saving all-bubblesort.png (frame 328 of 719)\n",
+      "saving all-bubblesort.png (frame 329 of 719)\n",
+      "saving all-bubblesort.png (frame 330 of 719)\n",
+      "saving all-bubblesort.png (frame 331 of 719)\n",
+      "saving all-bubblesort.png (frame 332 of 719)\n",
+      "saving all-bubblesort.png (frame 333 of 719)\n",
+      "saving all-bubblesort.png (frame 334 of 719)\n",
+      "saving all-bubblesort.png (frame 335 of 719)\n",
+      "saving all-bubblesort.png (frame 336 of 719)\n",
+      "saving all-bubblesort.png (frame 337 of 719)\n",
+      "saving all-bubblesort.png (frame 338 of 719)\n",
+      "saving all-bubblesort.png (frame 339 of 719)\n",
+      "saving all-bubblesort.png (frame 340 of 719)\n",
+      "saving all-bubblesort.png (frame 341 of 719)\n",
+      "saving all-bubblesort.png (frame 342 of 719)\n",
+      "saving all-bubblesort.png (frame 343 of 719)\n",
+      "saving all-bubblesort.png (frame 344 of 719)\n",
+      "saving all-bubblesort.png (frame 345 of 719)\n",
+      "saving all-bubblesort.png (frame 346 of 719)\n",
+      "saving all-bubblesort.png (frame 347 of 719)\n",
+      "saving all-bubblesort.png (frame 348 of 719)\n",
+      "saving all-bubblesort.png (frame 349 of 719)\n",
+      "saving all-bubblesort.png (frame 350 of 719)\n",
+      "saving all-bubblesort.png (frame 351 of 719)\n",
+      "saving all-bubblesort.png (frame 352 of 719)\n",
+      "saving all-bubblesort.png (frame 353 of 719)\n",
+      "saving all-bubblesort.png (frame 354 of 719)\n",
+      "saving all-bubblesort.png (frame 355 of 719)\n",
+      "saving all-bubblesort.png (frame 356 of 719)\n",
+      "saving all-bubblesort.png (frame 357 of 719)\n",
+      "saving all-bubblesort.png (frame 358 of 719)\n",
+      "saving all-bubblesort.png (frame 359 of 719)\n",
+      "saving all-bubblesort.png (frame 360 of 719)\n",
+      "saving all-bubblesort.png (frame 361 of 719)\n",
+      "saving all-bubblesort.png (frame 362 of 719)\n",
+      "saving all-bubblesort.png (frame 363 of 719)\n",
+      "saving all-bubblesort.png (frame 364 of 719)\n",
+      "saving all-bubblesort.png (frame 365 of 719)\n",
+      "saving all-bubblesort.png (frame 366 of 719)\n",
+      "saving all-bubblesort.png (frame 367 of 719)\n",
+      "saving all-bubblesort.png (frame 368 of 719)\n",
+      "saving all-bubblesort.png (frame 369 of 719)\n",
+      "saving all-bubblesort.png (frame 370 of 719)\n",
+      "saving all-bubblesort.png (frame 371 of 719)\n",
+      "saving all-bubblesort.png (frame 372 of 719)\n",
+      "saving all-bubblesort.png (frame 373 of 719)\n",
+      "saving all-bubblesort.png (frame 374 of 719)\n",
+      "saving all-bubblesort.png (frame 375 of 719)\n",
+      "saving all-bubblesort.png (frame 376 of 719)\n",
+      "saving all-bubblesort.png (frame 377 of 719)\n",
+      "saving all-bubblesort.png (frame 378 of 719)\n",
+      "saving all-bubblesort.png (frame 379 of 719)\n",
+      "saving all-bubblesort.png (frame 380 of 719)\n",
+      "saving all-bubblesort.png (frame 381 of 719)\n",
+      "saving all-bubblesort.png (frame 382 of 719)\n",
+      "saving all-bubblesort.png (frame 383 of 719)\n",
+      "saving all-bubblesort.png (frame 384 of 719)\n",
+      "saving all-bubblesort.png (frame 385 of 719)\n",
+      "saving all-bubblesort.png (frame 386 of 719)\n",
+      "saving all-bubblesort.png (frame 387 of 719)\n",
+      "saving all-bubblesort.png (frame 388 of 719)\n",
+      "saving all-bubblesort.png (frame 389 of 719)\n",
+      "saving all-bubblesort.png (frame 390 of 719)\n",
+      "saving all-bubblesort.png (frame 391 of 719)\n",
+      "saving all-bubblesort.png (frame 392 of 719)\n",
+      "saving all-bubblesort.png (frame 393 of 719)\n",
+      "saving all-bubblesort.png (frame 394 of 719)\n",
+      "saving all-bubblesort.png (frame 395 of 719)\n",
+      "saving all-bubblesort.png (frame 396 of 719)\n",
+      "saving all-bubblesort.png (frame 397 of 719)\n",
+      "saving all-bubblesort.png (frame 398 of 719)\n",
+      "saving all-bubblesort.png (frame 399 of 719)\n",
+      "saving all-bubblesort.png (frame 400 of 719)\n",
+      "saving all-bubblesort.png (frame 401 of 719)\n",
+      "saving all-bubblesort.png (frame 402 of 719)\n",
+      "saving all-bubblesort.png (frame 403 of 719)\n",
+      "saving all-bubblesort.png (frame 404 of 719)\n",
+      "saving all-bubblesort.png (frame 405 of 719)\n",
+      "saving all-bubblesort.png (frame 406 of 719)\n",
+      "saving all-bubblesort.png (frame 407 of 719)\n",
+      "saving all-bubblesort.png (frame 408 of 719)\n",
+      "saving all-bubblesort.png (frame 409 of 719)\n",
+      "saving all-bubblesort.png (frame 410 of 719)\n",
+      "saving all-bubblesort.png (frame 411 of 719)\n",
+      "saving all-bubblesort.png (frame 412 of 719)\n",
+      "saving all-bubblesort.png (frame 413 of 719)\n",
+      "saving all-bubblesort.png (frame 414 of 719)\n",
+      "saving all-bubblesort.png (frame 415 of 719)\n",
+      "saving all-bubblesort.png (frame 416 of 719)\n",
+      "saving all-bubblesort.png (frame 417 of 719)\n",
+      "saving all-bubblesort.png (frame 418 of 719)\n",
+      "saving all-bubblesort.png (frame 419 of 719)\n",
+      "saving all-bubblesort.png (frame 420 of 719)\n",
+      "saving all-bubblesort.png (frame 421 of 719)\n",
+      "saving all-bubblesort.png (frame 422 of 719)\n",
+      "saving all-bubblesort.png (frame 423 of 719)\n",
+      "saving all-bubblesort.png (frame 424 of 719)\n",
+      "saving all-bubblesort.png (frame 425 of 719)\n",
+      "saving all-bubblesort.png (frame 426 of 719)\n",
+      "saving all-bubblesort.png (frame 427 of 719)\n",
+      "saving all-bubblesort.png (frame 428 of 719)\n",
+      "saving all-bubblesort.png (frame 429 of 719)\n",
+      "saving all-bubblesort.png (frame 430 of 719)\n",
+      "saving all-bubblesort.png (frame 431 of 719)\n",
+      "saving all-bubblesort.png (frame 432 of 719)\n",
+      "saving all-bubblesort.png (frame 433 of 719)\n",
+      "saving all-bubblesort.png (frame 434 of 719)\n",
+      "saving all-bubblesort.png (frame 435 of 719)\n",
+      "saving all-bubblesort.png (frame 436 of 719)\n",
+      "saving all-bubblesort.png (frame 437 of 719)\n",
+      "saving all-bubblesort.png (frame 438 of 719)\n",
+      "saving all-bubblesort.png (frame 439 of 719)\n",
+      "saving all-bubblesort.png (frame 440 of 719)\n",
+      "saving all-bubblesort.png (frame 441 of 719)\n",
+      "saving all-bubblesort.png (frame 442 of 719)\n",
+      "saving all-bubblesort.png (frame 443 of 719)\n",
+      "saving all-bubblesort.png (frame 444 of 719)\n",
+      "saving all-bubblesort.png (frame 445 of 719)\n",
+      "saving all-bubblesort.png (frame 446 of 719)\n",
+      "saving all-bubblesort.png (frame 447 of 719)\n",
+      "saving all-bubblesort.png (frame 448 of 719)\n",
+      "saving all-bubblesort.png (frame 449 of 719)\n",
+      "saving all-bubblesort.png (frame 450 of 719)\n",
+      "saving all-bubblesort.png (frame 451 of 719)\n",
+      "saving all-bubblesort.png (frame 452 of 719)\n",
+      "saving all-bubblesort.png (frame 453 of 719)\n",
+      "saving all-bubblesort.png (frame 454 of 719)\n",
+      "saving all-bubblesort.png (frame 455 of 719)\n",
+      "saving all-bubblesort.png (frame 456 of 719)\n",
+      "saving all-bubblesort.png (frame 457 of 719)\n",
+      "saving all-bubblesort.png (frame 458 of 719)\n",
+      "saving all-bubblesort.png (frame 459 of 719)\n",
+      "saving all-bubblesort.png (frame 460 of 719)\n",
+      "saving all-bubblesort.png (frame 461 of 719)\n",
+      "saving all-bubblesort.png (frame 462 of 719)\n",
+      "saving all-bubblesort.png (frame 463 of 719)\n",
+      "saving all-bubblesort.png (frame 464 of 719)\n",
+      "saving all-bubblesort.png (frame 465 of 719)\n",
+      "saving all-bubblesort.png (frame 466 of 719)\n",
+      "saving all-bubblesort.png (frame 467 of 719)\n",
+      "saving all-bubblesort.png (frame 468 of 719)\n",
+      "saving all-bubblesort.png (frame 469 of 719)\n",
+      "saving all-bubblesort.png (frame 470 of 719)\n",
+      "saving all-bubblesort.png (frame 471 of 719)\n",
+      "saving all-bubblesort.png (frame 472 of 719)\n",
+      "saving all-bubblesort.png (frame 473 of 719)\n",
+      "saving all-bubblesort.png (frame 474 of 719)\n",
+      "saving all-bubblesort.png (frame 475 of 719)\n",
+      "saving all-bubblesort.png (frame 476 of 719)\n",
+      "saving all-bubblesort.png (frame 477 of 719)\n",
+      "saving all-bubblesort.png (frame 478 of 719)\n",
+      "saving all-bubblesort.png (frame 479 of 719)\n",
+      "saving all-bubblesort.png (frame 480 of 719)\n",
+      "saving all-bubblesort.png (frame 481 of 719)\n",
+      "saving all-bubblesort.png (frame 482 of 719)\n",
+      "saving all-bubblesort.png (frame 483 of 719)\n",
+      "saving all-bubblesort.png (frame 484 of 719)\n",
+      "saving all-bubblesort.png (frame 485 of 719)\n",
+      "saving all-bubblesort.png (frame 486 of 719)\n",
+      "saving all-bubblesort.png (frame 487 of 719)\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "saving all-bubblesort.png (frame 488 of 719)\n",
+      "saving all-bubblesort.png (frame 489 of 719)\n",
+      "saving all-bubblesort.png (frame 490 of 719)\n",
+      "saving all-bubblesort.png (frame 491 of 719)\n",
+      "saving all-bubblesort.png (frame 492 of 719)\n",
+      "saving all-bubblesort.png (frame 493 of 719)\n",
+      "saving all-bubblesort.png (frame 494 of 719)\n",
+      "saving all-bubblesort.png (frame 495 of 719)\n",
+      "saving all-bubblesort.png (frame 496 of 719)\n",
+      "saving all-bubblesort.png (frame 497 of 719)\n",
+      "saving all-bubblesort.png (frame 498 of 719)\n",
+      "saving all-bubblesort.png (frame 499 of 719)\n",
+      "saving all-bubblesort.png (frame 500 of 719)\n",
+      "saving all-bubblesort.png (frame 501 of 719)\n",
+      "saving all-bubblesort.png (frame 502 of 719)\n",
+      "saving all-bubblesort.png (frame 503 of 719)\n",
+      "saving all-bubblesort.png (frame 504 of 719)\n",
+      "saving all-bubblesort.png (frame 505 of 719)\n",
+      "saving all-bubblesort.png (frame 506 of 719)\n",
+      "saving all-bubblesort.png (frame 507 of 719)\n",
+      "saving all-bubblesort.png (frame 508 of 719)\n",
+      "saving all-bubblesort.png (frame 509 of 719)\n",
+      "saving all-bubblesort.png (frame 510 of 719)\n",
+      "saving all-bubblesort.png (frame 511 of 719)\n",
+      "saving all-bubblesort.png (frame 512 of 719)\n",
+      "saving all-bubblesort.png (frame 513 of 719)\n",
+      "saving all-bubblesort.png (frame 514 of 719)\n",
+      "saving all-bubblesort.png (frame 515 of 719)\n",
+      "saving all-bubblesort.png (frame 516 of 719)\n",
+      "saving all-bubblesort.png (frame 517 of 719)\n",
+      "saving all-bubblesort.png (frame 518 of 719)\n",
+      "saving all-bubblesort.png (frame 519 of 719)\n",
+      "saving all-bubblesort.png (frame 520 of 719)\n",
+      "saving all-bubblesort.png (frame 521 of 719)\n",
+      "saving all-bubblesort.png (frame 522 of 719)\n",
+      "saving all-bubblesort.png (frame 523 of 719)\n",
+      "saving all-bubblesort.png (frame 524 of 719)\n",
+      "saving all-bubblesort.png (frame 525 of 719)\n",
+      "saving all-bubblesort.png (frame 526 of 719)\n",
+      "saving all-bubblesort.png (frame 527 of 719)\n",
+      "saving all-bubblesort.png (frame 528 of 719)\n",
+      "saving all-bubblesort.png (frame 529 of 719)\n",
+      "saving all-bubblesort.png (frame 530 of 719)\n",
+      "saving all-bubblesort.png (frame 531 of 719)\n",
+      "saving all-bubblesort.png (frame 532 of 719)\n",
+      "saving all-bubblesort.png (frame 533 of 719)\n",
+      "saving all-bubblesort.png (frame 534 of 719)\n",
+      "saving all-bubblesort.png (frame 535 of 719)\n",
+      "saving all-bubblesort.png (frame 536 of 719)\n",
+      "saving all-bubblesort.png (frame 537 of 719)\n",
+      "saving all-bubblesort.png (frame 538 of 719)\n",
+      "saving all-bubblesort.png (frame 539 of 719)\n",
+      "saving all-bubblesort.png (frame 540 of 719)\n",
+      "saving all-bubblesort.png (frame 541 of 719)\n",
+      "saving all-bubblesort.png (frame 542 of 719)\n",
+      "saving all-bubblesort.png (frame 543 of 719)\n",
+      "saving all-bubblesort.png (frame 544 of 719)\n",
+      "saving all-bubblesort.png (frame 545 of 719)\n",
+      "saving all-bubblesort.png (frame 546 of 719)\n",
+      "saving all-bubblesort.png (frame 547 of 719)\n",
+      "saving all-bubblesort.png (frame 548 of 719)\n",
+      "saving all-bubblesort.png (frame 549 of 719)\n",
+      "saving all-bubblesort.png (frame 550 of 719)\n",
+      "saving all-bubblesort.png (frame 551 of 719)\n",
+      "saving all-bubblesort.png (frame 552 of 719)\n",
+      "saving all-bubblesort.png (frame 553 of 719)\n",
+      "saving all-bubblesort.png (frame 554 of 719)\n",
+      "saving all-bubblesort.png (frame 555 of 719)\n",
+      "saving all-bubblesort.png (frame 556 of 719)\n",
+      "saving all-bubblesort.png (frame 557 of 719)\n",
+      "saving all-bubblesort.png (frame 558 of 719)\n",
+      "saving all-bubblesort.png (frame 559 of 719)\n",
+      "saving all-bubblesort.png (frame 560 of 719)\n",
+      "saving all-bubblesort.png (frame 561 of 719)\n",
+      "saving all-bubblesort.png (frame 562 of 719)\n",
+      "saving all-bubblesort.png (frame 563 of 719)\n",
+      "saving all-bubblesort.png (frame 564 of 719)\n",
+      "saving all-bubblesort.png (frame 565 of 719)\n",
+      "saving all-bubblesort.png (frame 566 of 719)\n",
+      "saving all-bubblesort.png (frame 567 of 719)\n",
+      "saving all-bubblesort.png (frame 568 of 719)\n",
+      "saving all-bubblesort.png (frame 569 of 719)\n",
+      "saving all-bubblesort.png (frame 570 of 719)\n",
+      "saving all-bubblesort.png (frame 571 of 719)\n",
+      "saving all-bubblesort.png (frame 572 of 719)\n",
+      "saving all-bubblesort.png (frame 573 of 719)\n",
+      "saving all-bubblesort.png (frame 574 of 719)\n",
+      "saving all-bubblesort.png (frame 575 of 719)\n",
+      "saving all-bubblesort.png (frame 576 of 719)\n",
+      "saving all-bubblesort.png (frame 577 of 719)\n",
+      "saving all-bubblesort.png (frame 578 of 719)\n",
+      "saving all-bubblesort.png (frame 579 of 719)\n",
+      "saving all-bubblesort.png (frame 580 of 719)\n",
+      "saving all-bubblesort.png (frame 581 of 719)\n",
+      "saving all-bubblesort.png (frame 582 of 719)\n",
+      "saving all-bubblesort.png (frame 583 of 719)\n",
+      "saving all-bubblesort.png (frame 584 of 719)\n",
+      "saving all-bubblesort.png (frame 585 of 719)\n",
+      "saving all-bubblesort.png (frame 586 of 719)\n",
+      "saving all-bubblesort.png (frame 587 of 719)\n",
+      "saving all-bubblesort.png (frame 588 of 719)\n",
+      "saving all-bubblesort.png (frame 589 of 719)\n",
+      "saving all-bubblesort.png (frame 590 of 719)\n",
+      "saving all-bubblesort.png (frame 591 of 719)\n",
+      "saving all-bubblesort.png (frame 592 of 719)\n",
+      "saving all-bubblesort.png (frame 593 of 719)\n",
+      "saving all-bubblesort.png (frame 594 of 719)\n",
+      "saving all-bubblesort.png (frame 595 of 719)\n",
+      "saving all-bubblesort.png (frame 596 of 719)\n",
+      "saving all-bubblesort.png (frame 597 of 719)\n",
+      "saving all-bubblesort.png (frame 598 of 719)\n",
+      "saving all-bubblesort.png (frame 599 of 719)\n",
+      "saving all-bubblesort.png (frame 600 of 719)\n",
+      "saving all-bubblesort.png (frame 601 of 719)\n",
+      "saving all-bubblesort.png (frame 602 of 719)\n",
+      "saving all-bubblesort.png (frame 603 of 719)\n",
+      "saving all-bubblesort.png (frame 604 of 719)\n",
+      "saving all-bubblesort.png (frame 605 of 719)\n",
+      "saving all-bubblesort.png (frame 606 of 719)\n",
+      "saving all-bubblesort.png (frame 607 of 719)\n",
+      "saving all-bubblesort.png (frame 608 of 719)\n",
+      "saving all-bubblesort.png (frame 609 of 719)\n",
+      "saving all-bubblesort.png (frame 610 of 719)\n",
+      "saving all-bubblesort.png (frame 611 of 719)\n",
+      "saving all-bubblesort.png (frame 612 of 719)\n",
+      "saving all-bubblesort.png (frame 613 of 719)\n",
+      "saving all-bubblesort.png (frame 614 of 719)\n",
+      "saving all-bubblesort.png (frame 615 of 719)\n",
+      "saving all-bubblesort.png (frame 616 of 719)\n",
+      "saving all-bubblesort.png (frame 617 of 719)\n",
+      "saving all-bubblesort.png (frame 618 of 719)\n",
+      "saving all-bubblesort.png (frame 619 of 719)\n",
+      "saving all-bubblesort.png (frame 620 of 719)\n",
+      "saving all-bubblesort.png (frame 621 of 719)\n",
+      "saving all-bubblesort.png (frame 622 of 719)\n",
+      "saving all-bubblesort.png (frame 623 of 719)\n",
+      "saving all-bubblesort.png (frame 624 of 719)\n",
+      "saving all-bubblesort.png (frame 625 of 719)\n",
+      "saving all-bubblesort.png (frame 626 of 719)\n",
+      "saving all-bubblesort.png (frame 627 of 719)\n",
+      "saving all-bubblesort.png (frame 628 of 719)\n",
+      "saving all-bubblesort.png (frame 629 of 719)\n",
+      "saving all-bubblesort.png (frame 630 of 719)\n",
+      "saving all-bubblesort.png (frame 631 of 719)\n",
+      "saving all-bubblesort.png (frame 632 of 719)\n",
+      "saving all-bubblesort.png (frame 633 of 719)\n",
+      "saving all-bubblesort.png (frame 634 of 719)\n",
+      "saving all-bubblesort.png (frame 635 of 719)\n",
+      "saving all-bubblesort.png (frame 636 of 719)\n",
+      "saving all-bubblesort.png (frame 637 of 719)\n",
+      "saving all-bubblesort.png (frame 638 of 719)\n",
+      "saving all-bubblesort.png (frame 639 of 719)\n",
+      "saving all-bubblesort.png (frame 640 of 719)\n",
+      "saving all-bubblesort.png (frame 641 of 719)\n",
+      "saving all-bubblesort.png (frame 642 of 719)\n",
+      "saving all-bubblesort.png (frame 643 of 719)\n",
+      "saving all-bubblesort.png (frame 644 of 719)\n",
+      "saving all-bubblesort.png (frame 645 of 719)\n",
+      "saving all-bubblesort.png (frame 646 of 719)\n",
+      "saving all-bubblesort.png (frame 647 of 719)\n",
+      "saving all-bubblesort.png (frame 648 of 719)\n",
+      "saving all-bubblesort.png (frame 649 of 719)\n",
+      "saving all-bubblesort.png (frame 650 of 719)\n",
+      "saving all-bubblesort.png (frame 651 of 719)\n",
+      "saving all-bubblesort.png (frame 652 of 719)\n",
+      "saving all-bubblesort.png (frame 653 of 719)\n",
+      "saving all-bubblesort.png (frame 654 of 719)\n",
+      "saving all-bubblesort.png (frame 655 of 719)\n",
+      "saving all-bubblesort.png (frame 656 of 719)\n",
+      "saving all-bubblesort.png (frame 657 of 719)\n",
+      "saving all-bubblesort.png (frame 658 of 719)\n",
+      "saving all-bubblesort.png (frame 659 of 719)\n",
+      "saving all-bubblesort.png (frame 660 of 719)\n",
+      "saving all-bubblesort.png (frame 661 of 719)\n",
+      "saving all-bubblesort.png (frame 662 of 719)\n",
+      "saving all-bubblesort.png (frame 663 of 719)\n",
+      "saving all-bubblesort.png (frame 664 of 719)\n",
+      "saving all-bubblesort.png (frame 665 of 719)\n",
+      "saving all-bubblesort.png (frame 666 of 719)\n",
+      "saving all-bubblesort.png (frame 667 of 719)\n",
+      "saving all-bubblesort.png (frame 668 of 719)\n",
+      "saving all-bubblesort.png (frame 669 of 719)\n",
+      "saving all-bubblesort.png (frame 670 of 719)\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "saving all-bubblesort.png (frame 671 of 719)\n",
+      "saving all-bubblesort.png (frame 672 of 719)\n",
+      "saving all-bubblesort.png (frame 673 of 719)\n",
+      "saving all-bubblesort.png (frame 674 of 719)\n",
+      "saving all-bubblesort.png (frame 675 of 719)\n",
+      "saving all-bubblesort.png (frame 676 of 719)\n",
+      "saving all-bubblesort.png (frame 677 of 719)\n",
+      "saving all-bubblesort.png (frame 678 of 719)\n",
+      "saving all-bubblesort.png (frame 679 of 719)\n",
+      "saving all-bubblesort.png (frame 680 of 719)\n",
+      "saving all-bubblesort.png (frame 681 of 719)\n",
+      "saving all-bubblesort.png (frame 682 of 719)\n",
+      "saving all-bubblesort.png (frame 683 of 719)\n",
+      "saving all-bubblesort.png (frame 684 of 719)\n",
+      "saving all-bubblesort.png (frame 685 of 719)\n",
+      "saving all-bubblesort.png (frame 686 of 719)\n",
+      "saving all-bubblesort.png (frame 687 of 719)\n",
+      "saving all-bubblesort.png (frame 688 of 719)\n",
+      "saving all-bubblesort.png (frame 689 of 719)\n",
+      "saving all-bubblesort.png (frame 690 of 719)\n",
+      "saving all-bubblesort.png (frame 691 of 719)\n",
+      "saving all-bubblesort.png (frame 692 of 719)\n",
+      "saving all-bubblesort.png (frame 693 of 719)\n",
+      "saving all-bubblesort.png (frame 694 of 719)\n",
+      "saving all-bubblesort.png (frame 695 of 719)\n",
+      "saving all-bubblesort.png (frame 696 of 719)\n",
+      "saving all-bubblesort.png (frame 697 of 719)\n",
+      "saving all-bubblesort.png (frame 698 of 719)\n",
+      "saving all-bubblesort.png (frame 699 of 719)\n",
+      "saving all-bubblesort.png (frame 700 of 719)\n",
+      "saving all-bubblesort.png (frame 701 of 719)\n",
+      "saving all-bubblesort.png (frame 702 of 719)\n",
+      "saving all-bubblesort.png (frame 703 of 719)\n",
+      "saving all-bubblesort.png (frame 704 of 719)\n",
+      "saving all-bubblesort.png (frame 705 of 719)\n",
+      "saving all-bubblesort.png (frame 706 of 719)\n",
+      "saving all-bubblesort.png (frame 707 of 719)\n",
+      "saving all-bubblesort.png (frame 708 of 719)\n",
+      "saving all-bubblesort.png (frame 709 of 719)\n",
+      "saving all-bubblesort.png (frame 710 of 719)\n",
+      "saving all-bubblesort.png (frame 711 of 719)\n",
+      "saving all-bubblesort.png (frame 712 of 719)\n",
+      "saving all-bubblesort.png (frame 713 of 719)\n",
+      "saving all-bubblesort.png (frame 714 of 719)\n",
+      "saving all-bubblesort.png (frame 715 of 719)\n",
+      "saving all-bubblesort.png (frame 716 of 719)\n",
+      "saving all-bubblesort.png (frame 717 of 719)\n",
+      "saving all-bubblesort.png (frame 718 of 719)\n",
+      "saving all-bubblesort.png (frame 719 of 719)\n",
+      "all done\n"
+     ]
+    }
+   ],
+   "source": [
+    "! apngasm all-bubblesort.png bubblesort*png 1 10"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.5.3"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/insertion-sort.ipynb b/insertion-sort.ipynb
new file mode 100644 (file)
index 0000000..8934aec
--- /dev/null
@@ -0,0 +1,289 @@
+{
+ "cells": [
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "import random\n",
+    "import time\n",
+    "import re\n",
+    "from IPython.display import clear_output\n",
+    "from PIL import Image, ImageDraw, ImageColor, ImageFont"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 58,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "ROWS = 300\n",
+    "COLUMNS = 720\n",
+    "RANGE = 360"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 59,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "initial_items = [int((float(i) * RANGE) / float(COLUMNS)) for i in range(COLUMNS)]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def draw_frame(rows, frame_number, prefix='frame'):\n",
+    "    im = Image.new('RGB', (COLUMNS * 1, ROWS * 1))\n",
+    "\n",
+    "    draw = ImageDraw.Draw(im)\n",
+    "    for r in range(len(rows)):\n",
+    "        if frame_number >= len(rows[r]):\n",
+    "            row = rows[r][-1]\n",
+    "        else:\n",
+    "            row = rows[r][frame_number]\n",
+    "#     for (r, row) in enumerate(grid):\n",
+    "        for (c, cell) in enumerate(row):\n",
+    "            rx = c * 1\n",
+    "            ry = r * 1\n",
+    "    #         print(rx, ry)\n",
+    "            draw.rectangle([rx, ry, rx + 1, ry + 1], \n",
+    "                           fill=ImageColor.getrgb(\"hsl({}, 100%, 50%)\".format(cell)))\n",
+    "\n",
+    "    im.save('{}{:04}.png'.format(prefix, frame_number), 'PNG')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 42,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def insertsort_step(items, sorted_limit):\n",
+    "    inserting = items[sorted_limit]\n",
+    "    i = len([item for item in items[:sorted_limit] if item < inserting])\n",
+    "#     print('sl = {}, i = {}; items = {};  slices {} {} {} {}'.format(sorted_limit, i, items, items[:i], inserting, items[i:sorted_limit], items[sorted_limit + 1:]))\n",
+    "    items = items[:i] + [inserting] + items[i:sorted_limit] + items[sorted_limit + 1:]\n",
+    "    return items"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 13,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "['a', 'b']"
+      ]
+     },
+     "execution_count": 13,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "list('abcde')[:2]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 35,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def insertsort(items, step_history):\n",
+    "    for sorted_limit in range(1, len(items)):\n",
+    "        step_history += [items[:]]\n",
+    "        items = insertsort_step(items, sorted_limit)\n",
+    "    step_history += [items[:]]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 60,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "histories = []\n",
+    "for _ in range(ROWS):\n",
+    "    items = initial_items[:]\n",
+    "    random.shuffle(items)\n",
+    "    step_history = []\n",
+    "    insertsort(items, step_history)\n",
+    "    histories += [step_history]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 50,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# histories"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 46,
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[0,\n",
+       " 10,\n",
+       " 20,\n",
+       " 30,\n",
+       " 40,\n",
+       " 50,\n",
+       " 60,\n",
+       " 70,\n",
+       " 80,\n",
+       " 90,\n",
+       " 100,\n",
+       " 110,\n",
+       " 120,\n",
+       " 130,\n",
+       " 140,\n",
+       " 150,\n",
+       " 160,\n",
+       " 170,\n",
+       " 180,\n",
+       " 190,\n",
+       " 200,\n",
+       " 210,\n",
+       " 220,\n",
+       " 230,\n",
+       " 240,\n",
+       " 250,\n",
+       " 260,\n",
+       " 270,\n",
+       " 280,\n",
+       " 290,\n",
+       " 300,\n",
+       " 310,\n",
+       " 320,\n",
+       " 330,\n",
+       " 340,\n",
+       " 350]"
+      ]
+     },
+     "execution_count": 46,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "# histories[2][-1]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 53,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "720"
+      ]
+     },
+     "execution_count": 53,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "len(histories[0])"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 61,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "! rm insertsort*"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "for frame_n in range(max(len(h) for h in histories)):\n",
+    "    draw_frame(histories, frame_n, prefix='insertsort')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 65,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "719"
+      ]
+     },
+     "execution_count": 65,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "frame_n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [],
+   "source": [
+    "! apngasm all-insertsort.png insertsort*png 1 10"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.5.3"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/selection-sort.ipynb b/selection-sort.ipynb
new file mode 100644 (file)
index 0000000..201eed9
--- /dev/null
@@ -0,0 +1,2445 @@
+{
+ "cells": [
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "import random\n",
+    "import time\n",
+    "import re\n",
+    "from IPython.display import clear_output\n",
+    "from PIL import Image, ImageDraw, ImageColor, ImageFont"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 92,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "ROWS = 300\n",
+    "COLUMNS = 720\n",
+    "RANGE = 360"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 93,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "initial_items = [int((float(i) * RANGE) / float(COLUMNS)) for i in range(COLUMNS)]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def draw_frame(rows, frame_number, prefix='frame'):\n",
+    "    im = Image.new('RGB', (COLUMNS * 1, ROWS * 1))\n",
+    "\n",
+    "    draw = ImageDraw.Draw(im)\n",
+    "    for r in range(len(rows)):\n",
+    "        if frame_number >= len(rows[r]):\n",
+    "            row = rows[r][-1]\n",
+    "        else:\n",
+    "            row = rows[r][frame_number]\n",
+    "#     for (r, row) in enumerate(grid):\n",
+    "        for (c, cell) in enumerate(row):\n",
+    "            rx = c * 1\n",
+    "            ry = r * 1\n",
+    "    #         print(rx, ry)\n",
+    "            draw.rectangle([rx, ry, rx + 1, ry + 1], \n",
+    "                           fill=ImageColor.getrgb(\"hsl({}, 100%, 50%)\".format(cell)))\n",
+    "\n",
+    "    im.save('{}{:04}.png'.format(prefix, frame_number), 'PNG')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 94,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def selectsort_step(items, sorted_limit):\n",
+    "    i = items.index(min(items[sorted_limit:]), sorted_limit)\n",
+    "#     print('swapping {} at {} with {} at {}'.format(items[i], i, items[sorted_limit], sorted_limit))\n",
+    "    items[sorted_limit], items[i] = items[i], items[sorted_limit]\n",
+    "    return items"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 95,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def selectsort(items, step_history):\n",
+    "    for sorted_limit in range(len(items)):\n",
+    "        step_history += [items[:]]\n",
+    "        selectsort_step(items, sorted_limit)\n",
+    "    step_history += [items[:]]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 96,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "histories = []\n",
+    "for _ in range(ROWS):\n",
+    "    items = initial_items[:]\n",
+    "    random.shuffle(items)\n",
+    "    step_history = []\n",
+    "    selectsort(items, step_history)\n",
+    "    histories += [step_history]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 50,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# histories"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 97,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[0,\n",
+       " 0,\n",
+       " 1,\n",
+       " 1,\n",
+       " 2,\n",
+       " 2,\n",
+       " 3,\n",
+       " 3,\n",
+       " 4,\n",
+       " 4,\n",
+       " 5,\n",
+       " 5,\n",
+       " 6,\n",
+       " 6,\n",
+       " 7,\n",
+       " 7,\n",
+       " 8,\n",
+       " 8,\n",
+       " 9,\n",
+       " 9,\n",
+       " 10,\n",
+       " 10,\n",
+       " 11,\n",
+       " 11,\n",
+       " 12,\n",
+       " 12,\n",
+       " 13,\n",
+       " 13,\n",
+       " 14,\n",
+       " 14,\n",
+       " 15,\n",
+       " 15,\n",
+       " 16,\n",
+       " 16,\n",
+       " 17,\n",
+       " 17,\n",
+       " 18,\n",
+       " 18,\n",
+       " 19,\n",
+       " 19,\n",
+       " 20,\n",
+       " 20,\n",
+       " 21,\n",
+       " 21,\n",
+       " 22,\n",
+       " 22,\n",
+       " 23,\n",
+       " 23,\n",
+       " 24,\n",
+       " 24,\n",
+       " 25,\n",
+       " 25,\n",
+       " 26,\n",
+       " 26,\n",
+       " 27,\n",
+       " 27,\n",
+       " 28,\n",
+       " 28,\n",
+       " 29,\n",
+       " 29,\n",
+       " 30,\n",
+       " 30,\n",
+       " 31,\n",
+       " 31,\n",
+       " 32,\n",
+       " 32,\n",
+       " 33,\n",
+       " 33,\n",
+       " 34,\n",
+       " 34,\n",
+       " 35,\n",
+       " 35,\n",
+       " 36,\n",
+       " 36,\n",
+       " 37,\n",
+       " 37,\n",
+       " 38,\n",
+       " 38,\n",
+       " 39,\n",
+       " 39,\n",
+       " 40,\n",
+       " 40,\n",
+       " 41,\n",
+       " 41,\n",
+       " 42,\n",
+       " 42,\n",
+       " 43,\n",
+       " 43,\n",
+       " 44,\n",
+       " 44,\n",
+       " 45,\n",
+       " 45,\n",
+       " 46,\n",
+       " 46,\n",
+       " 47,\n",
+       " 47,\n",
+       " 48,\n",
+       " 48,\n",
+       " 49,\n",
+       " 49,\n",
+       " 50,\n",
+       " 50,\n",
+       " 51,\n",
+       " 51,\n",
+       " 52,\n",
+       " 52,\n",
+       " 53,\n",
+       " 53,\n",
+       " 54,\n",
+       " 54,\n",
+       " 55,\n",
+       " 55,\n",
+       " 56,\n",
+       " 56,\n",
+       " 57,\n",
+       " 57,\n",
+       " 58,\n",
+       " 58,\n",
+       " 59,\n",
+       " 59,\n",
+       " 60,\n",
+       " 60,\n",
+       " 61,\n",
+       " 61,\n",
+       " 62,\n",
+       " 62,\n",
+       " 63,\n",
+       " 63,\n",
+       " 64,\n",
+       " 64,\n",
+       " 65,\n",
+       " 65,\n",
+       " 66,\n",
+       " 66,\n",
+       " 67,\n",
+       " 67,\n",
+       " 68,\n",
+       " 68,\n",
+       " 69,\n",
+       " 69,\n",
+       " 70,\n",
+       " 70,\n",
+       " 71,\n",
+       " 71,\n",
+       " 72,\n",
+       " 72,\n",
+       " 73,\n",
+       " 73,\n",
+       " 74,\n",
+       " 74,\n",
+       " 75,\n",
+       " 75,\n",
+       " 76,\n",
+       " 76,\n",
+       " 77,\n",
+       " 77,\n",
+       " 78,\n",
+       " 78,\n",
+       " 79,\n",
+       " 79,\n",
+       " 80,\n",
+       " 80,\n",
+       " 81,\n",
+       " 81,\n",
+       " 82,\n",
+       " 82,\n",
+       " 83,\n",
+       " 83,\n",
+       " 84,\n",
+       " 84,\n",
+       " 85,\n",
+       " 85,\n",
+       " 86,\n",
+       " 86,\n",
+       " 87,\n",
+       " 87,\n",
+       " 88,\n",
+       " 88,\n",
+       " 89,\n",
+       " 89,\n",
+       " 90,\n",
+       " 90,\n",
+       " 91,\n",
+       " 91,\n",
+       " 92,\n",
+       " 92,\n",
+       " 93,\n",
+       " 93,\n",
+       " 94,\n",
+       " 94,\n",
+       " 95,\n",
+       " 95,\n",
+       " 96,\n",
+       " 96,\n",
+       " 97,\n",
+       " 97,\n",
+       " 98,\n",
+       " 98,\n",
+       " 99,\n",
+       " 99,\n",
+       " 100,\n",
+       " 100,\n",
+       " 101,\n",
+       " 101,\n",
+       " 102,\n",
+       " 102,\n",
+       " 103,\n",
+       " 103,\n",
+       " 104,\n",
+       " 104,\n",
+       " 105,\n",
+       " 105,\n",
+       " 106,\n",
+       " 106,\n",
+       " 107,\n",
+       " 107,\n",
+       " 108,\n",
+       " 108,\n",
+       " 109,\n",
+       " 109,\n",
+       " 110,\n",
+       " 110,\n",
+       " 111,\n",
+       " 111,\n",
+       " 112,\n",
+       " 112,\n",
+       " 113,\n",
+       " 113,\n",
+       " 114,\n",
+       " 114,\n",
+       " 115,\n",
+       " 115,\n",
+       " 116,\n",
+       " 116,\n",
+       " 117,\n",
+       " 117,\n",
+       " 118,\n",
+       " 118,\n",
+       " 119,\n",
+       " 119,\n",
+       " 120,\n",
+       " 120,\n",
+       " 121,\n",
+       " 121,\n",
+       " 122,\n",
+       " 122,\n",
+       " 123,\n",
+       " 123,\n",
+       " 124,\n",
+       " 124,\n",
+       " 125,\n",
+       " 125,\n",
+       " 126,\n",
+       " 126,\n",
+       " 127,\n",
+       " 127,\n",
+       " 128,\n",
+       " 128,\n",
+       " 129,\n",
+       " 129,\n",
+       " 130,\n",
+       " 130,\n",
+       " 131,\n",
+       " 131,\n",
+       " 132,\n",
+       " 132,\n",
+       " 133,\n",
+       " 133,\n",
+       " 134,\n",
+       " 134,\n",
+       " 135,\n",
+       " 135,\n",
+       " 136,\n",
+       " 136,\n",
+       " 137,\n",
+       " 137,\n",
+       " 138,\n",
+       " 138,\n",
+       " 139,\n",
+       " 139,\n",
+       " 140,\n",
+       " 140,\n",
+       " 141,\n",
+       " 141,\n",
+       " 142,\n",
+       " 142,\n",
+       " 143,\n",
+       " 143,\n",
+       " 144,\n",
+       " 144,\n",
+       " 145,\n",
+       " 145,\n",
+       " 146,\n",
+       " 146,\n",
+       " 147,\n",
+       " 147,\n",
+       " 148,\n",
+       " 148,\n",
+       " 149,\n",
+       " 149,\n",
+       " 150,\n",
+       " 150,\n",
+       " 151,\n",
+       " 151,\n",
+       " 152,\n",
+       " 152,\n",
+       " 153,\n",
+       " 153,\n",
+       " 154,\n",
+       " 154,\n",
+       " 155,\n",
+       " 155,\n",
+       " 156,\n",
+       " 156,\n",
+       " 157,\n",
+       " 157,\n",
+       " 158,\n",
+       " 158,\n",
+       " 159,\n",
+       " 159,\n",
+       " 160,\n",
+       " 160,\n",
+       " 161,\n",
+       " 161,\n",
+       " 162,\n",
+       " 162,\n",
+       " 163,\n",
+       " 163,\n",
+       " 164,\n",
+       " 164,\n",
+       " 165,\n",
+       " 165,\n",
+       " 166,\n",
+       " 166,\n",
+       " 167,\n",
+       " 167,\n",
+       " 168,\n",
+       " 168,\n",
+       " 169,\n",
+       " 169,\n",
+       " 170,\n",
+       " 170,\n",
+       " 171,\n",
+       " 171,\n",
+       " 172,\n",
+       " 172,\n",
+       " 173,\n",
+       " 173,\n",
+       " 174,\n",
+       " 174,\n",
+       " 175,\n",
+       " 175,\n",
+       " 176,\n",
+       " 176,\n",
+       " 177,\n",
+       " 177,\n",
+       " 178,\n",
+       " 178,\n",
+       " 179,\n",
+       " 179,\n",
+       " 180,\n",
+       " 180,\n",
+       " 181,\n",
+       " 181,\n",
+       " 182,\n",
+       " 182,\n",
+       " 183,\n",
+       " 183,\n",
+       " 184,\n",
+       " 184,\n",
+       " 185,\n",
+       " 185,\n",
+       " 186,\n",
+       " 186,\n",
+       " 187,\n",
+       " 187,\n",
+       " 188,\n",
+       " 188,\n",
+       " 189,\n",
+       " 189,\n",
+       " 190,\n",
+       " 190,\n",
+       " 191,\n",
+       " 191,\n",
+       " 192,\n",
+       " 192,\n",
+       " 193,\n",
+       " 193,\n",
+       " 194,\n",
+       " 194,\n",
+       " 195,\n",
+       " 195,\n",
+       " 196,\n",
+       " 196,\n",
+       " 197,\n",
+       " 197,\n",
+       " 198,\n",
+       " 198,\n",
+       " 199,\n",
+       " 199,\n",
+       " 200,\n",
+       " 200,\n",
+       " 201,\n",
+       " 201,\n",
+       " 202,\n",
+       " 202,\n",
+       " 203,\n",
+       " 203,\n",
+       " 204,\n",
+       " 204,\n",
+       " 205,\n",
+       " 205,\n",
+       " 206,\n",
+       " 206,\n",
+       " 207,\n",
+       " 207,\n",
+       " 208,\n",
+       " 208,\n",
+       " 209,\n",
+       " 209,\n",
+       " 210,\n",
+       " 210,\n",
+       " 211,\n",
+       " 211,\n",
+       " 212,\n",
+       " 212,\n",
+       " 213,\n",
+       " 213,\n",
+       " 214,\n",
+       " 214,\n",
+       " 215,\n",
+       " 215,\n",
+       " 216,\n",
+       " 216,\n",
+       " 217,\n",
+       " 217,\n",
+       " 218,\n",
+       " 218,\n",
+       " 219,\n",
+       " 219,\n",
+       " 220,\n",
+       " 220,\n",
+       " 221,\n",
+       " 221,\n",
+       " 222,\n",
+       " 222,\n",
+       " 223,\n",
+       " 223,\n",
+       " 224,\n",
+       " 224,\n",
+       " 225,\n",
+       " 225,\n",
+       " 226,\n",
+       " 226,\n",
+       " 227,\n",
+       " 227,\n",
+       " 228,\n",
+       " 228,\n",
+       " 229,\n",
+       " 229,\n",
+       " 230,\n",
+       " 230,\n",
+       " 231,\n",
+       " 231,\n",
+       " 232,\n",
+       " 232,\n",
+       " 233,\n",
+       " 233,\n",
+       " 234,\n",
+       " 234,\n",
+       " 235,\n",
+       " 235,\n",
+       " 236,\n",
+       " 236,\n",
+       " 237,\n",
+       " 237,\n",
+       " 238,\n",
+       " 238,\n",
+       " 239,\n",
+       " 239,\n",
+       " 240,\n",
+       " 240,\n",
+       " 241,\n",
+       " 241,\n",
+       " 242,\n",
+       " 242,\n",
+       " 243,\n",
+       " 243,\n",
+       " 244,\n",
+       " 244,\n",
+       " 245,\n",
+       " 245,\n",
+       " 246,\n",
+       " 246,\n",
+       " 247,\n",
+       " 247,\n",
+       " 248,\n",
+       " 248,\n",
+       " 249,\n",
+       " 249,\n",
+       " 250,\n",
+       " 250,\n",
+       " 251,\n",
+       " 251,\n",
+       " 252,\n",
+       " 252,\n",
+       " 253,\n",
+       " 253,\n",
+       " 254,\n",
+       " 254,\n",
+       " 255,\n",
+       " 255,\n",
+       " 256,\n",
+       " 256,\n",
+       " 257,\n",
+       " 257,\n",
+       " 258,\n",
+       " 258,\n",
+       " 259,\n",
+       " 259,\n",
+       " 260,\n",
+       " 260,\n",
+       " 261,\n",
+       " 261,\n",
+       " 262,\n",
+       " 262,\n",
+       " 263,\n",
+       " 263,\n",
+       " 264,\n",
+       " 264,\n",
+       " 265,\n",
+       " 265,\n",
+       " 266,\n",
+       " 266,\n",
+       " 267,\n",
+       " 267,\n",
+       " 268,\n",
+       " 268,\n",
+       " 269,\n",
+       " 269,\n",
+       " 270,\n",
+       " 270,\n",
+       " 271,\n",
+       " 271,\n",
+       " 272,\n",
+       " 272,\n",
+       " 273,\n",
+       " 273,\n",
+       " 274,\n",
+       " 274,\n",
+       " 275,\n",
+       " 275,\n",
+       " 276,\n",
+       " 276,\n",
+       " 277,\n",
+       " 277,\n",
+       " 278,\n",
+       " 278,\n",
+       " 279,\n",
+       " 279,\n",
+       " 280,\n",
+       " 280,\n",
+       " 281,\n",
+       " 281,\n",
+       " 282,\n",
+       " 282,\n",
+       " 283,\n",
+       " 283,\n",
+       " 284,\n",
+       " 284,\n",
+       " 285,\n",
+       " 285,\n",
+       " 286,\n",
+       " 286,\n",
+       " 287,\n",
+       " 287,\n",
+       " 288,\n",
+       " 288,\n",
+       " 289,\n",
+       " 289,\n",
+       " 290,\n",
+       " 290,\n",
+       " 291,\n",
+       " 291,\n",
+       " 292,\n",
+       " 292,\n",
+       " 293,\n",
+       " 293,\n",
+       " 294,\n",
+       " 294,\n",
+       " 295,\n",
+       " 295,\n",
+       " 296,\n",
+       " 296,\n",
+       " 297,\n",
+       " 297,\n",
+       " 298,\n",
+       " 298,\n",
+       " 299,\n",
+       " 299,\n",
+       " 300,\n",
+       " 300,\n",
+       " 301,\n",
+       " 301,\n",
+       " 302,\n",
+       " 302,\n",
+       " 303,\n",
+       " 303,\n",
+       " 304,\n",
+       " 304,\n",
+       " 305,\n",
+       " 305,\n",
+       " 306,\n",
+       " 306,\n",
+       " 307,\n",
+       " 307,\n",
+       " 308,\n",
+       " 308,\n",
+       " 309,\n",
+       " 309,\n",
+       " 310,\n",
+       " 310,\n",
+       " 311,\n",
+       " 311,\n",
+       " 312,\n",
+       " 312,\n",
+       " 313,\n",
+       " 313,\n",
+       " 314,\n",
+       " 314,\n",
+       " 315,\n",
+       " 315,\n",
+       " 316,\n",
+       " 316,\n",
+       " 317,\n",
+       " 317,\n",
+       " 318,\n",
+       " 318,\n",
+       " 319,\n",
+       " 319,\n",
+       " 320,\n",
+       " 320,\n",
+       " 321,\n",
+       " 321,\n",
+       " 322,\n",
+       " 322,\n",
+       " 323,\n",
+       " 323,\n",
+       " 324,\n",
+       " 324,\n",
+       " 325,\n",
+       " 325,\n",
+       " 326,\n",
+       " 326,\n",
+       " 327,\n",
+       " 327,\n",
+       " 328,\n",
+       " 328,\n",
+       " 329,\n",
+       " 329,\n",
+       " 330,\n",
+       " 330,\n",
+       " 331,\n",
+       " 331,\n",
+       " 332,\n",
+       " 332,\n",
+       " 333,\n",
+       " 333,\n",
+       " 334,\n",
+       " 334,\n",
+       " 335,\n",
+       " 335,\n",
+       " 336,\n",
+       " 336,\n",
+       " 337,\n",
+       " 337,\n",
+       " 338,\n",
+       " 338,\n",
+       " 339,\n",
+       " 339,\n",
+       " 340,\n",
+       " 340,\n",
+       " 341,\n",
+       " 341,\n",
+       " 342,\n",
+       " 342,\n",
+       " 343,\n",
+       " 343,\n",
+       " 344,\n",
+       " 344,\n",
+       " 345,\n",
+       " 345,\n",
+       " 346,\n",
+       " 346,\n",
+       " 347,\n",
+       " 347,\n",
+       " 348,\n",
+       " 348,\n",
+       " 349,\n",
+       " 349,\n",
+       " 350,\n",
+       " 350,\n",
+       " 351,\n",
+       " 351,\n",
+       " 352,\n",
+       " 352,\n",
+       " 353,\n",
+       " 353,\n",
+       " 354,\n",
+       " 354,\n",
+       " 355,\n",
+       " 355,\n",
+       " 356,\n",
+       " 356,\n",
+       " 357,\n",
+       " 357,\n",
+       " 358,\n",
+       " 358,\n",
+       " 359,\n",
+       " 359]"
+      ]
+     },
+     "execution_count": 97,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "histories[-1][-1]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 98,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "721"
+      ]
+     },
+     "execution_count": 98,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "len(histories[0])"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 99,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "! rm selectsort*"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 100,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "for frame_n in range(max(len(h) for h in histories)):\n",
+    "    draw_frame(histories, frame_n, prefix='selectsort')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 101,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "720"
+      ]
+     },
+     "execution_count": 101,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "frame_n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 102,
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "APNG Assembler 2.7\n",
+      "\n",
+      "reading selectsort0000.png (1 of 721)\n",
+      "reading selectsort0001.png (2 of 721)\n",
+      "reading selectsort0002.png (3 of 721)\n",
+      "reading selectsort0003.png (4 of 721)\n",
+      "reading selectsort0004.png (5 of 721)\n",
+      "reading selectsort0005.png (6 of 721)\n",
+      "reading selectsort0006.png (7 of 721)\n",
+      "reading selectsort0007.png (8 of 721)\n",
+      "reading selectsort0008.png (9 of 721)\n",
+      "reading selectsort0009.png (10 of 721)\n",
+      "reading selectsort0010.png (11 of 721)\n",
+      "reading selectsort0011.png (12 of 721)\n",
+      "reading selectsort0012.png (13 of 721)\n",
+      "reading selectsort0013.png (14 of 721)\n",
+      "reading selectsort0014.png (15 of 721)\n",
+      "reading selectsort0015.png (16 of 721)\n",
+      "reading selectsort0016.png (17 of 721)\n",
+      "reading selectsort0017.png (18 of 721)\n",
+      "reading selectsort0018.png (19 of 721)\n",
+      "reading selectsort0019.png (20 of 721)\n",
+      "reading selectsort0020.png (21 of 721)\n",
+      "reading selectsort0021.png (22 of 721)\n",
+      "reading selectsort0022.png (23 of 721)\n",
+      "reading selectsort0023.png (24 of 721)\n",
+      "reading selectsort0024.png (25 of 721)\n",
+      "reading selectsort0025.png (26 of 721)\n",
+      "reading selectsort0026.png (27 of 721)\n",
+      "reading selectsort0027.png (28 of 721)\n",
+      "reading selectsort0028.png (29 of 721)\n",
+      "reading selectsort0029.png (30 of 721)\n",
+      "reading selectsort0030.png (31 of 721)\n",
+      "reading selectsort0031.png (32 of 721)\n",
+      "reading selectsort0032.png (33 of 721)\n",
+      "reading selectsort0033.png (34 of 721)\n",
+      "reading selectsort0034.png (35 of 721)\n",
+      "reading selectsort0035.png (36 of 721)\n",
+      "reading selectsort0036.png (37 of 721)\n",
+      "reading selectsort0037.png (38 of 721)\n",
+      "reading selectsort0038.png (39 of 721)\n",
+      "reading selectsort0039.png (40 of 721)\n",
+      "reading selectsort0040.png (41 of 721)\n",
+      "reading selectsort0041.png (42 of 721)\n",
+      "reading selectsort0042.png (43 of 721)\n",
+      "reading selectsort0043.png (44 of 721)\n",
+      "reading selectsort0044.png (45 of 721)\n",
+      "reading selectsort0045.png (46 of 721)\n",
+      "reading selectsort0046.png (47 of 721)\n",
+      "reading selectsort0047.png (48 of 721)\n",
+      "reading selectsort0048.png (49 of 721)\n",
+      "reading selectsort0049.png (50 of 721)\n",
+      "reading selectsort0050.png (51 of 721)\n",
+      "reading selectsort0051.png (52 of 721)\n",
+      "reading selectsort0052.png (53 of 721)\n",
+      "reading selectsort0053.png (54 of 721)\n",
+      "reading selectsort0054.png (55 of 721)\n",
+      "reading selectsort0055.png (56 of 721)\n",
+      "reading selectsort0056.png (57 of 721)\n",
+      "reading selectsort0057.png (58 of 721)\n",
+      "reading selectsort0058.png (59 of 721)\n",
+      "reading selectsort0059.png (60 of 721)\n",
+      "reading selectsort0060.png (61 of 721)\n",
+      "reading selectsort0061.png (62 of 721)\n",
+      "reading selectsort0062.png (63 of 721)\n",
+      "reading selectsort0063.png (64 of 721)\n",
+      "reading selectsort0064.png (65 of 721)\n",
+      "reading selectsort0065.png (66 of 721)\n",
+      "reading selectsort0066.png (67 of 721)\n",
+      "reading selectsort0067.png (68 of 721)\n",
+      "reading selectsort0068.png (69 of 721)\n",
+      "reading selectsort0069.png (70 of 721)\n",
+      "reading selectsort0070.png (71 of 721)\n",
+      "reading selectsort0071.png (72 of 721)\n",
+      "reading selectsort0072.png (73 of 721)\n",
+      "reading selectsort0073.png (74 of 721)\n",
+      "reading selectsort0074.png (75 of 721)\n",
+      "reading selectsort0075.png (76 of 721)\n",
+      "reading selectsort0076.png (77 of 721)\n",
+      "reading selectsort0077.png (78 of 721)\n",
+      "reading selectsort0078.png (79 of 721)\n",
+      "reading selectsort0079.png (80 of 721)\n",
+      "reading selectsort0080.png (81 of 721)\n",
+      "reading selectsort0081.png (82 of 721)\n",
+      "reading selectsort0082.png (83 of 721)\n",
+      "reading selectsort0083.png (84 of 721)\n",
+      "reading selectsort0084.png (85 of 721)\n",
+      "reading selectsort0085.png (86 of 721)\n",
+      "reading selectsort0086.png (87 of 721)\n",
+      "reading selectsort0087.png (88 of 721)\n",
+      "reading selectsort0088.png (89 of 721)\n",
+      "reading selectsort0089.png (90 of 721)\n",
+      "reading selectsort0090.png (91 of 721)\n",
+      "reading selectsort0091.png (92 of 721)\n",
+      "reading selectsort0092.png (93 of 721)\n",
+      "reading selectsort0093.png (94 of 721)\n",
+      "reading selectsort0094.png (95 of 721)\n",
+      "reading selectsort0095.png (96 of 721)\n",
+      "reading selectsort0096.png (97 of 721)\n",
+      "reading selectsort0097.png (98 of 721)\n",
+      "reading selectsort0098.png (99 of 721)\n",
+      "reading selectsort0099.png (100 of 721)\n",
+      "reading selectsort0100.png (101 of 721)\n",
+      "reading selectsort0101.png (102 of 721)\n",
+      "reading selectsort0102.png (103 of 721)\n",
+      "reading selectsort0103.png (104 of 721)\n",
+      "reading selectsort0104.png (105 of 721)\n",
+      "reading selectsort0105.png (106 of 721)\n",
+      "reading selectsort0106.png (107 of 721)\n",
+      "reading selectsort0107.png (108 of 721)\n",
+      "reading selectsort0108.png (109 of 721)\n",
+      "reading selectsort0109.png (110 of 721)\n",
+      "reading selectsort0110.png (111 of 721)\n",
+      "reading selectsort0111.png (112 of 721)\n",
+      "reading selectsort0112.png (113 of 721)\n",
+      "reading selectsort0113.png (114 of 721)\n",
+      "reading selectsort0114.png (115 of 721)\n",
+      "reading selectsort0115.png (116 of 721)\n",
+      "reading selectsort0116.png (117 of 721)\n",
+      "reading selectsort0117.png (118 of 721)\n",
+      "reading selectsort0118.png (119 of 721)\n",
+      "reading selectsort0119.png (120 of 721)\n",
+      "reading selectsort0120.png (121 of 721)\n",
+      "reading selectsort0121.png (122 of 721)\n",
+      "reading selectsort0122.png (123 of 721)\n",
+      "reading selectsort0123.png (124 of 721)\n",
+      "reading selectsort0124.png (125 of 721)\n",
+      "reading selectsort0125.png (126 of 721)\n",
+      "reading selectsort0126.png (127 of 721)\n",
+      "reading selectsort0127.png (128 of 721)\n",
+      "reading selectsort0128.png (129 of 721)\n",
+      "reading selectsort0129.png (130 of 721)\n",
+      "reading selectsort0130.png (131 of 721)\n",
+      "reading selectsort0131.png (132 of 721)\n",
+      "reading selectsort0132.png (133 of 721)\n",
+      "reading selectsort0133.png (134 of 721)\n",
+      "reading selectsort0134.png (135 of 721)\n",
+      "reading selectsort0135.png (136 of 721)\n",
+      "reading selectsort0136.png (137 of 721)\n",
+      "reading selectsort0137.png (138 of 721)\n",
+      "reading selectsort0138.png (139 of 721)\n",
+      "reading selectsort0139.png (140 of 721)\n",
+      "reading selectsort0140.png (141 of 721)\n",
+      "reading selectsort0141.png (142 of 721)\n",
+      "reading selectsort0142.png (143 of 721)\n",
+      "reading selectsort0143.png (144 of 721)\n",
+      "reading selectsort0144.png (145 of 721)\n",
+      "reading selectsort0145.png (146 of 721)\n",
+      "reading selectsort0146.png (147 of 721)\n",
+      "reading selectsort0147.png (148 of 721)\n",
+      "reading selectsort0148.png (149 of 721)\n",
+      "reading selectsort0149.png (150 of 721)\n",
+      "reading selectsort0150.png (151 of 721)\n",
+      "reading selectsort0151.png (152 of 721)\n",
+      "reading selectsort0152.png (153 of 721)\n",
+      "reading selectsort0153.png (154 of 721)\n",
+      "reading selectsort0154.png (155 of 721)\n",
+      "reading selectsort0155.png (156 of 721)\n",
+      "reading selectsort0156.png (157 of 721)\n",
+      "reading selectsort0157.png (158 of 721)\n",
+      "reading selectsort0158.png (159 of 721)\n",
+      "reading selectsort0159.png (160 of 721)\n",
+      "reading selectsort0160.png (161 of 721)\n",
+      "reading selectsort0161.png (162 of 721)\n",
+      "reading selectsort0162.png (163 of 721)\n",
+      "reading selectsort0163.png (164 of 721)\n",
+      "reading selectsort0164.png (165 of 721)\n",
+      "reading selectsort0165.png (166 of 721)\n",
+      "reading selectsort0166.png (167 of 721)\n",
+      "reading selectsort0167.png (168 of 721)\n",
+      "reading selectsort0168.png (169 of 721)\n",
+      "reading selectsort0169.png (170 of 721)\n",
+      "reading selectsort0170.png (171 of 721)\n",
+      "reading selectsort0171.png (172 of 721)\n",
+      "reading selectsort0172.png (173 of 721)\n",
+      "reading selectsort0173.png (174 of 721)\n",
+      "reading selectsort0174.png (175 of 721)\n",
+      "reading selectsort0175.png (176 of 721)\n",
+      "reading selectsort0176.png (177 of 721)\n",
+      "reading selectsort0177.png (178 of 721)\n",
+      "reading selectsort0178.png (179 of 721)\n",
+      "reading selectsort0179.png (180 of 721)\n",
+      "reading selectsort0180.png (181 of 721)\n",
+      "reading selectsort0181.png (182 of 721)\n",
+      "reading selectsort0182.png (183 of 721)\n",
+      "reading selectsort0183.png (184 of 721)\n",
+      "reading selectsort0184.png (185 of 721)\n",
+      "reading selectsort0185.png (186 of 721)\n",
+      "reading selectsort0186.png (187 of 721)\n",
+      "reading selectsort0187.png (188 of 721)\n",
+      "reading selectsort0188.png (189 of 721)\n",
+      "reading selectsort0189.png (190 of 721)\n",
+      "reading selectsort0190.png (191 of 721)\n",
+      "reading selectsort0191.png (192 of 721)\n",
+      "reading selectsort0192.png (193 of 721)\n",
+      "reading selectsort0193.png (194 of 721)\n",
+      "reading selectsort0194.png (195 of 721)\n",
+      "reading selectsort0195.png (196 of 721)\n",
+      "reading selectsort0196.png (197 of 721)\n",
+      "reading selectsort0197.png (198 of 721)\n",
+      "reading selectsort0198.png (199 of 721)\n",
+      "reading selectsort0199.png (200 of 721)\n",
+      "reading selectsort0200.png (201 of 721)\n",
+      "reading selectsort0201.png (202 of 721)\n",
+      "reading selectsort0202.png (203 of 721)\n",
+      "reading selectsort0203.png (204 of 721)\n",
+      "reading selectsort0204.png (205 of 721)\n",
+      "reading selectsort0205.png (206 of 721)\n",
+      "reading selectsort0206.png (207 of 721)\n",
+      "reading selectsort0207.png (208 of 721)\n",
+      "reading selectsort0208.png (209 of 721)\n",
+      "reading selectsort0209.png (210 of 721)\n",
+      "reading selectsort0210.png (211 of 721)\n",
+      "reading selectsort0211.png (212 of 721)\n",
+      "reading selectsort0212.png (213 of 721)\n",
+      "reading selectsort0213.png (214 of 721)\n",
+      "reading selectsort0214.png (215 of 721)\n",
+      "reading selectsort0215.png (216 of 721)\n",
+      "reading selectsort0216.png (217 of 721)\n",
+      "reading selectsort0217.png (218 of 721)\n",
+      "reading selectsort0218.png (219 of 721)\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "reading selectsort0219.png (220 of 721)\n",
+      "reading selectsort0220.png (221 of 721)\n",
+      "reading selectsort0221.png (222 of 721)\n",
+      "reading selectsort0222.png (223 of 721)\n",
+      "reading selectsort0223.png (224 of 721)\n",
+      "reading selectsort0224.png (225 of 721)\n",
+      "reading selectsort0225.png (226 of 721)\n",
+      "reading selectsort0226.png (227 of 721)\n",
+      "reading selectsort0227.png (228 of 721)\n",
+      "reading selectsort0228.png (229 of 721)\n",
+      "reading selectsort0229.png (230 of 721)\n",
+      "reading selectsort0230.png (231 of 721)\n",
+      "reading selectsort0231.png (232 of 721)\n",
+      "reading selectsort0232.png (233 of 721)\n",
+      "reading selectsort0233.png (234 of 721)\n",
+      "reading selectsort0234.png (235 of 721)\n",
+      "reading selectsort0235.png (236 of 721)\n",
+      "reading selectsort0236.png (237 of 721)\n",
+      "reading selectsort0237.png (238 of 721)\n",
+      "reading selectsort0238.png (239 of 721)\n",
+      "reading selectsort0239.png (240 of 721)\n",
+      "reading selectsort0240.png (241 of 721)\n",
+      "reading selectsort0241.png (242 of 721)\n",
+      "reading selectsort0242.png (243 of 721)\n",
+      "reading selectsort0243.png (244 of 721)\n",
+      "reading selectsort0244.png (245 of 721)\n",
+      "reading selectsort0245.png (246 of 721)\n",
+      "reading selectsort0246.png (247 of 721)\n",
+      "reading selectsort0247.png (248 of 721)\n",
+      "reading selectsort0248.png (249 of 721)\n",
+      "reading selectsort0249.png (250 of 721)\n",
+      "reading selectsort0250.png (251 of 721)\n",
+      "reading selectsort0251.png (252 of 721)\n",
+      "reading selectsort0252.png (253 of 721)\n",
+      "reading selectsort0253.png (254 of 721)\n",
+      "reading selectsort0254.png (255 of 721)\n",
+      "reading selectsort0255.png (256 of 721)\n",
+      "reading selectsort0256.png (257 of 721)\n",
+      "reading selectsort0257.png (258 of 721)\n",
+      "reading selectsort0258.png (259 of 721)\n",
+      "reading selectsort0259.png (260 of 721)\n",
+      "reading selectsort0260.png (261 of 721)\n",
+      "reading selectsort0261.png (262 of 721)\n",
+      "reading selectsort0262.png (263 of 721)\n",
+      "reading selectsort0263.png (264 of 721)\n",
+      "reading selectsort0264.png (265 of 721)\n",
+      "reading selectsort0265.png (266 of 721)\n",
+      "reading selectsort0266.png (267 of 721)\n",
+      "reading selectsort0267.png (268 of 721)\n",
+      "reading selectsort0268.png (269 of 721)\n",
+      "reading selectsort0269.png (270 of 721)\n",
+      "reading selectsort0270.png (271 of 721)\n",
+      "reading selectsort0271.png (272 of 721)\n",
+      "reading selectsort0272.png (273 of 721)\n",
+      "reading selectsort0273.png (274 of 721)\n",
+      "reading selectsort0274.png (275 of 721)\n",
+      "reading selectsort0275.png (276 of 721)\n",
+      "reading selectsort0276.png (277 of 721)\n",
+      "reading selectsort0277.png (278 of 721)\n",
+      "reading selectsort0278.png (279 of 721)\n",
+      "reading selectsort0279.png (280 of 721)\n",
+      "reading selectsort0280.png (281 of 721)\n",
+      "reading selectsort0281.png (282 of 721)\n",
+      "reading selectsort0282.png (283 of 721)\n",
+      "reading selectsort0283.png (284 of 721)\n",
+      "reading selectsort0284.png (285 of 721)\n",
+      "reading selectsort0285.png (286 of 721)\n",
+      "reading selectsort0286.png (287 of 721)\n",
+      "reading selectsort0287.png (288 of 721)\n",
+      "reading selectsort0288.png (289 of 721)\n",
+      "reading selectsort0289.png (290 of 721)\n",
+      "reading selectsort0290.png (291 of 721)\n",
+      "reading selectsort0291.png (292 of 721)\n",
+      "reading selectsort0292.png (293 of 721)\n",
+      "reading selectsort0293.png (294 of 721)\n",
+      "reading selectsort0294.png (295 of 721)\n",
+      "reading selectsort0295.png (296 of 721)\n",
+      "reading selectsort0296.png (297 of 721)\n",
+      "reading selectsort0297.png (298 of 721)\n",
+      "reading selectsort0298.png (299 of 721)\n",
+      "reading selectsort0299.png (300 of 721)\n",
+      "reading selectsort0300.png (301 of 721)\n",
+      "reading selectsort0301.png (302 of 721)\n",
+      "reading selectsort0302.png (303 of 721)\n",
+      "reading selectsort0303.png (304 of 721)\n",
+      "reading selectsort0304.png (305 of 721)\n",
+      "reading selectsort0305.png (306 of 721)\n",
+      "reading selectsort0306.png (307 of 721)\n",
+      "reading selectsort0307.png (308 of 721)\n",
+      "reading selectsort0308.png (309 of 721)\n",
+      "reading selectsort0309.png (310 of 721)\n",
+      "reading selectsort0310.png (311 of 721)\n",
+      "reading selectsort0311.png (312 of 721)\n",
+      "reading selectsort0312.png (313 of 721)\n",
+      "reading selectsort0313.png (314 of 721)\n",
+      "reading selectsort0314.png (315 of 721)\n",
+      "reading selectsort0315.png (316 of 721)\n",
+      "reading selectsort0316.png (317 of 721)\n",
+      "reading selectsort0317.png (318 of 721)\n",
+      "reading selectsort0318.png (319 of 721)\n",
+      "reading selectsort0319.png (320 of 721)\n",
+      "reading selectsort0320.png (321 of 721)\n",
+      "reading selectsort0321.png (322 of 721)\n",
+      "reading selectsort0322.png (323 of 721)\n",
+      "reading selectsort0323.png (324 of 721)\n",
+      "reading selectsort0324.png (325 of 721)\n",
+      "reading selectsort0325.png (326 of 721)\n",
+      "reading selectsort0326.png (327 of 721)\n",
+      "reading selectsort0327.png (328 of 721)\n",
+      "reading selectsort0328.png (329 of 721)\n",
+      "reading selectsort0329.png (330 of 721)\n",
+      "reading selectsort0330.png (331 of 721)\n",
+      "reading selectsort0331.png (332 of 721)\n",
+      "reading selectsort0332.png (333 of 721)\n",
+      "reading selectsort0333.png (334 of 721)\n",
+      "reading selectsort0334.png (335 of 721)\n",
+      "reading selectsort0335.png (336 of 721)\n",
+      "reading selectsort0336.png (337 of 721)\n",
+      "reading selectsort0337.png (338 of 721)\n",
+      "reading selectsort0338.png (339 of 721)\n",
+      "reading selectsort0339.png (340 of 721)\n",
+      "reading selectsort0340.png (341 of 721)\n",
+      "reading selectsort0341.png (342 of 721)\n",
+      "reading selectsort0342.png (343 of 721)\n",
+      "reading selectsort0343.png (344 of 721)\n",
+      "reading selectsort0344.png (345 of 721)\n",
+      "reading selectsort0345.png (346 of 721)\n",
+      "reading selectsort0346.png (347 of 721)\n",
+      "reading selectsort0347.png (348 of 721)\n",
+      "reading selectsort0348.png (349 of 721)\n",
+      "reading selectsort0349.png (350 of 721)\n",
+      "reading selectsort0350.png (351 of 721)\n",
+      "reading selectsort0351.png (352 of 721)\n",
+      "reading selectsort0352.png (353 of 721)\n",
+      "reading selectsort0353.png (354 of 721)\n",
+      "reading selectsort0354.png (355 of 721)\n",
+      "reading selectsort0355.png (356 of 721)\n",
+      "reading selectsort0356.png (357 of 721)\n",
+      "reading selectsort0357.png (358 of 721)\n",
+      "reading selectsort0358.png (359 of 721)\n",
+      "reading selectsort0359.png (360 of 721)\n",
+      "reading selectsort0360.png (361 of 721)\n",
+      "reading selectsort0361.png (362 of 721)\n",
+      "reading selectsort0362.png (363 of 721)\n",
+      "reading selectsort0363.png (364 of 721)\n",
+      "reading selectsort0364.png (365 of 721)\n",
+      "reading selectsort0365.png (366 of 721)\n",
+      "reading selectsort0366.png (367 of 721)\n",
+      "reading selectsort0367.png (368 of 721)\n",
+      "reading selectsort0368.png (369 of 721)\n",
+      "reading selectsort0369.png (370 of 721)\n",
+      "reading selectsort0370.png (371 of 721)\n",
+      "reading selectsort0371.png (372 of 721)\n",
+      "reading selectsort0372.png (373 of 721)\n",
+      "reading selectsort0373.png (374 of 721)\n",
+      "reading selectsort0374.png (375 of 721)\n",
+      "reading selectsort0375.png (376 of 721)\n",
+      "reading selectsort0376.png (377 of 721)\n",
+      "reading selectsort0377.png (378 of 721)\n",
+      "reading selectsort0378.png (379 of 721)\n",
+      "reading selectsort0379.png (380 of 721)\n",
+      "reading selectsort0380.png (381 of 721)\n",
+      "reading selectsort0381.png (382 of 721)\n",
+      "reading selectsort0382.png (383 of 721)\n",
+      "reading selectsort0383.png (384 of 721)\n",
+      "reading selectsort0384.png (385 of 721)\n",
+      "reading selectsort0385.png (386 of 721)\n",
+      "reading selectsort0386.png (387 of 721)\n",
+      "reading selectsort0387.png (388 of 721)\n",
+      "reading selectsort0388.png (389 of 721)\n",
+      "reading selectsort0389.png (390 of 721)\n",
+      "reading selectsort0390.png (391 of 721)\n",
+      "reading selectsort0391.png (392 of 721)\n",
+      "reading selectsort0392.png (393 of 721)\n",
+      "reading selectsort0393.png (394 of 721)\n",
+      "reading selectsort0394.png (395 of 721)\n",
+      "reading selectsort0395.png (396 of 721)\n",
+      "reading selectsort0396.png (397 of 721)\n",
+      "reading selectsort0397.png (398 of 721)\n",
+      "reading selectsort0398.png (399 of 721)\n",
+      "reading selectsort0399.png (400 of 721)\n",
+      "reading selectsort0400.png (401 of 721)\n",
+      "reading selectsort0401.png (402 of 721)\n",
+      "reading selectsort0402.png (403 of 721)\n",
+      "reading selectsort0403.png (404 of 721)\n",
+      "reading selectsort0404.png (405 of 721)\n",
+      "reading selectsort0405.png (406 of 721)\n",
+      "reading selectsort0406.png (407 of 721)\n",
+      "reading selectsort0407.png (408 of 721)\n",
+      "reading selectsort0408.png (409 of 721)\n",
+      "reading selectsort0409.png (410 of 721)\n",
+      "reading selectsort0410.png (411 of 721)\n",
+      "reading selectsort0411.png (412 of 721)\n",
+      "reading selectsort0412.png (413 of 721)\n",
+      "reading selectsort0413.png (414 of 721)\n",
+      "reading selectsort0414.png (415 of 721)\n",
+      "reading selectsort0415.png (416 of 721)\n",
+      "reading selectsort0416.png (417 of 721)\n",
+      "reading selectsort0417.png (418 of 721)\n",
+      "reading selectsort0418.png (419 of 721)\n",
+      "reading selectsort0419.png (420 of 721)\n",
+      "reading selectsort0420.png (421 of 721)\n",
+      "reading selectsort0421.png (422 of 721)\n",
+      "reading selectsort0422.png (423 of 721)\n",
+      "reading selectsort0423.png (424 of 721)\n",
+      "reading selectsort0424.png (425 of 721)\n",
+      "reading selectsort0425.png (426 of 721)\n",
+      "reading selectsort0426.png (427 of 721)\n",
+      "reading selectsort0427.png (428 of 721)\n",
+      "reading selectsort0428.png (429 of 721)\n",
+      "reading selectsort0429.png (430 of 721)\n",
+      "reading selectsort0430.png (431 of 721)\n",
+      "reading selectsort0431.png (432 of 721)\n",
+      "reading selectsort0432.png (433 of 721)\n",
+      "reading selectsort0433.png (434 of 721)\n",
+      "reading selectsort0434.png (435 of 721)\n",
+      "reading selectsort0435.png (436 of 721)\n",
+      "reading selectsort0436.png (437 of 721)\n",
+      "reading selectsort0437.png (438 of 721)\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "reading selectsort0438.png (439 of 721)\n",
+      "reading selectsort0439.png (440 of 721)\n",
+      "reading selectsort0440.png (441 of 721)\n",
+      "reading selectsort0441.png (442 of 721)\n",
+      "reading selectsort0442.png (443 of 721)\n",
+      "reading selectsort0443.png (444 of 721)\n",
+      "reading selectsort0444.png (445 of 721)\n",
+      "reading selectsort0445.png (446 of 721)\n",
+      "reading selectsort0446.png (447 of 721)\n",
+      "reading selectsort0447.png (448 of 721)\n",
+      "reading selectsort0448.png (449 of 721)\n",
+      "reading selectsort0449.png (450 of 721)\n",
+      "reading selectsort0450.png (451 of 721)\n",
+      "reading selectsort0451.png (452 of 721)\n",
+      "reading selectsort0452.png (453 of 721)\n",
+      "reading selectsort0453.png (454 of 721)\n",
+      "reading selectsort0454.png (455 of 721)\n",
+      "reading selectsort0455.png (456 of 721)\n",
+      "reading selectsort0456.png (457 of 721)\n",
+      "reading selectsort0457.png (458 of 721)\n",
+      "reading selectsort0458.png (459 of 721)\n",
+      "reading selectsort0459.png (460 of 721)\n",
+      "reading selectsort0460.png (461 of 721)\n",
+      "reading selectsort0461.png (462 of 721)\n",
+      "reading selectsort0462.png (463 of 721)\n",
+      "reading selectsort0463.png (464 of 721)\n",
+      "reading selectsort0464.png (465 of 721)\n",
+      "reading selectsort0465.png (466 of 721)\n",
+      "reading selectsort0466.png (467 of 721)\n",
+      "reading selectsort0467.png (468 of 721)\n",
+      "reading selectsort0468.png (469 of 721)\n",
+      "reading selectsort0469.png (470 of 721)\n",
+      "reading selectsort0470.png (471 of 721)\n",
+      "reading selectsort0471.png (472 of 721)\n",
+      "reading selectsort0472.png (473 of 721)\n",
+      "reading selectsort0473.png (474 of 721)\n",
+      "reading selectsort0474.png (475 of 721)\n",
+      "reading selectsort0475.png (476 of 721)\n",
+      "reading selectsort0476.png (477 of 721)\n",
+      "reading selectsort0477.png (478 of 721)\n",
+      "reading selectsort0478.png (479 of 721)\n",
+      "reading selectsort0479.png (480 of 721)\n",
+      "reading selectsort0480.png (481 of 721)\n",
+      "reading selectsort0481.png (482 of 721)\n",
+      "reading selectsort0482.png (483 of 721)\n",
+      "reading selectsort0483.png (484 of 721)\n",
+      "reading selectsort0484.png (485 of 721)\n",
+      "reading selectsort0485.png (486 of 721)\n",
+      "reading selectsort0486.png (487 of 721)\n",
+      "reading selectsort0487.png (488 of 721)\n",
+      "reading selectsort0488.png (489 of 721)\n",
+      "reading selectsort0489.png (490 of 721)\n",
+      "reading selectsort0490.png (491 of 721)\n",
+      "reading selectsort0491.png (492 of 721)\n",
+      "reading selectsort0492.png (493 of 721)\n",
+      "reading selectsort0493.png (494 of 721)\n",
+      "reading selectsort0494.png (495 of 721)\n",
+      "reading selectsort0495.png (496 of 721)\n",
+      "reading selectsort0496.png (497 of 721)\n",
+      "reading selectsort0497.png (498 of 721)\n",
+      "reading selectsort0498.png (499 of 721)\n",
+      "reading selectsort0499.png (500 of 721)\n",
+      "reading selectsort0500.png (501 of 721)\n",
+      "reading selectsort0501.png (502 of 721)\n",
+      "reading selectsort0502.png (503 of 721)\n",
+      "reading selectsort0503.png (504 of 721)\n",
+      "reading selectsort0504.png (505 of 721)\n",
+      "reading selectsort0505.png (506 of 721)\n",
+      "reading selectsort0506.png (507 of 721)\n",
+      "reading selectsort0507.png (508 of 721)\n",
+      "reading selectsort0508.png (509 of 721)\n",
+      "reading selectsort0509.png (510 of 721)\n",
+      "reading selectsort0510.png (511 of 721)\n",
+      "reading selectsort0511.png (512 of 721)\n",
+      "reading selectsort0512.png (513 of 721)\n",
+      "reading selectsort0513.png (514 of 721)\n",
+      "reading selectsort0514.png (515 of 721)\n",
+      "reading selectsort0515.png (516 of 721)\n",
+      "reading selectsort0516.png (517 of 721)\n",
+      "reading selectsort0517.png (518 of 721)\n",
+      "reading selectsort0518.png (519 of 721)\n",
+      "reading selectsort0519.png (520 of 721)\n",
+      "reading selectsort0520.png (521 of 721)\n",
+      "reading selectsort0521.png (522 of 721)\n",
+      "reading selectsort0522.png (523 of 721)\n",
+      "reading selectsort0523.png (524 of 721)\n",
+      "reading selectsort0524.png (525 of 721)\n",
+      "reading selectsort0525.png (526 of 721)\n",
+      "reading selectsort0526.png (527 of 721)\n",
+      "reading selectsort0527.png (528 of 721)\n",
+      "reading selectsort0528.png (529 of 721)\n",
+      "reading selectsort0529.png (530 of 721)\n",
+      "reading selectsort0530.png (531 of 721)\n",
+      "reading selectsort0531.png (532 of 721)\n",
+      "reading selectsort0532.png (533 of 721)\n",
+      "reading selectsort0533.png (534 of 721)\n",
+      "reading selectsort0534.png (535 of 721)\n",
+      "reading selectsort0535.png (536 of 721)\n",
+      "reading selectsort0536.png (537 of 721)\n",
+      "reading selectsort0537.png (538 of 721)\n",
+      "reading selectsort0538.png (539 of 721)\n",
+      "reading selectsort0539.png (540 of 721)\n",
+      "reading selectsort0540.png (541 of 721)\n",
+      "reading selectsort0541.png (542 of 721)\n",
+      "reading selectsort0542.png (543 of 721)\n",
+      "reading selectsort0543.png (544 of 721)\n",
+      "reading selectsort0544.png (545 of 721)\n",
+      "reading selectsort0545.png (546 of 721)\n",
+      "reading selectsort0546.png (547 of 721)\n",
+      "reading selectsort0547.png (548 of 721)\n",
+      "reading selectsort0548.png (549 of 721)\n",
+      "reading selectsort0549.png (550 of 721)\n",
+      "reading selectsort0550.png (551 of 721)\n",
+      "reading selectsort0551.png (552 of 721)\n",
+      "reading selectsort0552.png (553 of 721)\n",
+      "reading selectsort0553.png (554 of 721)\n",
+      "reading selectsort0554.png (555 of 721)\n",
+      "reading selectsort0555.png (556 of 721)\n",
+      "reading selectsort0556.png (557 of 721)\n",
+      "reading selectsort0557.png (558 of 721)\n",
+      "reading selectsort0558.png (559 of 721)\n",
+      "reading selectsort0559.png (560 of 721)\n",
+      "reading selectsort0560.png (561 of 721)\n",
+      "reading selectsort0561.png (562 of 721)\n",
+      "reading selectsort0562.png (563 of 721)\n",
+      "reading selectsort0563.png (564 of 721)\n",
+      "reading selectsort0564.png (565 of 721)\n",
+      "reading selectsort0565.png (566 of 721)\n",
+      "reading selectsort0566.png (567 of 721)\n",
+      "reading selectsort0567.png (568 of 721)\n",
+      "reading selectsort0568.png (569 of 721)\n",
+      "reading selectsort0569.png (570 of 721)\n",
+      "reading selectsort0570.png (571 of 721)\n",
+      "reading selectsort0571.png (572 of 721)\n",
+      "reading selectsort0572.png (573 of 721)\n",
+      "reading selectsort0573.png (574 of 721)\n",
+      "reading selectsort0574.png (575 of 721)\n",
+      "reading selectsort0575.png (576 of 721)\n",
+      "reading selectsort0576.png (577 of 721)\n",
+      "reading selectsort0577.png (578 of 721)\n",
+      "reading selectsort0578.png (579 of 721)\n",
+      "reading selectsort0579.png (580 of 721)\n",
+      "reading selectsort0580.png (581 of 721)\n",
+      "reading selectsort0581.png (582 of 721)\n",
+      "reading selectsort0582.png (583 of 721)\n",
+      "reading selectsort0583.png (584 of 721)\n",
+      "reading selectsort0584.png (585 of 721)\n",
+      "reading selectsort0585.png (586 of 721)\n",
+      "reading selectsort0586.png (587 of 721)\n",
+      "reading selectsort0587.png (588 of 721)\n",
+      "reading selectsort0588.png (589 of 721)\n",
+      "reading selectsort0589.png (590 of 721)\n",
+      "reading selectsort0590.png (591 of 721)\n",
+      "reading selectsort0591.png (592 of 721)\n",
+      "reading selectsort0592.png (593 of 721)\n",
+      "reading selectsort0593.png (594 of 721)\n",
+      "reading selectsort0594.png (595 of 721)\n",
+      "reading selectsort0595.png (596 of 721)\n",
+      "reading selectsort0596.png (597 of 721)\n",
+      "reading selectsort0597.png (598 of 721)\n",
+      "reading selectsort0598.png (599 of 721)\n",
+      "reading selectsort0599.png (600 of 721)\n",
+      "reading selectsort0600.png (601 of 721)\n",
+      "reading selectsort0601.png (602 of 721)\n",
+      "reading selectsort0602.png (603 of 721)\n",
+      "reading selectsort0603.png (604 of 721)\n",
+      "reading selectsort0604.png (605 of 721)\n",
+      "reading selectsort0605.png (606 of 721)\n",
+      "reading selectsort0606.png (607 of 721)\n",
+      "reading selectsort0607.png (608 of 721)\n",
+      "reading selectsort0608.png (609 of 721)\n",
+      "reading selectsort0609.png (610 of 721)\n",
+      "reading selectsort0610.png (611 of 721)\n",
+      "reading selectsort0611.png (612 of 721)\n",
+      "reading selectsort0612.png (613 of 721)\n",
+      "reading selectsort0613.png (614 of 721)\n",
+      "reading selectsort0614.png (615 of 721)\n",
+      "reading selectsort0615.png (616 of 721)\n",
+      "reading selectsort0616.png (617 of 721)\n",
+      "reading selectsort0617.png (618 of 721)\n",
+      "reading selectsort0618.png (619 of 721)\n",
+      "reading selectsort0619.png (620 of 721)\n",
+      "reading selectsort0620.png (621 of 721)\n",
+      "reading selectsort0621.png (622 of 721)\n",
+      "reading selectsort0622.png (623 of 721)\n",
+      "reading selectsort0623.png (624 of 721)\n",
+      "reading selectsort0624.png (625 of 721)\n",
+      "reading selectsort0625.png (626 of 721)\n",
+      "reading selectsort0626.png (627 of 721)\n",
+      "reading selectsort0627.png (628 of 721)\n",
+      "reading selectsort0628.png (629 of 721)\n",
+      "reading selectsort0629.png (630 of 721)\n",
+      "reading selectsort0630.png (631 of 721)\n",
+      "reading selectsort0631.png (632 of 721)\n",
+      "reading selectsort0632.png (633 of 721)\n",
+      "reading selectsort0633.png (634 of 721)\n",
+      "reading selectsort0634.png (635 of 721)\n",
+      "reading selectsort0635.png (636 of 721)\n",
+      "reading selectsort0636.png (637 of 721)\n",
+      "reading selectsort0637.png (638 of 721)\n",
+      "reading selectsort0638.png (639 of 721)\n",
+      "reading selectsort0639.png (640 of 721)\n",
+      "reading selectsort0640.png (641 of 721)\n",
+      "reading selectsort0641.png (642 of 721)\n",
+      "reading selectsort0642.png (643 of 721)\n",
+      "reading selectsort0643.png (644 of 721)\n",
+      "reading selectsort0644.png (645 of 721)\n",
+      "reading selectsort0645.png (646 of 721)\n",
+      "reading selectsort0646.png (647 of 721)\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "reading selectsort0647.png (648 of 721)\n",
+      "reading selectsort0648.png (649 of 721)\n",
+      "reading selectsort0649.png (650 of 721)\n",
+      "reading selectsort0650.png (651 of 721)\n",
+      "reading selectsort0651.png (652 of 721)\n",
+      "reading selectsort0652.png (653 of 721)\n",
+      "reading selectsort0653.png (654 of 721)\n",
+      "reading selectsort0654.png (655 of 721)\n",
+      "reading selectsort0655.png (656 of 721)\n",
+      "reading selectsort0656.png (657 of 721)\n",
+      "reading selectsort0657.png (658 of 721)\n",
+      "reading selectsort0658.png (659 of 721)\n",
+      "reading selectsort0659.png (660 of 721)\n",
+      "reading selectsort0660.png (661 of 721)\n",
+      "reading selectsort0661.png (662 of 721)\n",
+      "reading selectsort0662.png (663 of 721)\n",
+      "reading selectsort0663.png (664 of 721)\n",
+      "reading selectsort0664.png (665 of 721)\n",
+      "reading selectsort0665.png (666 of 721)\n",
+      "reading selectsort0666.png (667 of 721)\n",
+      "reading selectsort0667.png (668 of 721)\n",
+      "reading selectsort0668.png (669 of 721)\n",
+      "reading selectsort0669.png (670 of 721)\n",
+      "reading selectsort0670.png (671 of 721)\n",
+      "reading selectsort0671.png (672 of 721)\n",
+      "reading selectsort0672.png (673 of 721)\n",
+      "reading selectsort0673.png (674 of 721)\n",
+      "reading selectsort0674.png (675 of 721)\n",
+      "reading selectsort0675.png (676 of 721)\n",
+      "reading selectsort0676.png (677 of 721)\n",
+      "reading selectsort0677.png (678 of 721)\n",
+      "reading selectsort0678.png (679 of 721)\n",
+      "reading selectsort0679.png (680 of 721)\n",
+      "reading selectsort0680.png (681 of 721)\n",
+      "reading selectsort0681.png (682 of 721)\n",
+      "reading selectsort0682.png (683 of 721)\n",
+      "reading selectsort0683.png (684 of 721)\n",
+      "reading selectsort0684.png (685 of 721)\n",
+      "reading selectsort0685.png (686 of 721)\n",
+      "reading selectsort0686.png (687 of 721)\n",
+      "reading selectsort0687.png (688 of 721)\n",
+      "reading selectsort0688.png (689 of 721)\n",
+      "reading selectsort0689.png (690 of 721)\n",
+      "reading selectsort0690.png (691 of 721)\n",
+      "reading selectsort0691.png (692 of 721)\n",
+      "reading selectsort0692.png (693 of 721)\n",
+      "reading selectsort0693.png (694 of 721)\n",
+      "reading selectsort0694.png (695 of 721)\n",
+      "reading selectsort0695.png (696 of 721)\n",
+      "reading selectsort0696.png (697 of 721)\n",
+      "reading selectsort0697.png (698 of 721)\n",
+      "reading selectsort0698.png (699 of 721)\n",
+      "reading selectsort0699.png (700 of 721)\n",
+      "reading selectsort0700.png (701 of 721)\n",
+      "reading selectsort0701.png (702 of 721)\n",
+      "reading selectsort0702.png (703 of 721)\n",
+      "reading selectsort0703.png (704 of 721)\n",
+      "reading selectsort0704.png (705 of 721)\n",
+      "reading selectsort0705.png (706 of 721)\n",
+      "reading selectsort0706.png (707 of 721)\n",
+      "reading selectsort0707.png (708 of 721)\n",
+      "reading selectsort0708.png (709 of 721)\n",
+      "reading selectsort0709.png (710 of 721)\n",
+      "reading selectsort0710.png (711 of 721)\n",
+      "reading selectsort0711.png (712 of 721)\n",
+      "reading selectsort0712.png (713 of 721)\n",
+      "reading selectsort0713.png (714 of 721)\n",
+      "reading selectsort0714.png (715 of 721)\n",
+      "reading selectsort0715.png (716 of 721)\n",
+      "reading selectsort0716.png (717 of 721)\n",
+      "reading selectsort0717.png (718 of 721)\n",
+      "reading selectsort0718.png (719 of 721)\n",
+      "reading selectsort0719.png (720 of 721)\n",
+      "reading selectsort0720.png (721 of 721)\n",
+      "saving all-selectsort.png (frame 1 of 721)\n",
+      "saving all-selectsort.png (frame 2 of 721)\n",
+      "saving all-selectsort.png (frame 3 of 721)\n",
+      "saving all-selectsort.png (frame 4 of 721)\n",
+      "saving all-selectsort.png (frame 5 of 721)\n",
+      "saving all-selectsort.png (frame 6 of 721)\n",
+      "saving all-selectsort.png (frame 7 of 721)\n",
+      "saving all-selectsort.png (frame 8 of 721)\n",
+      "saving all-selectsort.png (frame 9 of 721)\n",
+      "saving all-selectsort.png (frame 10 of 721)\n",
+      "saving all-selectsort.png (frame 11 of 721)\n",
+      "saving all-selectsort.png (frame 12 of 721)\n",
+      "saving all-selectsort.png (frame 13 of 721)\n",
+      "saving all-selectsort.png (frame 14 of 721)\n",
+      "saving all-selectsort.png (frame 15 of 721)\n",
+      "saving all-selectsort.png (frame 16 of 721)\n",
+      "saving all-selectsort.png (frame 17 of 721)\n",
+      "saving all-selectsort.png (frame 18 of 721)\n",
+      "saving all-selectsort.png (frame 19 of 721)\n",
+      "saving all-selectsort.png (frame 20 of 721)\n",
+      "saving all-selectsort.png (frame 21 of 721)\n",
+      "saving all-selectsort.png (frame 22 of 721)\n",
+      "saving all-selectsort.png (frame 23 of 721)\n",
+      "saving all-selectsort.png (frame 24 of 721)\n",
+      "saving all-selectsort.png (frame 25 of 721)\n",
+      "saving all-selectsort.png (frame 26 of 721)\n",
+      "saving all-selectsort.png (frame 27 of 721)\n",
+      "saving all-selectsort.png (frame 28 of 721)\n",
+      "saving all-selectsort.png (frame 29 of 721)\n",
+      "saving all-selectsort.png (frame 30 of 721)\n",
+      "saving all-selectsort.png (frame 31 of 721)\n",
+      "saving all-selectsort.png (frame 32 of 721)\n",
+      "saving all-selectsort.png (frame 33 of 721)\n",
+      "saving all-selectsort.png (frame 34 of 721)\n",
+      "saving all-selectsort.png (frame 35 of 721)\n",
+      "saving all-selectsort.png (frame 36 of 721)\n",
+      "saving all-selectsort.png (frame 37 of 721)\n",
+      "saving all-selectsort.png (frame 38 of 721)\n",
+      "saving all-selectsort.png (frame 39 of 721)\n",
+      "saving all-selectsort.png (frame 40 of 721)\n",
+      "saving all-selectsort.png (frame 41 of 721)\n",
+      "saving all-selectsort.png (frame 42 of 721)\n",
+      "saving all-selectsort.png (frame 43 of 721)\n",
+      "saving all-selectsort.png (frame 44 of 721)\n",
+      "saving all-selectsort.png (frame 45 of 721)\n",
+      "saving all-selectsort.png (frame 46 of 721)\n",
+      "saving all-selectsort.png (frame 47 of 721)\n",
+      "saving all-selectsort.png (frame 48 of 721)\n",
+      "saving all-selectsort.png (frame 49 of 721)\n",
+      "saving all-selectsort.png (frame 50 of 721)\n",
+      "saving all-selectsort.png (frame 51 of 721)\n",
+      "saving all-selectsort.png (frame 52 of 721)\n",
+      "saving all-selectsort.png (frame 53 of 721)\n",
+      "saving all-selectsort.png (frame 54 of 721)\n",
+      "saving all-selectsort.png (frame 55 of 721)\n",
+      "saving all-selectsort.png (frame 56 of 721)\n",
+      "saving all-selectsort.png (frame 57 of 721)\n",
+      "saving all-selectsort.png (frame 58 of 721)\n",
+      "saving all-selectsort.png (frame 59 of 721)\n",
+      "saving all-selectsort.png (frame 60 of 721)\n",
+      "saving all-selectsort.png (frame 61 of 721)\n",
+      "saving all-selectsort.png (frame 62 of 721)\n",
+      "saving all-selectsort.png (frame 63 of 721)\n",
+      "saving all-selectsort.png (frame 64 of 721)\n",
+      "saving all-selectsort.png (frame 65 of 721)\n",
+      "saving all-selectsort.png (frame 66 of 721)\n",
+      "saving all-selectsort.png (frame 67 of 721)\n",
+      "saving all-selectsort.png (frame 68 of 721)\n",
+      "saving all-selectsort.png (frame 69 of 721)\n",
+      "saving all-selectsort.png (frame 70 of 721)\n",
+      "saving all-selectsort.png (frame 71 of 721)\n",
+      "saving all-selectsort.png (frame 72 of 721)\n",
+      "saving all-selectsort.png (frame 73 of 721)\n",
+      "saving all-selectsort.png (frame 74 of 721)\n",
+      "saving all-selectsort.png (frame 75 of 721)\n",
+      "saving all-selectsort.png (frame 76 of 721)\n",
+      "saving all-selectsort.png (frame 77 of 721)\n",
+      "saving all-selectsort.png (frame 78 of 721)\n",
+      "saving all-selectsort.png (frame 79 of 721)\n",
+      "saving all-selectsort.png (frame 80 of 721)\n",
+      "saving all-selectsort.png (frame 81 of 721)\n",
+      "saving all-selectsort.png (frame 82 of 721)\n",
+      "saving all-selectsort.png (frame 83 of 721)\n",
+      "saving all-selectsort.png (frame 84 of 721)\n",
+      "saving all-selectsort.png (frame 85 of 721)\n",
+      "saving all-selectsort.png (frame 86 of 721)\n",
+      "saving all-selectsort.png (frame 87 of 721)\n",
+      "saving all-selectsort.png (frame 88 of 721)\n",
+      "saving all-selectsort.png (frame 89 of 721)\n",
+      "saving all-selectsort.png (frame 90 of 721)\n",
+      "saving all-selectsort.png (frame 91 of 721)\n",
+      "saving all-selectsort.png (frame 92 of 721)\n",
+      "saving all-selectsort.png (frame 93 of 721)\n",
+      "saving all-selectsort.png (frame 94 of 721)\n",
+      "saving all-selectsort.png (frame 95 of 721)\n",
+      "saving all-selectsort.png (frame 96 of 721)\n",
+      "saving all-selectsort.png (frame 97 of 721)\n",
+      "saving all-selectsort.png (frame 98 of 721)\n",
+      "saving all-selectsort.png (frame 99 of 721)\n",
+      "saving all-selectsort.png (frame 100 of 721)\n",
+      "saving all-selectsort.png (frame 101 of 721)\n",
+      "saving all-selectsort.png (frame 102 of 721)\n",
+      "saving all-selectsort.png (frame 103 of 721)\n",
+      "saving all-selectsort.png (frame 104 of 721)\n",
+      "saving all-selectsort.png (frame 105 of 721)\n",
+      "saving all-selectsort.png (frame 106 of 721)\n",
+      "saving all-selectsort.png (frame 107 of 721)\n",
+      "saving all-selectsort.png (frame 108 of 721)\n",
+      "saving all-selectsort.png (frame 109 of 721)\n",
+      "saving all-selectsort.png (frame 110 of 721)\n",
+      "saving all-selectsort.png (frame 111 of 721)\n",
+      "saving all-selectsort.png (frame 112 of 721)\n",
+      "saving all-selectsort.png (frame 113 of 721)\n",
+      "saving all-selectsort.png (frame 114 of 721)\n",
+      "saving all-selectsort.png (frame 115 of 721)\n",
+      "saving all-selectsort.png (frame 116 of 721)\n",
+      "saving all-selectsort.png (frame 117 of 721)\n",
+      "saving all-selectsort.png (frame 118 of 721)\n",
+      "saving all-selectsort.png (frame 119 of 721)\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "saving all-selectsort.png (frame 120 of 721)\n",
+      "saving all-selectsort.png (frame 121 of 721)\n",
+      "saving all-selectsort.png (frame 122 of 721)\n",
+      "saving all-selectsort.png (frame 123 of 721)\n",
+      "saving all-selectsort.png (frame 124 of 721)\n",
+      "saving all-selectsort.png (frame 125 of 721)\n",
+      "saving all-selectsort.png (frame 126 of 721)\n",
+      "saving all-selectsort.png (frame 127 of 721)\n",
+      "saving all-selectsort.png (frame 128 of 721)\n",
+      "saving all-selectsort.png (frame 129 of 721)\n",
+      "saving all-selectsort.png (frame 130 of 721)\n",
+      "saving all-selectsort.png (frame 131 of 721)\n",
+      "saving all-selectsort.png (frame 132 of 721)\n",
+      "saving all-selectsort.png (frame 133 of 721)\n",
+      "saving all-selectsort.png (frame 134 of 721)\n",
+      "saving all-selectsort.png (frame 135 of 721)\n",
+      "saving all-selectsort.png (frame 136 of 721)\n",
+      "saving all-selectsort.png (frame 137 of 721)\n",
+      "saving all-selectsort.png (frame 138 of 721)\n",
+      "saving all-selectsort.png (frame 139 of 721)\n",
+      "saving all-selectsort.png (frame 140 of 721)\n",
+      "saving all-selectsort.png (frame 141 of 721)\n",
+      "saving all-selectsort.png (frame 142 of 721)\n",
+      "saving all-selectsort.png (frame 143 of 721)\n",
+      "saving all-selectsort.png (frame 144 of 721)\n",
+      "saving all-selectsort.png (frame 145 of 721)\n",
+      "saving all-selectsort.png (frame 146 of 721)\n",
+      "saving all-selectsort.png (frame 147 of 721)\n",
+      "saving all-selectsort.png (frame 148 of 721)\n",
+      "saving all-selectsort.png (frame 149 of 721)\n",
+      "saving all-selectsort.png (frame 150 of 721)\n",
+      "saving all-selectsort.png (frame 151 of 721)\n",
+      "saving all-selectsort.png (frame 152 of 721)\n",
+      "saving all-selectsort.png (frame 153 of 721)\n",
+      "saving all-selectsort.png (frame 154 of 721)\n",
+      "saving all-selectsort.png (frame 155 of 721)\n",
+      "saving all-selectsort.png (frame 156 of 721)\n",
+      "saving all-selectsort.png (frame 157 of 721)\n",
+      "saving all-selectsort.png (frame 158 of 721)\n",
+      "saving all-selectsort.png (frame 159 of 721)\n",
+      "saving all-selectsort.png (frame 160 of 721)\n",
+      "saving all-selectsort.png (frame 161 of 721)\n",
+      "saving all-selectsort.png (frame 162 of 721)\n",
+      "saving all-selectsort.png (frame 163 of 721)\n",
+      "saving all-selectsort.png (frame 164 of 721)\n",
+      "saving all-selectsort.png (frame 165 of 721)\n",
+      "saving all-selectsort.png (frame 166 of 721)\n",
+      "saving all-selectsort.png (frame 167 of 721)\n",
+      "saving all-selectsort.png (frame 168 of 721)\n",
+      "saving all-selectsort.png (frame 169 of 721)\n",
+      "saving all-selectsort.png (frame 170 of 721)\n",
+      "saving all-selectsort.png (frame 171 of 721)\n",
+      "saving all-selectsort.png (frame 172 of 721)\n",
+      "saving all-selectsort.png (frame 173 of 721)\n",
+      "saving all-selectsort.png (frame 174 of 721)\n",
+      "saving all-selectsort.png (frame 175 of 721)\n",
+      "saving all-selectsort.png (frame 176 of 721)\n",
+      "saving all-selectsort.png (frame 177 of 721)\n",
+      "saving all-selectsort.png (frame 178 of 721)\n",
+      "saving all-selectsort.png (frame 179 of 721)\n",
+      "saving all-selectsort.png (frame 180 of 721)\n",
+      "saving all-selectsort.png (frame 181 of 721)\n",
+      "saving all-selectsort.png (frame 182 of 721)\n",
+      "saving all-selectsort.png (frame 183 of 721)\n",
+      "saving all-selectsort.png (frame 184 of 721)\n",
+      "saving all-selectsort.png (frame 185 of 721)\n",
+      "saving all-selectsort.png (frame 186 of 721)\n",
+      "saving all-selectsort.png (frame 187 of 721)\n",
+      "saving all-selectsort.png (frame 188 of 721)\n",
+      "saving all-selectsort.png (frame 189 of 721)\n",
+      "saving all-selectsort.png (frame 190 of 721)\n",
+      "saving all-selectsort.png (frame 191 of 721)\n",
+      "saving all-selectsort.png (frame 192 of 721)\n",
+      "saving all-selectsort.png (frame 193 of 721)\n",
+      "saving all-selectsort.png (frame 194 of 721)\n",
+      "saving all-selectsort.png (frame 195 of 721)\n",
+      "saving all-selectsort.png (frame 196 of 721)\n",
+      "saving all-selectsort.png (frame 197 of 721)\n",
+      "saving all-selectsort.png (frame 198 of 721)\n",
+      "saving all-selectsort.png (frame 199 of 721)\n",
+      "saving all-selectsort.png (frame 200 of 721)\n",
+      "saving all-selectsort.png (frame 201 of 721)\n",
+      "saving all-selectsort.png (frame 202 of 721)\n",
+      "saving all-selectsort.png (frame 203 of 721)\n",
+      "saving all-selectsort.png (frame 204 of 721)\n",
+      "saving all-selectsort.png (frame 205 of 721)\n",
+      "saving all-selectsort.png (frame 206 of 721)\n",
+      "saving all-selectsort.png (frame 207 of 721)\n",
+      "saving all-selectsort.png (frame 208 of 721)\n",
+      "saving all-selectsort.png (frame 209 of 721)\n",
+      "saving all-selectsort.png (frame 210 of 721)\n",
+      "saving all-selectsort.png (frame 211 of 721)\n",
+      "saving all-selectsort.png (frame 212 of 721)\n",
+      "saving all-selectsort.png (frame 213 of 721)\n",
+      "saving all-selectsort.png (frame 214 of 721)\n",
+      "saving all-selectsort.png (frame 215 of 721)\n",
+      "saving all-selectsort.png (frame 216 of 721)\n",
+      "saving all-selectsort.png (frame 217 of 721)\n",
+      "saving all-selectsort.png (frame 218 of 721)\n",
+      "saving all-selectsort.png (frame 219 of 721)\n",
+      "saving all-selectsort.png (frame 220 of 721)\n",
+      "saving all-selectsort.png (frame 221 of 721)\n",
+      "saving all-selectsort.png (frame 222 of 721)\n",
+      "saving all-selectsort.png (frame 223 of 721)\n",
+      "saving all-selectsort.png (frame 224 of 721)\n",
+      "saving all-selectsort.png (frame 225 of 721)\n",
+      "saving all-selectsort.png (frame 226 of 721)\n",
+      "saving all-selectsort.png (frame 227 of 721)\n",
+      "saving all-selectsort.png (frame 228 of 721)\n",
+      "saving all-selectsort.png (frame 229 of 721)\n",
+      "saving all-selectsort.png (frame 230 of 721)\n",
+      "saving all-selectsort.png (frame 231 of 721)\n",
+      "saving all-selectsort.png (frame 232 of 721)\n",
+      "saving all-selectsort.png (frame 233 of 721)\n",
+      "saving all-selectsort.png (frame 234 of 721)\n",
+      "saving all-selectsort.png (frame 235 of 721)\n",
+      "saving all-selectsort.png (frame 236 of 721)\n",
+      "saving all-selectsort.png (frame 237 of 721)\n",
+      "saving all-selectsort.png (frame 238 of 721)\n",
+      "saving all-selectsort.png (frame 239 of 721)\n",
+      "saving all-selectsort.png (frame 240 of 721)\n",
+      "saving all-selectsort.png (frame 241 of 721)\n",
+      "saving all-selectsort.png (frame 242 of 721)\n",
+      "saving all-selectsort.png (frame 243 of 721)\n",
+      "saving all-selectsort.png (frame 244 of 721)\n",
+      "saving all-selectsort.png (frame 245 of 721)\n",
+      "saving all-selectsort.png (frame 246 of 721)\n",
+      "saving all-selectsort.png (frame 247 of 721)\n",
+      "saving all-selectsort.png (frame 248 of 721)\n",
+      "saving all-selectsort.png (frame 249 of 721)\n",
+      "saving all-selectsort.png (frame 250 of 721)\n",
+      "saving all-selectsort.png (frame 251 of 721)\n",
+      "saving all-selectsort.png (frame 252 of 721)\n",
+      "saving all-selectsort.png (frame 253 of 721)\n",
+      "saving all-selectsort.png (frame 254 of 721)\n",
+      "saving all-selectsort.png (frame 255 of 721)\n",
+      "saving all-selectsort.png (frame 256 of 721)\n",
+      "saving all-selectsort.png (frame 257 of 721)\n",
+      "saving all-selectsort.png (frame 258 of 721)\n",
+      "saving all-selectsort.png (frame 259 of 721)\n",
+      "saving all-selectsort.png (frame 260 of 721)\n",
+      "saving all-selectsort.png (frame 261 of 721)\n",
+      "saving all-selectsort.png (frame 262 of 721)\n",
+      "saving all-selectsort.png (frame 263 of 721)\n",
+      "saving all-selectsort.png (frame 264 of 721)\n",
+      "saving all-selectsort.png (frame 265 of 721)\n",
+      "saving all-selectsort.png (frame 266 of 721)\n",
+      "saving all-selectsort.png (frame 267 of 721)\n",
+      "saving all-selectsort.png (frame 268 of 721)\n",
+      "saving all-selectsort.png (frame 269 of 721)\n",
+      "saving all-selectsort.png (frame 270 of 721)\n",
+      "saving all-selectsort.png (frame 271 of 721)\n",
+      "saving all-selectsort.png (frame 272 of 721)\n",
+      "saving all-selectsort.png (frame 273 of 721)\n",
+      "saving all-selectsort.png (frame 274 of 721)\n",
+      "saving all-selectsort.png (frame 275 of 721)\n",
+      "saving all-selectsort.png (frame 276 of 721)\n",
+      "saving all-selectsort.png (frame 277 of 721)\n",
+      "saving all-selectsort.png (frame 278 of 721)\n",
+      "saving all-selectsort.png (frame 279 of 721)\n",
+      "saving all-selectsort.png (frame 280 of 721)\n",
+      "saving all-selectsort.png (frame 281 of 721)\n",
+      "saving all-selectsort.png (frame 282 of 721)\n",
+      "saving all-selectsort.png (frame 283 of 721)\n",
+      "saving all-selectsort.png (frame 284 of 721)\n",
+      "saving all-selectsort.png (frame 285 of 721)\n",
+      "saving all-selectsort.png (frame 286 of 721)\n",
+      "saving all-selectsort.png (frame 287 of 721)\n",
+      "saving all-selectsort.png (frame 288 of 721)\n",
+      "saving all-selectsort.png (frame 289 of 721)\n",
+      "saving all-selectsort.png (frame 290 of 721)\n",
+      "saving all-selectsort.png (frame 291 of 721)\n",
+      "saving all-selectsort.png (frame 292 of 721)\n",
+      "saving all-selectsort.png (frame 293 of 721)\n",
+      "saving all-selectsort.png (frame 294 of 721)\n",
+      "saving all-selectsort.png (frame 295 of 721)\n",
+      "saving all-selectsort.png (frame 296 of 721)\n",
+      "saving all-selectsort.png (frame 297 of 721)\n",
+      "saving all-selectsort.png (frame 298 of 721)\n",
+      "saving all-selectsort.png (frame 299 of 721)\n",
+      "saving all-selectsort.png (frame 300 of 721)\n",
+      "saving all-selectsort.png (frame 301 of 721)\n",
+      "saving all-selectsort.png (frame 302 of 721)\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "saving all-selectsort.png (frame 303 of 721)\n",
+      "saving all-selectsort.png (frame 304 of 721)\n",
+      "saving all-selectsort.png (frame 305 of 721)\n",
+      "saving all-selectsort.png (frame 306 of 721)\n",
+      "saving all-selectsort.png (frame 307 of 721)\n",
+      "saving all-selectsort.png (frame 308 of 721)\n",
+      "saving all-selectsort.png (frame 309 of 721)\n",
+      "saving all-selectsort.png (frame 310 of 721)\n",
+      "saving all-selectsort.png (frame 311 of 721)\n",
+      "saving all-selectsort.png (frame 312 of 721)\n",
+      "saving all-selectsort.png (frame 313 of 721)\n",
+      "saving all-selectsort.png (frame 314 of 721)\n",
+      "saving all-selectsort.png (frame 315 of 721)\n",
+      "saving all-selectsort.png (frame 316 of 721)\n",
+      "saving all-selectsort.png (frame 317 of 721)\n",
+      "saving all-selectsort.png (frame 318 of 721)\n",
+      "saving all-selectsort.png (frame 319 of 721)\n",
+      "saving all-selectsort.png (frame 320 of 721)\n",
+      "saving all-selectsort.png (frame 321 of 721)\n",
+      "saving all-selectsort.png (frame 322 of 721)\n",
+      "saving all-selectsort.png (frame 323 of 721)\n",
+      "saving all-selectsort.png (frame 324 of 721)\n",
+      "saving all-selectsort.png (frame 325 of 721)\n",
+      "saving all-selectsort.png (frame 326 of 721)\n",
+      "saving all-selectsort.png (frame 327 of 721)\n",
+      "saving all-selectsort.png (frame 328 of 721)\n",
+      "saving all-selectsort.png (frame 329 of 721)\n",
+      "saving all-selectsort.png (frame 330 of 721)\n",
+      "saving all-selectsort.png (frame 331 of 721)\n",
+      "saving all-selectsort.png (frame 332 of 721)\n",
+      "saving all-selectsort.png (frame 333 of 721)\n",
+      "saving all-selectsort.png (frame 334 of 721)\n",
+      "saving all-selectsort.png (frame 335 of 721)\n",
+      "saving all-selectsort.png (frame 336 of 721)\n",
+      "saving all-selectsort.png (frame 337 of 721)\n",
+      "saving all-selectsort.png (frame 338 of 721)\n",
+      "saving all-selectsort.png (frame 339 of 721)\n",
+      "saving all-selectsort.png (frame 340 of 721)\n",
+      "saving all-selectsort.png (frame 341 of 721)\n",
+      "saving all-selectsort.png (frame 342 of 721)\n",
+      "saving all-selectsort.png (frame 343 of 721)\n",
+      "saving all-selectsort.png (frame 344 of 721)\n",
+      "saving all-selectsort.png (frame 345 of 721)\n",
+      "saving all-selectsort.png (frame 346 of 721)\n",
+      "saving all-selectsort.png (frame 347 of 721)\n",
+      "saving all-selectsort.png (frame 348 of 721)\n",
+      "saving all-selectsort.png (frame 349 of 721)\n",
+      "saving all-selectsort.png (frame 350 of 721)\n",
+      "saving all-selectsort.png (frame 351 of 721)\n",
+      "saving all-selectsort.png (frame 352 of 721)\n",
+      "saving all-selectsort.png (frame 353 of 721)\n",
+      "saving all-selectsort.png (frame 354 of 721)\n",
+      "saving all-selectsort.png (frame 355 of 721)\n",
+      "saving all-selectsort.png (frame 356 of 721)\n",
+      "saving all-selectsort.png (frame 357 of 721)\n",
+      "saving all-selectsort.png (frame 358 of 721)\n",
+      "saving all-selectsort.png (frame 359 of 721)\n",
+      "saving all-selectsort.png (frame 360 of 721)\n",
+      "saving all-selectsort.png (frame 361 of 721)\n",
+      "saving all-selectsort.png (frame 362 of 721)\n",
+      "saving all-selectsort.png (frame 363 of 721)\n",
+      "saving all-selectsort.png (frame 364 of 721)\n",
+      "saving all-selectsort.png (frame 365 of 721)\n",
+      "saving all-selectsort.png (frame 366 of 721)\n",
+      "saving all-selectsort.png (frame 367 of 721)\n",
+      "saving all-selectsort.png (frame 368 of 721)\n",
+      "saving all-selectsort.png (frame 369 of 721)\n",
+      "saving all-selectsort.png (frame 370 of 721)\n",
+      "saving all-selectsort.png (frame 371 of 721)\n",
+      "saving all-selectsort.png (frame 372 of 721)\n",
+      "saving all-selectsort.png (frame 373 of 721)\n",
+      "saving all-selectsort.png (frame 374 of 721)\n",
+      "saving all-selectsort.png (frame 375 of 721)\n",
+      "saving all-selectsort.png (frame 376 of 721)\n",
+      "saving all-selectsort.png (frame 377 of 721)\n",
+      "saving all-selectsort.png (frame 378 of 721)\n",
+      "saving all-selectsort.png (frame 379 of 721)\n",
+      "saving all-selectsort.png (frame 380 of 721)\n",
+      "saving all-selectsort.png (frame 381 of 721)\n",
+      "saving all-selectsort.png (frame 382 of 721)\n",
+      "saving all-selectsort.png (frame 383 of 721)\n",
+      "saving all-selectsort.png (frame 384 of 721)\n",
+      "saving all-selectsort.png (frame 385 of 721)\n",
+      "saving all-selectsort.png (frame 386 of 721)\n",
+      "saving all-selectsort.png (frame 387 of 721)\n",
+      "saving all-selectsort.png (frame 388 of 721)\n",
+      "saving all-selectsort.png (frame 389 of 721)\n",
+      "saving all-selectsort.png (frame 390 of 721)\n",
+      "saving all-selectsort.png (frame 391 of 721)\n",
+      "saving all-selectsort.png (frame 392 of 721)\n",
+      "saving all-selectsort.png (frame 393 of 721)\n",
+      "saving all-selectsort.png (frame 394 of 721)\n",
+      "saving all-selectsort.png (frame 395 of 721)\n",
+      "saving all-selectsort.png (frame 396 of 721)\n",
+      "saving all-selectsort.png (frame 397 of 721)\n",
+      "saving all-selectsort.png (frame 398 of 721)\n",
+      "saving all-selectsort.png (frame 399 of 721)\n",
+      "saving all-selectsort.png (frame 400 of 721)\n",
+      "saving all-selectsort.png (frame 401 of 721)\n",
+      "saving all-selectsort.png (frame 402 of 721)\n",
+      "saving all-selectsort.png (frame 403 of 721)\n",
+      "saving all-selectsort.png (frame 404 of 721)\n",
+      "saving all-selectsort.png (frame 405 of 721)\n",
+      "saving all-selectsort.png (frame 406 of 721)\n",
+      "saving all-selectsort.png (frame 407 of 721)\n",
+      "saving all-selectsort.png (frame 408 of 721)\n",
+      "saving all-selectsort.png (frame 409 of 721)\n",
+      "saving all-selectsort.png (frame 410 of 721)\n",
+      "saving all-selectsort.png (frame 411 of 721)\n",
+      "saving all-selectsort.png (frame 412 of 721)\n",
+      "saving all-selectsort.png (frame 413 of 721)\n",
+      "saving all-selectsort.png (frame 414 of 721)\n",
+      "saving all-selectsort.png (frame 415 of 721)\n",
+      "saving all-selectsort.png (frame 416 of 721)\n",
+      "saving all-selectsort.png (frame 417 of 721)\n",
+      "saving all-selectsort.png (frame 418 of 721)\n",
+      "saving all-selectsort.png (frame 419 of 721)\n",
+      "saving all-selectsort.png (frame 420 of 721)\n",
+      "saving all-selectsort.png (frame 421 of 721)\n",
+      "saving all-selectsort.png (frame 422 of 721)\n",
+      "saving all-selectsort.png (frame 423 of 721)\n",
+      "saving all-selectsort.png (frame 424 of 721)\n",
+      "saving all-selectsort.png (frame 425 of 721)\n",
+      "saving all-selectsort.png (frame 426 of 721)\n",
+      "saving all-selectsort.png (frame 427 of 721)\n",
+      "saving all-selectsort.png (frame 428 of 721)\n",
+      "saving all-selectsort.png (frame 429 of 721)\n",
+      "saving all-selectsort.png (frame 430 of 721)\n",
+      "saving all-selectsort.png (frame 431 of 721)\n",
+      "saving all-selectsort.png (frame 432 of 721)\n",
+      "saving all-selectsort.png (frame 433 of 721)\n",
+      "saving all-selectsort.png (frame 434 of 721)\n",
+      "saving all-selectsort.png (frame 435 of 721)\n",
+      "saving all-selectsort.png (frame 436 of 721)\n",
+      "saving all-selectsort.png (frame 437 of 721)\n",
+      "saving all-selectsort.png (frame 438 of 721)\n",
+      "saving all-selectsort.png (frame 439 of 721)\n",
+      "saving all-selectsort.png (frame 440 of 721)\n",
+      "saving all-selectsort.png (frame 441 of 721)\n",
+      "saving all-selectsort.png (frame 442 of 721)\n",
+      "saving all-selectsort.png (frame 443 of 721)\n",
+      "saving all-selectsort.png (frame 444 of 721)\n",
+      "saving all-selectsort.png (frame 445 of 721)\n",
+      "saving all-selectsort.png (frame 446 of 721)\n",
+      "saving all-selectsort.png (frame 447 of 721)\n",
+      "saving all-selectsort.png (frame 448 of 721)\n",
+      "saving all-selectsort.png (frame 449 of 721)\n",
+      "saving all-selectsort.png (frame 450 of 721)\n",
+      "saving all-selectsort.png (frame 451 of 721)\n",
+      "saving all-selectsort.png (frame 452 of 721)\n",
+      "saving all-selectsort.png (frame 453 of 721)\n",
+      "saving all-selectsort.png (frame 454 of 721)\n",
+      "saving all-selectsort.png (frame 455 of 721)\n",
+      "saving all-selectsort.png (frame 456 of 721)\n",
+      "saving all-selectsort.png (frame 457 of 721)\n",
+      "saving all-selectsort.png (frame 458 of 721)\n",
+      "saving all-selectsort.png (frame 459 of 721)\n",
+      "saving all-selectsort.png (frame 460 of 721)\n",
+      "saving all-selectsort.png (frame 461 of 721)\n",
+      "saving all-selectsort.png (frame 462 of 721)\n",
+      "saving all-selectsort.png (frame 463 of 721)\n",
+      "saving all-selectsort.png (frame 464 of 721)\n",
+      "saving all-selectsort.png (frame 465 of 721)\n",
+      "saving all-selectsort.png (frame 466 of 721)\n",
+      "saving all-selectsort.png (frame 467 of 721)\n",
+      "saving all-selectsort.png (frame 468 of 721)\n",
+      "saving all-selectsort.png (frame 469 of 721)\n",
+      "saving all-selectsort.png (frame 470 of 721)\n",
+      "saving all-selectsort.png (frame 471 of 721)\n",
+      "saving all-selectsort.png (frame 472 of 721)\n",
+      "saving all-selectsort.png (frame 473 of 721)\n",
+      "saving all-selectsort.png (frame 474 of 721)\n",
+      "saving all-selectsort.png (frame 475 of 721)\n",
+      "saving all-selectsort.png (frame 476 of 721)\n",
+      "saving all-selectsort.png (frame 477 of 721)\n",
+      "saving all-selectsort.png (frame 478 of 721)\n",
+      "saving all-selectsort.png (frame 479 of 721)\n",
+      "saving all-selectsort.png (frame 480 of 721)\n",
+      "saving all-selectsort.png (frame 481 of 721)\n",
+      "saving all-selectsort.png (frame 482 of 721)\n",
+      "saving all-selectsort.png (frame 483 of 721)\n",
+      "saving all-selectsort.png (frame 484 of 721)\n",
+      "saving all-selectsort.png (frame 485 of 721)\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "saving all-selectsort.png (frame 486 of 721)\n",
+      "saving all-selectsort.png (frame 487 of 721)\n",
+      "saving all-selectsort.png (frame 488 of 721)\n",
+      "saving all-selectsort.png (frame 489 of 721)\n",
+      "saving all-selectsort.png (frame 490 of 721)\n",
+      "saving all-selectsort.png (frame 491 of 721)\n",
+      "saving all-selectsort.png (frame 492 of 721)\n",
+      "saving all-selectsort.png (frame 493 of 721)\n",
+      "saving all-selectsort.png (frame 494 of 721)\n",
+      "saving all-selectsort.png (frame 495 of 721)\n",
+      "saving all-selectsort.png (frame 496 of 721)\n",
+      "saving all-selectsort.png (frame 497 of 721)\n",
+      "saving all-selectsort.png (frame 498 of 721)\n",
+      "saving all-selectsort.png (frame 499 of 721)\n",
+      "saving all-selectsort.png (frame 500 of 721)\n",
+      "saving all-selectsort.png (frame 501 of 721)\n",
+      "saving all-selectsort.png (frame 502 of 721)\n",
+      "saving all-selectsort.png (frame 503 of 721)\n",
+      "saving all-selectsort.png (frame 504 of 721)\n",
+      "saving all-selectsort.png (frame 505 of 721)\n",
+      "saving all-selectsort.png (frame 506 of 721)\n",
+      "saving all-selectsort.png (frame 507 of 721)\n",
+      "saving all-selectsort.png (frame 508 of 721)\n",
+      "saving all-selectsort.png (frame 509 of 721)\n",
+      "saving all-selectsort.png (frame 510 of 721)\n",
+      "saving all-selectsort.png (frame 511 of 721)\n",
+      "saving all-selectsort.png (frame 512 of 721)\n",
+      "saving all-selectsort.png (frame 513 of 721)\n",
+      "saving all-selectsort.png (frame 514 of 721)\n",
+      "saving all-selectsort.png (frame 515 of 721)\n",
+      "saving all-selectsort.png (frame 516 of 721)\n",
+      "saving all-selectsort.png (frame 517 of 721)\n",
+      "saving all-selectsort.png (frame 518 of 721)\n",
+      "saving all-selectsort.png (frame 519 of 721)\n",
+      "saving all-selectsort.png (frame 520 of 721)\n",
+      "saving all-selectsort.png (frame 521 of 721)\n",
+      "saving all-selectsort.png (frame 522 of 721)\n",
+      "saving all-selectsort.png (frame 523 of 721)\n",
+      "saving all-selectsort.png (frame 524 of 721)\n",
+      "saving all-selectsort.png (frame 525 of 721)\n",
+      "saving all-selectsort.png (frame 526 of 721)\n",
+      "saving all-selectsort.png (frame 527 of 721)\n",
+      "saving all-selectsort.png (frame 528 of 721)\n",
+      "saving all-selectsort.png (frame 529 of 721)\n",
+      "saving all-selectsort.png (frame 530 of 721)\n",
+      "saving all-selectsort.png (frame 531 of 721)\n",
+      "saving all-selectsort.png (frame 532 of 721)\n",
+      "saving all-selectsort.png (frame 533 of 721)\n",
+      "saving all-selectsort.png (frame 534 of 721)\n",
+      "saving all-selectsort.png (frame 535 of 721)\n",
+      "saving all-selectsort.png (frame 536 of 721)\n",
+      "saving all-selectsort.png (frame 537 of 721)\n",
+      "saving all-selectsort.png (frame 538 of 721)\n",
+      "saving all-selectsort.png (frame 539 of 721)\n",
+      "saving all-selectsort.png (frame 540 of 721)\n",
+      "saving all-selectsort.png (frame 541 of 721)\n",
+      "saving all-selectsort.png (frame 542 of 721)\n",
+      "saving all-selectsort.png (frame 543 of 721)\n",
+      "saving all-selectsort.png (frame 544 of 721)\n",
+      "saving all-selectsort.png (frame 545 of 721)\n",
+      "saving all-selectsort.png (frame 546 of 721)\n",
+      "saving all-selectsort.png (frame 547 of 721)\n",
+      "saving all-selectsort.png (frame 548 of 721)\n",
+      "saving all-selectsort.png (frame 549 of 721)\n",
+      "saving all-selectsort.png (frame 550 of 721)\n",
+      "saving all-selectsort.png (frame 551 of 721)\n",
+      "saving all-selectsort.png (frame 552 of 721)\n",
+      "saving all-selectsort.png (frame 553 of 721)\n",
+      "saving all-selectsort.png (frame 554 of 721)\n",
+      "saving all-selectsort.png (frame 555 of 721)\n",
+      "saving all-selectsort.png (frame 556 of 721)\n",
+      "saving all-selectsort.png (frame 557 of 721)\n",
+      "saving all-selectsort.png (frame 558 of 721)\n",
+      "saving all-selectsort.png (frame 559 of 721)\n",
+      "saving all-selectsort.png (frame 560 of 721)\n",
+      "saving all-selectsort.png (frame 561 of 721)\n",
+      "saving all-selectsort.png (frame 562 of 721)\n",
+      "saving all-selectsort.png (frame 563 of 721)\n",
+      "saving all-selectsort.png (frame 564 of 721)\n",
+      "saving all-selectsort.png (frame 565 of 721)\n",
+      "saving all-selectsort.png (frame 566 of 721)\n",
+      "saving all-selectsort.png (frame 567 of 721)\n",
+      "saving all-selectsort.png (frame 568 of 721)\n",
+      "saving all-selectsort.png (frame 569 of 721)\n",
+      "saving all-selectsort.png (frame 570 of 721)\n",
+      "saving all-selectsort.png (frame 571 of 721)\n",
+      "saving all-selectsort.png (frame 572 of 721)\n",
+      "saving all-selectsort.png (frame 573 of 721)\n",
+      "saving all-selectsort.png (frame 574 of 721)\n",
+      "saving all-selectsort.png (frame 575 of 721)\n",
+      "saving all-selectsort.png (frame 576 of 721)\n",
+      "saving all-selectsort.png (frame 577 of 721)\n",
+      "saving all-selectsort.png (frame 578 of 721)\n",
+      "saving all-selectsort.png (frame 579 of 721)\n",
+      "saving all-selectsort.png (frame 580 of 721)\n",
+      "saving all-selectsort.png (frame 581 of 721)\n",
+      "saving all-selectsort.png (frame 582 of 721)\n",
+      "saving all-selectsort.png (frame 583 of 721)\n",
+      "saving all-selectsort.png (frame 584 of 721)\n",
+      "saving all-selectsort.png (frame 585 of 721)\n",
+      "saving all-selectsort.png (frame 586 of 721)\n",
+      "saving all-selectsort.png (frame 587 of 721)\n",
+      "saving all-selectsort.png (frame 588 of 721)\n",
+      "saving all-selectsort.png (frame 589 of 721)\n",
+      "saving all-selectsort.png (frame 590 of 721)\n",
+      "saving all-selectsort.png (frame 591 of 721)\n",
+      "saving all-selectsort.png (frame 592 of 721)\n",
+      "saving all-selectsort.png (frame 593 of 721)\n",
+      "saving all-selectsort.png (frame 594 of 721)\n",
+      "saving all-selectsort.png (frame 595 of 721)\n",
+      "saving all-selectsort.png (frame 596 of 721)\n",
+      "saving all-selectsort.png (frame 597 of 721)\n",
+      "saving all-selectsort.png (frame 598 of 721)\n",
+      "saving all-selectsort.png (frame 599 of 721)\n",
+      "saving all-selectsort.png (frame 600 of 721)\n",
+      "saving all-selectsort.png (frame 601 of 721)\n",
+      "saving all-selectsort.png (frame 602 of 721)\n",
+      "saving all-selectsort.png (frame 603 of 721)\n",
+      "saving all-selectsort.png (frame 604 of 721)\n",
+      "saving all-selectsort.png (frame 605 of 721)\n",
+      "saving all-selectsort.png (frame 606 of 721)\n",
+      "saving all-selectsort.png (frame 607 of 721)\n",
+      "saving all-selectsort.png (frame 608 of 721)\n",
+      "saving all-selectsort.png (frame 609 of 721)\n",
+      "saving all-selectsort.png (frame 610 of 721)\n",
+      "saving all-selectsort.png (frame 611 of 721)\n",
+      "saving all-selectsort.png (frame 612 of 721)\n",
+      "saving all-selectsort.png (frame 613 of 721)\n",
+      "saving all-selectsort.png (frame 614 of 721)\n",
+      "saving all-selectsort.png (frame 615 of 721)\n",
+      "saving all-selectsort.png (frame 616 of 721)\n",
+      "saving all-selectsort.png (frame 617 of 721)\n",
+      "saving all-selectsort.png (frame 618 of 721)\n",
+      "saving all-selectsort.png (frame 619 of 721)\n",
+      "saving all-selectsort.png (frame 620 of 721)\n",
+      "saving all-selectsort.png (frame 621 of 721)\n",
+      "saving all-selectsort.png (frame 622 of 721)\n",
+      "saving all-selectsort.png (frame 623 of 721)\n",
+      "saving all-selectsort.png (frame 624 of 721)\n",
+      "saving all-selectsort.png (frame 625 of 721)\n",
+      "saving all-selectsort.png (frame 626 of 721)\n",
+      "saving all-selectsort.png (frame 627 of 721)\n",
+      "saving all-selectsort.png (frame 628 of 721)\n",
+      "saving all-selectsort.png (frame 629 of 721)\n",
+      "saving all-selectsort.png (frame 630 of 721)\n",
+      "saving all-selectsort.png (frame 631 of 721)\n",
+      "saving all-selectsort.png (frame 632 of 721)\n",
+      "saving all-selectsort.png (frame 633 of 721)\n",
+      "saving all-selectsort.png (frame 634 of 721)\n",
+      "saving all-selectsort.png (frame 635 of 721)\n",
+      "saving all-selectsort.png (frame 636 of 721)\n",
+      "saving all-selectsort.png (frame 637 of 721)\n",
+      "saving all-selectsort.png (frame 638 of 721)\n",
+      "saving all-selectsort.png (frame 639 of 721)\n",
+      "saving all-selectsort.png (frame 640 of 721)\n",
+      "saving all-selectsort.png (frame 641 of 721)\n",
+      "saving all-selectsort.png (frame 642 of 721)\n",
+      "saving all-selectsort.png (frame 643 of 721)\n",
+      "saving all-selectsort.png (frame 644 of 721)\n",
+      "saving all-selectsort.png (frame 645 of 721)\n",
+      "saving all-selectsort.png (frame 646 of 721)\n",
+      "saving all-selectsort.png (frame 647 of 721)\n",
+      "saving all-selectsort.png (frame 648 of 721)\n",
+      "saving all-selectsort.png (frame 649 of 721)\n",
+      "saving all-selectsort.png (frame 650 of 721)\n",
+      "saving all-selectsort.png (frame 651 of 721)\n",
+      "saving all-selectsort.png (frame 652 of 721)\n",
+      "saving all-selectsort.png (frame 653 of 721)\n",
+      "saving all-selectsort.png (frame 654 of 721)\n",
+      "saving all-selectsort.png (frame 655 of 721)\n",
+      "saving all-selectsort.png (frame 656 of 721)\n",
+      "saving all-selectsort.png (frame 657 of 721)\n",
+      "saving all-selectsort.png (frame 658 of 721)\n",
+      "saving all-selectsort.png (frame 659 of 721)\n",
+      "saving all-selectsort.png (frame 660 of 721)\n",
+      "saving all-selectsort.png (frame 661 of 721)\n",
+      "saving all-selectsort.png (frame 662 of 721)\n",
+      "saving all-selectsort.png (frame 663 of 721)\n",
+      "saving all-selectsort.png (frame 664 of 721)\n",
+      "saving all-selectsort.png (frame 665 of 721)\n",
+      "saving all-selectsort.png (frame 666 of 721)\n",
+      "saving all-selectsort.png (frame 667 of 721)\n",
+      "saving all-selectsort.png (frame 668 of 721)\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "saving all-selectsort.png (frame 669 of 721)\n",
+      "saving all-selectsort.png (frame 670 of 721)\n",
+      "saving all-selectsort.png (frame 671 of 721)\n",
+      "saving all-selectsort.png (frame 672 of 721)\n",
+      "saving all-selectsort.png (frame 673 of 721)\n",
+      "saving all-selectsort.png (frame 674 of 721)\n",
+      "saving all-selectsort.png (frame 675 of 721)\n",
+      "saving all-selectsort.png (frame 676 of 721)\n",
+      "saving all-selectsort.png (frame 677 of 721)\n",
+      "saving all-selectsort.png (frame 678 of 721)\n",
+      "saving all-selectsort.png (frame 679 of 721)\n",
+      "saving all-selectsort.png (frame 680 of 721)\n",
+      "saving all-selectsort.png (frame 681 of 721)\n",
+      "saving all-selectsort.png (frame 682 of 721)\n",
+      "saving all-selectsort.png (frame 683 of 721)\n",
+      "saving all-selectsort.png (frame 684 of 721)\n",
+      "saving all-selectsort.png (frame 685 of 721)\n",
+      "saving all-selectsort.png (frame 686 of 721)\n",
+      "saving all-selectsort.png (frame 687 of 721)\n",
+      "saving all-selectsort.png (frame 688 of 721)\n",
+      "saving all-selectsort.png (frame 689 of 721)\n",
+      "saving all-selectsort.png (frame 690 of 721)\n",
+      "saving all-selectsort.png (frame 691 of 721)\n",
+      "saving all-selectsort.png (frame 692 of 721)\n",
+      "saving all-selectsort.png (frame 693 of 721)\n",
+      "saving all-selectsort.png (frame 694 of 721)\n",
+      "saving all-selectsort.png (frame 695 of 721)\n",
+      "saving all-selectsort.png (frame 696 of 721)\n",
+      "saving all-selectsort.png (frame 697 of 721)\n",
+      "saving all-selectsort.png (frame 698 of 721)\n",
+      "saving all-selectsort.png (frame 699 of 721)\n",
+      "saving all-selectsort.png (frame 700 of 721)\n",
+      "saving all-selectsort.png (frame 701 of 721)\n",
+      "saving all-selectsort.png (frame 702 of 721)\n",
+      "saving all-selectsort.png (frame 703 of 721)\n",
+      "saving all-selectsort.png (frame 704 of 721)\n",
+      "saving all-selectsort.png (frame 705 of 721)\n",
+      "saving all-selectsort.png (frame 706 of 721)\n",
+      "saving all-selectsort.png (frame 707 of 721)\n",
+      "saving all-selectsort.png (frame 708 of 721)\n",
+      "saving all-selectsort.png (frame 709 of 721)\n",
+      "saving all-selectsort.png (frame 710 of 721)\n",
+      "saving all-selectsort.png (frame 711 of 721)\n",
+      "saving all-selectsort.png (frame 712 of 721)\n",
+      "saving all-selectsort.png (frame 713 of 721)\n",
+      "saving all-selectsort.png (frame 714 of 721)\n",
+      "saving all-selectsort.png (frame 715 of 721)\n",
+      "saving all-selectsort.png (frame 716 of 721)\n",
+      "saving all-selectsort.png (frame 717 of 721)\n",
+      "saving all-selectsort.png (frame 718 of 721)\n",
+      "saving all-selectsort.png (frame 719 of 721)\n",
+      "saving all-selectsort.png (frame 720 of 721)\n",
+      "saving all-selectsort.png (frame 721 of 721)\n",
+      "all done\n"
+     ]
+    }
+   ],
+   "source": [
+    "! apngasm all-selectsort.png selectsort*png 1 10"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.5.3"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}