Problem description


Naszyjnik
(naszyjnik)
Limit pamięci: 32 MB
Limit czasu: 0.50 s

Jasio poznał ostatnio ciekawą dziewczynę. Postanowił podarować jej naszyjnik. Poszedł do sklepu jubilerskiego, gdzie sprzedają najróżniejsze naszyjniki. Naszyjniki mogą składać się z dowolnej liczby korali. Korale mogą być jednego z trzech typów: a – o wartości jednego bajtalara, b – o wartości dwóch bajtalarów oraz c – o wartości trzech bajtalarów. Jasio nie chce wyjść na skąpca, ale nie chce też przesadzić z wartością jego podarku. Postanowił przeznaczyć na naszyjnik dokładnie N bajtalarów. Zapytał sprzedawcę o przykładowy naszyjnik, sprzedawca podał mu taki do obejrzenia, ale Jasiowi się nie spodobał. Chciałby, żeby jego prezent wyrażał coś więcej. Tak się stanie, jeśli Jasio wybierze następny leksykograficznie naszyjnik spośród tych o wartości N. Niestety, sprzedawca nie jest dobry w takich zagadkach. Pomóż mu!

Napisz program, który: wczyta naszyjnik pokazany przez sprzedawcę, wyznaczy następny leksykograficznie ciąg korali o tej samej wartości i wypisze wynik na standardowe wyjście.

Wejście

W pierwszym (i jedynym) wierszu wejścia znajduje się ciąg małych liter a, b lub c określających kolejne typy korali na naszyjniku pokazanym przez sprzedawcę.

Wyjście

W pierwszym (jedynym) wierszu wyjścia powinien się znaleźć szukany naszyjnik w formacie takim jak na wejściu.

Jeśli szukany naszyjnik nie istnieje, zamiast tego należy wypisać jedno słowo NIE.

Ograniczenia

Długość naszyjnika pokazanego przez sprzedawcę nie przekracza 100 000 znaków.

Przykład

Wejście Wyjście
abb
aca
Wejście Wyjście
ca
NIE