Wyliczanka
Limit pamięci: 32 MB
Dzieci ustawiły się w kółko i bawią się w wyliczankę.
Dzieci są ponumerowane od
do
w ten sposób, że
(dla
) na lewo od dziecka nr
stoi dziecko nr
, a na lewo od dziecka nr
stoi dziecko nr
.
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:
- Pierwszą wyliczankę zaczyna dziecko nr
.
Każdą kolejną wyliczankę zaczyna dziecko stojące na lewo od dziecka, które ostatnio wypadło z kółka.
- Wyliczanka za każdym razem składa się z
sylab. Dziecko, które zaczyna wyliczankę,
mówi pierwszą jej sylabę; dziecko stojące na lewo od niego mówi drugą sylabę, kolejne dziecko trzecią itd.
Dziecko, które mówi ostatnią sylabę wyliczanki, wypada z kółka.
![](images/OI9/wyl.png)
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:
- wczyta ze standardowego wejścia opis kolejności, w jakiej dzieci wypadały z kółka,
- wyznaczy najmniejszą dodatnią liczbę
, dla której dzieci bawiąc się w
-sylabową wyliczankę będą wypadać z kółka w zadanej kolejności, lub stwierdzi,
że takie
nie istnieje,
- wypisze na standardowe wyjście wyznaczoną liczbę
lub słowo NIE w przypadku,
gdy takie
nie istnieje.
Wejście
W pierwszym wierszu standardowego wejścia znajduje się jedna dodatnia liczba całkowita
,
. W drugim wierszu znajduje się
liczb całkowitych pooddzielanych pojedynczymi odstępami -
-ta liczba określa, jako które z kolei dziecko nr
wypadło z kółka.
Wyjście
Twój program powinien zapisać w pierwszym i jedynym wierszu standardowego wyjścia jedną liczbę całkowitą:
najmniejszą liczbę (
) sylab, jakie może mieć wyliczanka, lub jedno słowo NIE, jeśli taka liczba nie istnieje.
Przykład
Dla danych wejściowych:
4
1 4 2 3
poprawną odpowiedzią jest:
5
Autor zadania: Jakub Pawlewicz.