eolymp
bolt
Try our new interface for solving problems
Problems

Шоколад

Шоколад

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

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

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

Вхідні дані.

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

Вихідні дані.

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

Time limit 1 second
Memory limit 256 MiB
Input example #1
6
Output example #1
8 2
Input example #2
7
Output example #2
8 3
Input example #3
5
Output example #3
8 3
Source ІІІ етап Всеукраїнської олімпіади з інформатики (Житомирська область) (12 лютого 2023 р.)