팔씨름

NYPC 2019 · 본선

NN명의 사람들이 팔씨름 대회에 참가하였다. 이 대회를 운영, 기획하고 있는 당신은 총 MM개의 팔씨름 전용 테이블을 준비하였으며, 넓은 체육관을 대여하여 대회를 진행하려고 한다.

예산 문제로 체육관 대여 비용의 절감을 위해 대회 진행 시간을 최소화하는 문제를 해결해야 한다. N명의 참가자들은 토너먼트 방식을 통해 우승자를 가리도록 하며 한 번의 팔씨름 경기는 두 명의 선수가 팔씨름 전용 테이블 한 곳에서 진행되며, 정확히 1의 시간이 소요된다. 또한 한 경기와 이어지는 다른 경기 사이에 쉬는 시간과 필요한 준비시간은 0이라고 가정한다.

토너먼트의 대진표 역시 자유롭게 만들 수 있다. 즉, 전통적인 토너먼트 대진표를 고수하지 않고 어떤 방식의 토너먼트 대진표도 가능하다.

참가자 간의 형평성 등 다른 요소들을 전혀 고려하지 않을 때, 가능한 최소의 대회 진행 시간을 구하는 프로그램을 작성하시오.

입력 형식

첫째 줄에 두 정수 NNMM이 주어진다. (1MN10181 \le M \le N \le 10^{18})

출력 형식

NN 명의 사람들이 MM 개의 팔씨름 테이블을 이용하여 우승자를 가리기 위해 필요한 최소 시간을 정수 형태로 첫째 줄에 출력하여라.

예제 1

입력

10 1

출력

9

예제 2

입력

10 2

출력

5

채점 방식

입력 케이스들은 다음과 같은 종류로 구별되며, 한 종류의 케이스를 다 맞추어야 그 종류에 배정된 점수를 받을 수 있다.

종류 1: 25

N100000N \le 100\,000

종류 2: 33

N=MN = M

종류 3: 42

별다른 제약조건 없음.

해설