Mistrzostwa Polski Szkół Średnich w Programowaniu Zespołowym 2024

2020-2022 2023 Regulations Schedule RODO info Ranking

Problem description


Intensywny trening
(A)
Limit pamięci: 512 MB
Limit czasu: 2.00 s


Janek bardzo lubi brać udział w internetowych konkursach algorytmicznych. Przez ostatnie N dni trenował, biorąc udział w konkursach na dwóch swoich ulubionych platformach: Mouseforces i Ratcoder. Każdego dnia zapisywał swój ranking będący liczbą całkowitą. Ranking i-tego dnia na platformie Mouseforces oznaczamy przez Xi, a na platformie Ratcoder Yi. Po N dniach treningu chciałby sprawdzić swoje wyniki. W tym celu z każdego dnia wypisze jeden z rankingów Xi lub Yi i zapisze kolejno na kartce. Ponieważ Janek bardzo lubi oglądać swój progres, chce, żeby ciąg rankingów wypisany na kartce był rosnący. Janek jest zmęczony po bardzo intensywnym treningu, więc poprosił cię o pomoc. Twoim zadaniem jest skonstruować taki ciąg lub stwierdzić, że jest to niemożliwe.

Wejście

W pierwszym wierszu znajduje się jedna liczba N, opisująca liczbę dni, podczas których Janek brał udział w konkursach. W kolejnych N wierszach znajdują się liczby Xi i Yi oddzielone spacją, opisujące rankingi i-tego dnia.

Wyjście

W pierwszym wierszu wypisz “Tak”, jeśli można z każdej pary wybrać jedną liczbę tak, żeby utworzyć ciąg rosnący, i “Nie” w przeciwnym razie. Jeśli odpowiedź w pierwszym wierszu to “Tak”, to w drugim wierszu wypisz N liczb R1, R2, …, RN takich, że Ri = Xi lub Ri = Yi, oraz ciąg R jest rosnący. Jeśli istnieje więcej niż jeden poprawny ciąg, należy wypisać dowolny.

Ograniczenia

1 ≤ N ≤ 5 ⋅ 105
1 ≤ Xi ≤ 109
1 ≤ Yi ≤ 109

Przykład

Wejście Wyjście
3
2 3
5 3
4 4
Tak
2 3 4 
Wejście Wyjście
3
1 2
8 3
2 3
Nie