버튼

NYPC 2025 · Round 1

서로 구별되는 버튼 NN개가 있는 자물쇠가 있다. NN개 중 서로 다른 KK개의 버튼을 순서대로 누르면 자물쇠가 열린다.

자물쇠가 잠긴 상태에서 제대로 된 순서로 버튼을 누르면 버튼에 불이 들어와서 제대로 눌렀음을 알려 준다. 하지만, 한 번이라도 제대로 누르지 않으면 모든 불이 꺼지고 자물쇠는 리셋되어 잠긴 상태로 돌아간다.

자물쇠를 푸는 사람이 모든 것을 완벽히 기억하며 최선의 방법을 사용한다고 가정하자. 최선의 방법을 사용함에도 불구하고 버튼을 최대 몇 번까지 눌러야 자물쇠를 열 수 있는지 계산하는 프로그램을 작성하라.

입력 형식

첫 줄에 두 정수 NNKK가 공백으로 구분되어 주어진다. (1KN10000001 \le K \le N \le 1\,000\,000)

출력 형식

첫 줄에 버튼을 눌러야 하는 횟수를 출력한다.

예제

입력

4 2

출력

9

예제 설명

첫 번째로 눌러야 하는 버튼을 알아내는 데 최악의 경우 44번을 눌러야 한다. 여기서, 두 번째로 눌러야 하는 버튼을 알아내기 위해서는, 매번 첫 번째 버튼을 다시 눌러야 한다는 점을 고려하면, 55번의 누르기가 추가로 필요하다. 따라서 이 경우의 답은 99이다.

채점 방식

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

종류 1: 30

N10N \le 10

종류 2: 20

N5000N \le 5\,000

종류 3: 33

K3K \le 3

종류 4: 17

모든 입력 케이스가 주어짐.

해설