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

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

팀 선발

시간 제한1초메모리 제한128 MB

요약
원형으로 앉은 n명을 k칸씩 세며 제거할 때 마지막 네 명의 번호를 구한다.
난이도

보통10점 중 6점

유형
시뮬레이션, 수학, 구현
정답자
아직 제출이 없습니다

문제

국제정보올림피아드(IOI) 대표팀 선발 결과가 발표되기 전날 밤이다. 모든 학생이 잠들지 못한 채 결과를 기다리며 자신감에 차 있다. 그런데 시험 점수를 살펴보던 버나드(Bernard)는 걱정에 빠진다. 모든 학생이 만점을 받아서, 시험 점수만으로는 누구를 대표팀에 뽑아야 할지 정할 수 없기 때문이다.

버나드는 노트북을 덮고, 올해는 대표팀을 다른 방식으로 뽑겠다고 발표한다. 먼저 수 kk를 정하고 모든 학생을 원 모양으로 세운다. 첫 번째 학생부터 세기 시작하여 원을 돌면서 kk번째 학생마다 원에서 제거하고, 원이 빌 때까지 이 과정을 반복한다. 가장 마지막에 제거되는 네 명의 학생이 대표팀이 된다.

대표팀에 들어가고 싶다면 미리 계획을 세워, 선발되는 네 자리 중 하나에 서 있어야 한다. 원에 서 있는 학생 수와 kk가 주어질 때, 버나드가 마지막으로 제거하는 네 자리를 구하라.

입력

입력은 여러 줄로 이루어진다. 각 줄에는 공백 하나로 구분된 두 정수 nn과 kk가 주어지며, 4≤n≤1074 \le n \le 10^7, 1≤k≤1071 \le k \le 10^7이다. nn은 원에 서 있는 학생 수로, 원을 따라 11번부터 nn번까지 번호가 매겨져 있다. kk는 버나드가 학생을 제거할 때 사용하는 세기 간격이다.

마지막 줄은 0 0이며, 입력의 끝을 의미하므로 처리하지 않는다.

출력

각 입력 줄(마지막 0 0 제외)마다, 원에서 마지막으로 제거되는 네 자리를 버나드가 제거하는 순서대로 공백 하나로 구분하여 한 줄에 네 정수로 출력한다.

힌트

예를 들어 학생 99명이 원을 이루고 k=3k = 3인 경우, 버나드는 3,6,9,4,8,5,2,7,13, 6, 9, 4, 8, 5, 2, 7, 1의 순서로 학생을 제거한다. 마지막으로 제거되는 네 명은 5,2,7,15, 2, 7, 1이며, 이 네 자리가 대표팀이 된다.

예제3

  1. 예제 1

    입력
    9 3
    11 7
    0 0
    
    예상 출력
    5 2 7 1
    6 1 4 5
    
  2. 예제 2

    입력
    4 1
    0 0
    
    예상 출력
    1 2 3 4
    
  3. 예제 3

    입력
    4 2
    0 0
    
    예상 출력
    2 4 3 1