Nawiasowanie

Nawiasowanie to ciąg znaków ( ) o długości 2*n. Poprawne nawiasowanie to takie nawiasowanie w którym wszystko się zgadza. Bardziej formalnie : każdy jego prefiks zawiera nie mniej nawiasów otwierających niż zamykających. Mając dane nawiasowanie, określ czy jest ono poprawne i jeśli tak, to wypisz pary odpowiadających sobie nawiasów.

Wejście, wyjście

W pierwszej linii wejścia znajduje się liczba n, (1 <= n <= 1000000). W drugiej linii znajduje się 2*n znaków ( lub ). Jeśli nawiasowanie jest poprawne, twój program powinien wypisać w pierwszej linii słowo TAK, a w kolejnych n liniach pary pozycji odpowiadających sobie nawiasów, w kolejności rosnących numerów nawiasów zamykających. W przeciwnym przypadku, twój program powinien wypisać jedną linię, zawierającą słowo NIE.

Przykład

Dla danych wejściowych:

3
()(())

Poprawną odpowiedzią jest:

TAK
1 2
4 5
3 6

Utworzone nawiasowania nie mogą zawierać "przeplotów", czyli nie można np. sparować nawiasu 3 z 5, a 4 z 6.

Dla danych wejściowych:

2
))((

Poprawną odpowiedzią jest:

NIE