Шоколад#11384

Шоколад

1 second
256 megabytes
Easy

У місцевий магазин надійшов новий вид шоколаду. Шоколад поставляється в плитках, кожна плитка складається з квадратів. Плитки виготовляються на заводі й мають розміри, які є повними двійками. Іншими словами, одна плитка має 1, 2, 4, 8, 16, \ldots квадратів.

Для повної оцінки якості шоколаду Леді необхідно відібрати не менше квадратів. Її подруга Діана теж хотіла б скуштувати шоколаду. Оскільки Леді поспішає сама спробувати шоколад, вона вирішує розламати куплену плитку на шматочки так, щоб у неї було рівно квадратів, а решту (якщо є) залишає Діані. Кусочки трохи крихкі, тому Леді може ламати їх лише по центру. Іншими словами, з однієї плитки з квадратів вона може отримати дві частини з квадратів.

Напишіть програму, яка визначатиме мінімальну кількість розламів, які має виконати Леді, щоб отримати рівно квадратів (не обов'язково цілими). Крім того, визначте найменший розмір плитки, який має купити Леді, щоб мати принаймні квадратів.

Input

У першому рядку задано натуральне число (1 \le K \le 1\,000\,000), кількість квадратів, які Леді має вибрати.

Output

Виведіть два цілі числа, розділених одним пробілом. Перше ціле число — найменший розмір плитки, яку має купити Леді. Друге число — найменша кількість розламів.

Examples

Example 1

Loading
Loading

Example 2

Loading
Loading

Example 3

Loading
Loading