Для заданого додатного числа визначте різницю між максимальним і мінімальним значеннями, які можна отримати шляхом перестановки бітів цього числа від молодшого до старшого розряду, зайнятого одиницею. Наприклад, для числа , яке в двійковій системі числення записується як 10110_2, максимальне значення (отримане перестановкою) буде 11100_2 = 28, а мінімальне (також отримане перестановкою) буде 00111_2 = 7. Отже, шуканою різницею буде .
У першому рядку вхідного файлу знаходиться число (0 < N \leq 10^{18}).
В єдиному рядку виведіть відповідь на задачу.
Приклад 1
Приклад 2
Приклад 3