Problem description


Krótkie spacery
(A)
Limit pamięci: 512 MB
Limit czasu: 1.00 s

Król Bitocji uwielbia krótkie spacery. W szczególności, najbardziej lubi spacery, które trwają dokładnie 2 minuty. Z tego powodu kazał zbudować sieć chodników, po których będzie mógł odbywać swoje przechadzki. Wyznaczył N punktów w swoim ogrodzie. Połączenie dowolnej pary punktów chodnikiem spowoduje, że będzie w stanie przejść między tymi punktami w dokładnie minutę.

Król chciałby teraz połączyć ze sobą pewne z tych punktów chodnikiem tak, żeby z każdego punktu można było przejść chodnikami do dowolnego innego oraz żeby istniało dokładnie K możliwości wybrania końców ściśle dwuminutowego spaceru. Spacer między punktami u i v jest ściśle dwuminutowy, jeśli pomiędzy u oraz v nie da się przejść w minutę, ale w 2 minuty jest już to możliwe.

Przykładowo, jeżeli połączymy ze sobą punkty 1 i 2, 2 i 3, to spacer między 1 a 3 punktem będzie ściśle dwuminutowy, ale gdyby dodać chodnik między punktami 1 i 3, to nie byłoby ani jednego ściśle dwuminutowego spaceru.

Jako nadworny programista króla Bitocji, zadanie utworzenia sieci chodników zostało powierzone Tobie. Znajdź sieć chodników spełniającą wymogi króla lub stwierdź, że nie jest to możliwe. Jeżeli istnieje wiele możliwości utworzenia sieci chodników, należy wypisać dowolną z nich.

Wejście

W pierwszym i jedynym wierszu wejścia znajdują się dwie liczby całkowite N oraz K, oznaczające liczbę punktów w ogrodzie oraz oczekiwaną liczbę możliwych do odbycia dwuminutowych spacerów.

Wyjście

Jeżeli nie istnieje sieć chodników spełniająca żądania króla, należy wypisać -1. W przeciwnym razie należy wypisać jedną liczbę M oznaczającą liczbę chodników. W następnych M wierszach należy wypisać opis chodników. Każdy wiersz powinien składać się z dwóch różnych liczb u oraz v (1 ≤ u, v ≤ N) oznaczających chodnik między punktami u oraz v. Żaden z chodników nie powinien zostać podany więcej, niż raz.

Ograniczenia

$1 \le N \le 1\,000, 0\le K\le \frac{N(N - 1)}{2}$.

Podzadania

Podzadanie Warunki Punkty
1 K = 0 20
2 K ≤ N 20
3 Brak dodatkowych ograniczeń. 60

Przykład

Wejście Wyjście
5 3
5
2 3
1 3
5 4
3 4
1 2
Wejście Wyjście
5 8
-1