아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

수건 돌리기

시간 제한0.25초메모리 제한256 MB

요약
사람들이 원탁에 둘러앉아 한 명을 건너뛰며 수건을 넘기는 요셉 문제 변형에서 K번째로 수건을 받는 사람의 번호를 구한다.
난이도

어려움10점 중 8점

유형
수학, 재귀, 조합론, 시뮬레이션
정답자
아직 제출이 없습니다

문제

NN명의 사람이 원형으로 앉아 수건 돌리기 게임을 한다. 각 사람의 번호는 시계 방향으로 1번, 2번, ..., NN번이다. 처음에 1번 사람이 수건을 건네받는다.

수건을 가진 사람은 자리에서 일어나 시계 방향으로 돌다가 처음 만나는 사람을 지나치고, 그 다음으로 만나는 사람에게 수건을 건네준다. 수건을 건네준 뒤 그 사람은 게임에서 퇴장한다.

예를 들어 N=5N=5라면, 처음에 1번 사람은 2번을 건너뛰고 3번 사람에게 수건을 건네고 퇴장한다. 3번은 4번을 건너뛰고 5번에게, 5번은 2번을 건너뛰고 4번에게, 4번은 2번을 건너뛰고 다시 2번을 만나 수건을 전달한다. NN명이 게임을 할 때, KK번째로 수건을 받는 사람의 번호를 구해 보자.

입력

첫 줄에 두 정수 NN과 KK가 주어진다.

출력

KK번째로 수건을 건네받는 사람의 번호를 출력한다. 이때 1번 사람도 센다.

제한

  • 1≤K≤N≤10181 \le K \le N \le 10^{18}

예제2

  1. 예제 1

    입력
    5 3
    
    예상 출력
    5
    
  2. 예제 2

    입력
    12 9
    
    예상 출력
    10