시간 제한메모리 제한제출정답맞힌 사람정답 비율
10 초 1024 MB83228.571%

문제

Bajtek bawi się w pokrywanie prostokątów o wymiarach 2 × n kostkami domina o wymiarach 2 × 1. Prostokąt o szerokości n składa się z 2n pól (o wymiarach 1 × 1), przy czym niektóre z pól Bajtek może zamalować. Bajtek chce, żeby możliwe było pokrycie wszystkich niezamalowanych pól bez nakładania się na siebie kostek domina (kostki można obracać). Co więcej, Bajtek chciałby, żeby można było tego dokonać na dokładnie m sposobów. I w końcu chciałby znaleźć najmniejszy prostokąt, który można tak pokryć. Dużo tych wymagań, pomożesz mu?

Poniższy rysunek prezentuje prostokąt o szerokości n = 6, w którym zamalowano dwa pola. Pozostałe 10 pól można pokryć kostkami domina na dokładnie 4 sposoby. Dwa ze sposobów zostały przedstawione na rysunku (kostki domina zostały nieco pomniejszone jedynie dla lepszego zobrazowania sytuacji):

Nie jest to jednak optymalne rozwiązanie dla m = 4, ponieważ istnieje rozwiązanie, w którym n = 5.

Napisz program, który dla danego m wyznaczy najmniejszą szerokość prostokąta n, w którym możliwe jest takie zamalowanie pól, aby móc pokryć pozostałe pola kostkami domina o wymiarach 2 × 1 na dokładnie m sposobów.

입력

W pierwszym i jedynym wierszu wejścia znajduje się jedna liczba naturalna m (1 ≤ m ≤ 1018).

출력

W pierwszym i jedynym wierszu wyjścia powinna znaleźć się liczba naturalna n określająca najmniejszą możliwą szerokość szukanego prostokąta. Jeżeli żaden taki prostokąt nie istnieje, zamiast tego należy wypisać tylko jedno słowo NIE.

예제 입력 1

4

예제 출력 1

5

예제 입력 2

101

예제 출력 2

NIE