Problem description


Trójkąty i kwadraty
(tro-kwa)
Memory limit: 256 MB
Time limit: 5.00 s

Jasio dostał na egzaminie zadanie narysowania grafu nieskierowanego o dokładnie N wierzchołkach oraz M krawędziach (bez krawędzi wielokrotnych i pętelek). Niestety przez roztargnienie oraz to, że po głowie chodzi mu wciąż pewna piosenka, zrozumiał opacznie, że jego zadaniem jest narysowanie grafu, na dokładnie N wierzchołkach, który ma dokładnie M trójkątów i kwadratów.

Trójkątem nazywamy trzy wierzchołki, takie że są połączone ze sobą krawędzią, zaś kwadratem nazwiemy cztery wierzchołki a, b, c, d takie, że mamy krawędzie a ↔︎ b, b ↔︎ c, c ↔︎ d oraz d ↔︎ a, przy czym dwa kwadraty są różne, jeżeli posiadają różne zbiory krawędzi. Dla przykładu: czwórki [a,b,c,d], [b,c,d,a] oraz [d,c,b,a] są sobie parami równe, ale [a,b,c,d] różni się od [a,c,b,d].

Twoim zadaniem mogłoby być napisanie programu, który powiedziałby Jasiowi, że źle zrozumiał treść, ale to byłoby zbyt proste. Domyślasz się już pewnie, że aby otrzymać punkty za to zadanie, trzeba rozwiązać zadanie wymyślone przez Jasia. Napisz program, który poprawnie skonstruuje wymagany graf, albo wypisze, że nie jest to możliwe.

Wejście

W pierwszym wierszu wejścia znajduje się jedna liczba całkowita T oznaczająca liczbę przypadków testowych.

W i-tym z kolejnych T wierszy znajdują się po dwie liczby całkowite Ni i Mi, oznaczające odpowiednio liczbę wierzchołków oraz sumaryczną liczbę trójkątów i kwadratów, które powinien mieć graf z i-tego przypadku testowego.

Wyjście

Na wyjściu wypisz kolejno odpowiedzi dla wszystkich przypadków testowych. Każdy z nich powinien mieć formę zgodną z poniższą specyfikacją.

W pierwszym wierszu dla wyjścia i-tego przypadku testowego powinna się znaleźć jedna liczba całkowita $0\le K_i \le \frac{N_i \cdot (N_i - 1)}{2}$, oznaczająca liczbę krawędzi, użytych do konstrukcji, albo liczba -1 jeżeli nie da się zbudować takiego grafu.

Jeżeli konstrukcja jest możliwa, to w i-tym spośród kolejnych k wierszy powinny znaleźć się po dwie liczby całkowite ai oraz bi (ai ≠ bi) oddzielone pojedynczym odstępem, oznaczające połączenie nieskierowaną krawędzią między wierzchołkami ai i bi. Każdą krawędź w przypadku testowym można wypisać co najwyżej jeden raz.

Ograniczenia

1 ≤ T ≤ 50, 2 ≤ Ni ≤ 100, $0 \le M_i \le \frac{N_i \cdot (N_i - 1)}{2}$.

Przykład

Input Output Explanation
3
2 0
5 8
6 7
0
-1
6
1 2
1 3
1 4
2 3
2 4
3 4

W czterowierzchołkowej klice występują cztery trójkąty i trzy kwadraty.