diff --git a/8Queens .ipynb b/8Queens .ipynb new file mode 100644 index 0000000..0a1391f --- /dev/null +++ b/8Queens .ipynb @@ -0,0 +1,2995 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import random\n", + "from itertools import islice " + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\" \n", + " quality checks by analysing any queens in diagonal.\n", + " We will select one row , loop through each rows and see the any element exist\n", + " and counts the checksrelations\n", + "\"\"\"\n", + "def quality_check(list):\n", + " column = 0\n", + " q = 0\n", + " row_index = 1\n", + " for row in list:\n", + " diff = row - (column + 1)\n", + " row_index = 1 \n", + " for col in range(column + 1,8):\n", + " row1 = list[col]\n", + " if ((row1 - row_index == row) | (row1 + row_index == row )):\n", + " q = q + 1\n", + " row_index = row_index + 1\n", + " column = column + 1\n", + " return q" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + " Initialize the parents with value between 1 - 8 and unique number\n", + "\"\"\"\n", + "def initialize():\n", + " no_population = 5\n", + " population = []\n", + " for p_no in range(0, no_population):\n", + " pop = random.sample(range(1,9), 8)\n", + " population.append(pop)\n", + " return population" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "def parent_selection(population):\n", + " quality = {}\n", + " index = 0\n", + " \n", + " for pop in population:\n", + " q1 = quality_check(pop)\n", + " quality[index] = q1\n", + " index = index + 1\n", + " #\"\"\" make dict and sort \"\"\"\n", + " quality1 = {k: v for k, v in sorted(quality.items(), key=lambda item: item[1])}\n", + " first, second = islice(quality1.keys(), 2) \n", + " \n", + " parent1 = population[first]\n", + " parent2 = population[second]\n", + " \n", + " return parent1, parent2\n", + "\n", + " \n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "def partial_mapped_crossover(parent1, parent2):\n", + " \n", + "\n", + " firstCrossPoint = np.random.randint(0,len(parent1)-2)\n", + " secondCrossPoint = np.random.randint(firstCrossPoint+1,len(parent1)-1)\n", + "\n", + " print(firstCrossPoint, secondCrossPoint)\n", + "\n", + " parent1MiddleCross = parent1[firstCrossPoint:secondCrossPoint]\n", + " parent2MiddleCross = parent2[firstCrossPoint:secondCrossPoint]\n", + "\n", + " temp_child1 = parent1[:firstCrossPoint] + parent2MiddleCross + parent1[secondCrossPoint:]\n", + "\n", + " temp_child2 = parent2[:firstCrossPoint] + parent1MiddleCross + parent2[secondCrossPoint:]\n", + "\n", + " relations = []\n", + " for i in range(len(parent1MiddleCross)):\n", + " relations.append([parent2MiddleCross[i], parent1MiddleCross[i]])\n", + "\n", + " print(relations)\n", + "\n", + " \n", + "\n", + " child1=recursion1(temp_child1,firstCrossPoint,secondCrossPoint,parent1MiddleCross,parent2MiddleCross, relations)\n", + " child2=recursion2(temp_child2,firstCrossPoint,secondCrossPoint,parent1MiddleCross,parent2MiddleCross, relations)\n", + "\n", + " print(child1)\n", + " print(child2)\n", + " \n", + " return [list(child1), list(child2)]\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "def recursion1 (temp_child , firstCrossPoint , secondCrossPoint , parent1MiddleCross , parent2MiddleCross, relations) :\n", + " child = np.array([0 for i in range(len(parent1))])\n", + " for i,j in enumerate(temp_child[:firstCrossPoint]):\n", + " c=0\n", + " for x in relations:\n", + " if j == x[0]:\n", + " child[i]=x[1]\n", + " c=1\n", + " break\n", + " if c==0:\n", + " child[i]=j\n", + " j=0\n", + " for i in range(firstCrossPoint,secondCrossPoint):\n", + " child[i]=parent2MiddleCross[j]\n", + " j+=1\n", + "\n", + " for i,j in enumerate(temp_child[secondCrossPoint:]):\n", + " c=0\n", + " for x in relations:\n", + " if j == x[0]:\n", + " child[i+secondCrossPoint]=x[1]\n", + " c=1\n", + " break\n", + " if c==0:\n", + " child[i+secondCrossPoint]=j\n", + " child_unique=np.unique(child)\n", + " if len(child)>len(child_unique):\n", + " child=recursion1(child,firstCrossPoint,secondCrossPoint,parent1MiddleCross,parent2MiddleCross, relations)\n", + " return(child)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "def recursion2(temp_child,firstCrossPoint,secondCrossPoint,parent1MiddleCross,parent2MiddleCross, relations):\n", + " child = np.array([0 for i in range(len(parent1))])\n", + " for i,j in enumerate(temp_child[:firstCrossPoint]):\n", + " c=0\n", + " for x in relations:\n", + " if j == x[1]:\n", + " child[i]=x[0]\n", + " c=1\n", + " break\n", + " if c==0:\n", + " child[i]=j\n", + " j=0\n", + " for i in range(firstCrossPoint,secondCrossPoint):\n", + " child[i]=parent1MiddleCross[j]\n", + " j+=1\n", + "\n", + " for i,j in enumerate(temp_child[secondCrossPoint:]):\n", + " c=0\n", + " for x in relations:\n", + " if j == x[1]:\n", + " child[i+secondCrossPoint]=x[0]\n", + " c=1\n", + " break\n", + " if c==0:\n", + " child[i+secondCrossPoint]=j\n", + " child_unique=np.unique(child)\n", + " if len(child)>len(child_unique):\n", + " child=recursion2(child,firstCrossPoint,secondCrossPoint,parent1MiddleCross,parent2MiddleCross, relations)\n", + " return(child)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + " One point cross over , cut and cross over\n", + "\"\"\"\n", + "def cross_over(child1, child2):\n", + " \n", + " index = random.randint(0,7)\n", + " \n", + " for i in range(index, 8): \n", + " child1[i], child2[i] = child2[i], child1[i] \n", + " \n", + " return [child1, child2]" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + " Swap mutate\n", + "\"\"\"\n", + "def mutate_swap(child):\n", + " r1, r2 = random.sample(range(0, 7), 2)\n", + " print(r1)\n", + " print(r2)\n", + " child[r1], child[r2] = child[r2], child[r1]\n", + " return child\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "def add_to_population(population, child1, child2):\n", + " population.append(child1)\n", + " population.append(child2)\n", + " return population" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "def survival_fitness(population):\n", + " quality = {}\n", + " index = 0\n", + " \n", + " for pop in population:\n", + " q1 = quality_check(pop)\n", + " quality[index] = q1\n", + " index = index + 1\n", + " \"\"\" make dict and sort \"\"\"\n", + " quality1 = {k: v for k, v in sorted(quality.items(), key=lambda item: item[1], reverse=True)}\n", + " print(quality1)\n", + " first, second = islice(quality1.keys(), 2) \n", + " \n", + " p1 = population[first]\n", + " p2 = population[second]\n", + " \n", + " print(p1)\n", + " print(p2)\n", + " \n", + " population.remove(p1)\n", + " population.remove(p2)\n", + " \n", + " print(population)\n", + " return population\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "population = initialize()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[[7, 6, 2, 5, 4, 1, 8, 3],\n", + " [3, 8, 6, 1, 7, 5, 2, 4],\n", + " [7, 4, 1, 3, 5, 8, 6, 2],\n", + " [5, 8, 2, 4, 3, 6, 1, 7],\n", + " [3, 1, 5, 4, 7, 6, 8, 2]]" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "population" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1 4\n", + "[[4, 8], [1, 6], [3, 1]]\n", + "[6 4 1 3 7 5 2 8]\n", + "[7 8 6 1 5 4 3 2]\n", + "1\n", + "6\n", + "0\n", + "6\n", + "{6: 7, 4: 6, 0: 5, 3: 5, 5: 5, 1: 3, 2: 3}\n", + "[3, 8, 6, 1, 5, 4, 7, 2]\n", + "[3, 1, 5, 4, 7, 6, 8, 2]\n", + "[[7, 6, 2, 5, 4, 1, 8, 3], [3, 8, 6, 1, 7, 5, 2, 4], [7, 4, 1, 3, 5, 8, 6, 2], [5, 8, 2, 4, 3, 6, 1, 7], [6, 2, 1, 3, 7, 5, 4, 8]]\n", + "2 3\n", + "[[1, 6]]\n", + "[3 8 1 6 7 5 2 4]\n", + "[7 4 6 3 5 8 1 2]\n", + "1\n", + "3\n", + "6\n", + "0\n", + "{5: 6, 6: 6, 0: 5, 3: 5, 4: 5, 1: 3, 2: 3}\n", + "[3, 6, 1, 8, 7, 5, 2, 4]\n", + "[1, 4, 6, 3, 5, 8, 7, 2]\n", + "[[7, 6, 2, 5, 4, 1, 8, 3], [3, 8, 6, 1, 7, 5, 2, 4], [7, 4, 1, 3, 5, 8, 6, 2], [5, 8, 2, 4, 3, 6, 1, 7], [6, 2, 1, 3, 7, 5, 4, 8]]\n", + "0 3\n", + "[[7, 3], [4, 8], [1, 6]]\n", + "[7 4 1 6 3 5 2 8]\n", + "[3 8 6 7 5 4 1 2]\n", + "6\n", + "4\n", + "5\n", + "3\n", + "{6: 6, 0: 5, 3: 5, 4: 5, 1: 3, 2: 3, 5: 2}\n", + "[3, 8, 6, 4, 5, 7, 1, 2]\n", + "[7, 6, 2, 5, 4, 1, 8, 3]\n", + "[[3, 8, 6, 1, 7, 5, 2, 4], [7, 4, 1, 3, 5, 8, 6, 2], [5, 8, 2, 4, 3, 6, 1, 7], [6, 2, 1, 3, 7, 5, 4, 8], [7, 4, 1, 6, 2, 5, 3, 8]]\n", + "1 2\n", + "[[8, 4]]\n", + "[7 8 1 6 2 5 3 4]\n", + "[3 4 6 1 7 5 2 8]\n", + "0\n", + "5\n", + "5\n", + "4\n", + "{2: 5, 3: 5, 5: 4, 0: 3, 1: 3, 6: 3, 4: 2}\n", + "[5, 8, 2, 4, 3, 6, 1, 7]\n", + "[6, 2, 1, 3, 7, 5, 4, 8]\n", + "[[3, 8, 6, 1, 7, 5, 2, 4], [7, 4, 1, 3, 5, 8, 6, 2], [7, 4, 1, 6, 2, 5, 3, 8], [5, 8, 1, 6, 2, 7, 3, 4], [3, 4, 6, 1, 5, 7, 2, 8]]\n", + "0 3\n", + "[[3, 7], [8, 4], [6, 1]]\n", + "[3 8 6 1 2 5 7 4]\n", + "[7 4 1 6 3 5 2 8]\n", + "4\n", + "3\n", + "4\n", + "2\n", + "{6: 5, 3: 4, 0: 3, 1: 3, 4: 3, 2: 2, 5: 2}\n", + "[7, 4, 3, 6, 1, 5, 2, 8]\n", + "[5, 8, 1, 6, 2, 7, 3, 4]\n", + "[[3, 8, 6, 1, 7, 5, 2, 4], [7, 4, 1, 3, 5, 8, 6, 2], [7, 4, 1, 6, 2, 5, 3, 8], [3, 4, 6, 1, 5, 7, 2, 8], [3, 8, 6, 2, 1, 5, 7, 4]]\n", + "2 4\n", + "[[6, 1], [2, 6]]\n", + "[7 4 6 2 1 5 3 8]\n", + "[3 8 1 6 2 5 7 4]\n", + "2\n", + "5\n", + "6\n", + "4\n", + "{5: 7, 6: 6, 0: 3, 1: 3, 3: 3, 2: 2, 4: 2}\n", + "[7, 4, 5, 2, 1, 6, 3, 8]\n", + "[3, 8, 1, 6, 7, 5, 2, 4]\n", + "[[3, 8, 6, 1, 7, 5, 2, 4], [7, 4, 1, 3, 5, 8, 6, 2], [7, 4, 1, 6, 2, 5, 3, 8], [3, 4, 6, 1, 5, 7, 2, 8], [3, 8, 6, 2, 1, 5, 7, 4]]\n", + "2 5\n", + "[[6, 1], [2, 6], [1, 2]]\n", + "[7 4 6 2 1 5 3 8]\n", + "[3 8 1 6 2 5 7 4]\n", + "0\n", + "1\n", + "0\n", + "3\n", + "{5: 4, 6: 4, 0: 3, 1: 3, 3: 3, 2: 2, 4: 2}\n", + "[4, 7, 6, 2, 1, 5, 3, 8]\n", + "[6, 8, 1, 3, 2, 5, 7, 4]\n", + "[[3, 8, 6, 1, 7, 5, 2, 4], [7, 4, 1, 3, 5, 8, 6, 2], [7, 4, 1, 6, 2, 5, 3, 8], [3, 4, 6, 1, 5, 7, 2, 8], [3, 8, 6, 2, 1, 5, 7, 4]]\n", + "3 6\n", + "[[2, 6], [1, 2], [5, 5]]\n", + "[7 4 6 2 1 5 3 8]\n", + "[3 8 1 6 2 5 7 4]\n", + "6\n", + "3\n", + "1\n", + "6\n", + "{0: 3, 1: 3, 3: 3, 5: 3, 2: 2, 4: 2, 6: 2}\n", + "[3, 8, 6, 1, 7, 5, 2, 4]\n", + "[7, 4, 1, 3, 5, 8, 6, 2]\n", + "[[7, 4, 1, 6, 2, 5, 3, 8], [3, 4, 6, 1, 5, 7, 2, 8], [3, 8, 6, 2, 1, 5, 7, 4], [7, 4, 6, 3, 1, 5, 2, 8], [3, 7, 1, 6, 2, 5, 8, 4]]\n", + "3 5\n", + "[[2, 6], [1, 2]]\n", + "[7 4 6 2 1 5 3 8]\n", + "[3 8 1 6 2 5 7 4]\n", + "3\n", + "2\n", + "0\n", + "5\n", + "{5: 5, 1: 3, 3: 3, 0: 2, 2: 2, 4: 2, 6: 2}\n", + "[7, 4, 2, 6, 1, 5, 3, 8]\n", + "[3, 4, 6, 1, 5, 7, 2, 8]\n", + "[[7, 4, 1, 6, 2, 5, 3, 8], [3, 8, 6, 2, 1, 5, 7, 4], [7, 4, 6, 3, 1, 5, 2, 8], [3, 7, 1, 6, 2, 5, 8, 4], [5, 8, 1, 6, 2, 3, 7, 4]]\n", + "5 6\n", + "[[5, 5]]\n", + "[7 4 1 6 2 5 3 8]\n", + "[3 8 6 2 1 5 7 4]\n", + "0\n", + "5\n", + "3\n", + "0\n", + "{2: 3, 5: 3, 0: 2, 1: 2, 3: 2, 4: 2, 6: 2}\n", + "[7, 4, 6, 3, 1, 5, 2, 8]\n", + "[5, 4, 1, 6, 2, 7, 3, 8]\n", + "[[7, 4, 1, 6, 2, 5, 3, 8], [3, 8, 6, 2, 1, 5, 7, 4], [3, 7, 1, 6, 2, 5, 8, 4], [5, 8, 1, 6, 2, 3, 7, 4], [2, 8, 6, 3, 1, 5, 7, 4]]\n", + "5 6\n", + "[[5, 5]]\n", + "[7 4 1 6 2 5 3 8]\n", + "[3 8 6 2 1 5 7 4]\n", + "3\n", + "1\n", + "2\n", + "1\n", + "{5: 4, 6: 3, 0: 2, 1: 2, 2: 2, 3: 2, 4: 2}\n", + "[7, 6, 1, 4, 2, 5, 3, 8]\n", + "[3, 6, 8, 2, 1, 5, 7, 4]\n", + "[[7, 4, 1, 6, 2, 5, 3, 8], [3, 8, 6, 2, 1, 5, 7, 4], [3, 7, 1, 6, 2, 5, 8, 4], [5, 8, 1, 6, 2, 3, 7, 4], [2, 8, 6, 3, 1, 5, 7, 4]]\n", + "3 6\n", + "[[2, 6], [1, 2], [5, 5]]\n", + "[7 4 6 2 1 5 3 8]\n", + "[3 8 1 6 2 5 7 4]\n", + "5\n", + "4\n", + "2\n", + "0\n", + "{6: 4, 5: 3, 0: 2, 1: 2, 2: 2, 3: 2, 4: 2}\n", + "[1, 8, 3, 6, 2, 5, 7, 4]\n", + "[7, 4, 6, 2, 5, 1, 3, 8]\n", + "[[7, 4, 1, 6, 2, 5, 3, 8], [3, 8, 6, 2, 1, 5, 7, 4], [3, 7, 1, 6, 2, 5, 8, 4], [5, 8, 1, 6, 2, 3, 7, 4], [2, 8, 6, 3, 1, 5, 7, 4]]\n", + "1 2\n", + "[[8, 4]]\n", + "[7 8 1 6 2 5 3 4]\n", + "[3 4 6 2 1 5 7 8]\n", + "3\n", + "5\n", + "5\n", + "6\n", + "{6: 5, 5: 4, 0: 2, 1: 2, 2: 2, 3: 2, 4: 2}\n", + "[3, 4, 6, 2, 1, 7, 5, 8]\n", + "[7, 8, 1, 5, 2, 6, 3, 4]\n", + "[[7, 4, 1, 6, 2, 5, 3, 8], [3, 8, 6, 2, 1, 5, 7, 4], [3, 7, 1, 6, 2, 5, 8, 4], [5, 8, 1, 6, 2, 3, 7, 4], [2, 8, 6, 3, 1, 5, 7, 4]]\n", + "1 5\n", + "[[8, 4], [6, 1], [2, 6], [1, 2]]\n", + "[7 8 6 2 1 5 3 4]\n", + "[3 4 1 6 2 5 7 8]\n", + "3\n", + "2\n", + "4\n", + "0\n", + "{5: 8, 6: 3, 0: 2, 1: 2, 2: 2, 3: 2, 4: 2}\n", + "[7, 8, 2, 6, 1, 5, 3, 4]\n", + "[2, 4, 1, 6, 3, 5, 7, 8]\n", + "[[7, 4, 1, 6, 2, 5, 3, 8], [3, 8, 6, 2, 1, 5, 7, 4], [3, 7, 1, 6, 2, 5, 8, 4], [5, 8, 1, 6, 2, 3, 7, 4], [2, 8, 6, 3, 1, 5, 7, 4]]\n", + "1 6\n", + "[[8, 4], [6, 1], [2, 6], [1, 2], [5, 5]]\n", + "[7 8 6 2 1 5 3 4]\n", + "[3 4 1 6 2 5 7 8]\n", + "6\n", + "0\n", + "6\n", + "4\n", + "{6: 7, 0: 2, 1: 2, 2: 2, 3: 2, 4: 2, 5: 2}\n", + "[3, 4, 1, 6, 7, 5, 2, 8]\n", + "[7, 4, 1, 6, 2, 5, 3, 8]\n", + "[[3, 8, 6, 2, 1, 5, 7, 4], [3, 7, 1, 6, 2, 5, 8, 4], [5, 8, 1, 6, 2, 3, 7, 4], [2, 8, 6, 3, 1, 5, 7, 4], [3, 8, 6, 2, 1, 5, 7, 4]]\n", + "0 6\n", + "[[3, 3], [7, 8], [1, 6], [6, 2], [2, 1], [5, 5]]\n", + "[3 7 1 6 2 5 8 4]\n", + "[3 8 6 2 1 5 7 4]\n", + "5\n", + "4\n", + "0\n", + "2\n", + "{6: 5, 5: 4, 0: 2, 1: 2, 2: 2, 3: 2, 4: 2}\n", + "[6, 8, 3, 2, 1, 5, 7, 4]\n", + "[3, 7, 1, 6, 5, 2, 8, 4]\n", + "[[3, 8, 6, 2, 1, 5, 7, 4], [3, 7, 1, 6, 2, 5, 8, 4], [5, 8, 1, 6, 2, 3, 7, 4], [2, 8, 6, 3, 1, 5, 7, 4], [3, 8, 6, 2, 1, 5, 7, 4]]\n", + "5 6\n", + "[[5, 5]]\n", + "[3 8 6 2 1 5 7 4]\n", + "[3 7 1 6 2 5 8 4]\n", + "2\n", + "0\n", + "4\n", + "0\n", + "{5: 5, 0: 2, 1: 2, 2: 2, 3: 2, 4: 2, 6: 2}\n", + "[6, 8, 3, 2, 1, 5, 7, 4]\n", + "[3, 8, 6, 2, 1, 5, 7, 4]\n", + "[[3, 7, 1, 6, 2, 5, 8, 4], [5, 8, 1, 6, 2, 3, 7, 4], [2, 8, 6, 3, 1, 5, 7, 4], [3, 8, 6, 2, 1, 5, 7, 4], [2, 7, 1, 6, 3, 5, 8, 4]]\n", + "0 1\n", + "[[5, 3]]\n", + "[5 7 1 6 2 3 8 4]\n", + "[3 8 1 6 2 5 7 4]\n", + "5\n", + "2\n", + "4\n", + "2\n", + "{6: 4, 0: 2, 1: 2, 2: 2, 3: 2, 4: 2, 5: 2}\n", + "[3, 8, 2, 6, 1, 5, 7, 4]\n", + "[3, 7, 1, 6, 2, 5, 8, 4]\n", + "[[5, 8, 1, 6, 2, 3, 7, 4], [2, 8, 6, 3, 1, 5, 7, 4], [3, 8, 6, 2, 1, 5, 7, 4], [2, 7, 1, 6, 3, 5, 8, 4], [5, 7, 3, 6, 2, 1, 8, 4]]\n", + "2 6\n", + "[[6, 1], [3, 6], [1, 2], [5, 3]]\n", + "[2 8 6 3 1 5 7 4]\n", + "[5 8 1 6 2 3 7 4]\n", + "6\n", + "5\n", + "5\n", + "2\n", + "{6: 4, 5: 3, 0: 2, 1: 2, 2: 2, 3: 2, 4: 2}\n", + "[5, 8, 3, 6, 2, 1, 7, 4]\n", + "[2, 8, 6, 3, 1, 7, 5, 4]\n", + "[[5, 8, 1, 6, 2, 3, 7, 4], [2, 8, 6, 3, 1, 5, 7, 4], [3, 8, 6, 2, 1, 5, 7, 4], [2, 7, 1, 6, 3, 5, 8, 4], [5, 7, 3, 6, 2, 1, 8, 4]]\n", + "2 6\n", + "[[6, 1], [3, 6], [1, 2], [5, 3]]\n", + "[2 8 6 3 1 5 7 4]\n", + "[5 8 1 6 2 3 7 4]\n", + "5\n", + "1\n", + "4\n", + "0\n", + "{5: 4, 6: 4, 0: 2, 1: 2, 2: 2, 3: 2, 4: 2}\n", + "[2, 5, 6, 3, 1, 8, 7, 4]\n", + "[2, 8, 1, 6, 5, 3, 7, 4]\n", + "[[5, 8, 1, 6, 2, 3, 7, 4], [2, 8, 6, 3, 1, 5, 7, 4], [3, 8, 6, 2, 1, 5, 7, 4], [2, 7, 1, 6, 3, 5, 8, 4], [5, 7, 3, 6, 2, 1, 8, 4]]\n", + "5 6\n", + "[[5, 3]]\n", + "[3 8 1 6 2 5 7 4]\n", + "[2 8 6 5 1 3 7 4]\n", + "5\n", + "2\n", + "1\n", + "5\n", + "{6: 6, 5: 5, 0: 2, 1: 2, 2: 2, 3: 2, 4: 2}\n", + "[2, 3, 6, 5, 1, 8, 7, 4]\n", + "[3, 8, 5, 6, 2, 1, 7, 4]\n", + "[[5, 8, 1, 6, 2, 3, 7, 4], [2, 8, 6, 3, 1, 5, 7, 4], [3, 8, 6, 2, 1, 5, 7, 4], [2, 7, 1, 6, 3, 5, 8, 4], [5, 7, 3, 6, 2, 1, 8, 4]]\n", + "1 4\n", + "[[8, 8], [6, 1], [3, 6]]\n", + "[5 8 6 3 2 1 7 4]\n", + "[2 8 1 6 3 5 7 4]\n", + "6\n", + "3\n", + "2\n", + "1\n", + "{5: 4, 6: 3, 0: 2, 1: 2, 2: 2, 3: 2, 4: 2}\n", + "[5, 8, 6, 7, 2, 1, 3, 4]\n", + "[2, 1, 8, 6, 3, 5, 7, 4]\n", + "[[5, 8, 1, 6, 2, 3, 7, 4], [2, 8, 6, 3, 1, 5, 7, 4], [3, 8, 6, 2, 1, 5, 7, 4], [2, 7, 1, 6, 3, 5, 8, 4], [5, 7, 3, 6, 2, 1, 8, 4]]\n", + "4 6\n", + "[[1, 2], [5, 3]]\n", + "[3 8 2 6 1 5 7 4]\n", + "[1 8 6 5 2 3 7 4]\n", + "6\n", + "0\n", + "1\n", + "2\n", + "{5: 8, 6: 3, 0: 2, 1: 2, 2: 2, 3: 2, 4: 2}\n", + "[7, 8, 2, 6, 1, 5, 3, 4]\n", + "[1, 6, 8, 5, 2, 3, 7, 4]\n", + "[[5, 8, 1, 6, 2, 3, 7, 4], [2, 8, 6, 3, 1, 5, 7, 4], [3, 8, 6, 2, 1, 5, 7, 4], [2, 7, 1, 6, 3, 5, 8, 4], [5, 7, 3, 6, 2, 1, 8, 4]]\n", + "1 5\n", + "[[8, 8], [6, 1], [3, 6], [1, 2]]\n", + "[5 8 6 3 1 2 7 4]\n", + "[3 8 1 6 2 5 7 4]\n", + "3\n", + "1\n", + "5\n", + "3\n", + "{5: 6, 6: 3, 0: 2, 1: 2, 2: 2, 3: 2, 4: 2}\n", + "[5, 3, 6, 8, 1, 2, 7, 4]\n", + "[3, 8, 1, 5, 2, 6, 7, 4]\n", + "[[5, 8, 1, 6, 2, 3, 7, 4], [2, 8, 6, 3, 1, 5, 7, 4], [3, 8, 6, 2, 1, 5, 7, 4], [2, 7, 1, 6, 3, 5, 8, 4], [5, 7, 3, 6, 2, 1, 8, 4]]\n", + "4 6\n", + "[[1, 2], [5, 3]]\n", + "[3 8 2 6 1 5 7 4]\n", + "[1 8 6 5 2 3 7 4]\n", + "0\n", + "2\n", + "0\n", + "4\n", + "{6: 5, 5: 4, 0: 2, 1: 2, 2: 2, 3: 2, 4: 2}\n", + "[2, 8, 6, 5, 1, 3, 7, 4]\n", + "[2, 8, 3, 6, 1, 5, 7, 4]\n", + "[[5, 8, 1, 6, 2, 3, 7, 4], [2, 8, 6, 3, 1, 5, 7, 4], [3, 8, 6, 2, 1, 5, 7, 4], [2, 7, 1, 6, 3, 5, 8, 4], [5, 7, 3, 6, 2, 1, 8, 4]]\n", + "4 5\n", + "[[1, 2]]\n", + "[5 8 2 6 1 3 7 4]\n", + "[1 8 6 3 2 5 7 4]\n", + "5\n", + "1\n", + "5\n", + "2\n", + "{5: 5, 6: 5, 0: 2, 1: 2, 2: 2, 3: 2, 4: 2}\n", + "[5, 3, 2, 6, 1, 8, 7, 4]\n", + "[1, 8, 5, 3, 2, 6, 7, 4]\n", + "[[5, 8, 1, 6, 2, 3, 7, 4], [2, 8, 6, 3, 1, 5, 7, 4], [3, 8, 6, 2, 1, 5, 7, 4], [2, 7, 1, 6, 3, 5, 8, 4], [5, 7, 3, 6, 2, 1, 8, 4]]\n", + "0 6\n", + "[[2, 5], [8, 8], [6, 1], [3, 6], [1, 2], [5, 3]]\n", + "[2 8 6 3 1 5 7 4]\n", + "[5 8 1 6 2 3 7 4]\n", + "4\n", + "0\n", + "4\n", + "0\n", + "{6: 4, 5: 3, 0: 2, 1: 2, 2: 2, 3: 2, 4: 2}\n", + "[2, 8, 1, 6, 5, 3, 7, 4]\n", + "[1, 8, 6, 3, 2, 5, 7, 4]\n", + "[[5, 8, 1, 6, 2, 3, 7, 4], [2, 8, 6, 3, 1, 5, 7, 4], [3, 8, 6, 2, 1, 5, 7, 4], [2, 7, 1, 6, 3, 5, 8, 4], [5, 7, 3, 6, 2, 1, 8, 4]]\n", + "0 1\n", + "[[2, 5]]\n", + "[2 8 1 6 5 3 7 4]\n", + "[5 8 6 3 1 2 7 4]\n", + "2\n", + "1\n", + "2\n", + "3\n", + "{6: 8, 5: 3, 0: 2, 1: 2, 2: 2, 3: 2, 4: 2}\n", + "[5, 8, 3, 6, 1, 2, 7, 4]\n", + "[2, 1, 8, 6, 5, 3, 7, 4]\n", + "[[5, 8, 1, 6, 2, 3, 7, 4], [2, 8, 6, 3, 1, 5, 7, 4], [3, 8, 6, 2, 1, 5, 7, 4], [2, 7, 1, 6, 3, 5, 8, 4], [5, 7, 3, 6, 2, 1, 8, 4]]\n", + "0 3\n", + "[[2, 5], [8, 8], [6, 1]]\n", + "[2 8 6 1 5 3 7 4]\n", + "[5 8 1 3 6 2 7 4]\n", + "6\n", + "0\n", + "2\n", + "1\n", + "{5: 6, 6: 3, 0: 2, 1: 2, 2: 2, 3: 2, 4: 2}\n", + "[7, 8, 6, 1, 5, 3, 2, 4]\n", + "[5, 1, 8, 3, 6, 2, 7, 4]\n", + "[[5, 8, 1, 6, 2, 3, 7, 4], [2, 8, 6, 3, 1, 5, 7, 4], [3, 8, 6, 2, 1, 5, 7, 4], [2, 7, 1, 6, 3, 5, 8, 4], [5, 7, 3, 6, 2, 1, 8, 4]]\n", + "4 5\n", + "[[1, 2]]\n", + "[5 8 2 6 1 3 7 4]\n", + "[1 8 6 3 2 5 7 4]\n", + "2\n", + "5\n", + "2\n", + "4\n", + "{5: 8, 6: 5, 0: 2, 1: 2, 2: 2, 3: 2, 4: 2}\n", + "[5, 8, 3, 6, 1, 2, 7, 4]\n", + "[1, 8, 2, 3, 6, 5, 7, 4]\n", + "[[5, 8, 1, 6, 2, 3, 7, 4], [2, 8, 6, 3, 1, 5, 7, 4], [3, 8, 6, 2, 1, 5, 7, 4], [2, 7, 1, 6, 3, 5, 8, 4], [5, 7, 3, 6, 2, 1, 8, 4]]\n", + "2 3\n", + "[[6, 1]]\n", + "[5 8 6 1 2 3 7 4]\n", + "[2 8 1 3 6 5 7 4]\n", + "1\n", + "0\n", + "5\n", + "6\n", + "{5: 8, 6: 5, 0: 2, 1: 2, 2: 2, 3: 2, 4: 2}\n", + "[8, 5, 6, 1, 2, 3, 7, 4]\n", + "[2, 8, 1, 3, 6, 7, 5, 4]\n", + "[[5, 8, 1, 6, 2, 3, 7, 4], [2, 8, 6, 3, 1, 5, 7, 4], [3, 8, 6, 2, 1, 5, 7, 4], [2, 7, 1, 6, 3, 5, 8, 4], [5, 7, 3, 6, 2, 1, 8, 4]]\n", + "0 3\n", + "[[2, 5], [8, 8], [6, 1]]\n", + "[2 8 6 1 5 3 7 4]\n", + "[5 8 1 3 6 2 7 4]\n", + "0\n", + "2\n", + "5\n", + "2\n", + "{5: 4, 0: 2, 1: 2, 2: 2, 3: 2, 4: 2, 6: 2}\n", + "[6, 8, 2, 1, 5, 3, 7, 4]\n", + "[5, 8, 1, 6, 2, 3, 7, 4]\n", + "[[2, 8, 6, 3, 1, 5, 7, 4], [3, 8, 6, 2, 1, 5, 7, 4], [2, 7, 1, 6, 3, 5, 8, 4], [5, 7, 3, 6, 2, 1, 8, 4], [5, 8, 2, 3, 6, 1, 7, 4]]\n", + "3 6\n", + "[[2, 3], [1, 1], [5, 5]]\n", + "[3 8 6 2 1 5 7 4]\n", + "[2 8 6 3 1 5 7 4]\n", + "4\n", + "5\n", + "2\n", + "1\n", + "{6: 3, 0: 2, 1: 2, 2: 2, 3: 2, 4: 2, 5: 2}\n", + "[2, 6, 8, 3, 1, 5, 7, 4]\n", + "[2, 8, 6, 3, 1, 5, 7, 4]\n", + "[[3, 8, 6, 2, 1, 5, 7, 4], [2, 7, 1, 6, 3, 5, 8, 4], [5, 7, 3, 6, 2, 1, 8, 4], [5, 8, 2, 3, 6, 1, 7, 4], [3, 8, 6, 2, 5, 1, 7, 4]]\n", + "3 4\n", + "[[6, 2]]\n", + "[3 8 2 6 1 5 7 4]\n", + "[6 7 1 2 3 5 8 4]\n", + "3\n", + "4\n", + "1\n", + "5\n", + "{6: 5, 5: 3, 0: 2, 1: 2, 2: 2, 3: 2, 4: 2}\n", + "[6, 5, 1, 2, 3, 7, 8, 4]\n", + "[3, 8, 2, 1, 6, 5, 7, 4]\n", + "[[3, 8, 6, 2, 1, 5, 7, 4], [2, 7, 1, 6, 3, 5, 8, 4], [5, 7, 3, 6, 2, 1, 8, 4], [5, 8, 2, 3, 6, 1, 7, 4], [3, 8, 6, 2, 5, 1, 7, 4]]\n", + "5 6\n", + "[[5, 5]]\n", + "[3 8 6 2 1 5 7 4]\n", + "[2 7 1 6 3 5 8 4]\n", + "3\n", + "2\n", + "0\n", + "4\n", + "{5: 4, 0: 2, 1: 2, 2: 2, 3: 2, 4: 2, 6: 2}\n", + "[3, 8, 2, 6, 1, 5, 7, 4]\n", + "[3, 8, 6, 2, 1, 5, 7, 4]\n", + "[[2, 7, 1, 6, 3, 5, 8, 4], [5, 7, 3, 6, 2, 1, 8, 4], [5, 8, 2, 3, 6, 1, 7, 4], [3, 8, 6, 2, 5, 1, 7, 4], [3, 7, 1, 6, 2, 5, 8, 4]]\n", + "4 5\n", + "[[2, 3]]\n", + "[3 7 1 6 2 5 8 4]\n", + "[5 7 2 6 3 1 8 4]\n", + "4\n", + "1\n", + "5\n", + "2\n", + "{5: 7, 6: 3, 0: 2, 1: 2, 2: 2, 3: 2, 4: 2}\n", + "[3, 2, 1, 6, 7, 5, 8, 4]\n", + "[5, 7, 1, 6, 3, 2, 8, 4]\n", + "[[2, 7, 1, 6, 3, 5, 8, 4], [5, 7, 3, 6, 2, 1, 8, 4], [5, 8, 2, 3, 6, 1, 7, 4], [3, 8, 6, 2, 5, 1, 7, 4], [3, 7, 1, 6, 2, 5, 8, 4]]\n", + "3 4\n", + "[[6, 6]]\n", + "[2 7 1 6 3 5 8 4]\n", + "[5 7 3 6 2 1 8 4]\n", + "6\n", + "2\n", + "6\n", + "4\n", + "{5: 3, 6: 3, 0: 2, 1: 2, 2: 2, 3: 2, 4: 2}\n", + "[2, 7, 8, 6, 3, 5, 1, 4]\n", + "[5, 7, 3, 6, 8, 1, 2, 4]\n", + "[[2, 7, 1, 6, 3, 5, 8, 4], [5, 7, 3, 6, 2, 1, 8, 4], [5, 8, 2, 3, 6, 1, 7, 4], [3, 8, 6, 2, 5, 1, 7, 4], [3, 7, 1, 6, 2, 5, 8, 4]]\n", + "5 6\n", + "[[1, 5]]\n", + "[2 7 5 6 3 1 8 4]\n", + "[1 7 3 6 2 5 8 4]\n", + "5\n", + "2\n", + "1\n", + "4\n", + "{6: 5, 0: 2, 1: 2, 2: 2, 3: 2, 4: 2, 5: 2}\n", + "[1, 2, 3, 6, 7, 5, 8, 4]\n", + "[2, 7, 1, 6, 3, 5, 8, 4]\n", + "[[5, 7, 3, 6, 2, 1, 8, 4], [5, 8, 2, 3, 6, 1, 7, 4], [3, 8, 6, 2, 5, 1, 7, 4], [3, 7, 1, 6, 2, 5, 8, 4], [2, 7, 1, 6, 3, 5, 8, 4]]\n", + "5 6\n", + "[[1, 1]]\n", + "[5 7 3 6 2 1 8 4]\n", + "[5 8 2 3 6 1 7 4]\n", + "2\n", + "0\n", + "1\n", + "4\n", + "{5: 4, 6: 3, 0: 2, 1: 2, 2: 2, 3: 2, 4: 2}\n", + "[3, 7, 5, 6, 2, 1, 8, 4]\n", + "[5, 6, 2, 3, 8, 1, 7, 4]\n", + "[[5, 7, 3, 6, 2, 1, 8, 4], [5, 8, 2, 3, 6, 1, 7, 4], [3, 8, 6, 2, 5, 1, 7, 4], [3, 7, 1, 6, 2, 5, 8, 4], [2, 7, 1, 6, 3, 5, 8, 4]]\n", + "2 4\n", + "[[2, 3], [3, 6]]\n", + "[5 7 2 3 6 1 8 4]\n", + "[5 8 3 6 2 1 7 4]\n", + "2\n", + "6\n", + "2\n", + "1\n", + "{5: 5, 0: 2, 1: 2, 2: 2, 3: 2, 4: 2, 6: 1}\n", + "[5, 7, 8, 3, 6, 1, 2, 4]\n", + "[5, 7, 3, 6, 2, 1, 8, 4]\n", + "[[5, 8, 2, 3, 6, 1, 7, 4], [3, 8, 6, 2, 5, 1, 7, 4], [3, 7, 1, 6, 2, 5, 8, 4], [2, 7, 1, 6, 3, 5, 8, 4], [5, 3, 8, 6, 2, 1, 7, 4]]\n", + "3 4\n", + "[[3, 6]]\n", + "[5 6 8 3 2 1 7 4]\n", + "[5 8 2 6 3 1 7 4]\n", + "5\n", + "2\n", + "6\n", + "0\n", + "{6: 5, 5: 3, 0: 2, 1: 2, 2: 2, 3: 2, 4: 1}\n", + "[7, 8, 2, 6, 3, 1, 5, 4]\n", + "[5, 6, 1, 3, 2, 8, 7, 4]\n", + "[[5, 8, 2, 3, 6, 1, 7, 4], [3, 8, 6, 2, 5, 1, 7, 4], [3, 7, 1, 6, 2, 5, 8, 4], [2, 7, 1, 6, 3, 5, 8, 4], [5, 3, 8, 6, 2, 1, 7, 4]]\n", + "5 6\n", + "[[1, 1]]\n", + "[5 3 8 6 2 1 7 4]\n", + "[5 8 2 3 6 1 7 4]\n", + "6\n", + "2\n", + "6\n", + "1\n", + "{5: 4, 6: 3, 0: 2, 1: 2, 2: 2, 3: 2, 4: 1}\n", + "[5, 3, 7, 6, 2, 1, 8, 4]\n", + "[5, 7, 2, 3, 6, 1, 8, 4]\n", + "[[5, 8, 2, 3, 6, 1, 7, 4], [3, 8, 6, 2, 5, 1, 7, 4], [3, 7, 1, 6, 2, 5, 8, 4], [2, 7, 1, 6, 3, 5, 8, 4], [5, 3, 8, 6, 2, 1, 7, 4]]\n", + "4 6\n", + "[[6, 2], [1, 1]]\n", + "[5 3 8 2 6 1 7 4]\n", + "[5 8 6 3 2 1 7 4]\n", + "3\n", + "4\n", + "1\n", + "2\n", + "{6: 4, 0: 2, 1: 2, 2: 2, 3: 2, 4: 1, 5: 1}\n", + "[5, 6, 8, 3, 2, 1, 7, 4]\n", + "[5, 8, 2, 3, 6, 1, 7, 4]\n", + "[[3, 8, 6, 2, 5, 1, 7, 4], [3, 7, 1, 6, 2, 5, 8, 4], [2, 7, 1, 6, 3, 5, 8, 4], [5, 3, 8, 6, 2, 1, 7, 4], [5, 3, 8, 6, 2, 1, 7, 4]]\n", + "1 4\n", + "[[3, 3], [8, 8], [6, 6]]\n", + "[5 3 8 6 2 1 7 4]\n", + "[5 3 8 6 2 1 7 4]\n", + "6\n", + "3\n", + "3\n", + "4\n", + "{6: 3, 0: 2, 1: 2, 2: 2, 5: 2, 3: 1, 4: 1}\n", + "[5, 3, 8, 2, 6, 1, 7, 4]\n", + "[3, 8, 6, 2, 5, 1, 7, 4]\n", + "[[3, 7, 1, 6, 2, 5, 8, 4], [2, 7, 1, 6, 3, 5, 8, 4], [5, 3, 8, 6, 2, 1, 7, 4], [5, 3, 8, 6, 2, 1, 7, 4], [5, 3, 8, 7, 2, 1, 6, 4]]\n", + "3 6\n", + "[[6, 6], [2, 2], [1, 1]]\n", + "[5 3 8 6 2 1 7 4]\n", + "[5 3 8 6 2 1 7 4]\n", + "1\n", + "5\n", + "1\n", + "2\n", + "{6: 4, 0: 2, 1: 2, 4: 2, 2: 1, 3: 1, 5: 1}\n", + "[5, 8, 3, 6, 2, 1, 7, 4]\n", + "[3, 7, 1, 6, 2, 5, 8, 4]\n", + "[[2, 7, 1, 6, 3, 5, 8, 4], [5, 3, 8, 6, 2, 1, 7, 4], [5, 3, 8, 6, 2, 1, 7, 4], [5, 3, 8, 7, 2, 1, 6, 4], [5, 1, 8, 6, 2, 3, 7, 4]]\n", + "4 6\n", + "[[2, 2], [1, 1]]\n", + "[5 3 8 6 2 1 7 4]\n", + "[5 3 8 6 2 1 7 4]\n", + "2\n", + "1\n", + "4\n", + "0\n", + "{5: 4, 6: 3, 0: 2, 3: 2, 1: 1, 2: 1, 4: 1}\n", + "[5, 8, 3, 6, 2, 1, 7, 4]\n", + "[2, 3, 8, 6, 5, 1, 7, 4]\n", + "[[2, 7, 1, 6, 3, 5, 8, 4], [5, 3, 8, 6, 2, 1, 7, 4], [5, 3, 8, 6, 2, 1, 7, 4], [5, 3, 8, 7, 2, 1, 6, 4], [5, 1, 8, 6, 2, 3, 7, 4]]\n", + "0 1\n", + "[[5, 5]]\n", + "[5 3 8 6 2 1 7 4]\n", + "[5 3 8 6 2 1 7 4]\n", + "3\n", + "6\n", + "4\n", + "2\n", + "{0: 2, 3: 2, 5: 2, 1: 1, 2: 1, 4: 1, 6: 1}\n", + "[2, 7, 1, 6, 3, 5, 8, 4]\n", + "[5, 3, 8, 7, 2, 1, 6, 4]\n", + "[[5, 3, 8, 6, 2, 1, 7, 4], [5, 3, 8, 6, 2, 1, 7, 4], [5, 1, 8, 6, 2, 3, 7, 4], [5, 3, 8, 7, 2, 1, 6, 4], [5, 3, 2, 6, 8, 1, 7, 4]]\n", + "5 6\n", + "[[1, 1]]\n", + "[5 3 8 6 2 1 7 4]\n", + "[5 3 8 6 2 1 7 4]\n", + "4\n", + "0\n", + "0\n", + "1\n", + "{6: 4, 5: 3, 3: 2, 0: 1, 1: 1, 2: 1, 4: 1}\n", + "[3, 5, 8, 6, 2, 1, 7, 4]\n", + "[2, 3, 8, 6, 5, 1, 7, 4]\n", + "[[5, 3, 8, 6, 2, 1, 7, 4], [5, 3, 8, 6, 2, 1, 7, 4], [5, 1, 8, 6, 2, 3, 7, 4], [5, 3, 8, 7, 2, 1, 6, 4], [5, 3, 2, 6, 8, 1, 7, 4]]\n", + "3 5\n", + "[[6, 6], [2, 2]]\n", + "[5 3 8 6 2 1 7 4]\n", + "[5 3 8 6 2 1 7 4]\n", + "3\n", + "1\n", + "4\n", + "0\n", + "{5: 4, 6: 3, 3: 2, 0: 1, 1: 1, 2: 1, 4: 1}\n", + "[5, 6, 8, 3, 2, 1, 7, 4]\n", + "[2, 3, 8, 6, 5, 1, 7, 4]\n", + "[[5, 3, 8, 6, 2, 1, 7, 4], [5, 3, 8, 6, 2, 1, 7, 4], [5, 1, 8, 6, 2, 3, 7, 4], [5, 3, 8, 7, 2, 1, 6, 4], [5, 3, 2, 6, 8, 1, 7, 4]]\n", + "3 5\n", + "[[6, 6], [2, 2]]\n", + "[5 3 8 6 2 1 7 4]\n", + "[5 3 8 6 2 1 7 4]\n", + "2\n", + "3\n", + "6\n", + "1\n", + "{6: 4, 5: 3, 3: 2, 0: 1, 1: 1, 2: 1, 4: 1}\n", + "[5, 7, 8, 6, 2, 1, 3, 4]\n", + "[5, 3, 6, 8, 2, 1, 7, 4]\n", + "[[5, 3, 8, 6, 2, 1, 7, 4], [5, 3, 8, 6, 2, 1, 7, 4], [5, 1, 8, 6, 2, 3, 7, 4], [5, 3, 8, 7, 2, 1, 6, 4], [5, 3, 2, 6, 8, 1, 7, 4]]\n", + "4 6\n", + "[[2, 2], [1, 1]]\n", + "[5 3 8 6 2 1 7 4]\n", + "[5 3 8 6 2 1 7 4]\n", + "2\n", + "5\n", + "4\n", + "6\n", + "{6: 3, 3: 2, 5: 2, 0: 1, 1: 1, 2: 1, 4: 1}\n", + "[5, 3, 8, 6, 7, 1, 2, 4]\n", + "[5, 3, 8, 7, 2, 1, 6, 4]\n", + "[[5, 3, 8, 6, 2, 1, 7, 4], [5, 3, 8, 6, 2, 1, 7, 4], [5, 1, 8, 6, 2, 3, 7, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 3, 1, 6, 2, 8, 7, 4]]\n", + "4 6\n", + "[[2, 2], [1, 1]]\n", + "[5 3 8 6 2 1 7 4]\n", + "[5 3 8 6 2 1 7 4]\n", + "6\n", + "0\n", + "2\n", + "4\n", + "{4: 2, 5: 2, 0: 1, 1: 1, 2: 1, 3: 1, 6: 1}\n", + "[5, 3, 1, 6, 2, 8, 7, 4]\n", + "[7, 3, 8, 6, 2, 1, 5, 4]\n", + "[[5, 3, 8, 6, 2, 1, 7, 4], [5, 3, 8, 6, 2, 1, 7, 4], [5, 1, 8, 6, 2, 3, 7, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 3, 2, 6, 8, 1, 7, 4]]\n", + "5 6\n", + "[[1, 1]]\n", + "[5 3 8 6 2 1 7 4]\n", + "[5 3 8 6 2 1 7 4]\n", + "1\n", + "3\n", + "4\n", + "0\n", + "{5: 4, 6: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 6, 8, 3, 2, 1, 7, 4]\n", + "[2, 3, 8, 6, 5, 1, 7, 4]\n", + "[[5, 3, 8, 6, 2, 1, 7, 4], [5, 3, 8, 6, 2, 1, 7, 4], [5, 1, 8, 6, 2, 3, 7, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 3, 2, 6, 8, 1, 7, 4]]\n", + "1 6\n", + "[[3, 3], [8, 8], [6, 6], [2, 2], [1, 1]]\n", + "[5 3 8 6 2 1 7 4]\n", + "[5 3 8 6 2 1 7 4]\n", + "0\n", + "5\n", + "5\n", + "2\n", + "{5: 2, 6: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[1, 3, 8, 6, 2, 5, 7, 4]\n", + "[5, 3, 1, 6, 2, 8, 7, 4]\n", + "[[5, 3, 8, 6, 2, 1, 7, 4], [5, 3, 8, 6, 2, 1, 7, 4], [5, 1, 8, 6, 2, 3, 7, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 3, 2, 6, 8, 1, 7, 4]]\n", + "3 4\n", + "[[6, 6]]\n", + "[5 3 8 6 2 1 7 4]\n", + "[5 3 8 6 2 1 7 4]\n", + "5\n", + "1\n", + "2\n", + "5\n", + "{6: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1}\n", + "[5, 3, 1, 6, 2, 8, 7, 4]\n", + "[5, 3, 8, 6, 2, 1, 7, 4]\n", + "[[5, 3, 8, 6, 2, 1, 7, 4], [5, 1, 8, 6, 2, 3, 7, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 1, 8, 6, 2, 3, 7, 4]]\n", + "2 4\n", + "[[8, 8], [6, 6]]\n", + "[5 3 8 6 2 1 7 4]\n", + "[5 1 8 6 2 3 7 4]\n", + "4\n", + "5\n", + "2\n", + "5\n", + "{5: 4, 6: 4, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 3, 8, 6, 1, 2, 7, 4]\n", + "[5, 1, 3, 6, 2, 8, 7, 4]\n", + "[[5, 3, 8, 6, 2, 1, 7, 4], [5, 1, 8, 6, 2, 3, 7, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 1, 8, 6, 2, 3, 7, 4]]\n", + "5 6\n", + "[[3, 1]]\n", + "[5 1 8 6 2 3 7 4]\n", + "[5 3 8 6 2 1 7 4]\n", + "0\n", + "6\n", + "0\n", + "2\n", + "{5: 2, 6: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[7, 1, 8, 6, 2, 3, 5, 4]\n", + "[8, 3, 5, 6, 2, 1, 7, 4]\n", + "[[5, 3, 8, 6, 2, 1, 7, 4], [5, 1, 8, 6, 2, 3, 7, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 1, 8, 6, 2, 3, 7, 4]]\n", + "4 6\n", + "[[2, 2], [3, 1]]\n", + "[5 1 8 6 2 3 7 4]\n", + "[5 3 8 6 2 1 7 4]\n", + "0\n", + "5\n", + "6\n", + "0\n", + "{5: 3, 6: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[3, 1, 8, 6, 2, 5, 7, 4]\n", + "[7, 3, 8, 6, 2, 1, 5, 4]\n", + "[[5, 3, 8, 6, 2, 1, 7, 4], [5, 1, 8, 6, 2, 3, 7, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 1, 8, 6, 2, 3, 7, 4]]\n", + "1 5\n", + "[[1, 3], [8, 8], [6, 6], [2, 2]]\n", + "[5 1 8 6 2 3 7 4]\n", + "[5 3 8 6 2 1 7 4]\n", + "2\n", + "6\n", + "1\n", + "6\n", + "{6: 4, 5: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 7, 8, 6, 2, 1, 3, 4]\n", + "[5, 1, 7, 6, 2, 3, 8, 4]\n", + "[[5, 3, 8, 6, 2, 1, 7, 4], [5, 1, 8, 6, 2, 3, 7, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 1, 8, 6, 2, 3, 7, 4]]\n", + "5 6\n", + "[[3, 1]]\n", + "[5 1 8 6 2 3 7 4]\n", + "[5 3 8 6 2 1 7 4]\n", + "0\n", + "3\n", + "4\n", + "1\n", + "{5: 4, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 6: 1}\n", + "[6, 1, 8, 5, 2, 3, 7, 4]\n", + "[5, 3, 8, 6, 2, 1, 7, 4]\n", + "[[5, 1, 8, 6, 2, 3, 7, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 1, 8, 6, 2, 3, 7, 4], [5, 2, 8, 6, 3, 1, 7, 4]]\n", + "5 6\n", + "[[1, 3]]\n", + "[5 3 8 6 2 1 7 4]\n", + "[5 1 2 6 8 3 7 4]\n", + "4\n", + "1\n", + "1\n", + "6\n", + "{0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1, 6: 1}\n", + "[5, 1, 8, 6, 2, 3, 7, 4]\n", + "[5, 3, 2, 6, 8, 1, 7, 4]\n", + "[[5, 3, 2, 6, 8, 1, 7, 4], [5, 1, 8, 6, 2, 3, 7, 4], [5, 2, 8, 6, 3, 1, 7, 4], [5, 2, 8, 6, 3, 1, 7, 4], [5, 7, 2, 6, 8, 3, 1, 4]]\n", + "0 1\n", + "[[5, 5]]\n", + "[5 3 2 6 8 1 7 4]\n", + "[5 1 8 6 2 3 7 4]\n", + "2\n", + "4\n", + "1\n", + "3\n", + "{6: 4, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1}\n", + "[5, 6, 8, 1, 2, 3, 7, 4]\n", + "[5, 3, 2, 6, 8, 1, 7, 4]\n", + "[[5, 1, 8, 6, 2, 3, 7, 4], [5, 2, 8, 6, 3, 1, 7, 4], [5, 2, 8, 6, 3, 1, 7, 4], [5, 7, 2, 6, 8, 3, 1, 4], [5, 3, 8, 6, 2, 1, 7, 4]]\n", + "5 6\n", + "[[1, 3]]\n", + "[5 3 8 6 2 1 7 4]\n", + "[5 2 8 6 1 3 7 4]\n", + "3\n", + "5\n", + "0\n", + "5\n", + "{6: 5, 5: 4, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[3, 2, 8, 6, 1, 5, 7, 4]\n", + "[5, 3, 8, 1, 2, 6, 7, 4]\n", + "[[5, 1, 8, 6, 2, 3, 7, 4], [5, 2, 8, 6, 3, 1, 7, 4], [5, 2, 8, 6, 3, 1, 7, 4], [5, 7, 2, 6, 8, 3, 1, 4], [5, 3, 8, 6, 2, 1, 7, 4]]\n", + "4 5\n", + "[[3, 2]]\n", + "[5 1 8 6 3 2 7 4]\n", + "[5 3 8 6 2 1 7 4]\n", + "2\n", + "6\n", + "2\n", + "4\n", + "{5: 4, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 6: 1}\n", + "[5, 1, 7, 6, 3, 2, 8, 4]\n", + "[5, 1, 8, 6, 2, 3, 7, 4]\n", + "[[5, 2, 8, 6, 3, 1, 7, 4], [5, 2, 8, 6, 3, 1, 7, 4], [5, 7, 2, 6, 8, 3, 1, 4], [5, 3, 8, 6, 2, 1, 7, 4], [5, 3, 2, 6, 8, 1, 7, 4]]\n", + "1 4\n", + "[[2, 2], [8, 8], [6, 6]]\n", + "[5 2 8 6 3 1 7 4]\n", + "[5 2 8 6 3 1 7 4]\n", + "4\n", + "2\n", + "3\n", + "0\n", + "{5: 4, 6: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 2, 3, 6, 8, 1, 7, 4]\n", + "[6, 2, 8, 5, 3, 1, 7, 4]\n", + "[[5, 2, 8, 6, 3, 1, 7, 4], [5, 2, 8, 6, 3, 1, 7, 4], [5, 7, 2, 6, 8, 3, 1, 4], [5, 3, 8, 6, 2, 1, 7, 4], [5, 3, 2, 6, 8, 1, 7, 4]]\n", + "0 4\n", + "[[5, 5], [2, 2], [8, 8], [6, 6]]\n", + "[5 2 8 6 3 1 7 4]\n", + "[5 2 8 6 3 1 7 4]\n", + "4\n", + "2\n", + "4\n", + "2\n", + "{5: 4, 6: 4, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 2, 3, 6, 8, 1, 7, 4]\n", + "[5, 2, 3, 6, 8, 1, 7, 4]\n", + "[[5, 2, 8, 6, 3, 1, 7, 4], [5, 2, 8, 6, 3, 1, 7, 4], [5, 7, 2, 6, 8, 3, 1, 4], [5, 3, 8, 6, 2, 1, 7, 4], [5, 3, 2, 6, 8, 1, 7, 4]]\n", + "2 6\n", + "[[8, 8], [6, 6], [3, 3], [1, 1]]\n", + "[5 2 8 6 3 1 7 4]\n", + "[5 2 8 6 3 1 7 4]\n", + "3\n", + "5\n", + "4\n", + "3\n", + "{5: 4, 6: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 2, 8, 1, 3, 6, 7, 4]\n", + "[5, 2, 8, 3, 6, 1, 7, 4]\n", + "[[5, 2, 8, 6, 3, 1, 7, 4], [5, 2, 8, 6, 3, 1, 7, 4], [5, 7, 2, 6, 8, 3, 1, 4], [5, 3, 8, 6, 2, 1, 7, 4], [5, 3, 2, 6, 8, 1, 7, 4]]\n", + "1 5\n", + "[[2, 2], [8, 8], [6, 6], [3, 3]]\n", + "[5 2 8 6 3 1 7 4]\n", + "[5 2 8 6 3 1 7 4]\n", + "4\n", + "3\n", + "1\n", + "0\n", + "{5: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 6: 1}\n", + "[5, 2, 8, 3, 6, 1, 7, 4]\n", + "[5, 2, 8, 6, 3, 1, 7, 4]\n", + "[[5, 2, 8, 6, 3, 1, 7, 4], [5, 7, 2, 6, 8, 3, 1, 4], [5, 3, 8, 6, 2, 1, 7, 4], [5, 3, 2, 6, 8, 1, 7, 4], [2, 5, 8, 6, 3, 1, 7, 4]]\n", + "2 5\n", + "[[2, 8], [6, 6], [8, 3]]\n", + "[5 3 2 6 8 1 7 4]\n", + "[5 7 8 6 3 2 1 4]\n", + "6\n", + "1\n", + "6\n", + "0\n", + "{6: 5, 5: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[1, 7, 8, 6, 3, 2, 5, 4]\n", + "[5, 7, 2, 6, 8, 1, 3, 4]\n", + "[[5, 2, 8, 6, 3, 1, 7, 4], [5, 7, 2, 6, 8, 3, 1, 4], [5, 3, 8, 6, 2, 1, 7, 4], [5, 3, 2, 6, 8, 1, 7, 4], [2, 5, 8, 6, 3, 1, 7, 4]]\n", + "2 3\n", + "[[2, 8]]\n", + "[5 8 2 6 3 1 7 4]\n", + "[5 7 8 6 2 3 1 4]\n", + "1\n", + "0\n", + "2\n", + "6\n", + "{6: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1}\n", + "[5, 7, 1, 6, 2, 3, 8, 4]\n", + "[5, 2, 8, 6, 3, 1, 7, 4]\n", + "[[5, 7, 2, 6, 8, 3, 1, 4], [5, 3, 8, 6, 2, 1, 7, 4], [5, 3, 2, 6, 8, 1, 7, 4], [2, 5, 8, 6, 3, 1, 7, 4], [8, 5, 2, 6, 3, 1, 7, 4]]\n", + "3 5\n", + "[[6, 6], [2, 8]]\n", + "[5 7 8 6 2 3 1 4]\n", + "[5 3 2 6 8 1 7 4]\n", + "0\n", + "4\n", + "4\n", + "6\n", + "{6: 4, 5: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 3, 2, 6, 7, 1, 8, 4]\n", + "[2, 7, 8, 6, 5, 3, 1, 4]\n", + "[[5, 7, 2, 6, 8, 3, 1, 4], [5, 3, 8, 6, 2, 1, 7, 4], [5, 3, 2, 6, 8, 1, 7, 4], [2, 5, 8, 6, 3, 1, 7, 4], [8, 5, 2, 6, 3, 1, 7, 4]]\n", + "3 6\n", + "[[6, 6], [2, 8], [1, 3]]\n", + "[5 7 8 6 2 1 3 4]\n", + "[5 1 2 6 8 3 7 4]\n", + "6\n", + "2\n", + "1\n", + "2\n", + "{5: 2, 6: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 7, 3, 6, 2, 1, 8, 4]\n", + "[5, 2, 1, 6, 8, 3, 7, 4]\n", + "[[5, 7, 2, 6, 8, 3, 1, 4], [5, 3, 8, 6, 2, 1, 7, 4], [5, 3, 2, 6, 8, 1, 7, 4], [2, 5, 8, 6, 3, 1, 7, 4], [8, 5, 2, 6, 3, 1, 7, 4]]\n", + "0 1\n", + "[[5, 5]]\n", + "[5 7 2 6 8 3 1 4]\n", + "[5 3 8 6 2 1 7 4]\n", + "0\n", + "1\n", + "5\n", + "4\n", + "{6: 4, 5: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 3, 8, 6, 1, 2, 7, 4]\n", + "[7, 5, 2, 6, 8, 3, 1, 4]\n", + "[[5, 7, 2, 6, 8, 3, 1, 4], [5, 3, 8, 6, 2, 1, 7, 4], [5, 3, 2, 6, 8, 1, 7, 4], [2, 5, 8, 6, 3, 1, 7, 4], [8, 5, 2, 6, 3, 1, 7, 4]]\n", + "1 2\n", + "[[3, 7]]\n", + "[5 3 2 6 8 7 1 4]\n", + "[5 7 8 6 2 1 3 4]\n", + "2\n", + "4\n", + "3\n", + "5\n", + "{6: 4, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1}\n", + "[5, 7, 8, 1, 2, 6, 3, 4]\n", + "[5, 7, 2, 6, 8, 3, 1, 4]\n", + "[[5, 3, 8, 6, 2, 1, 7, 4], [5, 3, 2, 6, 8, 1, 7, 4], [2, 5, 8, 6, 3, 1, 7, 4], [8, 5, 2, 6, 3, 1, 7, 4], [5, 3, 8, 6, 2, 7, 1, 4]]\n", + "1 4\n", + "[[3, 3], [2, 8], [6, 6]]\n", + "[5 3 2 6 8 1 7 4]\n", + "[5 3 8 6 2 1 7 4]\n", + "4\n", + "3\n", + "6\n", + "4\n", + "{5: 4, 6: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 3, 2, 8, 6, 1, 7, 4]\n", + "[5, 3, 8, 6, 7, 1, 2, 4]\n", + "[[5, 3, 8, 6, 2, 1, 7, 4], [5, 3, 2, 6, 8, 1, 7, 4], [2, 5, 8, 6, 3, 1, 7, 4], [8, 5, 2, 6, 3, 1, 7, 4], [5, 3, 8, 6, 2, 7, 1, 4]]\n", + "5 6\n", + "[[1, 1]]\n", + "[5 3 8 6 2 1 7 4]\n", + "[5 3 2 6 8 1 7 4]\n", + "3\n", + "2\n", + "5\n", + "4\n", + "{6: 5, 5: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 3, 2, 6, 1, 8, 7, 4]\n", + "[5, 3, 6, 8, 2, 1, 7, 4]\n", + "[[5, 3, 8, 6, 2, 1, 7, 4], [5, 3, 2, 6, 8, 1, 7, 4], [2, 5, 8, 6, 3, 1, 7, 4], [8, 5, 2, 6, 3, 1, 7, 4], [5, 3, 8, 6, 2, 7, 1, 4]]\n", + "2 3\n", + "[[2, 8]]\n", + "[5 3 2 6 8 1 7 4]\n", + "[5 3 8 6 2 1 7 4]\n", + "2\n", + "0\n", + "5\n", + "6\n", + "{5: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 6: 1}\n", + "[2, 3, 5, 6, 8, 1, 7, 4]\n", + "[5, 3, 8, 6, 2, 1, 7, 4]\n", + "[[5, 3, 2, 6, 8, 1, 7, 4], [2, 5, 8, 6, 3, 1, 7, 4], [8, 5, 2, 6, 3, 1, 7, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4]]\n", + "4 5\n", + "[[3, 8]]\n", + "[5 8 2 6 3 1 7 4]\n", + "[2 5 3 6 8 1 7 4]\n", + "6\n", + "5\n", + "4\n", + "1\n", + "{6: 6, 5: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[2, 8, 3, 6, 5, 1, 7, 4]\n", + "[5, 8, 2, 6, 3, 7, 1, 4]\n", + "[[5, 3, 2, 6, 8, 1, 7, 4], [2, 5, 8, 6, 3, 1, 7, 4], [8, 5, 2, 6, 3, 1, 7, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4]]\n", + "1 6\n", + "[[5, 3], [8, 2], [6, 6], [3, 8], [1, 1]]\n", + "[2 5 8 6 3 1 7 4]\n", + "[5 3 2 6 8 1 7 4]\n", + "2\n", + "4\n", + "3\n", + "0\n", + "{5: 3, 6: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[2, 5, 3, 6, 8, 1, 7, 4]\n", + "[6, 3, 2, 5, 8, 1, 7, 4]\n", + "[[5, 3, 2, 6, 8, 1, 7, 4], [2, 5, 8, 6, 3, 1, 7, 4], [8, 5, 2, 6, 3, 1, 7, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4]]\n", + "5 6\n", + "[[1, 1]]\n", + "[5 3 2 6 8 1 7 4]\n", + "[2 5 8 6 3 1 7 4]\n", + "5\n", + "2\n", + "3\n", + "1\n", + "{6: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1}\n", + "[2, 6, 8, 5, 3, 1, 7, 4]\n", + "[5, 3, 2, 6, 8, 1, 7, 4]\n", + "[[2, 5, 8, 6, 3, 1, 7, 4], [8, 5, 2, 6, 3, 1, 7, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 1, 6, 8, 2, 7, 4]]\n", + "3 6\n", + "[[6, 6], [3, 3], [1, 1]]\n", + "[2 5 8 6 3 1 7 4]\n", + "[8 5 2 6 3 1 7 4]\n", + "4\n", + "1\n", + "5\n", + "2\n", + "{5: 3, 6: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[2, 3, 8, 6, 5, 1, 7, 4]\n", + "[8, 5, 1, 6, 3, 2, 7, 4]\n", + "[[2, 5, 8, 6, 3, 1, 7, 4], [8, 5, 2, 6, 3, 1, 7, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 1, 6, 8, 2, 7, 4]]\n", + "2 5\n", + "[[2, 8], [6, 6], [3, 3]]\n", + "[8 5 2 6 3 1 7 4]\n", + "[2 5 8 6 3 1 7 4]\n", + "2\n", + "1\n", + "4\n", + "6\n", + "{6: 5, 5: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[2, 5, 8, 6, 7, 1, 3, 4]\n", + "[8, 2, 5, 6, 3, 1, 7, 4]\n", + "[[2, 5, 8, 6, 3, 1, 7, 4], [8, 5, 2, 6, 3, 1, 7, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 1, 6, 8, 2, 7, 4]]\n", + "1 3\n", + "[[5, 5], [2, 8]]\n", + "[8 5 2 6 3 1 7 4]\n", + "[2 5 8 6 3 1 7 4]\n", + "0\n", + "1\n", + "5\n", + "2\n", + "{6: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1}\n", + "[2, 5, 1, 6, 3, 8, 7, 4]\n", + "[2, 5, 8, 6, 3, 1, 7, 4]\n", + "[[8, 5, 2, 6, 3, 1, 7, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 1, 6, 8, 2, 7, 4], [5, 8, 2, 6, 3, 1, 7, 4]]\n", + "0 2\n", + "[[5, 8], [3, 5]]\n", + "[5 3 2 6 8 1 7 4]\n", + "[8 5 3 6 2 7 1 4]\n", + "0\n", + "2\n", + "4\n", + "2\n", + "{5: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 6: 1}\n", + "[2, 3, 5, 6, 8, 1, 7, 4]\n", + "[8, 5, 2, 6, 3, 1, 7, 4]\n", + "[[5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 1, 6, 8, 2, 7, 4], [5, 8, 2, 6, 3, 1, 7, 4], [8, 5, 2, 6, 3, 7, 1, 4]]\n", + "0 1\n", + "[[5, 5]]\n", + "[5 3 8 6 2 7 1 4]\n", + "[5 3 8 6 2 7 1 4]\n", + "5\n", + "0\n", + "6\n", + "2\n", + "{6: 3, 5: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 3, 1, 6, 2, 7, 8, 4]\n", + "[7, 3, 8, 6, 2, 5, 1, 4]\n", + "[[5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 1, 6, 8, 2, 7, 4], [5, 8, 2, 6, 3, 1, 7, 4], [8, 5, 2, 6, 3, 7, 1, 4]]\n", + "1 5\n", + "[[3, 3], [8, 8], [6, 6], [2, 2]]\n", + "[5 3 8 6 2 7 1 4]\n", + "[5 3 8 6 2 7 1 4]\n", + "0\n", + "4\n", + "6\n", + "4\n", + "{5: 4, 6: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[2, 3, 8, 6, 5, 7, 1, 4]\n", + "[5, 3, 8, 6, 1, 7, 2, 4]\n", + "[[5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 1, 6, 8, 2, 7, 4], [5, 8, 2, 6, 3, 1, 7, 4], [8, 5, 2, 6, 3, 7, 1, 4]]\n", + "5 6\n", + "[[7, 7]]\n", + "[5 3 8 6 2 7 1 4]\n", + "[5 3 8 6 2 7 1 4]\n", + "1\n", + "0\n", + "1\n", + "2\n", + "{5: 2, 6: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[3, 5, 8, 6, 2, 7, 1, 4]\n", + "[5, 8, 3, 6, 2, 7, 1, 4]\n", + "[[5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 1, 6, 8, 2, 7, 4], [5, 8, 2, 6, 3, 1, 7, 4], [8, 5, 2, 6, 3, 7, 1, 4]]\n", + "0 1\n", + "[[5, 5]]\n", + "[5 3 8 6 2 7 1 4]\n", + "[5 3 8 6 2 7 1 4]\n", + "0\n", + "3\n", + "1\n", + "4\n", + "{5: 5, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 6: 1}\n", + "[6, 3, 8, 5, 2, 7, 1, 4]\n", + "[5, 3, 8, 6, 2, 7, 1, 4]\n", + "[[5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 1, 6, 8, 2, 7, 4], [5, 8, 2, 6, 3, 1, 7, 4], [8, 5, 2, 6, 3, 7, 1, 4], [5, 2, 8, 6, 3, 7, 1, 4]]\n", + "3 5\n", + "[[6, 6], [8, 2]]\n", + "[5 3 2 6 8 7 1 4]\n", + "[5 3 1 6 2 8 7 4]\n", + "1\n", + "5\n", + "3\n", + "1\n", + "{6: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1}\n", + "[5, 6, 1, 3, 2, 8, 7, 4]\n", + "[5, 3, 8, 6, 2, 7, 1, 4]\n", + "[[5, 3, 1, 6, 8, 2, 7, 4], [5, 8, 2, 6, 3, 1, 7, 4], [8, 5, 2, 6, 3, 7, 1, 4], [5, 2, 8, 6, 3, 7, 1, 4], [5, 7, 2, 6, 8, 3, 1, 4]]\n", + "5 6\n", + "[[1, 2]]\n", + "[5 3 2 6 8 1 7 4]\n", + "[5 8 1 6 3 2 7 4]\n", + "6\n", + "2\n", + "6\n", + "4\n", + "{6: 8, 5: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 8, 1, 6, 7, 2, 3, 4]\n", + "[5, 3, 7, 6, 8, 1, 2, 4]\n", + "[[5, 3, 1, 6, 8, 2, 7, 4], [5, 8, 2, 6, 3, 1, 7, 4], [8, 5, 2, 6, 3, 7, 1, 4], [5, 2, 8, 6, 3, 7, 1, 4], [5, 7, 2, 6, 8, 3, 1, 4]]\n", + "2 4\n", + "[[2, 1], [6, 6]]\n", + "[5 3 2 6 8 1 7 4]\n", + "[5 8 1 6 3 2 7 4]\n", + "4\n", + "1\n", + "5\n", + "0\n", + "{6: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1}\n", + "[2, 8, 1, 6, 3, 5, 7, 4]\n", + "[5, 3, 1, 6, 8, 2, 7, 4]\n", + "[[5, 8, 2, 6, 3, 1, 7, 4], [8, 5, 2, 6, 3, 7, 1, 4], [5, 2, 8, 6, 3, 7, 1, 4], [5, 7, 2, 6, 8, 3, 1, 4], [5, 8, 2, 6, 3, 1, 7, 4]]\n", + "0 2\n", + "[[8, 5], [5, 8]]\n", + "[8 5 2 6 3 1 7 4]\n", + "[5 8 2 6 3 7 1 4]\n", + "1\n", + "6\n", + "3\n", + "0\n", + "{5: 3, 6: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[8, 7, 2, 6, 3, 1, 5, 4]\n", + "[6, 8, 2, 5, 3, 7, 1, 4]\n", + "[[5, 8, 2, 6, 3, 1, 7, 4], [8, 5, 2, 6, 3, 7, 1, 4], [5, 2, 8, 6, 3, 7, 1, 4], [5, 7, 2, 6, 8, 3, 1, 4], [5, 8, 2, 6, 3, 1, 7, 4]]\n", + "5 6\n", + "[[7, 1]]\n", + "[5 8 2 6 3 7 1 4]\n", + "[8 5 2 6 3 1 7 4]\n", + "1\n", + "0\n", + "6\n", + "5\n", + "{0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1, 6: 1}\n", + "[5, 8, 2, 6, 3, 1, 7, 4]\n", + "[8, 5, 2, 6, 3, 7, 1, 4]\n", + "[[5, 2, 8, 6, 3, 7, 1, 4], [5, 7, 2, 6, 8, 3, 1, 4], [5, 8, 2, 6, 3, 1, 7, 4], [8, 5, 2, 6, 3, 7, 1, 4], [8, 5, 2, 6, 3, 7, 1, 4]]\n", + "4 6\n", + "[[8, 3], [3, 7]]\n", + "[5 2 7 6 8 3 1 4]\n", + "[5 8 2 6 3 7 1 4]\n", + "2\n", + "5\n", + "1\n", + "6\n", + "{5: 3, 6: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 2, 3, 6, 8, 7, 1, 4]\n", + "[5, 1, 2, 6, 3, 7, 8, 4]\n", + "[[5, 2, 8, 6, 3, 7, 1, 4], [5, 7, 2, 6, 8, 3, 1, 4], [5, 8, 2, 6, 3, 1, 7, 4], [8, 5, 2, 6, 3, 7, 1, 4], [8, 5, 2, 6, 3, 7, 1, 4]]\n", + "0 4\n", + "[[5, 5], [7, 2], [2, 8], [6, 6]]\n", + "[5 7 2 6 3 8 1 4]\n", + "[5 2 8 6 7 3 1 4]\n", + "5\n", + "2\n", + "3\n", + "5\n", + "{5: 5, 6: 4, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 7, 8, 6, 3, 2, 1, 4]\n", + "[5, 2, 8, 3, 7, 6, 1, 4]\n", + "[[5, 2, 8, 6, 3, 7, 1, 4], [5, 7, 2, 6, 8, 3, 1, 4], [5, 8, 2, 6, 3, 1, 7, 4], [8, 5, 2, 6, 3, 7, 1, 4], [8, 5, 2, 6, 3, 7, 1, 4]]\n", + "5 6\n", + "[[3, 7]]\n", + "[5 2 8 6 7 3 1 4]\n", + "[5 3 2 6 8 7 1 4]\n", + "1\n", + "2\n", + "2\n", + "4\n", + "{5: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 6: 1}\n", + "[5, 8, 2, 6, 7, 3, 1, 4]\n", + "[5, 2, 8, 6, 3, 7, 1, 4]\n", + "[[5, 7, 2, 6, 8, 3, 1, 4], [5, 8, 2, 6, 3, 1, 7, 4], [8, 5, 2, 6, 3, 7, 1, 4], [8, 5, 2, 6, 3, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4]]\n", + "0 5\n", + "[[5, 5], [8, 7], [2, 2], [6, 6], [3, 8]]\n", + "[5 8 2 6 3 7 1 4]\n", + "[5 7 2 6 8 1 3 4]\n", + "0\n", + "6\n", + "1\n", + "3\n", + "{5: 3, 6: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[1, 8, 2, 6, 3, 7, 5, 4]\n", + "[5, 6, 2, 7, 8, 1, 3, 4]\n", + "[[5, 7, 2, 6, 8, 3, 1, 4], [5, 8, 2, 6, 3, 1, 7, 4], [8, 5, 2, 6, 3, 7, 1, 4], [8, 5, 2, 6, 3, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4]]\n", + "0 3\n", + "[[5, 5], [8, 7], [2, 2]]\n", + "[5 8 2 6 7 3 1 4]\n", + "[5 7 2 6 3 1 8 4]\n", + "3\n", + "2\n", + "3\n", + "4\n", + "{5: 3, 6: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 8, 6, 2, 7, 3, 1, 4]\n", + "[5, 7, 2, 3, 6, 1, 8, 4]\n", + "[[5, 7, 2, 6, 8, 3, 1, 4], [5, 8, 2, 6, 3, 1, 7, 4], [8, 5, 2, 6, 3, 7, 1, 4], [8, 5, 2, 6, 3, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4]]\n", + "2 6\n", + "[[2, 2], [6, 6], [3, 8], [1, 3]]\n", + "[5 7 2 6 3 1 8 4]\n", + "[5 1 2 6 8 3 7 4]\n", + "2\n", + "3\n", + "2\n", + "1\n", + "{5: 3, 6: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 7, 6, 2, 3, 1, 8, 4]\n", + "[5, 2, 1, 6, 8, 3, 7, 4]\n", + "[[5, 7, 2, 6, 8, 3, 1, 4], [5, 8, 2, 6, 3, 1, 7, 4], [8, 5, 2, 6, 3, 7, 1, 4], [8, 5, 2, 6, 3, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4]]\n", + "2 5\n", + "[[2, 2], [6, 6], [3, 8]]\n", + "[5 7 2 6 3 8 1 4]\n", + "[5 3 2 6 8 1 7 4]\n", + "5\n", + "4\n", + "4\n", + "1\n", + "{0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1, 6: 1}\n", + "[5, 7, 2, 6, 8, 3, 1, 4]\n", + "[5, 8, 2, 6, 3, 1, 7, 4]\n", + "[[8, 5, 2, 6, 3, 7, 1, 4], [8, 5, 2, 6, 3, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 7, 2, 6, 8, 3, 1, 4], [5, 8, 2, 6, 3, 1, 7, 4]]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "5 6\n", + "[[7, 7]]\n", + "[8 5 2 6 3 7 1 4]\n", + "[8 5 2 6 3 7 1 4]\n", + "4\n", + "0\n", + "1\n", + "2\n", + "{6: 4, 5: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[8, 2, 5, 6, 3, 7, 1, 4]\n", + "[3, 5, 2, 6, 8, 7, 1, 4]\n", + "[[8, 5, 2, 6, 3, 7, 1, 4], [8, 5, 2, 6, 3, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 7, 2, 6, 8, 3, 1, 4], [5, 8, 2, 6, 3, 1, 7, 4]]\n", + "5 6\n", + "[[7, 7]]\n", + "[8 5 2 6 3 7 1 4]\n", + "[8 5 2 6 3 7 1 4]\n", + "0\n", + "3\n", + "5\n", + "2\n", + "{6: 5, 5: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[8, 5, 7, 6, 3, 2, 1, 4]\n", + "[6, 5, 2, 8, 3, 7, 1, 4]\n", + "[[8, 5, 2, 6, 3, 7, 1, 4], [8, 5, 2, 6, 3, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 7, 2, 6, 8, 3, 1, 4], [5, 8, 2, 6, 3, 1, 7, 4]]\n", + "5 6\n", + "[[7, 7]]\n", + "[8 5 2 6 3 7 1 4]\n", + "[8 5 2 6 3 7 1 4]\n", + "2\n", + "4\n", + "6\n", + "3\n", + "{6: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1}\n", + "[8, 5, 2, 1, 3, 7, 6, 4]\n", + "[8, 5, 2, 6, 3, 7, 1, 4]\n", + "[[8, 5, 2, 6, 3, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 7, 2, 6, 8, 3, 1, 4], [5, 8, 2, 6, 3, 1, 7, 4], [8, 5, 3, 6, 2, 7, 1, 4]]\n", + "2 6\n", + "[[8, 2], [6, 6], [2, 3], [7, 7]]\n", + "[3 5 8 6 2 7 1 4]\n", + "[5 8 2 6 3 7 1 4]\n", + "6\n", + "2\n", + "0\n", + "4\n", + "{5: 4, 6: 4, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[3, 5, 1, 6, 2, 7, 8, 4]\n", + "[3, 8, 2, 6, 5, 7, 1, 4]\n", + "[[8, 5, 2, 6, 3, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 7, 2, 6, 8, 3, 1, 4], [5, 8, 2, 6, 3, 1, 7, 4], [8, 5, 3, 6, 2, 7, 1, 4]]\n", + "3 6\n", + "[[6, 6], [2, 3], [7, 7]]\n", + "[8 5 3 6 2 7 1 4]\n", + "[5 2 8 6 3 7 1 4]\n", + "2\n", + "6\n", + "3\n", + "2\n", + "{5: 3, 6: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[8, 5, 1, 6, 2, 7, 3, 4]\n", + "[5, 2, 6, 8, 3, 7, 1, 4]\n", + "[[8, 5, 2, 6, 3, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 7, 2, 6, 8, 3, 1, 4], [5, 8, 2, 6, 3, 1, 7, 4], [8, 5, 3, 6, 2, 7, 1, 4]]\n", + "1 6\n", + "[[3, 5], [8, 2], [6, 6], [2, 3], [7, 7]]\n", + "[5 3 8 6 2 7 1 4]\n", + "[8 5 2 6 3 7 1 4]\n", + "4\n", + "2\n", + "6\n", + "3\n", + "{5: 3, 6: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 3, 2, 6, 8, 7, 1, 4]\n", + "[8, 5, 2, 1, 3, 7, 6, 4]\n", + "[[8, 5, 2, 6, 3, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 7, 2, 6, 8, 3, 1, 4], [5, 8, 2, 6, 3, 1, 7, 4], [8, 5, 3, 6, 2, 7, 1, 4]]\n", + "0 2\n", + "[[5, 8], [3, 5]]\n", + "[5 3 2 6 8 7 1 4]\n", + "[8 5 3 6 2 7 1 4]\n", + "4\n", + "2\n", + "4\n", + "6\n", + "{6: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1}\n", + "[8, 5, 3, 6, 1, 7, 2, 4]\n", + "[8, 5, 2, 6, 3, 7, 1, 4]\n", + "[[5, 3, 8, 6, 2, 7, 1, 4], [5, 7, 2, 6, 8, 3, 1, 4], [5, 8, 2, 6, 3, 1, 7, 4], [8, 5, 3, 6, 2, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4]]\n", + "3 6\n", + "[[6, 6], [8, 2], [3, 7]]\n", + "[5 7 2 6 8 3 1 4]\n", + "[5 3 8 6 2 7 1 4]\n", + "2\n", + "3\n", + "1\n", + "2\n", + "{5: 5, 6: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 7, 6, 2, 8, 3, 1, 4]\n", + "[5, 8, 3, 6, 2, 7, 1, 4]\n", + "[[5, 3, 8, 6, 2, 7, 1, 4], [5, 7, 2, 6, 8, 3, 1, 4], [5, 8, 2, 6, 3, 1, 7, 4], [8, 5, 3, 6, 2, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4]]\n", + "3 5\n", + "[[6, 6], [8, 2]]\n", + "[5 3 2 6 8 7 1 4]\n", + "[5 7 8 6 2 3 1 4]\n", + "4\n", + "2\n", + "2\n", + "1\n", + "{6: 5, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1}\n", + "[5, 8, 7, 6, 2, 3, 1, 4]\n", + "[5, 3, 8, 6, 2, 7, 1, 4]\n", + "[[5, 7, 2, 6, 8, 3, 1, 4], [5, 8, 2, 6, 3, 1, 7, 4], [8, 5, 3, 6, 2, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4]]\n", + "5 6\n", + "[[1, 3]]\n", + "[5 7 2 6 8 1 3 4]\n", + "[5 8 2 6 1 3 7 4]\n", + "6\n", + "5\n", + "1\n", + "3\n", + "{6: 6, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1}\n", + "[5, 6, 2, 8, 1, 3, 7, 4]\n", + "[5, 7, 2, 6, 8, 3, 1, 4]\n", + "[[5, 8, 2, 6, 3, 1, 7, 4], [8, 5, 3, 6, 2, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 7, 2, 6, 8, 3, 1, 4]]\n", + "3 5\n", + "[[6, 6], [2, 3]]\n", + "[5 8 3 6 2 1 7 4]\n", + "[8 5 2 6 3 7 1 4]\n", + "3\n", + "6\n", + "1\n", + "0\n", + "{5: 2, 6: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 8, 3, 7, 2, 1, 6, 4]\n", + "[5, 8, 2, 6, 3, 7, 1, 4]\n", + "[[5, 8, 2, 6, 3, 1, 7, 4], [8, 5, 3, 6, 2, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 7, 2, 6, 8, 3, 1, 4]]\n", + "0 6\n", + "[[8, 5], [5, 8], [3, 2], [6, 6], [2, 3], [7, 1]]\n", + "[8 5 3 6 2 7 1 4]\n", + "[5 8 2 6 3 1 7 4]\n", + "0\n", + "5\n", + "0\n", + "3\n", + "{5: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 6: 1}\n", + "[7, 5, 3, 6, 2, 8, 1, 4]\n", + "[5, 8, 2, 6, 3, 1, 7, 4]\n", + "[[8, 5, 3, 6, 2, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 7, 2, 6, 8, 3, 1, 4], [6, 8, 2, 5, 3, 1, 7, 4]]\n", + "2 6\n", + "[[8, 3], [6, 6], [2, 2], [7, 7]]\n", + "[3 5 8 6 2 7 1 4]\n", + "[5 8 3 6 2 7 1 4]\n", + "1\n", + "3\n", + "6\n", + "0\n", + "{6: 3, 5: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[1, 8, 3, 6, 2, 7, 5, 4]\n", + "[3, 6, 8, 5, 2, 7, 1, 4]\n", + "[[8, 5, 3, 6, 2, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 7, 2, 6, 8, 3, 1, 4], [6, 8, 2, 5, 3, 1, 7, 4]]\n", + "1 4\n", + "[[3, 5], [8, 3], [6, 6]]\n", + "[5 3 8 6 2 7 1 4]\n", + "[8 5 3 6 2 7 1 4]\n", + "3\n", + "6\n", + "4\n", + "6\n", + "{5: 4, 6: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 3, 8, 1, 2, 7, 6, 4]\n", + "[8, 5, 3, 6, 1, 7, 2, 4]\n", + "[[8, 5, 3, 6, 2, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 7, 2, 6, 8, 3, 1, 4], [6, 8, 2, 5, 3, 1, 7, 4]]\n", + "2 3\n", + "[[8, 3]]\n", + "[3 5 8 6 2 7 1 4]\n", + "[5 8 3 6 2 7 1 4]\n", + "1\n", + "0\n", + "2\n", + "5\n", + "{6: 5, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1}\n", + "[5, 8, 7, 6, 2, 3, 1, 4]\n", + "[8, 5, 3, 6, 2, 7, 1, 4]\n", + "[[5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 7, 2, 6, 8, 3, 1, 4], [6, 8, 2, 5, 3, 1, 7, 4], [5, 3, 8, 6, 2, 7, 1, 4]]\n", + "3 5\n", + "[[6, 6], [2, 2]]\n", + "[5 3 8 6 2 7 1 4]\n", + "[5 3 8 6 2 7 1 4]\n", + "4\n", + "0\n", + "5\n", + "0\n", + "{5: 4, 6: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[2, 3, 8, 6, 5, 7, 1, 4]\n", + "[7, 3, 8, 6, 2, 5, 1, 4]\n", + "[[5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 7, 2, 6, 8, 3, 1, 4], [6, 8, 2, 5, 3, 1, 7, 4], [5, 3, 8, 6, 2, 7, 1, 4]]\n", + "0 2\n", + "[[5, 5], [3, 3]]\n", + "[5 3 8 6 2 7 1 4]\n", + "[5 3 8 6 2 7 1 4]\n", + "3\n", + "6\n", + "3\n", + "0\n", + "{6: 5, 5: 4, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[6, 3, 8, 5, 2, 7, 1, 4]\n", + "[5, 3, 8, 1, 2, 7, 6, 4]\n", + "[[5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 7, 2, 6, 8, 3, 1, 4], [6, 8, 2, 5, 3, 1, 7, 4], [5, 3, 8, 6, 2, 7, 1, 4]]\n", + "1 2\n", + "[[3, 3]]\n", + "[5 3 8 6 2 7 1 4]\n", + "[5 3 8 6 2 7 1 4]\n", + "0\n", + "3\n", + "1\n", + "4\n", + "{5: 5, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 6: 1}\n", + "[6, 3, 8, 5, 2, 7, 1, 4]\n", + "[5, 3, 8, 6, 2, 7, 1, 4]\n", + "[[5, 3, 8, 6, 2, 7, 1, 4], [5, 7, 2, 6, 8, 3, 1, 4], [6, 8, 2, 5, 3, 1, 7, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 2, 8, 6, 3, 7, 1, 4]]\n", + "1 4\n", + "[[7, 3], [2, 8], [6, 6]]\n", + "[5 7 2 6 8 3 1 4]\n", + "[5 3 8 6 2 7 1 4]\n", + "3\n", + "0\n", + "6\n", + "0\n", + "{5: 4, 6: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[6, 7, 2, 5, 8, 3, 1, 4]\n", + "[1, 3, 8, 6, 2, 7, 5, 4]\n", + "[[5, 3, 8, 6, 2, 7, 1, 4], [5, 7, 2, 6, 8, 3, 1, 4], [6, 8, 2, 5, 3, 1, 7, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 2, 8, 6, 3, 7, 1, 4]]\n", + "2 6\n", + "[[2, 8], [6, 6], [8, 2], [3, 7]]\n", + "[5 7 2 6 8 3 1 4]\n", + "[5 3 8 6 2 7 1 4]\n", + "2\n", + "1\n", + "6\n", + "0\n", + "{5: 2, 6: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 2, 7, 6, 8, 3, 1, 4]\n", + "[1, 3, 8, 6, 2, 7, 5, 4]\n", + "[[5, 3, 8, 6, 2, 7, 1, 4], [5, 7, 2, 6, 8, 3, 1, 4], [6, 8, 2, 5, 3, 1, 7, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 2, 8, 6, 3, 7, 1, 4]]\n", + "3 5\n", + "[[6, 6], [8, 2]]\n", + "[5 3 2 6 8 7 1 4]\n", + "[5 7 8 6 2 3 1 4]\n", + "4\n", + "3\n", + "4\n", + "5\n", + "{5: 6, 6: 5, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 3, 2, 8, 6, 7, 1, 4]\n", + "[5, 7, 8, 6, 3, 2, 1, 4]\n", + "[[5, 3, 8, 6, 2, 7, 1, 4], [5, 7, 2, 6, 8, 3, 1, 4], [6, 8, 2, 5, 3, 1, 7, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 2, 8, 6, 3, 7, 1, 4]]\n", + "1 2\n", + "[[7, 3]]\n", + "[5 7 8 6 2 3 1 4]\n", + "[5 3 2 6 8 7 1 4]\n", + "4\n", + "0\n", + "6\n", + "3\n", + "{6: 8, 5: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 3, 2, 1, 8, 7, 6, 4]\n", + "[2, 7, 8, 6, 5, 3, 1, 4]\n", + "[[5, 3, 8, 6, 2, 7, 1, 4], [5, 7, 2, 6, 8, 3, 1, 4], [6, 8, 2, 5, 3, 1, 7, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 2, 8, 6, 3, 7, 1, 4]]\n", + "2 3\n", + "[[2, 8]]\n", + "[5 3 2 6 8 7 1 4]\n", + "[5 7 8 6 2 3 1 4]\n", + "4\n", + "3\n", + "1\n", + "4\n", + "{5: 6, 6: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 3, 2, 8, 6, 7, 1, 4]\n", + "[5, 2, 8, 6, 7, 3, 1, 4]\n", + "[[5, 3, 8, 6, 2, 7, 1, 4], [5, 7, 2, 6, 8, 3, 1, 4], [6, 8, 2, 5, 3, 1, 7, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 2, 8, 6, 3, 7, 1, 4]]\n", + "4 5\n", + "[[8, 2]]\n", + "[5 3 2 6 8 7 1 4]\n", + "[5 7 8 6 2 3 1 4]\n", + "1\n", + "6\n", + "5\n", + "1\n", + "{5: 4, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 6: 1}\n", + "[5, 1, 2, 6, 8, 7, 3, 4]\n", + "[5, 3, 8, 6, 2, 7, 1, 4]\n", + "[[5, 7, 2, 6, 8, 3, 1, 4], [6, 8, 2, 5, 3, 1, 7, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 2, 8, 6, 3, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4]]\n", + "0 5\n", + "[[6, 5], [8, 7], [2, 2], [5, 6], [3, 8]]\n", + "[6 8 2 5 3 7 1 4]\n", + "[5 7 2 6 8 1 3 4]\n", + "2\n", + "3\n", + "6\n", + "1\n", + "{5: 4, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 6: 1}\n", + "[6, 8, 5, 2, 3, 7, 1, 4]\n", + "[5, 7, 2, 6, 8, 3, 1, 4]\n", + "[[6, 8, 2, 5, 3, 1, 7, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 2, 8, 6, 3, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4]]\n", + "0 2\n", + "[[5, 6], [3, 8]]\n", + "[5 3 2 6 8 1 7 4]\n", + "[6 8 3 5 2 7 1 4]\n", + "0\n", + "3\n", + "6\n", + "5\n", + "{6: 4, 5: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[6, 8, 3, 5, 2, 1, 7, 4]\n", + "[6, 3, 2, 5, 8, 1, 7, 4]\n", + "[[6, 8, 2, 5, 3, 1, 7, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 2, 8, 6, 3, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4]]\n", + "1 6\n", + "[[3, 8], [8, 2], [6, 5], [2, 3], [7, 1]]\n", + "[5 3 8 6 2 7 1 4]\n", + "[6 8 2 5 3 1 7 4]\n", + "0\n", + "6\n", + "2\n", + "6\n", + "{6: 4, 5: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[6, 8, 7, 5, 3, 1, 2, 4]\n", + "[1, 3, 8, 6, 2, 7, 5, 4]\n", + "[[6, 8, 2, 5, 3, 1, 7, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 2, 8, 6, 3, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4]]\n", + "1 2\n", + "[[3, 8]]\n", + "[6 3 2 5 8 1 7 4]\n", + "[5 8 3 6 2 7 1 4]\n", + "2\n", + "6\n", + "3\n", + "2\n", + "{5: 4, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 6: 1}\n", + "[6, 3, 7, 5, 8, 1, 2, 4]\n", + "[6, 8, 2, 5, 3, 1, 7, 4]\n", + "[[5, 3, 8, 6, 2, 7, 1, 4], [5, 2, 8, 6, 3, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4]]\n", + "3 6\n", + "[[6, 6], [3, 2], [7, 7]]\n", + "[5 2 8 6 3 7 1 4]\n", + "[5 3 8 6 2 7 1 4]\n", + "5\n", + "0\n", + "5\n", + "1\n", + "{5: 4, 6: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[7, 2, 8, 6, 3, 5, 1, 4]\n", + "[5, 7, 8, 6, 2, 3, 1, 4]\n", + "[[5, 3, 8, 6, 2, 7, 1, 4], [5, 2, 8, 6, 3, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4]]\n", + "4 5\n", + "[[3, 2]]\n", + "[5 2 8 6 3 7 1 4]\n", + "[5 3 8 6 2 7 1 4]\n", + "5\n", + "2\n", + "2\n", + "4\n", + "{5: 4, 6: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 2, 7, 6, 3, 8, 1, 4]\n", + "[5, 3, 2, 6, 8, 7, 1, 4]\n", + "[[5, 3, 8, 6, 2, 7, 1, 4], [5, 2, 8, 6, 3, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4]]\n", + "2 4\n", + "[[8, 8], [6, 6]]\n", + "[5 3 8 6 2 7 1 4]\n", + "[5 2 8 6 3 7 1 4]\n", + "0\n", + "5\n", + "3\n", + "6\n", + "{5: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 6: 1}\n", + "[7, 3, 8, 6, 2, 5, 1, 4]\n", + "[5, 3, 8, 6, 2, 7, 1, 4]\n", + "[[5, 2, 8, 6, 3, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 8, 1, 3, 7, 6, 4]]\n", + "5 6\n", + "[[7, 7]]\n", + "[5 2 8 6 3 7 1 4]\n", + "[5 3 8 6 2 7 1 4]\n", + "3\n", + "4\n", + "3\n", + "4\n", + "{6: 5, 5: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 3, 8, 2, 6, 7, 1, 4]\n", + "[5, 2, 8, 3, 6, 7, 1, 4]\n", + "[[5, 2, 8, 6, 3, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 8, 1, 3, 7, 6, 4]]\n", + "4 5\n", + "[[2, 3]]\n", + "[5 3 8 6 2 7 1 4]\n", + "[5 2 8 6 3 7 1 4]\n", + "0\n", + "2\n", + "6\n", + "0\n", + "{5: 3, 6: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[8, 3, 5, 6, 2, 7, 1, 4]\n", + "[1, 2, 8, 6, 3, 7, 5, 4]\n", + "[[5, 2, 8, 6, 3, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 8, 1, 3, 7, 6, 4]]\n", + "5 6\n", + "[[7, 7]]\n", + "[5 2 8 6 3 7 1 4]\n", + "[5 3 8 6 2 7 1 4]\n", + "2\n", + "0\n", + "2\n", + "5\n", + "{5: 4, 6: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[8, 2, 5, 6, 3, 7, 1, 4]\n", + "[5, 3, 7, 6, 2, 8, 1, 4]\n", + "[[5, 2, 8, 6, 3, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 8, 1, 3, 7, 6, 4]]\n", + "0 1\n", + "[[5, 5]]\n", + "[5 2 8 6 3 7 1 4]\n", + "[5 3 8 6 2 7 1 4]\n", + "6\n", + "0\n", + "0\n", + "1\n", + "{5: 3, 6: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[1, 2, 8, 6, 3, 7, 5, 4]\n", + "[3, 5, 8, 6, 2, 7, 1, 4]\n", + "[[5, 2, 8, 6, 3, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 8, 1, 3, 7, 6, 4]]\n", + "1 2\n", + "[[3, 2]]\n", + "[5 3 8 6 2 7 1 4]\n", + "[5 2 8 6 3 7 1 4]\n", + "2\n", + "0\n", + "0\n", + "1\n", + "{5: 3, 6: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[8, 3, 5, 6, 2, 7, 1, 4]\n", + "[2, 5, 8, 6, 3, 7, 1, 4]\n", + "[[5, 2, 8, 6, 3, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 8, 1, 3, 7, 6, 4]]\n", + "1 3\n", + "[[3, 2], [8, 8]]\n", + "[5 3 8 6 2 7 1 4]\n", + "[5 2 8 6 3 7 1 4]\n", + "1\n", + "5\n", + "5\n", + "2\n", + "{6: 4, 5: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 2, 7, 6, 3, 8, 1, 4]\n", + "[5, 7, 8, 6, 2, 3, 1, 4]\n", + "[[5, 2, 8, 6, 3, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 8, 1, 3, 7, 6, 4]]\n", + "3 5\n", + "[[6, 6], [2, 3]]\n", + "[5 3 8 6 2 7 1 4]\n", + "[5 2 8 6 3 7 1 4]\n", + "3\n", + "2\n", + "2\n", + "0\n", + "{6: 4, 5: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[8, 2, 5, 6, 3, 7, 1, 4]\n", + "[5, 3, 6, 8, 2, 7, 1, 4]\n", + "[[5, 2, 8, 6, 3, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 8, 1, 3, 7, 6, 4]]\n", + "4 6\n", + "[[2, 3], [7, 7]]\n", + "[5 3 8 6 2 7 1 4]\n", + "[5 2 8 6 3 7 1 4]\n", + "2\n", + "4\n", + "2\n", + "1\n", + "{5: 3, 6: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 3, 2, 6, 8, 7, 1, 4]\n", + "[5, 8, 2, 6, 3, 7, 1, 4]\n", + "[[5, 2, 8, 6, 3, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 8, 1, 3, 7, 6, 4]]\n", + "2 5\n", + "[[8, 8], [6, 6], [2, 3]]\n", + "[5 3 8 6 2 7 1 4]\n", + "[5 2 8 6 3 7 1 4]\n", + "1\n", + "0\n", + "2\n", + "0\n", + "{6: 4, 5: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[8, 2, 5, 6, 3, 7, 1, 4]\n", + "[3, 5, 8, 6, 2, 7, 1, 4]\n", + "[[5, 2, 8, 6, 3, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 8, 1, 3, 7, 6, 4]]\n", + "3 4\n", + "[[6, 6]]\n", + "[5 2 8 6 3 7 1 4]\n", + "[5 3 8 6 2 7 1 4]\n", + "3\n", + "4\n", + "5\n", + "0\n", + "{5: 2, 6: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 2, 8, 3, 6, 7, 1, 4]\n", + "[7, 3, 8, 6, 2, 5, 1, 4]\n", + "[[5, 2, 8, 6, 3, 7, 1, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 8, 1, 3, 7, 6, 4]]\n", + "0 1\n", + "[[5, 5]]\n", + "[5 2 8 6 3 7 1 4]\n", + "[5 3 8 6 2 7 1 4]\n", + "4\n", + "1\n", + "6\n", + "3\n", + "{6: 4, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1}\n", + "[5, 3, 8, 1, 2, 7, 6, 4]\n", + "[5, 2, 8, 6, 3, 7, 1, 4]\n", + "[[5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 8, 1, 3, 7, 6, 4], [5, 3, 8, 6, 2, 7, 1, 4]]\n", + "2 5\n", + "[[2, 8], [6, 6], [8, 2]]\n", + "[5 3 2 6 8 7 1 4]\n", + "[5 3 8 6 2 1 7 4]\n", + "2\n", + "5\n", + "3\n", + "4\n", + "{5: 4, 6: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 3, 7, 6, 8, 2, 1, 4]\n", + "[5, 3, 8, 2, 6, 1, 7, 4]\n", + "[[5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 8, 1, 3, 7, 6, 4], [5, 3, 8, 6, 2, 7, 1, 4]]\n", + "5 6\n", + "[[1, 7]]\n", + "[5 3 8 6 2 1 7 4]\n", + "[5 3 2 6 8 7 1 4]\n", + "2\n", + "4\n", + "5\n", + "3\n", + "{6: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1}\n", + "[5, 3, 2, 7, 8, 6, 1, 4]\n", + "[5, 3, 8, 6, 2, 7, 1, 4]\n", + "[[5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 8, 1, 3, 7, 6, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4]]\n", + "4 5\n", + "[[2, 8]]\n", + "[5 3 8 6 2 1 7 4]\n", + "[5 2 6 3 8 7 1 4]\n", + "1\n", + "6\n", + "5\n", + "4\n", + "{5: 4, 6: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 7, 8, 6, 2, 1, 3, 4]\n", + "[5, 2, 6, 3, 7, 8, 1, 4]\n", + "[[5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 8, 1, 3, 7, 6, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4]]\n", + "5 6\n", + "[[7, 1]]\n", + "[5 3 2 6 8 7 1 4]\n", + "[5 8 6 3 2 1 7 4]\n", + "1\n", + "3\n", + "5\n", + "0\n", + "{5: 4, 6: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 6, 2, 3, 8, 7, 1, 4]\n", + "[1, 8, 6, 3, 2, 5, 7, 4]\n", + "[[5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 8, 1, 3, 7, 6, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4]]\n", + "5 6\n", + "[[7, 1]]\n", + "[5 3 2 6 8 7 1 4]\n", + "[5 8 6 3 2 1 7 4]\n", + "0\n", + "5\n", + "1\n", + "2\n", + "{6: 4, 5: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 6, 8, 3, 2, 1, 7, 4]\n", + "[7, 3, 2, 6, 8, 5, 1, 4]\n", + "[[5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 8, 1, 3, 7, 6, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4]]\n", + "4 6\n", + "[[2, 8], [7, 1]]\n", + "[5 3 8 6 2 7 1 4]\n", + "[5 2 6 3 8 1 7 4]\n", + "1\n", + "0\n", + "6\n", + "3\n", + "{6: 4, 5: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 2, 6, 7, 8, 1, 3, 4]\n", + "[3, 5, 8, 6, 2, 7, 1, 4]\n", + "[[5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 8, 1, 3, 7, 6, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4]]\n", + "2 4\n", + "[[6, 2], [3, 6]]\n", + "[5 2 6 3 8 1 7 4]\n", + "[5 8 2 6 3 7 1 4]\n", + "4\n", + "3\n", + "3\n", + "5\n", + "{5: 3, 6: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 2, 6, 8, 3, 1, 7, 4]\n", + "[5, 8, 2, 7, 3, 6, 1, 4]\n", + "[[5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 8, 1, 3, 7, 6, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4]]\n", + "1 3\n", + "[[8, 3], [6, 2]]\n", + "[5 8 6 2 3 1 7 4]\n", + "[5 3 2 8 6 7 1 4]\n", + "3\n", + "1\n", + "5\n", + "0\n", + "{6: 6, 5: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[7, 3, 2, 8, 6, 5, 1, 4]\n", + "[5, 2, 6, 8, 3, 1, 7, 4]\n", + "[[5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 8, 1, 3, 7, 6, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4]]\n", + "2 6\n", + "[[6, 2], [3, 6], [2, 8], [7, 1]]\n", + "[5 8 6 3 2 7 1 4]\n", + "[5 3 2 6 8 1 7 4]\n", + "4\n", + "0\n", + "4\n", + "6\n", + "{6: 4, 5: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 3, 2, 6, 7, 1, 8, 4]\n", + "[2, 8, 6, 3, 5, 7, 1, 4]\n", + "[[5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 8, 1, 3, 7, 6, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4]]\n", + "5 6\n", + "[[7, 1]]\n", + "[5 3 2 6 8 7 1 4]\n", + "[5 8 6 3 2 1 7 4]\n", + "0\n", + "5\n", + "0\n", + "1\n", + "{6: 8, 5: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[8, 5, 6, 3, 2, 1, 7, 4]\n", + "[7, 3, 2, 6, 8, 5, 1, 4]\n", + "[[5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 8, 1, 3, 7, 6, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4]]\n", + "1 5\n", + "[[8, 3], [6, 2], [3, 6], [2, 8]]\n", + "[5 8 6 3 2 1 7 4]\n", + "[5 3 2 6 8 7 1 4]\n", + "1\n", + "5\n", + "0\n", + "3\n", + "{6: 5, 5: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[6, 3, 2, 5, 8, 7, 1, 4]\n", + "[5, 1, 6, 3, 2, 8, 7, 4]\n", + "[[5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 8, 1, 3, 7, 6, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4]]\n", + "2 6\n", + "[[6, 2], [3, 6], [2, 8], [7, 1]]\n", + "[5 8 6 3 2 7 1 4]\n", + "[5 3 2 6 8 1 7 4]\n", + "1\n", + "4\n", + "0\n", + "2\n", + "{5: 2, 6: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 2, 6, 3, 8, 7, 1, 4]\n", + "[2, 3, 5, 6, 8, 1, 7, 4]\n", + "[[5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 8, 1, 3, 7, 6, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4]]\n", + "5 6\n", + "[[7, 1]]\n", + "[5 3 2 6 8 7 1 4]\n", + "[5 8 6 3 2 1 7 4]\n", + "6\n", + "3\n", + "1\n", + "3\n", + "{5: 8, 6: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 3, 2, 1, 8, 7, 6, 4]\n", + "[5, 3, 6, 8, 2, 1, 7, 4]\n", + "[[5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 8, 1, 3, 7, 6, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4]]\n", + "2 4\n", + "[[6, 2], [3, 6]]\n", + "[5 2 6 3 8 1 7 4]\n", + "[5 8 2 6 3 7 1 4]\n", + "2\n", + "1\n", + "5\n", + "1\n", + "{5: 3, 6: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 6, 2, 3, 8, 1, 7, 4]\n", + "[5, 7, 2, 6, 3, 8, 1, 4]\n", + "[[5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 8, 1, 3, 7, 6, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4]]\n", + "3 6\n", + "[[3, 6], [2, 8], [7, 1]]\n", + "[5 6 8 3 2 7 1 4]\n", + "[5 2 3 6 8 1 7 4]\n", + "6\n", + "2\n", + "6\n", + "4\n", + "{6: 4, 5: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 2, 3, 6, 7, 1, 8, 4]\n", + "[5, 6, 1, 3, 2, 7, 8, 4]\n", + "[[5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 8, 1, 3, 7, 6, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4]]\n", + "3 6\n", + "[[3, 6], [2, 8], [7, 1]]\n", + "[5 6 8 3 2 7 1 4]\n", + "[5 2 3 6 8 1 7 4]\n", + "3\n", + "2\n", + "3\n", + "5\n", + "{6: 8, 5: 6, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 2, 3, 1, 8, 6, 7, 4]\n", + "[5, 6, 3, 8, 2, 7, 1, 4]\n", + "[[5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 8, 1, 3, 7, 6, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4]]\n", + "5 6\n", + "[[7, 1]]\n", + "[5 3 2 6 8 7 1 4]\n", + "[5 8 6 3 2 1 7 4]\n", + "1\n", + "4\n", + "5\n", + "0\n", + "{6: 3, 5: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[1, 8, 6, 3, 2, 5, 7, 4]\n", + "[5, 8, 2, 6, 3, 7, 1, 4]\n", + "[[5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 8, 1, 3, 7, 6, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4]]\n", + "2 5\n", + "[[6, 2], [3, 6], [2, 8]]\n", + "[5 8 6 3 2 1 7 4]\n", + "[5 3 2 6 8 7 1 4]\n", + "1\n", + "2\n", + "5\n", + "4\n", + "{6: 5, 5: 4, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 3, 2, 6, 7, 8, 1, 4]\n", + "[5, 6, 8, 3, 2, 1, 7, 4]\n", + "[[5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 8, 1, 3, 7, 6, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4]]\n", + "0 5\n", + "[[5, 5], [8, 3], [6, 2], [3, 6], [2, 8]]\n", + "[5 8 6 3 2 1 7 4]\n", + "[5 3 2 6 8 7 1 4]\n", + "1\n", + "5\n", + "0\n", + "1\n", + "{5: 3, 6: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 1, 6, 3, 2, 8, 7, 4]\n", + "[3, 5, 2, 6, 8, 7, 1, 4]\n", + "[[5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 8, 1, 3, 7, 6, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4]]\n", + "4 5\n", + "[[2, 8]]\n", + "[5 3 8 6 2 1 7 4]\n", + "[5 2 6 3 8 7 1 4]\n", + "3\n", + "4\n", + "6\n", + "2\n", + "{6: 5, 5: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 2, 1, 3, 8, 7, 6, 4]\n", + "[5, 3, 8, 2, 6, 1, 7, 4]\n", + "[[5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 8, 1, 3, 7, 6, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4]]\n", + "4 6\n", + "[[2, 8], [7, 1]]\n", + "[5 3 8 6 2 7 1 4]\n", + "[5 2 6 3 8 1 7 4]\n", + "3\n", + "1\n", + "3\n", + "5\n", + "{6: 4, 5: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 2, 6, 1, 8, 3, 7, 4]\n", + "[5, 6, 8, 3, 2, 7, 1, 4]\n", + "[[5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 8, 1, 3, 7, 6, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4]]\n", + "2 5\n", + "[[6, 2], [3, 6], [2, 8]]\n", + "[5 8 6 3 2 1 7 4]\n", + "[5 3 2 6 8 7 1 4]\n", + "0\n", + "2\n", + "0\n", + "6\n", + "{5: 6, 6: 4, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[6, 8, 5, 3, 2, 1, 7, 4]\n", + "[1, 3, 2, 6, 8, 7, 5, 4]\n", + "[[5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 8, 1, 3, 7, 6, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4]]\n", + "5 6\n", + "[[7, 1]]\n", + "[5 3 2 6 8 7 1 4]\n", + "[5 8 6 3 2 1 7 4]\n", + "6\n", + "3\n", + "2\n", + "5\n", + "{5: 8, 6: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 3, 2, 1, 8, 7, 6, 4]\n", + "[5, 8, 1, 3, 2, 6, 7, 4]\n", + "[[5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 8, 1, 3, 7, 6, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4]]\n", + "2 5\n", + "[[6, 2], [3, 6], [2, 8]]\n", + "[5 8 6 3 2 1 7 4]\n", + "[5 3 2 6 8 7 1 4]\n", + "6\n", + "0\n", + "3\n", + "5\n", + "{5: 5, 6: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[7, 8, 6, 3, 2, 1, 5, 4]\n", + "[5, 3, 2, 7, 8, 6, 1, 4]\n", + "[[5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 8, 1, 3, 7, 6, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4]]\n", + "0 3\n", + "[[5, 5], [8, 3], [6, 2]]\n", + "[5 8 6 2 3 1 7 4]\n", + "[5 3 2 8 6 7 1 4]\n", + "6\n", + "2\n", + "5\n", + "0\n", + "{6: 6, 5: 4, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[7, 3, 2, 8, 6, 5, 1, 4]\n", + "[5, 8, 7, 2, 3, 1, 6, 4]\n", + "[[5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 8, 1, 3, 7, 6, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4]]\n", + "3 5\n", + "[[3, 6], [2, 8]]\n", + "[5 6 8 3 2 1 7 4]\n", + "[5 2 3 6 8 7 1 4]\n", + "3\n", + "5\n", + "4\n", + "5\n", + "{6: 6, 5: 4, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 2, 3, 6, 7, 8, 1, 4]\n", + "[5, 6, 8, 1, 2, 3, 7, 4]\n", + "[[5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 8, 1, 3, 7, 6, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4]]\n", + "2 4\n", + "[[6, 2], [3, 6]]\n", + "[5 2 6 3 8 1 7 4]\n", + "[5 8 2 6 3 7 1 4]\n", + "5\n", + "6\n", + "5\n", + "3\n", + "{5: 2, 6: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 2, 6, 3, 8, 7, 1, 4]\n", + "[5, 8, 2, 7, 3, 6, 1, 4]\n", + "[[5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 8, 1, 3, 7, 6, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4]]\n", + "4 6\n", + "[[2, 8], [7, 1]]\n", + "[5 3 8 6 2 7 1 4]\n", + "[5 2 6 3 8 1 7 4]\n", + "3\n", + "0\n", + "3\n", + "2\n", + "{5: 5, 6: 4, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[6, 3, 8, 5, 2, 7, 1, 4]\n", + "[5, 2, 3, 6, 8, 1, 7, 4]\n", + "[[5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 8, 1, 3, 7, 6, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4]]\n", + "0 6\n", + "[[5, 5], [8, 3], [6, 2], [3, 6], [2, 8], [7, 1]]\n", + "[5 8 6 3 2 7 1 4]\n", + "[5 3 2 6 8 1 7 4]\n", + "6\n", + "1\n", + "4\n", + "1\n", + "{5: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 6: 1}\n", + "[5, 1, 6, 3, 2, 7, 8, 4]\n", + "[5, 3, 2, 6, 8, 1, 7, 4]\n", + "[[5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 8, 1, 3, 7, 6, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 2, 6, 3, 1, 7, 4]]\n", + "3 4\n", + "[[1, 3]]\n", + "[5 8 6 1 2 7 3 4]\n", + "[5 2 8 3 1 7 6 4]\n", + "6\n", + "3\n", + "6\n", + "5\n", + "{6: 6, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1}\n", + "[5, 2, 8, 3, 1, 6, 7, 4]\n", + "[5, 8, 6, 3, 2, 7, 1, 4]\n", + "[[5, 2, 8, 1, 3, 7, 6, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 2, 6, 3, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4]]\n", + "5 6\n", + "[[7, 7]]\n", + "[5 2 8 1 3 7 6 4]\n", + "[5 3 8 6 2 7 1 4]\n", + "4\n", + "6\n", + "5\n", + "1\n", + "{5: 3, 6: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 2, 8, 1, 6, 7, 3, 4]\n", + "[5, 7, 8, 6, 2, 3, 1, 4]\n", + "[[5, 2, 8, 1, 3, 7, 6, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 2, 6, 3, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4]]\n", + "5 6\n", + "[[7, 7]]\n", + "[5 2 8 1 3 7 6 4]\n", + "[5 3 8 6 2 7 1 4]\n", + "6\n", + "4\n", + "2\n", + "1\n", + "{5: 3, 6: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 2, 8, 1, 6, 7, 3, 4]\n", + "[5, 8, 3, 6, 2, 7, 1, 4]\n", + "[[5, 2, 8, 1, 3, 7, 6, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 2, 6, 3, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4]]\n", + "3 4\n", + "[[6, 1]]\n", + "[5 2 8 6 3 7 1 4]\n", + "[5 3 8 1 2 7 6 4]\n", + "1\n", + "5\n", + "6\n", + "0\n", + "{6: 6, 5: 5, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[6, 3, 8, 1, 2, 7, 5, 4]\n", + "[5, 7, 8, 6, 3, 2, 1, 4]\n", + "[[5, 2, 8, 1, 3, 7, 6, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 2, 6, 3, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4]]\n", + "1 6\n", + "[[3, 2], [8, 8], [6, 1], [2, 3], [7, 7]]\n", + "[5 3 8 6 2 7 1 4]\n", + "[5 2 8 1 3 7 6 4]\n", + "1\n", + "3\n", + "2\n", + "0\n", + "{5: 3, 6: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 6, 8, 3, 2, 7, 1, 4]\n", + "[8, 2, 5, 1, 3, 7, 6, 4]\n", + "[[5, 2, 8, 1, 3, 7, 6, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 2, 6, 3, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4]]\n", + "2 5\n", + "[[8, 8], [6, 1], [2, 3]]\n", + "[5 3 8 6 2 7 1 4]\n", + "[5 2 8 1 3 7 6 4]\n", + "5\n", + "2\n", + "6\n", + "0\n", + "{5: 3, 6: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 3, 7, 6, 2, 8, 1, 4]\n", + "[6, 2, 8, 1, 3, 7, 5, 4]\n", + "[[5, 2, 8, 1, 3, 7, 6, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 2, 6, 3, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4]]\n", + "4 5\n", + "[[2, 3]]\n", + "[5 3 8 1 2 7 6 4]\n", + "[5 2 8 6 3 7 1 4]\n", + "3\n", + "1\n", + "5\n", + "3\n", + "{5: 5, 6: 4, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 1, 8, 3, 2, 7, 6, 4]\n", + "[5, 2, 8, 7, 3, 6, 1, 4]\n", + "[[5, 2, 8, 1, 3, 7, 6, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 2, 6, 3, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4]]\n", + "5 6\n", + "[[7, 7]]\n", + "[5 2 8 1 3 7 6 4]\n", + "[5 3 8 6 2 7 1 4]\n", + "3\n", + "0\n", + "6\n", + "1\n", + "{5: 3, 6: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[1, 2, 8, 5, 3, 7, 6, 4]\n", + "[5, 1, 8, 6, 2, 7, 3, 4]\n", + "[[5, 2, 8, 1, 3, 7, 6, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 2, 6, 3, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4]]\n", + "4 6\n", + "[[2, 3], [7, 7]]\n", + "[5 3 8 1 2 7 6 4]\n", + "[5 2 8 6 3 7 1 4]\n", + "1\n", + "5\n", + "6\n", + "0\n", + "{5: 5, 6: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 7, 8, 1, 2, 3, 6, 4]\n", + "[1, 2, 8, 6, 3, 7, 5, 4]\n", + "[[5, 2, 8, 1, 3, 7, 6, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 2, 6, 3, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4]]\n", + "2 3\n", + "[[8, 8]]\n", + "[5 2 8 1 3 7 6 4]\n", + "[5 3 8 6 2 7 1 4]\n", + "2\n", + "4\n", + "1\n", + "0\n", + "{5: 5, 6: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 2, 3, 1, 8, 7, 6, 4]\n", + "[3, 5, 8, 6, 2, 7, 1, 4]\n", + "[[5, 2, 8, 1, 3, 7, 6, 4], [5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 2, 6, 3, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4]]\n", + "0 1\n", + "[[5, 5]]\n", + "[5 2 8 1 3 7 6 4]\n", + "[5 3 8 6 2 7 1 4]\n", + "5\n", + "2\n", + "3\n", + "2\n", + "{6: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1}\n", + "[5, 3, 6, 8, 2, 7, 1, 4]\n", + "[5, 2, 8, 1, 3, 7, 6, 4]\n", + "[[5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 2, 6, 3, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 7, 1, 3, 8, 6, 4]]\n", + "4 5\n", + "[[8, 2]]\n", + "[5 3 2 6 8 7 1 4]\n", + "[5 3 8 6 2 1 7 4]\n", + "0\n", + "3\n", + "1\n", + "6\n", + "{5: 5, 6: 4, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[6, 3, 2, 5, 8, 7, 1, 4]\n", + "[5, 7, 8, 6, 2, 1, 3, 4]\n", + "[[5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 2, 6, 3, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 7, 1, 3, 8, 6, 4]]\n", + "3 6\n", + "[[6, 6], [8, 2], [1, 7]]\n", + "[5 3 2 6 8 1 7 4]\n", + "[5 3 8 6 2 7 1 4]\n", + "4\n", + "0\n", + "2\n", + "0\n", + "{5: 3, 6: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[8, 3, 2, 6, 5, 1, 7, 4]\n", + "[8, 3, 5, 6, 2, 7, 1, 4]\n", + "[[5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 2, 6, 3, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 7, 1, 3, 8, 6, 4]]\n", + "2 5\n", + "[[2, 8], [6, 6], [8, 2]]\n", + "[5 3 2 6 8 7 1 4]\n", + "[5 3 8 6 2 1 7 4]\n", + "6\n", + "1\n", + "4\n", + "5\n", + "{5: 4, 6: 4, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 1, 2, 6, 8, 7, 3, 4]\n", + "[5, 3, 8, 6, 1, 2, 7, 4]\n", + "[[5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 2, 6, 3, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 7, 1, 3, 8, 6, 4]]\n", + "5 6\n", + "[[1, 7]]\n", + "[5 3 8 6 2 1 7 4]\n", + "[5 3 2 6 8 7 1 4]\n", + "0\n", + "1\n", + "5\n", + "2\n", + "{5: 4, 6: 4, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[3, 5, 8, 6, 2, 1, 7, 4]\n", + "[5, 3, 7, 6, 8, 2, 1, 4]\n", + "[[5, 3, 8, 6, 2, 7, 1, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 2, 6, 3, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 7, 1, 3, 8, 6, 4]]\n", + "4 5\n", + "[[8, 2]]\n", + "[5 3 2 6 8 7 1 4]\n", + "[5 3 8 6 2 1 7 4]\n", + "5\n", + "6\n", + "1\n", + "2\n", + "{6: 4, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1}\n", + "[5, 8, 3, 6, 2, 1, 7, 4]\n", + "[5, 3, 8, 6, 2, 7, 1, 4]\n", + "[[5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 2, 6, 3, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 7, 1, 3, 8, 6, 4], [5, 3, 2, 6, 8, 1, 7, 4]]\n", + "5 6\n", + "[[1, 1]]\n", + "[5 3 2 6 8 1 7 4]\n", + "[5 8 2 6 3 1 7 4]\n", + "6\n", + "0\n", + "5\n", + "0\n", + "{6: 3, 5: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[1, 8, 2, 6, 3, 5, 7, 4]\n", + "[7, 3, 2, 6, 8, 1, 5, 4]\n", + "[[5, 3, 2, 6, 8, 1, 7, 4], [5, 8, 2, 6, 3, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 7, 1, 3, 8, 6, 4], [5, 3, 2, 6, 8, 1, 7, 4]]\n", + "3 5\n", + "[[6, 6], [3, 8]]\n", + "[5 8 2 6 3 1 7 4]\n", + "[5 3 2 6 8 1 7 4]\n", + "1\n", + "2\n", + "6\n", + "3\n", + "{6: 4, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1}\n", + "[5, 3, 2, 7, 8, 1, 6, 4]\n", + "[5, 3, 2, 6, 8, 1, 7, 4]\n", + "[[5, 8, 2, 6, 3, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 7, 1, 3, 8, 6, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 2, 8, 6, 3, 1, 7, 4]]\n", + "1 3\n", + "[[8, 8], [6, 2]]\n", + "[5 8 6 2 3 1 7 4]\n", + "[5 8 2 3 6 7 1 4]\n", + "6\n", + "2\n", + "3\n", + "2\n", + "{5: 4, 6: 4, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 8, 7, 2, 3, 1, 6, 4]\n", + "[5, 8, 3, 2, 6, 7, 1, 4]\n", + "[[5, 8, 2, 6, 3, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 7, 1, 3, 8, 6, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 2, 8, 6, 3, 1, 7, 4]]\n", + "0 2\n", + "[[5, 5], [8, 8]]\n", + "[5 8 2 6 3 1 7 4]\n", + "[5 8 6 3 2 7 1 4]\n", + "2\n", + "6\n", + "2\n", + "6\n", + "{5: 5, 6: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 8, 7, 6, 3, 1, 2, 4]\n", + "[5, 8, 1, 3, 2, 7, 6, 4]\n", + "[[5, 8, 2, 6, 3, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 7, 1, 3, 8, 6, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 2, 8, 6, 3, 1, 7, 4]]\n", + "2 4\n", + "[[6, 2], [3, 6]]\n", + "[5 8 6 3 2 1 7 4]\n", + "[5 8 2 6 3 7 1 4]\n", + "6\n", + "4\n", + "0\n", + "5\n", + "{6: 6, 5: 4, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[7, 8, 2, 6, 3, 5, 1, 4]\n", + "[5, 8, 6, 3, 7, 1, 2, 4]\n", + "[[5, 8, 2, 6, 3, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 7, 1, 3, 8, 6, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 2, 8, 6, 3, 1, 7, 4]]\n", + "3 6\n", + "[[3, 6], [2, 3], [7, 1]]\n", + "[5 8 6 3 2 7 1 4]\n", + "[5 8 2 6 3 1 7 4]\n", + "1\n", + "6\n", + "3\n", + "5\n", + "{5: 3, 6: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 1, 6, 3, 2, 7, 8, 4]\n", + "[5, 8, 2, 1, 3, 6, 7, 4]\n", + "[[5, 8, 2, 6, 3, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 7, 1, 3, 8, 6, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 2, 8, 6, 3, 1, 7, 4]]\n", + "1 3\n", + "[[8, 8], [6, 2]]\n", + "[5 8 6 2 3 1 7 4]\n", + "[5 8 2 3 6 7 1 4]\n", + "2\n", + "6\n", + "0\n", + "3\n", + "{5: 4, 6: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 8, 7, 2, 3, 1, 6, 4]\n", + "[3, 8, 2, 5, 6, 7, 1, 4]\n", + "[[5, 8, 2, 6, 3, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 7, 1, 3, 8, 6, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 2, 8, 6, 3, 1, 7, 4]]\n", + "0 3\n", + "[[5, 5], [8, 8], [6, 2]]\n", + "[5 8 6 2 3 1 7 4]\n", + "[5 8 2 3 6 7 1 4]\n", + "3\n", + "6\n", + "3\n", + "0\n", + "{5: 3, 6: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 8, 6, 7, 3, 1, 2, 4]\n", + "[3, 8, 2, 5, 6, 7, 1, 4]\n", + "[[5, 8, 2, 6, 3, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 7, 1, 3, 8, 6, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 2, 8, 6, 3, 1, 7, 4]]\n", + "0 2\n", + "[[5, 5], [8, 8]]\n", + "[5 8 2 6 3 1 7 4]\n", + "[5 8 6 3 2 7 1 4]\n", + "0\n", + "2\n", + "5\n", + "3\n", + "{5: 3, 6: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[2, 8, 5, 6, 3, 1, 7, 4]\n", + "[5, 8, 6, 7, 2, 3, 1, 4]\n", + "[[5, 8, 2, 6, 3, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 7, 1, 3, 8, 6, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 2, 8, 6, 3, 1, 7, 4]]\n", + "3 4\n", + "[[3, 6]]\n", + "[5 8 2 3 6 1 7 4]\n", + "[5 8 3 6 2 7 1 4]\n", + "1\n", + "5\n", + "6\n", + "0\n", + "{5: 4, 6: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 1, 2, 3, 6, 8, 7, 4]\n", + "[1, 8, 3, 6, 2, 7, 5, 4]\n", + "[[5, 8, 2, 6, 3, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 7, 1, 3, 8, 6, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 2, 8, 6, 3, 1, 7, 4]]\n", + "3 4\n", + "[[3, 6]]\n", + "[5 8 2 3 6 1 7 4]\n", + "[5 8 3 6 2 7 1 4]\n", + "0\n", + "4\n", + "5\n", + "6\n", + "{5: 6, 6: 4, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[6, 8, 2, 3, 5, 1, 7, 4]\n", + "[5, 8, 3, 6, 2, 1, 7, 4]\n", + "[[5, 8, 2, 6, 3, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 7, 1, 3, 8, 6, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 2, 8, 6, 3, 1, 7, 4]]\n", + "1 6\n", + "[[8, 8], [6, 2], [3, 6], [2, 3], [7, 1]]\n", + "[5 8 6 3 2 7 1 4]\n", + "[5 8 2 6 3 1 7 4]\n", + "2\n", + "6\n", + "6\n", + "2\n", + "{6: 5, 5: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 8, 7, 6, 3, 1, 2, 4]\n", + "[5, 8, 1, 3, 2, 7, 6, 4]\n", + "[[5, 8, 2, 6, 3, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 7, 1, 3, 8, 6, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 2, 8, 6, 3, 1, 7, 4]]\n", + "5 6\n", + "[[7, 1]]\n", + "[5 8 2 6 3 7 1 4]\n", + "[5 8 6 3 2 1 7 4]\n", + "4\n", + "0\n", + "3\n", + "5\n", + "{5: 4, 6: 4, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[3, 8, 2, 6, 5, 7, 1, 4]\n", + "[5, 8, 6, 1, 2, 3, 7, 4]\n", + "[[5, 8, 2, 6, 3, 1, 7, 4], [5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 7, 1, 3, 8, 6, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 2, 8, 6, 3, 1, 7, 4]]\n", + "3 4\n", + "[[3, 6]]\n", + "[5 8 2 3 6 1 7 4]\n", + "[5 8 3 6 2 7 1 4]\n", + "3\n", + "4\n", + "2\n", + "5\n", + "{6: 5, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1}\n", + "[5, 8, 7, 6, 2, 3, 1, 4]\n", + "[5, 8, 2, 6, 3, 1, 7, 4]\n", + "[[5, 8, 6, 3, 2, 7, 1, 4], [5, 2, 7, 1, 3, 8, 6, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 2, 8, 6, 3, 1, 7, 4], [5, 8, 2, 6, 3, 1, 7, 4]]\n", + "4 6\n", + "[[3, 2], [8, 7]]\n", + "[5 7 6 2 3 8 1 4]\n", + "[5 3 8 1 2 7 6 4]\n", + "5\n", + "4\n", + "1\n", + "4\n", + "{5: 5, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 6: 1}\n", + "[5, 7, 6, 2, 8, 3, 1, 4]\n", + "[5, 8, 6, 3, 2, 7, 1, 4]\n", + "[[5, 2, 7, 1, 3, 8, 6, 4], [5, 3, 2, 6, 8, 1, 7, 4], [5, 2, 8, 6, 3, 1, 7, 4], [5, 8, 2, 6, 3, 1, 7, 4], [5, 2, 8, 1, 3, 7, 6, 4]]\n", + "3 4\n", + "[[6, 1]]\n", + "[5 2 7 6 3 8 1 4]\n", + "[5 3 2 1 8 6 7 4]\n", + "2\n", + "5\n", + "0\n", + "6\n", + "{6: 6, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1}\n", + "[7, 3, 2, 1, 8, 6, 5, 4]\n", + "[5, 2, 7, 1, 3, 8, 6, 4]\n", + "[[5, 3, 2, 6, 8, 1, 7, 4], [5, 2, 8, 6, 3, 1, 7, 4], [5, 8, 2, 6, 3, 1, 7, 4], [5, 2, 8, 1, 3, 7, 6, 4], [5, 2, 8, 6, 3, 7, 1, 4]]\n", + "4 5\n", + "[[3, 8]]\n", + "[5 8 2 6 3 1 7 4]\n", + "[5 2 3 6 8 1 7 4]\n", + "3\n", + "1\n", + "0\n", + "5\n", + "{6: 6, 5: 5, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[1, 2, 3, 6, 8, 5, 7, 4]\n", + "[5, 6, 2, 8, 3, 1, 7, 4]\n", + "[[5, 3, 2, 6, 8, 1, 7, 4], [5, 2, 8, 6, 3, 1, 7, 4], [5, 8, 2, 6, 3, 1, 7, 4], [5, 2, 8, 1, 3, 7, 6, 4], [5, 2, 8, 6, 3, 7, 1, 4]]\n", + "4 5\n", + "[[3, 8]]\n", + "[5 8 2 6 3 1 7 4]\n", + "[5 2 3 6 8 1 7 4]\n", + "6\n", + "3\n", + "0\n", + "6\n", + "{6: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1}\n", + "[7, 2, 3, 6, 8, 1, 5, 4]\n", + "[5, 3, 2, 6, 8, 1, 7, 4]\n", + "[[5, 2, 8, 6, 3, 1, 7, 4], [5, 8, 2, 6, 3, 1, 7, 4], [5, 2, 8, 1, 3, 7, 6, 4], [5, 2, 8, 6, 3, 7, 1, 4], [5, 8, 2, 7, 3, 1, 6, 4]]\n", + "5 6\n", + "[[1, 1]]\n", + "[5 2 8 6 3 1 7 4]\n", + "[5 8 2 6 3 1 7 4]\n", + "1\n", + "3\n", + "5\n", + "3\n", + "{5: 4, 6: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 6, 8, 2, 3, 1, 7, 4]\n", + "[5, 8, 2, 1, 3, 6, 7, 4]\n", + "[[5, 2, 8, 6, 3, 1, 7, 4], [5, 8, 2, 6, 3, 1, 7, 4], [5, 2, 8, 1, 3, 7, 6, 4], [5, 2, 8, 6, 3, 7, 1, 4], [5, 8, 2, 7, 3, 1, 6, 4]]\n", + "0 4\n", + "[[5, 5], [8, 2], [2, 8], [6, 6]]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[5 8 2 6 3 1 7 4]\n", + "[5 2 8 6 3 1 7 4]\n", + "1\n", + "4\n", + "0\n", + "1\n", + "{0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1, 6: 1}\n", + "[5, 2, 8, 6, 3, 1, 7, 4]\n", + "[5, 8, 2, 6, 3, 1, 7, 4]\n", + "[[5, 2, 8, 1, 3, 7, 6, 4], [5, 2, 8, 6, 3, 7, 1, 4], [5, 8, 2, 7, 3, 1, 6, 4], [5, 3, 2, 6, 8, 1, 7, 4], [2, 5, 8, 6, 3, 1, 7, 4]]\n", + "4 6\n", + "[[3, 3], [7, 7]]\n", + "[5 2 8 1 3 7 6 4]\n", + "[5 2 8 6 3 7 1 4]\n", + "1\n", + "3\n", + "6\n", + "3\n", + "{5: 4, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 6: 1}\n", + "[5, 1, 8, 2, 3, 7, 6, 4]\n", + "[5, 2, 8, 1, 3, 7, 6, 4]\n", + "[[5, 2, 8, 6, 3, 7, 1, 4], [5, 8, 2, 7, 3, 1, 6, 4], [5, 3, 2, 6, 8, 1, 7, 4], [2, 5, 8, 6, 3, 1, 7, 4], [5, 2, 8, 1, 3, 7, 6, 4]]\n", + "3 4\n", + "[[7, 6]]\n", + "[5 2 8 7 3 6 1 4]\n", + "[5 8 2 6 3 1 7 4]\n", + "1\n", + "0\n", + "3\n", + "1\n", + "{6: 5, 5: 4, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}\n", + "[5, 6, 2, 8, 3, 1, 7, 4]\n", + "[2, 5, 8, 7, 3, 6, 1, 4]\n", + "[[5, 2, 8, 6, 3, 7, 1, 4], [5, 8, 2, 7, 3, 1, 6, 4], [5, 3, 2, 6, 8, 1, 7, 4], [2, 5, 8, 6, 3, 1, 7, 4], [5, 2, 8, 1, 3, 7, 6, 4]]\n", + "1 3\n", + "[[8, 2], [2, 8]]\n", + "[5 8 2 6 3 7 1 4]\n", + "[5 2 8 7 3 1 6 4]\n", + "2\n", + "6\n", + "1\n", + "2\n", + "{5: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 6: 1}\n", + "[5, 8, 1, 6, 3, 7, 2, 4]\n", + "[5, 2, 8, 6, 3, 7, 1, 4]\n", + "[[5, 8, 2, 7, 3, 1, 6, 4], [5, 3, 2, 6, 8, 1, 7, 4], [2, 5, 8, 6, 3, 1, 7, 4], [5, 2, 8, 1, 3, 7, 6, 4], [5, 8, 2, 7, 3, 1, 6, 4]]\n", + "3 6\n", + "[[6, 7], [8, 3], [1, 1]]\n", + "[5 3 2 6 8 1 7 4]\n", + "[5 8 2 7 3 1 6 4]\n", + "5\n", + "2\n", + "2\n", + "6\n", + "{6: 3, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1}\n", + "[5, 8, 6, 7, 3, 1, 2, 4]\n", + "[5, 8, 2, 7, 3, 1, 6, 4]\n", + "[[5, 3, 2, 6, 8, 1, 7, 4], [2, 5, 8, 6, 3, 1, 7, 4], [5, 2, 8, 1, 3, 7, 6, 4], [5, 8, 2, 7, 3, 1, 6, 4], [5, 3, 1, 6, 8, 2, 7, 4]]\n", + "4 5\n", + "[[3, 8]]\n", + "[5 8 2 6 3 1 7 4]\n", + "[2 5 3 6 8 1 7 4]\n", + "1\n", + "6\n", + "1\n", + "3\n", + "{6: 2, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 0}\n", + "[2, 6, 3, 5, 8, 1, 7, 4]\n", + "[5, 3, 2, 6, 8, 1, 7, 4]\n", + "[[2, 5, 8, 6, 3, 1, 7, 4], [5, 2, 8, 1, 3, 7, 6, 4], [5, 8, 2, 7, 3, 1, 6, 4], [5, 3, 1, 6, 8, 2, 7, 4], [5, 7, 2, 6, 3, 1, 8, 4]]\n", + "iteration = 212\n", + "No of checks = 0\n", + "[5, 7, 2, 6, 3, 1, 8, 4]\n" + ] + } + ], + "source": [ + "isOptimumSolution = False\n", + "\n", + "bestresult = None\n", + "quality = 0\n", + "\n", + "for i in range(0, 100001):\n", + " \n", + " parent1, parent2 = parent_selection(population)\n", + " \n", + " bestresult = parent1\n", + " \n", + " quality = quality_check(bestresult)\n", + " \n", + " if( quality == 0):\n", + " \n", + " isOptimumSolution = True\n", + " print( \"iteration =\", i)\n", + " print(\"No of checks = \", quality)\n", + " print(bestresult)\n", + " break\n", + " \n", + " else:\n", + " \n", + " #child1, child2 = cross_over(parent1,parent2)\n", + " child1, child2 = partial_mapped_crossover(parent1,parent2)\n", + " \n", + " child1 = mutate_swap(child1)\n", + " child2 = mutate_swap(child2)\n", + " \n", + " population = add_to_population(population, child1, child2)\n", + " population = survival_fitness(population)\n", + "\n", + "\n", + "if(isOptimumSolution == False):\n", + " print(\"Number of checks =\", quality)\n", + " print(\"Available best solutions\")\n", + " print(bestresult)\n", + " \n", + " \n", + " \n", + " \n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "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.6.9" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +}