Граф (який не є повним) має зв'язність $k$, якщо $k$ — розмір найменшої підмножини вершин, після видалення яких граф стає незв'язним.
Зв'язний неорієнтований граф $G$ називається гамільтоновим, якщо він має гамільтонів цикл: цикл, що відвідує кожну вершину рівно один раз (окрім вершини, яка є одночасно початком і кінцем та відвідується двічі).
Bobo хоче побудувати гамільтонів граф із $n$ вершинами, що має зв'язність $k$. Крім того, кількість ребер у графі має бути найменшою можливою.
Вхідні дані
Перший рядок містить два цілі числа $n$ та $k$, де $n$ — кількість вершин у графі ($3 \le n \le 100$, $1 \le k \le n-2$).
Вихідні дані
Якщо такого графа не існує, виведіть $-1$ в окремому рядку. Інакше виведіть ціле число $m$, що задає найменшу кількість ребер. Потім у кожному з наступних $m$ рядків виведіть два цілі числа $x$ та $y$ ($1 \le x,y \le n$, $x \ne y$), що задають ребро графа. У наступному рядку виведіть перестановку цілих чисел $1,2,\ldots,n$, що задає гамільтонів цикл у графі.
Приклад
Вхідні дані 1
4 2
Вихідні дані 1
4 1 2 2 3 3 4 4 1 1 2 3 4