{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Problème de sélection du k-ième plus petit élément d'un tableau\n", "\n", "Étant donné un tableau T=[T[0],...,T[n-1]] de $n$ éléments quelconques (par exemple des entiers), et $k\\in\\{1,\\dots,n\\}$, on cherche le k-ième plus petit élément du tableau.\n", "\n", "Exemple : pour `T = [5, 4, 1, 2, 3]`, pour `k=1` on a 1, `k=2` on a 2, etc.\n", "\n", "En cas d'éléments distincts, par exemple `T = [1, 1, 2, 3]`, le 2-ième plus petit peut être définit comme 2, ou comme 1. Il vaut mieux le définir comme 1, ainsi l'élément cherché a toujours un sens.\n", "\n", "\n", "Ce petit [notebook Python](https://www.Jupyter.org/) implémente :\n", "\n", "- un algorithme naïf, qui s'exécute en temps $\\mathcal{O}(k n)$ (pire cas $\\mathcal{O}(n^2)$),\n", "- une solution naïve qui trie le tableau et lit la k-ième valeur et s'exécute donc en temps $\\mathcal{O}(n \\log(n))$, indépemment de $k$,\n", "- et un algorithme **optimal** qui s'exécute en temps $\\mathcal{O}(n)$ (on ne peut pas faire mieux car il faut forcément lire le tableau au moins une fois s'il n'est pas trié).\n", "\n", "Je fais aussi des expériences numériques pour illustrer empiriquement leurs complexités.\n", "\n", "\n", "- Auteur : [Lilian Besson](https://github.com/Naereen/notebooks/)\n", "- Date : 29 septembre 2020\n", "- [License : MIT](https://lbesson.mit-license.org)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "ExecuteTime": { "end_time": "2020-09-29T15:41:16.755636Z", "start_time": "2020-09-29T15:41:16.750717Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "3.6.9 (default, Jul 17 2020, 12:50:27) \n", "[GCC 8.4.0]\n" ] } ], "source": [ "from sys import version\n", "print(version)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "J'ai pris l'habitude d'écrire des signatures de fonctions en python qui soient typées :" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "ExecuteTime": { "end_time": "2020-09-29T15:41:46.906852Z", "start_time": "2020-09-29T15:41:46.898385Z" } }, "outputs": [], "source": [ "from typing import List, Any, TypeVar\n", "\n", "T = TypeVar(\"T\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Je ferai les premiers exemples avec ces deux tableaux :" ] }, { "cell_type": "code", "execution_count": 183, "metadata": { "ExecuteTime": { "end_time": "2020-09-30T12:08:29.176345Z", "start_time": "2020-09-30T12:08:29.169610Z" } }, "outputs": [], "source": [ "tableau1 = [5, 4, 1, 2, 3]\n", "tableau2 = [1, 1, 2, 3] # avec un doublon" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "----\n", "## Solution naïve en temps quadratique\n", "\n", "On peut rapidement imaginer un algorithme \"divisé pour régner\" naïf :\n", "\n", "- Si `k=1`, on calcule en temps linéaire le minimum du tableau,\n", "- Sinon, on calcule le minimum, on construit un tableau de taille `n-1` qui est le tableau initial privé d'UNE occurrence de son minimum (en temps $\\mathcal{O}(n)$), puis on appelle la sélection avec `k-1` sur ce tableau. Si on note $T(n, k)$ le nombre d'opérations élémentaires dans le pire cas pour un tableau quelconque de taille $n$, alors elle est croissante et vérifie la relation de récurrence suivante :\n", " $$ \\forall n > 1, 1 \\leq k \\leq n \\; T(n, k) = O(n) + T(n-1, k-1) $$\n", " et $T(1) = O(1)$, ce qui donne $T(n,k) = O(n k)$ (pas par une application directe du théorème maître, mais c'est la même idée de preuve)." ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "ExecuteTime": { "end_time": "2020-09-29T16:04:36.144482Z", "start_time": "2020-09-29T16:04:36.122905Z" } }, "outputs": [], "source": [ "def selection_naive(tableau: List[T], k: int) -> T:\n", " \"\"\" Sélection du k-ième plus petit élément du tableau, récursivement et naïvement.\n", " \n", " - Complexité mémoire : O(n)\n", " - Complexité temps : O(k n)\n", " \"\"\"\n", " assert 1 <= k <= len(tableau), f\"Erreur : k = {k} doit être entre 1 et n = {len(tableau)} = len(tableau)\"\n", " min_tableau = min(tableau)\n", " if k == 1: # cas simple\n", " return min_tableau\n", " else:\n", " # on construit un nouveau tableau, de taille n-1, en enlevant UNE occurrence de min\n", " nouveau_tableau = []\n", " min_deja_vu = False\n", " for valeur in tableau:\n", " if valeur == min_tableau:\n", " if min_deja_vu: # on a déjà vu UNE occurrence de min, on l'ajoute encore\n", " nouveau_tableau.append(valeur)\n", " else: # première occurrence de min\n", " min_deja_vu = True\n", " else:\n", " nouveau_tableau.append(valeur)\n", " return selection_naive(nouveau_tableau, k-1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Deux exemples :" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "ExecuteTime": { "end_time": "2020-09-29T16:03:59.181325Z", "start_time": "2020-09-29T16:03:59.175046Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Pour le tableau [5, 4, 1, 2, 3] :\n", " Le 1-ième élément du tableau est 1\n", " Le 2-ième élément du tableau est 2\n", " Le 3-ième élément du tableau est 3\n", " Le 4-ième élément du tableau est 4\n", " Le 5-ième élément du tableau est 5\n" ] } ], "source": [ "print(f\"Pour le tableau {tableau1} :\")\n", "for k in range(1, 1 + len(tableau1)):\n", " print(f\" Le {k}-ième élément du tableau est {selection_naive(tableau1, k)}\")" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "ExecuteTime": { "end_time": "2020-09-29T16:03:57.520927Z", "start_time": "2020-09-29T16:03:57.507109Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Pour le tableau [1, 1, 2, 3] :\n", " Le 1-ième élément du tableau est 1\n", " Le 2-ième élément du tableau est 1\n", " Le 3-ième élément du tableau est 2\n", " Le 4-ième élément du tableau est 3\n" ] } ], "source": [ "print(f\"Pour le tableau {tableau2} :\")\n", "for k in range(1, 1 + len(tableau2)):\n", " print(f\" Le {k}-ième élément du tableau est {selection_naive(tableau2, k)}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "----\n", "## Solution naïve en temps sur logarithmique (O(n log n))\n", "\n", "C'est un algorithme très simple :\n", "\n", "- On trie le tableau (avec n'importe quel algorithme de tri général, en $\\Theta(n \\log(n))$, par exemple le tri fusion, le tri rapide, le tri par tas, etc) ;\n", "- Puis on a juste à lire la k-ième valeur du tableau trié." ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "ExecuteTime": { "end_time": "2020-09-29T16:04:51.965264Z", "start_time": "2020-09-29T16:04:51.953623Z" } }, "outputs": [], "source": [ "def selection_par_tri(tableau: List[T], k: int) -> T:\n", " \"\"\" Sélection du k-ième plus petit élément du tableau, par un tri.\n", " \n", " - Complexité mémoire : O(n)\n", " - Complexité temps : O(n \\log n)\n", " \"\"\"\n", " copie_tableau = list(tableau) # ou tableau.copy()\n", " copie_tableau.sort()\n", " return copie_tableau[k - 1]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Deux exemples :" ] }, { "cell_type": "code", "execution_count": 46, "metadata": { "ExecuteTime": { "end_time": "2020-09-29T17:49:09.956443Z", "start_time": "2020-09-29T17:49:09.946515Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Pour le tableau [5, 4, 1, 2, 3] :\n", " Le 1-ième élément du tableau est 1\n", " Le 2-ième élément du tableau est 2\n", " Le 3-ième élément du tableau est 3\n", " Le 4-ième élément du tableau est 4\n", " Le 5-ième élément du tableau est 5\n" ] } ], "source": [ "print(f\"Pour le tableau {tableau1} :\")\n", "for k in range(1, 1 + len(tableau1)):\n", " print(f\" Le {k}-ième élément du tableau est {selection_par_tri(tableau1, k)}\")" ] }, { "cell_type": "code", "execution_count": 47, "metadata": { "ExecuteTime": { "end_time": "2020-09-29T17:49:10.094963Z", "start_time": "2020-09-29T17:49:10.090573Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Pour le tableau [1, 1, 2, 3] :\n", " Le 1-ième élément du tableau est 1\n", " Le 2-ième élément du tableau est 1\n", " Le 3-ième élément du tableau est 2\n", " Le 4-ième élément du tableau est 3\n" ] } ], "source": [ "print(f\"Pour le tableau {tableau2} :\")\n", "for k in range(1, 1 + len(tableau2)):\n", " print(f\" Le {k}-ième élément du tableau est {selection_par_tri(tableau2, k)}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Méthode optimale : médiane des médianes\n", "\n", "L'algorithme se déroule en 3 étapes :\n", "\n", "- L'algorithme divise la liste en groupes de cinq éléments. Ensuite, pour chaque groupe de cinq, la médiane est calculée (une opération qui peut s'effectuer en temps constant, par exemple en utilisant un algorithme de tri),\n", "- L'algorithme est alors appelé récursivement sur cette sous-liste de n / 5 éléments pour trouver la vraie médiane de ces éléments. On peut alors garantir que l'élément obtenu se place entre le 30e et le 70e centile,\n", "- Enfin, la médiane des médianes est choisie pour être le pivot. Selon la position de l'élément recherché, l'algorithme recommence avec les éléments au-dessus du pivot ou en dessous, qui représentent au plus 70 % de la taille initiale de l'espace de recherche.\n", "\n", "> Référence : https://fr.wikipedia.org/wiki/Médiane_des_médianes, aussi dans [Algorithmique, Cormen et al]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Calcul en temps constant de la médiane de 5 valeurs" ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "ExecuteTime": { "end_time": "2020-09-29T16:12:03.606854Z", "start_time": "2020-09-29T16:12:03.601151Z" } }, "outputs": [], "source": [ "def mediane_cinq_valeurs(tableau: List[T]) -> T:\n", " assert 1 <= len(tableau) <= 5, f\"Erreur : tableau a longueur = {len(tableau)} mais devrait etre 1 <= .. <= 5\"\n", " valeurs = sorted(tableau)\n", " return valeurs[len(tableau) // 2]" ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "ExecuteTime": { "end_time": "2020-09-29T16:12:03.918360Z", "start_time": "2020-09-29T16:12:03.913186Z" } }, "outputs": [], "source": [ "assert 3 == mediane_cinq_valeurs([1, 2, 3, 4, 5])\n", "assert 3 == mediane_cinq_valeurs([5, 1, 4, 2, 3])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Que se passe-t-il si la liste n'est pas de taille impaire ?\n", "On peut prendre la valeur à gauche ou à droite du milieu. Ici, c'est la valeur à droite qui a été choisie :" ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "ExecuteTime": { "end_time": "2020-09-29T16:12:04.845438Z", "start_time": "2020-09-29T16:12:04.839632Z" } }, "outputs": [ { "data": { "text/plain": [ "3" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mediane_cinq_valeurs([1, 2, 3, 4])" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "ExecuteTime": { "end_time": "2020-09-29T16:12:07.898596Z", "start_time": "2020-09-29T16:12:07.884836Z" } }, "outputs": [ { "data": { "text/plain": [ "2" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mediane_cinq_valeurs([1, 2, 4])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Découper le tableau en sous-tableaux :\n", "\n", "Par exemple :" ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "ExecuteTime": { "end_time": "2020-09-29T16:12:15.110666Z", "start_time": "2020-09-29T16:12:15.090305Z" } }, "outputs": [ { "data": { "text/plain": [ "[[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13]]" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tableau3 = [1,2,3,4,5, 6,7,8,9,10, 11,12,13]\n", "# On va le découper comme ça :\n", "[\n", " [1,2,3,4,5],\n", " [6,7,8,9,10],\n", " [11,12,13],\n", "]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Cela est très rapide avec des listes par compréhension :" ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "ExecuteTime": { "end_time": "2020-09-29T16:12:29.630092Z", "start_time": "2020-09-29T16:12:29.617645Z" } }, "outputs": [ { "data": { "text/plain": [ "[[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13]]" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[\n", " tableau3[i:i+5]\n", " for i in range(0, len(tableau3), 5)\n", "]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Et donc si on calcule les médianes :" ] }, { "cell_type": "code", "execution_count": 41, "metadata": { "ExecuteTime": { "end_time": "2020-09-29T16:12:31.641077Z", "start_time": "2020-09-29T16:12:31.630072Z" } }, "outputs": [ { "data": { "text/plain": [ "[3, 8, 12]" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[\n", " mediane_cinq_valeurs(tableau3[i:i+5])\n", " for i in range(0, len(tableau3), 5)\n", "]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Médiane des médianes par une approche récursive" ] }, { "cell_type": "code", "execution_count": 42, "metadata": { "ExecuteTime": { "end_time": "2020-09-29T16:17:52.319957Z", "start_time": "2020-09-29T16:17:52.303336Z" } }, "outputs": [], "source": [ "def mediane_des_medianes(tableau: List[T]) -> T:\n", " \"\"\" Méthode de la médiane des médianes.\n", " \n", " - Complexité mémoire : O(n).\n", " - Complexité temps : O(n) car T(n) = O(n) + T(n/5) pour tout n=5^k (cas (i) du Master Theorem).\n", " \"\"\"\n", " assert 1 <= len(tableau), f\"Erreur : k = {k} doit être entre 1 et n = {len(tableau)} = len(tableau)\"\n", " n = len(tableau)\n", " if n <= 5: # O(1)\n", " return mediane_cinq_valeurs(tableau)\n", " else:\n", " medianes = [\n", " # au plus 1 + (n/5) sous-tableaux de taille <= 5\n", " mediane_cinq_valeur(tableau[i : i+5])\n", " for i in range(0, n, 5)\n", " ]\n", " # un appel récursive en T(n/5) (si on fait la preuve juste pour des n = 5^k)\n", " return mediane_des_medianes(medianes)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Par exemple, la médiane des médianes du tableau d'exemple est 8 car son tableau des médianes des sous-tableaux de taille <= 5 est [3, 8, 12] :" ] }, { "cell_type": "code", "execution_count": 43, "metadata": { "ExecuteTime": { "end_time": "2020-09-29T16:17:58.644633Z", "start_time": "2020-09-29T16:17:58.633387Z" } }, "outputs": [ { "data": { "text/plain": [ "8" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mediane_des_medianes(tableau3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Sélection par médianes\n", "\n", "On met ensemble tous les éléments :" ] }, { "cell_type": "code", "execution_count": 66, "metadata": { "ExecuteTime": { "end_time": "2020-09-29T18:00:57.970768Z", "start_time": "2020-09-29T18:00:57.963806Z" } }, "outputs": [], "source": [ "def selection_par_medianes(tableau: List[T], k: int) -> T:\n", " \"\"\" Sélection du k-ième plus petit élément du tableau, par la méthode de la médiane des médianes.\n", " \n", " - Complexité mémoire : O(n)\n", " - Complexité temps : O(n)\n", " \"\"\"\n", " assert 1 <= k <= len(tableau), f\"Erreur : k = {k} doit être entre 1 et n = {len(tableau)} = len(tableau)\"\n", " n = len(tableau)\n", " print(f\"DEBUG : n = {n}, tableau = {tableau}, k = {k}\")\n", " if n <= 1:\n", " return tableau[0]\n", " if n <= 5:\n", " print(f\"WARNING n = {n} <= k = {k}\")\n", " mediane = mediane_des_medianes(tableau)\n", " index_mediane = tableau.index(mediane)\n", " if (k-1) == index_mediane:\n", " return mediane\n", " else:\n", " if (k-1) < index_mediane:\n", " sous_tableau = [ x for x in tableau if x <= mediane ]\n", " else: # (k-1) > index_mediane\n", " sous_tableau = [ x for x in tableau if x >= mediane ]\n", " return selection_par_medianes(sous_tableau, k) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Deux exemples :" ] }, { "cell_type": "code", "execution_count": 67, "metadata": { "ExecuteTime": { "end_time": "2020-09-29T18:01:01.704902Z", "start_time": "2020-09-29T18:00:58.775982Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Pour le tableau [5, 4, 1, 2, 3] :\n", "DEBUG : n = 5, tableau = [5, 4, 1, 2, 3], k = 1\n", "DEBUG : n = 3, tableau = [1, 2, 3], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1\n", "DEBUG : n = 2, tableau = [1, 2], k = 1" ] }, { "ename": "RecursionError", "evalue": "maximum recursion depth exceeded in comparison", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mRecursionError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34mf\"Pour le tableau {tableau1} :\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mk\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m1\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtableau1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34mf\" Le {k}-ième élément du tableau est {selection_par_medianes(tableau1, k)}\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m\u001b[0m in \u001b[0;36mselection_par_medianes\u001b[0;34m(tableau, k)\u001b[0m\n\u001b[1;32m 21\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;31m# (k-1) > index_mediane\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 22\u001b[0m \u001b[0msous_tableau\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m \u001b[0mx\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mx\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mtableau\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mx\u001b[0m \u001b[0;34m>=\u001b[0m \u001b[0mmediane\u001b[0m \u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 23\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mselection_par_medianes\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msous_tableau\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mk\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "... last 1 frames repeated, from the frame below ...\n", "\u001b[0;32m\u001b[0m in \u001b[0;36mselection_par_medianes\u001b[0;34m(tableau, k)\u001b[0m\n\u001b[1;32m 21\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;31m# (k-1) > index_mediane\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 22\u001b[0m \u001b[0msous_tableau\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m \u001b[0mx\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mx\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mtableau\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mx\u001b[0m \u001b[0;34m>=\u001b[0m \u001b[0mmediane\u001b[0m \u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 23\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mselection_par_medianes\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msous_tableau\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mk\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;31mRecursionError\u001b[0m: maximum recursion depth exceeded in comparison" ] } ], "source": [ "print(f\"Pour le tableau {tableau1} :\")\n", "for k in range(1, 1 + len(tableau1)):\n", " print(f\" Le {k}-ième élément du tableau est {selection_par_medianes(tableau1, k)}\")" ] }, { "cell_type": "code", "execution_count": 54, "metadata": { "ExecuteTime": { "end_time": "2020-09-29T17:50:05.305465Z", "start_time": "2020-09-29T17:50:02.756583Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Pour le tableau [1, 1, 2, 3] :\n" ] }, { "ename": "RecursionError", "evalue": "maximum recursion depth exceeded in comparison", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mRecursionError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34mf\"Pour le tableau {tableau2} :\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mk\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m1\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtableau2\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34mf\" Le {k}-ième élément du tableau est {selection_par_medianes(tableau2, k)}\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m\u001b[0m in \u001b[0;36mselection_par_medianes\u001b[0;34m(tableau, k)\u001b[0m\n\u001b[1;32m 18\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;31m# k > index_mediane\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 19\u001b[0m \u001b[0msous_tableau\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m \u001b[0mx\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mx\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mtableau\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mx\u001b[0m \u001b[0;34m>=\u001b[0m \u001b[0mmediane\u001b[0m \u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 20\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mselection_par_medianes\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msous_tableau\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mk\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "... last 1 frames repeated, from the frame below ...\n", "\u001b[0;32m\u001b[0m in \u001b[0;36mselection_par_medianes\u001b[0;34m(tableau, k)\u001b[0m\n\u001b[1;32m 18\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;31m# k > index_mediane\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 19\u001b[0m \u001b[0msous_tableau\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m \u001b[0mx\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mx\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mtableau\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mx\u001b[0m \u001b[0;34m>=\u001b[0m \u001b[0mmediane\u001b[0m \u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 20\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mselection_par_medianes\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msous_tableau\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mk\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;31mRecursionError\u001b[0m: maximum recursion depth exceeded in comparison" ] } ], "source": [ "print(f\"Pour le tableau {tableau2} :\")\n", "for k in range(1, 1 + len(tableau2)):\n", " print(f\" Le {k}-ième élément du tableau est {selection_par_medianes(tableau2, k)}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Autre approche\n", "\n", "En regardant le code donné sur https://en.wikipedia.org/wiki/Median_of_medians" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On va faire plein d'échanges de valeurs dans un tableau :" ] }, { "cell_type": "code", "execution_count": 112, "metadata": { "ExecuteTime": { "end_time": "2020-09-29T19:29:01.028289Z", "start_time": "2020-09-29T19:29:01.020474Z" } }, "outputs": [], "source": [ "def swap(tableau: List[T], i: int, j: int) -> None:\n", " \"\"\" Échange tableau[i] et tableau[j] en temps constant.\"\"\"\n", " tableau[i], tableau[j] = tableau[j], tableau[i]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Avec un petit tri par insertion sur cinq éléments (max cinq), on peut trouver la médiane d'un petit tableau en temps constant :" ] }, { "cell_type": "code", "execution_count": 113, "metadata": { "ExecuteTime": { "end_time": "2020-09-29T19:29:01.411592Z", "start_time": "2020-09-29T19:29:01.405532Z" } }, "outputs": [], "source": [ "def partition5(tableau: List[T], left: int, right: int) -> int:\n", " \"\"\" Sélecte la médiane d'un tableau d'au plus 5 éléments, par un tri par insertion sur ces cinq éléments.\"\"\"\n", " print(f\"DEBUG: partition5({tableau}, {left}, {right})\")\n", " i = left + 1\n", " while i <= right:\n", " j = i\n", " while j > left and tableau[j-1] > tableau[j]:\n", " swap(tableau, j-1, j)\n", " j = j - 1\n", " i = i + 1\n", " return (left + right) // 2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Par exemple :" ] }, { "cell_type": "code", "execution_count": 114, "metadata": { "ExecuteTime": { "end_time": "2020-09-29T19:29:01.784251Z", "start_time": "2020-09-29T19:29:01.777494Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "DEBUG: partition5([5, 3, 2, 1, 4], 0, 4)\n", "2\n", "[1, 2, 3, 4, 5]\n" ] } ], "source": [ "t = [5, 3, 2, 1, 4]\n", "print(partition5(t, 0, len(t) - 1))\n", "print(t)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Le calcul du pivot fera un appel à `selection`, qui lui-même appelle `pivot` (par récursion mutuelle) :" ] }, { "cell_type": "code", "execution_count": 115, "metadata": { "ExecuteTime": { "end_time": "2020-09-29T19:29:02.173191Z", "start_time": "2020-09-29T19:29:02.165320Z" } }, "outputs": [], "source": [ "def pivot(tableau: List[T], left: int, right: int) -> int:\n", " \"\"\" Pivot en temps O(n).\"\"\"\n", " print(f\"DEBUG: pivot({tableau}, {left}, {right})\")\n", " if right - left + 1 <= 5: # <= 5 éléments\n", " return partition5(tableau, left, right)\n", " # sinon, on déplace les médianes des sous tableaux de cinq éléments vers les n/5 premières positions\n", " for i in range(left, right + 1, 5):\n", " # calcule la position de la médiane du i-ieme sous-groupe :\n", " sub_right = i + 4\n", " if sub_right > right:\n", " sub_right = right\n", " median5 = partition5(tableau, i, sub_right)\n", " new_pos = left + (i - left)//5\n", " swap(tableau, median5, new_pos)\n", "\n", " # médiane des n/5 médianes des sous-groupes\n", " mid = (right - left) // 10 + left + 1\n", " return selection(tableau, mid, left=left, right=left + (right - left) // 5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "La sélection utilisera la fonction `pivot` et la `partition` :" ] }, { "cell_type": "code", "execution_count": 116, "metadata": { "ExecuteTime": { "end_time": "2020-09-29T19:29:02.877335Z", "start_time": "2020-09-29T19:29:02.871485Z" } }, "outputs": [], "source": [ "from typing import Optional" ] }, { "cell_type": "code", "execution_count": 117, "metadata": { "ExecuteTime": { "end_time": "2020-09-29T19:29:03.537826Z", "start_time": "2020-09-29T19:29:03.525054Z" } }, "outputs": [], "source": [ "def selection(tableau: List[T], k: int, left: Optional[int] = None, right: Optional[int] = None) -> int:\n", " \"\"\" Sélection en temps linéaire du k-ième plus petit élément dans [tab[left],...,tab[right]].\"\"\"\n", " if left is None: left = 0\n", " if right is None: right = len(tableau) - 1\n", " print(f\"DEBUG: selection({tableau}, {k}, {left}, {right})\")\n", " while True:\n", " if left == right:\n", " return left\n", " pivot_index = pivot(tableau, left, right)\n", " pivot_index = partition(tableau, left, right, pivot_index, k)\n", " if k == pivot_index:\n", " return k # déjà à la bonne position\n", " elif k < pivot_index:\n", " right = pivot_index - 1\n", " else:\n", " left = pivot_index + 1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Et enfin la fonction de partition :" ] }, { "cell_type": "code", "execution_count": 118, "metadata": { "ExecuteTime": { "end_time": "2020-09-29T19:29:04.437255Z", "start_time": "2020-09-29T19:29:04.423162Z" } }, "outputs": [], "source": [ "def partition(tableau: List[T], left: int, right: int, pivot_index: int, k: int) -> int:\n", " print(f\"DEBUG: partition({tableau}, {left}, {right}, {pivot_index}, {k})\")\n", " pivot_value = tableau[pivot_index]\n", " swap(tableau, pivot_index, right) # on déplace le pivot à la fin\n", " store_index = left\n", " # on déplace les éléments plus petits que le pivot à sa gauche\n", " for i in range(left, right):\n", " if tableau[i] < pivot_value:\n", " swap(tableau, store_index, i)\n", " store_index = store_index + 1\n", " # on déplace tous les éléments égaux au pivot just après les plus petits éléments\n", " store_index_eq = store_index\n", " for i in range(store_index, right):\n", " if tableau[i] == pivot_value:\n", " swap(tableau, store_index_eq, i)\n", " store_index_eq = store_index_eq + 1\n", " # on déplace le pivot à sa position finale au milieu\n", " swap(tableau, right, store_index_eq)\n", " # on renvoie la localisation du pivot, compte tenu de la position recherchée k\n", " if k < store_index:\n", " return store_index # k est dans le groupe des petits éléments\n", " elif k == store_index_eq:\n", " return k # k est dans le groupe égal au pivot\n", " else:\n", " return store_index_eq # k est dans le groupe des petits éléments" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Deux exemples :" ] }, { "cell_type": "code", "execution_count": 127, "metadata": { "ExecuteTime": { "end_time": "2020-09-29T19:32:01.716633Z", "start_time": "2020-09-29T19:32:01.700109Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Pour le tableau [1, 2, 3, 4, 5] :\n", "DEBUG: selection([1, 2, 3, 4, 5], 1, 0, 4)\n", "DEBUG: pivot([1, 2, 3, 4, 5], 0, 4)\n", "DEBUG: partition5([1, 2, 3, 4, 5], 0, 4)\n", "DEBUG: partition([1, 2, 3, 4, 5], 0, 4, 2, 1)\n", "DEBUG: pivot([1, 2, 3, 4, 5], 0, 1)\n", "DEBUG: partition5([1, 2, 3, 4, 5], 0, 1)\n", "DEBUG: partition([1, 2, 3, 4, 5], 0, 1, 0, 1)\n", " Le 1-ième élément du tableau est 1\n", "DEBUG: selection([1, 2, 3, 4, 5], 2, 0, 4)\n", "DEBUG: pivot([1, 2, 3, 4, 5], 0, 4)\n", "DEBUG: partition5([1, 2, 3, 4, 5], 0, 4)\n", "DEBUG: partition([1, 2, 3, 4, 5], 0, 4, 2, 2)\n", " Le 2-ième élément du tableau est 2\n", "DEBUG: selection([1, 2, 3, 4, 5], 3, 0, 4)\n", "DEBUG: pivot([1, 2, 3, 4, 5], 0, 4)\n", "DEBUG: partition5([1, 2, 3, 4, 5], 0, 4)\n", "DEBUG: partition([1, 2, 3, 4, 5], 0, 4, 2, 3)\n", "DEBUG: pivot([1, 2, 3, 4, 5], 3, 4)\n", "DEBUG: partition5([1, 2, 3, 4, 5], 3, 4)\n", "DEBUG: partition([1, 2, 3, 4, 5], 3, 4, 3, 3)\n", " Le 3-ième élément du tableau est 3\n", "DEBUG: selection([1, 2, 3, 4, 5], 4, 0, 4)\n", "DEBUG: pivot([1, 2, 3, 4, 5], 0, 4)\n", "DEBUG: partition5([1, 2, 3, 4, 5], 0, 4)\n", "DEBUG: partition([1, 2, 3, 4, 5], 0, 4, 2, 4)\n", "DEBUG: pivot([1, 2, 3, 4, 5], 3, 4)\n", "DEBUG: partition5([1, 2, 3, 4, 5], 3, 4)\n", "DEBUG: partition([1, 2, 3, 4, 5], 3, 4, 3, 4)\n", " Le 4-ième élément du tableau est 4\n", "DEBUG: selection([1, 2, 3, 4, 5], 5, 0, 4)\n", "DEBUG: pivot([1, 2, 3, 4, 5], 0, 4)\n", "DEBUG: partition5([1, 2, 3, 4, 5], 0, 4)\n", "DEBUG: partition([1, 2, 3, 4, 5], 0, 4, 2, 5)\n", "DEBUG: pivot([1, 2, 3, 4, 5], 3, 4)\n", "DEBUG: partition5([1, 2, 3, 4, 5], 3, 4)\n", "DEBUG: partition([1, 2, 3, 4, 5], 3, 4, 3, 5)\n", " Le 5-ième élément du tableau est 4\n" ] } ], "source": [ "print(f\"Pour le tableau {tableau1} :\")\n", "for k in range(1, 1 + len(tableau1)):\n", " print(f\" Le {k}-ième élément du tableau est {selection(tableau1[:], k)}\")" ] }, { "cell_type": "code", "execution_count": 184, "metadata": { "ExecuteTime": { "end_time": "2020-09-30T12:14:06.080269Z", "start_time": "2020-09-30T12:14:06.067036Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Pour le tableau [1, 2, 3, 4, 5] :\n", "DEBUG: selection([1, 2, 3, 4, 5], 1, 0, 4)\n", "DEBUG: pivot([1, 2, 3, 4, 5], 0, 4)\n", "DEBUG: partition5([1, 2, 3, 4, 5], 0, 4)\n", "DEBUG: partition([1, 2, 3, 4, 5], 0, 4, 2, 1)\n", "DEBUG: pivot([1, 2, 3, 4, 5], 0, 1)\n", "DEBUG: partition5([1, 2, 3, 4, 5], 0, 1)\n", "DEBUG: partition([1, 2, 3, 4, 5], 0, 1, 0, 1)\n", " Le 1-ième élément du tableau est 1\n", "DEBUG: selection([1, 2, 3, 4, 5], 2, 0, 4)\n", "DEBUG: pivot([1, 2, 3, 4, 5], 0, 4)\n", "DEBUG: partition5([1, 2, 3, 4, 5], 0, 4)\n", "DEBUG: partition([1, 2, 3, 4, 5], 0, 4, 2, 2)\n", " Le 2-ième élément du tableau est 2\n", "DEBUG: selection([1, 2, 3, 4, 5], 3, 0, 4)\n", "DEBUG: pivot([1, 2, 3, 4, 5], 0, 4)\n", "DEBUG: partition5([1, 2, 3, 4, 5], 0, 4)\n", "DEBUG: partition([1, 2, 3, 4, 5], 0, 4, 2, 3)\n", "DEBUG: pivot([1, 2, 3, 4, 5], 3, 4)\n", "DEBUG: partition5([1, 2, 3, 4, 5], 3, 4)\n", "DEBUG: partition([1, 2, 3, 4, 5], 3, 4, 3, 3)\n", " Le 3-ième élément du tableau est 3\n", "DEBUG: selection([1, 2, 3, 4, 5], 4, 0, 4)\n", "DEBUG: pivot([1, 2, 3, 4, 5], 0, 4)\n", "DEBUG: partition5([1, 2, 3, 4, 5], 0, 4)\n", "DEBUG: partition([1, 2, 3, 4, 5], 0, 4, 2, 4)\n", "DEBUG: pivot([1, 2, 3, 4, 5], 3, 4)\n", "DEBUG: partition5([1, 2, 3, 4, 5], 3, 4)\n", "DEBUG: partition([1, 2, 3, 4, 5], 3, 4, 3, 4)\n", " Le 4-ième élément du tableau est 4\n", "DEBUG: selection([1, 2, 3, 4, 5], 5, 0, 4)\n", "DEBUG: pivot([1, 2, 3, 4, 5], 0, 4)\n", "DEBUG: partition5([1, 2, 3, 4, 5], 0, 4)\n", "DEBUG: partition([1, 2, 3, 4, 5], 0, 4, 2, 5)\n", "DEBUG: pivot([1, 2, 3, 4, 5], 3, 4)\n", "DEBUG: partition5([1, 2, 3, 4, 5], 3, 4)\n", "DEBUG: partition([1, 2, 3, 4, 5], 3, 4, 3, 5)\n", " Le 5-ième élément du tableau est 4\n", "Pour le tableau [1, 2, 3, 4] :\n", "DEBUG: selection([1, 2, 3, 4], 1, 0, 3)\n", "DEBUG: pivot([1, 2, 3, 4], 0, 3)\n", "DEBUG: partition5([1, 2, 3, 4], 0, 3)\n", "DEBUG: partition([1, 2, 3, 4], 0, 3, 1, 1)\n", " Le 1-ième élément du tableau est 1\n", "DEBUG: selection([1, 2, 3, 4], 2, 0, 3)\n", "DEBUG: pivot([1, 2, 3, 4], 0, 3)\n", "DEBUG: partition5([1, 2, 3, 4], 0, 3)\n", "DEBUG: partition([1, 2, 3, 4], 0, 3, 1, 2)\n", "DEBUG: pivot([1, 2, 3, 4], 2, 3)\n", "DEBUG: partition5([1, 2, 3, 4], 2, 3)\n", "DEBUG: partition([1, 2, 3, 4], 2, 3, 2, 2)\n", " Le 2-ième élément du tableau est 2\n", "DEBUG: selection([1, 2, 3, 4], 3, 0, 3)\n", "DEBUG: pivot([1, 2, 3, 4], 0, 3)\n", "DEBUG: partition5([1, 2, 3, 4], 0, 3)\n", "DEBUG: partition([1, 2, 3, 4], 0, 3, 1, 3)\n", "DEBUG: pivot([1, 2, 3, 4], 2, 3)\n", "DEBUG: partition5([1, 2, 3, 4], 2, 3)\n", "DEBUG: partition([1, 2, 3, 4], 2, 3, 2, 3)\n", " Le 3-ième élément du tableau est 3\n", "DEBUG: selection([1, 2, 3, 4], 4, 0, 3)\n", "DEBUG: pivot([1, 2, 3, 4], 0, 3)\n", "DEBUG: partition5([1, 2, 3, 4], 0, 3)\n", "DEBUG: partition([1, 2, 3, 4], 0, 3, 1, 4)\n", "DEBUG: pivot([1, 2, 3, 4], 2, 3)\n", "DEBUG: partition5([1, 2, 3, 4], 2, 3)\n", "DEBUG: partition([1, 2, 3, 4], 2, 3, 2, 4)\n", " Le 4-ième élément du tableau est 3\n" ] } ], "source": [ "for tab in (\n", " [1, 2, 3, 4, 5],\n", " [1, 2, 3, 4],\n", " # [1, 2, 3] * 10,\n", " ):\n", " print(f\"Pour le tableau {tab} :\")\n", " for k in range(1, 1 + len(tab)):\n", " print(f\" Le {k}-ième élément du tableau est {selection(tab[:], k)}\")" ] }, { "cell_type": "code", "execution_count": 129, "metadata": { "ExecuteTime": { "end_time": "2020-09-29T19:32:06.071291Z", "start_time": "2020-09-29T19:32:06.057079Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Pour le tableau [1, 1, 2, 3] :\n", "DEBUG: selection([1, 1, 2, 3], 1, 0, 3)\n", "DEBUG: pivot([1, 1, 2, 3], 0, 3)\n", "DEBUG: partition5([1, 1, 2, 3], 0, 3)\n", "DEBUG: partition([1, 1, 2, 3], 0, 3, 1, 1)\n", " Le 1-ième élément du tableau est 1\n", "DEBUG: selection([1, 1, 2, 3], 2, 0, 3)\n", "DEBUG: pivot([1, 1, 2, 3], 0, 3)\n", "DEBUG: partition5([1, 1, 2, 3], 0, 3)\n", "DEBUG: partition([1, 1, 2, 3], 0, 3, 1, 2)\n", "DEBUG: pivot([1, 1, 2, 3], 2, 3)\n", "DEBUG: partition5([1, 1, 2, 3], 2, 3)\n", "DEBUG: partition([1, 1, 2, 3], 2, 3, 2, 2)\n", " Le 2-ième élément du tableau est 2\n", "DEBUG: selection([1, 1, 2, 3], 3, 0, 3)\n", "DEBUG: pivot([1, 1, 2, 3], 0, 3)\n", "DEBUG: partition5([1, 1, 2, 3], 0, 3)\n", "DEBUG: partition([1, 1, 2, 3], 0, 3, 1, 3)\n", "DEBUG: pivot([1, 1, 2, 3], 2, 3)\n", "DEBUG: partition5([1, 1, 2, 3], 2, 3)\n", "DEBUG: partition([1, 1, 2, 3], 2, 3, 2, 3)\n", " Le 3-ième élément du tableau est 3\n", "DEBUG: selection([1, 1, 2, 3], 4, 0, 3)\n", "DEBUG: pivot([1, 1, 2, 3], 0, 3)\n", "DEBUG: partition5([1, 1, 2, 3], 0, 3)\n", "DEBUG: partition([1, 1, 2, 3], 0, 3, 1, 4)\n", "DEBUG: pivot([1, 1, 2, 3], 2, 3)\n", "DEBUG: partition5([1, 1, 2, 3], 2, 3)\n", "DEBUG: partition([1, 1, 2, 3], 2, 3, 2, 4)\n", " Le 4-ième élément du tableau est 3\n", "Pour le tableau [3, 2, 1, 1] :\n", "DEBUG: selection([3, 2, 1, 1], 1, 0, 3)\n", "DEBUG: pivot([3, 2, 1, 1], 0, 3)\n", "DEBUG: partition5([3, 2, 1, 1], 0, 3)\n", "DEBUG: partition([1, 1, 2, 3], 0, 3, 1, 1)\n", " Le 1-ième élément du tableau est 1\n", "DEBUG: selection([3, 2, 1, 1], 2, 0, 3)\n", "DEBUG: pivot([3, 2, 1, 1], 0, 3)\n", "DEBUG: partition5([3, 2, 1, 1], 0, 3)\n", "DEBUG: partition([1, 1, 2, 3], 0, 3, 1, 2)\n", "DEBUG: pivot([1, 1, 2, 3], 2, 3)\n", "DEBUG: partition5([1, 1, 2, 3], 2, 3)\n", "DEBUG: partition([1, 1, 2, 3], 2, 3, 2, 2)\n", " Le 2-ième élément du tableau est 2\n", "DEBUG: selection([3, 2, 1, 1], 3, 0, 3)\n", "DEBUG: pivot([3, 2, 1, 1], 0, 3)\n", "DEBUG: partition5([3, 2, 1, 1], 0, 3)\n", "DEBUG: partition([1, 1, 2, 3], 0, 3, 1, 3)\n", "DEBUG: pivot([1, 1, 2, 3], 2, 3)\n", "DEBUG: partition5([1, 1, 2, 3], 2, 3)\n", "DEBUG: partition([1, 1, 2, 3], 2, 3, 2, 3)\n", " Le 3-ième élément du tableau est 3\n", "DEBUG: selection([3, 2, 1, 1], 4, 0, 3)\n", "DEBUG: pivot([3, 2, 1, 1], 0, 3)\n", "DEBUG: partition5([3, 2, 1, 1], 0, 3)\n", "DEBUG: partition([1, 1, 2, 3], 0, 3, 1, 4)\n", "DEBUG: pivot([1, 1, 2, 3], 2, 3)\n", "DEBUG: partition5([1, 1, 2, 3], 2, 3)\n", "DEBUG: partition([1, 1, 2, 3], 2, 3, 2, 4)\n", " Le 4-ième élément du tableau est 3\n" ] } ], "source": [ "for tab in (\n", " tableau2,\n", " tableau2[::-1],\n", " ):\n", " print(f\"Pour le tableau {tab} :\")\n", " for k in range(1, 1 + len(tab)):\n", " print(f\" Le {k}-ième élément du tableau est {selection(tab[:], k)}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Autre implémentation\n", "\n", "Celle-ci sera la bonne :\n", "\n", "> Inspirée de https://stackoverflow.com/a/34911527/" ] }, { "cell_type": "code", "execution_count": 185, "metadata": { "ExecuteTime": { "end_time": "2020-09-30T12:14:35.631566Z", "start_time": "2020-09-30T12:14:35.603148Z" } }, "outputs": [], "source": [ "def find_i_th_smallest(tableau: List[T], k: Optional[int] = None, items_per_column: int = 5) -> T:\n", " if k is None:\n", " k = (len(tableau) - 1) // 2\n", " n = len(tableau)\n", " if n <= items_per_column:\n", " # si tableau est assez petit, on fait juste un tri et on trouve le k-ième élément\n", " return sorted(tableau)[k]\n", " else:\n", " # 1. partition A into columns of items_per_column items each. items_per_column is odd, say 15.\n", " # 2. find the median of every column\n", " # 3. put all medians in a new list, say, called medians\n", " medians = [\n", " find_i_th_smallest(tableau[j : (j + items_per_column)])\n", " for j in range(0, n, items_per_column)\n", " ]\n", "\n", " # 4. find M, the median of the medians\n", " median_of_medians = find_i_th_smallest(medians) # with k=None, computes middle value = median\n", "\n", " # 5. split A into 3 parts by M, { < M }, { == M }, and { > M }\n", " # 6. find which above set has tableau's k-th smallest, recursively.\n", " lefts = [ x for x in tableau if x < median_of_medians ]\n", " if k < len(lefts):\n", " return find_i_th_smallest(lefts, k)\n", " rights = [ x for x in tableau if x > median_of_medians ]\n", " len_rights = len(rights)\n", " if k < (n - len_rights):\n", " return median_of_medians\n", " return find_i_th_smallest(rights, k - (n - len_rights))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On peut faire quelques tests :" ] }, { "cell_type": "code", "execution_count": 175, "metadata": { "ExecuteTime": { "end_time": "2020-09-29T19:53:46.737897Z", "start_time": "2020-09-29T19:53:46.731112Z" } }, "outputs": [], "source": [ "try:\n", " from tqdm.notebook import tqdm\n", "except ImportError:\n", " def tqdm(iterator, **kwargs): return iterator" ] }, { "cell_type": "code", "execution_count": 186, "metadata": { "ExecuteTime": { "end_time": "2020-09-30T12:28:51.787297Z", "start_time": "2020-09-30T12:15:11.757354Z" } }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "bc013b742c8946de94aa0bfc1f37b53f", "version_major": 2, "version_minor": 0 }, "text/plain": [ "HBox(children=(HTML(value=''), FloatProgress(value=0.0, max=3.0), HTML(value='')))" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Pour des listes de taille 100 :\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "1711d1f5cf0c496391883861974f8693", "version_major": 2, "version_minor": 0 }, "text/plain": [ "HBox(children=(HTML(value=''), FloatProgress(value=0.0, max=1.0), HTML(value='')))" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Test 1 / 1 avec une liste de taille 100 :\n", "17.5 µs ± 7.65 µs per loop (mean ± std. dev. of 7 runs, 1 loop each)\n", "118 µs ± 19.2 µs per loop (mean ± std. dev. of 7 runs, 1 loop each)\n", "226 µs ± 11.5 µs per loop (mean ± std. dev. of 7 runs, 1 loop each)\n", "942 µs ± 150 µs per loop (mean ± std. dev. of 7 runs, 1 loop each)\n", "\n", "Pour des listes de taille 1000 :\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "d8b28c829b5b45bc97a9666d6f74203b", "version_major": 2, "version_minor": 0 }, "text/plain": [ "HBox(children=(HTML(value=''), FloatProgress(value=0.0, max=1.0), HTML(value='')))" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Test 1 / 1 avec une liste de taille 1000 :\n", "267 µs ± 10 µs per loop (mean ± std. dev. of 7 runs, 1 loop each)\n", "1.15 ms ± 89.3 µs per loop (mean ± std. dev. of 7 runs, 1 loop each)\n", "2.54 ms ± 11.8 µs per loop (mean ± std. dev. of 7 runs, 1 loop each)\n", "8.52 ms ± 1.02 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n", "\n", "Pour des listes de taille 10000 :\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "29a26a90afe7446e84bce5ee70463dad", "version_major": 2, "version_minor": 0 }, "text/plain": [ "HBox(children=(HTML(value=''), FloatProgress(value=0.0, max=1.0), HTML(value='')))" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Test 1 / 1 avec une liste de taille 10000 :\n", "2.82 ms ± 70.9 µs per loop (mean ± std. dev. of 7 runs, 1 loop each)\n", "8.83 ms ± 303 µs per loop (mean ± std. dev. of 7 runs, 1 loop each)\n", "\n", "\n" ] }, { "ename": "KeyboardInterrupt", "evalue": "", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 12\u001b[0m \u001b[0msorted_L\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0msorted\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mL\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 13\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mk\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mL\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 14\u001b[0;31m \u001b[0;32massert\u001b[0m \u001b[0msorted_L\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mk\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0mfind_i_th_smallest\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mL\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mk\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 15\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 16\u001b[0m \u001b[0mget_ipython\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrun_line_magic\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'timeit'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'-n1 sorted(L)[random.randint(0, len(L) - 1)]'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m\u001b[0m in \u001b[0;36mfind_i_th_smallest\u001b[0;34m(tableau, k, items_per_column)\u001b[0m\n\u001b[1;32m 22\u001b[0m \u001b[0mlefts\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m \u001b[0mx\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mx\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mtableau\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mx\u001b[0m \u001b[0;34m<\u001b[0m \u001b[0mmedian_of_medians\u001b[0m \u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 23\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mk\u001b[0m \u001b[0;34m<\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlefts\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 24\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mfind_i_th_smallest\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlefts\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mk\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 25\u001b[0m \u001b[0mrights\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m \u001b[0mx\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mx\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mtableau\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mx\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0mmedian_of_medians\u001b[0m \u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 26\u001b[0m \u001b[0mlen_rights\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrights\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m\u001b[0m in \u001b[0;36mfind_i_th_smallest\u001b[0;34m(tableau, k, items_per_column)\u001b[0m\n\u001b[1;32m 16\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 17\u001b[0m \u001b[0;31m# 4. find M, the median of the medians\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 18\u001b[0;31m \u001b[0mmedian_of_medians\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfind_i_th_smallest\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmedians\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m# with k=None, computes middle value = median\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 19\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 20\u001b[0m \u001b[0;31m# 5. split A into 3 parts by M, { < M }, { == M }, and { > M }\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m\u001b[0m in \u001b[0;36mfind_i_th_smallest\u001b[0;34m(tableau, k, items_per_column)\u001b[0m\n\u001b[1;32m 12\u001b[0m medians = [\n\u001b[1;32m 13\u001b[0m \u001b[0mfind_i_th_smallest\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtableau\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mj\u001b[0m \u001b[0;34m:\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mj\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mitems_per_column\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 14\u001b[0;31m \u001b[0;32mfor\u001b[0m \u001b[0mj\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mn\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mitems_per_column\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 15\u001b[0m ]\n\u001b[1;32m 16\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m 12\u001b[0m medians = [\n\u001b[1;32m 13\u001b[0m \u001b[0mfind_i_th_smallest\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtableau\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mj\u001b[0m \u001b[0;34m:\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mj\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mitems_per_column\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 14\u001b[0;31m \u001b[0;32mfor\u001b[0m \u001b[0mj\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mn\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mitems_per_column\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 15\u001b[0m ]\n\u001b[1;32m 16\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m\u001b[0m in \u001b[0;36mfind_i_th_smallest\u001b[0;34m(tableau, k, items_per_column)\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mn\u001b[0m \u001b[0;34m<=\u001b[0m \u001b[0mitems_per_column\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0;31m# si tableau est assez petit, on fait juste un tri et on trouve le k-ième élément\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 7\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0msorted\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtableau\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mk\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 8\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 9\u001b[0m \u001b[0;31m# 1. partition A into columns of items_per_column items each. items_per_column is odd, say 15.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mKeyboardInterrupt\u001b[0m: " ] } ], "source": [ "number_of_tests = 1\n", "\n", "# How many numbers should be randomly generated for testing?\n", "for number_of_numbers in tqdm([100, 1000, 10000]):\n", " print(f\"Pour des listes de taille {number_of_numbers} :\")\n", " for test in tqdm(range(number_of_tests)):\n", " print(f\"Test {test + 1} / {number_of_tests} avec une liste de taille {number_of_numbers} :\")\n", " # create a list of random positive integers\n", " tableau = [ random.randint(0, number_of_numbers) for i in range(0, number_of_numbers) ]\n", " for L in [ tableau, tableau*2 ]:\n", "\n", " sorted_L = sorted(L)\n", " for k in range(len(L)):\n", " assert sorted_L[k] == find_i_th_smallest(L, k)\n", "\n", " %timeit -n1 sorted(L)[random.randint(0, len(L) - 1)]\n", " %timeit -n1 find_i_th_smallest(L, random.randint(0, len(L) - 1))" ] }, { "cell_type": "code", "execution_count": 182, "metadata": { "ExecuteTime": { "end_time": "2020-09-30T11:55:05.849616Z", "start_time": "2020-09-30T09:56:36.513474Z" } }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "4dd4f8d5da064afcaed1dd7162fec57b", "version_major": 2, "version_minor": 0 }, "text/plain": [ "HBox(children=(HTML(value=''), FloatProgress(value=0.0, max=4.0), HTML(value='')))" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Pour des listes de taille 500 :\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "4a6b6bee049747fcb66ff2071a8cb8db", "version_major": 2, "version_minor": 0 }, "text/plain": [ "HBox(children=(HTML(value=''), FloatProgress(value=0.0, max=1.0), HTML(value='')))" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Test 1 / 1 avec une liste de taille 500 :\n", "69.8 µs ± 7.44 µs per loop (mean ± std. dev. of 7 runs, 1 loop each)\n", "198 µs ± 30.7 µs per loop (mean ± std. dev. of 7 runs, 1 loop each)\n", "125 µs ± 5.9 µs per loop (mean ± std. dev. of 7 runs, 1 loop each)\n", "299 µs ± 65.3 µs per loop (mean ± std. dev. of 7 runs, 1 loop each)\n", "\n", "Pour des listes de taille 5000 :\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "7b4f3213ca2741459ae531c6e36c8e93", "version_major": 2, "version_minor": 0 }, "text/plain": [ "HBox(children=(HTML(value=''), FloatProgress(value=0.0, max=1.0), HTML(value='')))" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Test 1 / 1 avec une liste de taille 5000 :\n", "913 µs ± 86.9 µs per loop (mean ± std. dev. of 7 runs, 1 loop each)\n", "1.48 ms ± 155 µs per loop (mean ± std. dev. of 7 runs, 1 loop each)\n", "1.86 ms ± 86 µs per loop (mean ± std. dev. of 7 runs, 1 loop each)\n", "3.15 ms ± 67 µs per loop (mean ± std. dev. of 7 runs, 1 loop each)\n", "\n", "Pour des listes de taille 50000 :\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "0bfdaf4732124b319c00b783e0652a8e", "version_major": 2, "version_minor": 0 }, "text/plain": [ "HBox(children=(HTML(value=''), FloatProgress(value=0.0, max=1.0), HTML(value='')))" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Test 1 / 1 avec une liste de taille 50000 :\n", "11.7 ms ± 269 µs per loop (mean ± std. dev. of 7 runs, 1 loop each)\n", "14.5 ms ± 1.08 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n", "\n", "\n" ] }, { "ename": "KeyboardInterrupt", "evalue": "", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 12\u001b[0m \u001b[0msorted_L\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0msorted\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mL\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 13\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mk\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mL\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 14\u001b[0;31m \u001b[0;32massert\u001b[0m \u001b[0msorted_L\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mk\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0mfind_i_th_smallest\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mL\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mk\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 15\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 16\u001b[0m \u001b[0mget_ipython\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrun_line_magic\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'timeit'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'-n1 sorted(L)[random.randint(0, len(L) - 1)]'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m\u001b[0m in \u001b[0;36mfind_i_th_smallest\u001b[0;34m(tableau, k, items_per_column)\u001b[0m\n\u001b[1;32m 16\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 17\u001b[0m \u001b[0;31m# 4. find M, the median of the medians\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 18\u001b[0;31m \u001b[0mmedian_of_medians\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfind_i_th_smallest\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmedians\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m# with k=None, computes middle value = median\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 19\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 20\u001b[0m \u001b[0;31m# 5. split A into 3 parts by M, { < M }, { == M }, and { > M }\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m\u001b[0m in \u001b[0;36mfind_i_th_smallest\u001b[0;34m(tableau, k, items_per_column)\u001b[0m\n\u001b[1;32m 12\u001b[0m medians = [\n\u001b[1;32m 13\u001b[0m \u001b[0mfind_i_th_smallest\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtableau\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mj\u001b[0m \u001b[0;34m:\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mj\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mitems_per_column\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 14\u001b[0;31m \u001b[0;32mfor\u001b[0m \u001b[0mj\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mn\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mitems_per_column\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 15\u001b[0m ]\n\u001b[1;32m 16\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m 12\u001b[0m medians = [\n\u001b[1;32m 13\u001b[0m \u001b[0mfind_i_th_smallest\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtableau\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mj\u001b[0m \u001b[0;34m:\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mj\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mitems_per_column\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 14\u001b[0;31m \u001b[0;32mfor\u001b[0m \u001b[0mj\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mn\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mitems_per_column\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 15\u001b[0m ]\n\u001b[1;32m 16\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m\u001b[0m in \u001b[0;36mfind_i_th_smallest\u001b[0;34m(tableau, k, items_per_column)\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mn\u001b[0m \u001b[0;34m<=\u001b[0m \u001b[0mitems_per_column\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0;31m# si tableau est assez petit, on fait juste un tri et on trouve le k-ième élément\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 7\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0msorted\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtableau\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mk\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 8\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 9\u001b[0m \u001b[0;31m# 1. partition A into columns of items_per_column items each. items_per_column is odd, say 15.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mKeyboardInterrupt\u001b[0m: " ] } ], "source": [ "number_of_tests = 1\n", "\n", "# How many numbers should be randomly generated for testing?\n", "for number_of_numbers in tqdm([500, 5000, 50000, 100000]):\n", " print(f\"Pour des listes de taille {number_of_numbers} :\")\n", " for test in tqdm(range(number_of_tests)):\n", " print(f\"Test {test + 1} / {number_of_tests} avec une liste de taille {number_of_numbers} :\")\n", " # create a list of random positive integers\n", " tableau = [ random.randint(0, number_of_numbers) for i in range(0, number_of_numbers) ]\n", " for L in [ tableau, tableau*2 ]:\n", "\n", " sorted_L = sorted(L)\n", " for k in range(len(L)):\n", " assert sorted_L[k] == find_i_th_smallest(L, k)\n", "\n", " %timeit -n1 sorted(L)[random.randint(0, len(L) - 1)]\n", " %timeit -n1 find_i_th_smallest(L, random.randint(0, len(L) - 1))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Empiriquement, pour des listes pas trop grandes, la méthode naïve qui trie la liste est plus rapide.\n", "C'est assez logique, le tri `sorted()` de Python est implémenté en C et est très efficace.\n", "\n", "Pour des listes plus grandes, on voit que la tendance s'inverse." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "----\n", "## Conclusion\n", "C'est tout pour ce notebook ! Merci de l'avoir lu.\n", "\n", "> Pour plus de notebooks, cf https://GitHub.com/Naereen/notebooks" ] } ], "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" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": true, "toc_window_display": true }, "varInspector": { "cols": { "lenName": 16, "lenType": 16, "lenVar": 40 }, "kernels_config": { "python": { "delete_cmd_postfix": "", "delete_cmd_prefix": "del ", "library": "var_list.py", "varRefreshCmd": "print(var_dic_list())" }, "r": { "delete_cmd_postfix": ") ", "delete_cmd_prefix": "rm(", "library": "var_list.r", "varRefreshCmd": "cat(var_dic_list()) " } }, "oldHeight": 269.35, "position": { "height": "40px", "left": "8.75px", "right": "20px", "top": "474px", "width": "272.5px" }, "types_to_exclude": [ "module", "function", "builtin_function_or_method", "instance", "_Feature" ], "varInspector_section_display": "none", "window_display": true } }, "nbformat": 4, "nbformat_minor": 4 }