Un graphe (autre qu'un graphe complet) a une connexité $k$ si $k$ est la taille du plus petit sous-ensemble de sommets dont la suppression rend le graphe non connexe.
Un graphe non orienté connexe $G$ est dit hamiltonien s'il possède un cycle hamiltonien : un cycle qui visite chaque sommet exactement une fois (à l'exception du sommet qui est à la fois le départ et l'arrivée, visité deux fois).
Bobo souhaite construire un graphe hamiltonien à $n$ sommets de connexité $k$. De plus, le nombre d'arêtes du graphe doit être aussi petit que possible.
Entrée
La première ligne contient deux entiers $n$ et $k$, où $n$ est le nombre de sommets du graphe ($3 \le n \le 100$, $1 \le k \le n-2$).
Sortie
Si aucun tel graphe n'existe, affichez $-1$ sur une seule ligne. Sinon, affichez un entier $m$ représentant le nombre minimal d'arêtes. Sur chacune des $m$ lignes suivantes, affichez deux entiers $x$ et $y$ ($1 \le x,y \le n$, $x \ne y$) décrivant une arête du graphe. Sur la ligne suivante, affichez une permutation des entiers $1,2,\ldots,n$ décrivant un cycle hamiltonien du graphe.
Exemples
Entrée 1
4 2
Sortie 1
4 1 2 2 3 3 4 4 1 1 2 3 4