Insegnante di matematica Yuri Petrovich
Problem
Il leggendario insegnante di matematica Yuri Petrovich ha inventato un divertente gioco con i numeri. Vale a dire, prendendo un numero intero arbitrario, lo traduce in un sistema numerico binario, ottenendo una sequenza di zeri e uno, a partire da uno. (Ad esempio, numero decimale\(19_{10} = 1\cdot2^4+0\cdot2^3+0\cdot2^2+1\cdot2^1+1\cdot2^0 \ ) nel sistema binario sarà scritto come 10011 2.) Quindi l'insegnante inizia a spostare le cifre del numero binario risultante in un ciclo (in modo che l'ultima cifra diventi la prima e tutte le altre vengano spostate di una posizione a destra), scrivendo le risultanti sequenze di zeri e uno nella colonna — ha notato che, indipendentemente dalla scelta del numero iniziale, le sequenze risultanti cominciano a ripetersi da un certo momento. E, infine, Yuri Petrovich trova il massimo dei numeri scritti e lo traduce nuovamente nel sistema numerico decimale, considerando questo numero il risultato delle manipolazioni effettuate. Quindi, per il numero 19, l'elenco delle sequenze sarebbe:
10011
11001
11100
01110
00111
10011
…
e il risultato del gioco sarà quindi un numero \(1\cdot2^4+1\cdot2^3+1\cdot2^2+0\cdot2^1+0\cdot2^0 = 28_{ 10} \)
Poiché il gioco inventato con i numeri richiede sempre più immaginazione dell'insegnante, distraendolo così dal lavorare con scolari molto dotati, ti viene chiesto di scrivere un programma che aiuti Yuri Petrovich a ottenere il risultato del gioco senza noiosi calcoli manuali.
Inserimento:
Il file di input contiene un singolo numero intero N (0<=N<=32767).
Risultato:
Il tuo programma dovrebbe stampare sul file di output un singolo numero intero uguale al risultato del gioco.
Esempi