Пакување роботчиња

На крајот на долгиот работен ден на фабричката лента се останати N роботчиња (на позиции од 1 до N) кои Миле и Емил треба да ги спакуваат.

Миле се наоѓа на почеток на лентата (кај позиција 1), а Емил на крај на лентата (кај позиција N). За да им биде поинтересно, одлучиле да ги пакуваат роботчињата според следниот алгоритам:

Прво Миле ќе тргне од неговата страна (од почеток) и ќе го спакува секое второ роботче.

Потоа, Емил ќе тргне од неговата страна (од крај) и ќе го спакува секое второ роботче од преостанатите роботчиња.

Потоа пак Миле почнува од почеток… па Емил, и се така дури не се спакува последното роботче.

Ваша задача е да ја утврдите позицијата на последното спакувано роботче.



Влез

Во еден и единствен ред е даден бројот на роботчиња N (1 ≤ N ≤ 1016).

Забелешка.
За 50% од поените важи: 1 ≤ N ≤ 10 000



Излез

Во еден и единствен ред отпечатете ја бараната позиција.



Ограничувања

Временско ограничување: 100 milliseconds
Мемориско ограничување: 64 megabytes



Примери


влез
10
излез
9


Објаснување за првиот пример.
На почеток лентата изгледа вака:


После првото пакување на Миле (откако Миле ќе помине од лево кон десно):


После првото пакување на Емил (откако Емил ќе помине од десно кон лево):


После второто пакување на Миле (откако Миле ќе помине од лево кон десно):


После второто пакување на Емил (откако Емил ќе помине од десно кон лево):


На крај е останато роботчето на позиција 9.



 Submit your code