문제
A new type of chocolate arrived in the local shop. The chocolate comes in bars, each bar consisting of N squares. Bars are factory made and only come in sizes which are full powers of two. In other words a single bar has 1, 2, 4, 8, 16, ... squares. To fully asses the quality of chocolate Mirko must sample at least K squares. His friend Slavko would also like to try some of the chocolate. Since Mirko is in a hurry to try the chocolate himself, he decides to break the bar he bought in pieces, such that he has exactly K squares, and leaves the rest (if any) to Slavko. The bars are a bit brittle, so Mirko can break them only on their exact center. In other words, from one bar with D squares, he can get two bars with D/2 squares. Write a program that will determine the minimal number of breaks Mirko must perform in order to obtain exactly K squares (not necessarily in one piece). Also, determine the smallest bar size Mirko must buy in order to have at least K squares.
입력
The first and only line of input will contain one integer K (1 ≤K ≤1 000 000) , number of squares Mirko must sample.
출력
The first and only line of output should contain two integers, separated by a single space. The first integer is the smallest bar size Mirko must buy. The second the smallest number of breaks.
예제 입력 1
6
예제 출력 1
8 2
예제 입력 2
7
예제 출력 2
8 3
예제 입력 3
5
예제 출력 3
8 3
코드를 제출하려면 로그인이 필요합니다.
로그인