문제
여러개의 정사각형초콜렛이 한줄로 이어진 초콜렛바가 있다. 초콜렛바를 이루는 정사각형 초콜렛의 개수는 1, 2, 4, 8, 16, ... 과 같이 제곱수로 이뤄져 있다.
태현이는 초콜렛바를 하나 사서, K개의 정사각형 초콜렛을 가지고 나머지는 친구들을 주려고 한다. 그런데 초콜렛바가 워낙 단단하기 때문에 초콜렛바의 중간을 쪼개야 한다. 예를 들어 길이 D의 초콜렛바는 길이가 D/2인 2개의 초콜렛바로 쪼개진다는 것이다.
쪼개진 초콜렛바는 다시 쪼갤 수 있다. 앞서 이야기 하였듯 초콜렛바가 워낙 단단하기 때문에 쪼개는 횟수가 많아지게 되면 태현이가 아파할 수 있다. 또한 정사각형을 모두 쪼갤 필요가 없으며 가질 수 있는 것이 K이기만 하면 된다.
그러지 않도록 하기 위해 태현이가 정확히 K개의 정사각형 초콜렛을 얻기 위해 쪼개는 횟수가 최소와 이때 구입해야 할 한개의 초콜렛 바의 길이를 알아내는 프로그램을 작성하라.
입력
입력의 첫번째 줄에는 K ( 1 <= K <= 1,000,000 )이 입력된다.
출력
맨 처음에는 사야 하는 초콜렛바의 길이를 출력한다.
그 다음 공백을 출력하고 쪼개는 최소 횟수를 출력하라.
예제 #1
6
8 2
예제 #2
7
8 3
예제 #3
5
8 3
출처
COCI 2009/2010 contest7 2