Граф (не являющийся полным) имеет связность $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