인디케이터
면접 대비시간 제한2초메모리 제한1024 MB
1부터 m까지 도는 표시기를 a에서 b로 바꾸는 데 필요한 최소 버튼 입력 횟수를 구합니다.
문제
로샤는 달리기를 시작하려고 핀에게 스톱워치를 빌렸다. 몇 주 뒤 로샤의 체력이 좋아져서, 경기장에서 한 번에 한 바퀴보다 많이 달리게 되었다. 그때 육상의 고전적인 문제에 부딪혔다. 오래 달리다 보면 지금까지 몇 바퀴를 돌았는지, 몇 바퀴가 남았는지 잊어버린다. 다행히 스톱워치에는 현재 바퀴 수를 보여 주는 표시기가 있었다. 결승선을 지날 때마다 로샤가 버튼을 누르면 표시기의 숫자가 1 올라간다.
임의로 큰 자연수를 보여 줄 수 있는 표시기는 없다. 이 표시기의 핵심은 톱니가 개인 톱니바퀴다. 톱니마다 1부터 까지의 자연수가 적혀 있고, 버튼을 누를 때마다 톱니바퀴가 돈다. 따라서 표시기가 을 가리킨 상태에서 버튼을 누르면 숫자는 1로 돌아간다.
한 번 달리기를 마친 뒤 로샤는 소븐야가 레시피대로 쓰촨 소스를 만들려고 스톱워치를 빌려 달라고 했던 일을 떠올렸다. 로샤는 그 소스를 아주 좋아해서 곧장 소븐야에게 갔다. 소븐야가 좋아하는 숫자 를 표시기에 맞춰 주면 그녀를 기쁘게 할 수 있겠다고 생각했다. 는 1 이상 이하이므로 표시기가 보여 줄 수 있다. 그 순간 표시기에는 가 떠 있었다.
로샤는 불필요한 동작을 하기 싫어서, 표시기가 를 보여 줄 때까지 버튼을 최소한으로 누르려고 한다. 누른 횟수를 세기는 귀찮아서, 그 횟수를 구하는 일은 여러분의 몫이다.
입력
첫 번째 줄에 표시기가 보여 줄 수 있는 최댓값인 정수 이 주어진다 ().
두 번째 줄에 표시기가 처음에 보여 주던 정수 가 주어진다 ().
세 번째 줄에 소븐야가 좋아하는 정수 가 주어진다 ().
출력
표시기에 가 나타나도록 버튼을 눌러야 하는 최소 횟수를 정수 하나로 출력한다.
힌트
첫 번째 예시에서는 스톱워치가 이미 소븐야가 좋아하는 숫자를 보여 주고 있으므로 아무것도 할 필요가 없다.
두 번째 예시에서는 로 세 번 누르면 된다.
세 번째 예시에서는 으로 네 번 누르면 된다.