IX Olimpiada Informatyczna 2001/2002

Zadanie: wyl
Autor: Jakub Pawlewicz
Wyliczanka

Zawody II stopnia, dzień pierwszy  
Plik źródłowy: wyl.??? (np. pas, c, cpp)
Plik wejściowy: wyl.in
Plik wyjściowy: wyl.out

Dzieci ustawiły się w kółko i bawią się w wyliczankę. Dzieci są ponumerowane od 1 do n w ten sposób, że (dla i = 1, 2, ..., n - 1) na lewo od dziecka nr i stoi dziecko nr i+1, a na lewo od dziecka nr n stoi dziecko nr 1. Dziecko, "na które wypadnie" w wyliczance, wypada z kółka. Wyliczanka jest powtarzana, aż nikt nie zostanie w kółku. Zasady wyliczanki są następujące:

Obserwujemy dzieci bawiące się w wyliczankę i widzimy, w jakiej kolejności wypadają one z kółka. Na podstawie tej informacji próbujemy odgadnąć, z ilu sylab składa się wyliczanka.

Zadanie

Napisz program, który:

Wejście

W pierwszym wierszu pliku tekstowego wyl.in znajduje się jedna dodatnia liczba całkowita n, 2 <= n <= 20. W drugim wierszu znajduje się n liczb całkowitych pooddzielanych pojedynczymi odstępami - i-ta liczba określa, jako które z kolei dziecko nr i wypadło z kółka.

Wyjście

Twój program powinien zapisać w pierwszym i jedynym wierszu pliku tekstowego wyl.out jedną liczbę całkowitą: najmniejszą liczbę (k) sylab, jakie może mieć wyliczanka, lub jedno słowo NIE, jeśli taka liczba nie istnieje.

Przykład

Dla pliku wejściowego wyl.in:

4
1 4 2 3
poprawną odpowiedzią jest plik wyjściowy wyl.out:
5