불사조
시간 제한1초메모리 제한1024 MB
각 불사조가 마력 x를 floor(x/2)와 ceil(x/2)로 나누는 마법을 M번 반복한 뒤 모든 불사조의 마력 합을 구한다.
문제
불사조는 영생을 사는 것으로 유명한 환상의 동물이다. 포닉스 역시 불사조인 만큼 영원히 살 수 있지만, 포닉스가 영생을 누리는 방법은 조금 특이하다.
포닉스는 마법을 사용해 새로운 포닉스를 만든다. 마법을 사용하는 포닉스의 마력을 라고 하자. 포닉스가 마법을 사용하면 항상 마리의 새로운 포닉스가 만들어지며, 새로 만들어진 포닉스 각각은 와 만큼의 마력을 가지게 된다. 한 번 마법을 사용한 포닉스는 더 이상 마법을 사용할 수 없다.
초기에는 마력이 인 한 마리의 포닉스만이 존재한다. 이를 조상 포닉스라 하자. 조상 포닉스가 명령을 내리면 마법을 사용할 수 있는 모든 포닉스가 마법을 사용해 각각 마리의 새로운 포닉스를 만든다. 조상 포닉스 역시 마법을 최대 한 번만 사용할 수 있기 때문에, 첫 번째 명령에서 스스로 마법을 사용한 후에는 더 이상 마법을 사용하지 않는다.
조상 포닉스의 마력 와 명령을 내린 횟수 이 주어질 때, 조상 포닉스를 포함한 존재하는 모든 포닉스의 마력의 합을 구하여라.
입력
첫 번째 줄에 조상 포닉스의 마력을 나타내는 정수 와 조상 포닉스가 명령을 내린 횟수 이 공백으로 구분되어 주어진다.
출력
조상 포닉스가 명령을 번 내렸을 때 존재하는 모든 포닉스의 마력의 합을 출력한다.
힌트
어떤 실수 에 대해, 는 을 만족하는 가장 큰 정수 의 값으로 정의된다. 마찬가지로, 은 을 만족하는 가장 작은 정수 의 값으로 정의된다.