사탕 나누기 게임

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

문제

여러 명의 학생이 선생님을 중심에 두고 원형으로 둘러앉아 있다. 각 학생은 처음에 짝수 개의 사탕을 가지고 있다. 선생님이 호루라기를 한 번 불면, 모든 학생은 동시에 자신이 가진 사탕의 절반을 오른쪽 이웃에게 준다. 그 결과 사탕 개수가 홀수가 된 학생에게는 선생님이 사탕을 하나 더 준다.

모든 학생이 같은 개수의 사탕을 가지게 되면 게임은 끝난다. 각 게임에 대해 선생님이 호루라기를 몇 번 불었는지와, 게임이 끝났을 때 각 학생이 가지는 사탕 개수를 구하라.

입력

입력에는 여러 개의 게임이 주어질 수 있다. 각 게임은 학생 수 N으로 시작하며, 이어서 원을 반시계 방향으로 따라가며 각 학생이 처음 가진 짝수 개의 사탕 수 N개가 주어진다. 입력의 끝은 학생 수 0으로 표시된다.

모든 입력 값은 한 줄에 하나씩 주어진다.

출력

각 게임마다 한 줄에 게임의 라운드 수와 마지막에 각 학생이 가지는 사탕 개수를 공백으로 구분해 출력한다.

힌트

게임은 항상 유한한 횟수 안에 끝난다. 그 이유는 다음과 같다.

  1. 가장 많은 사탕을 가진 학생의 사탕 수는 절대 증가하지 않는다.
  2. 가장 적은 사탕을 가진 학생의 사탕 수는 절대 감소하지 않는다.
  3. 최솟값보다 많은 사탕을 가진 학생이 최솟값까지 줄어드는 일은 없다.
  4. 최댓값과 최솟값이 서로 다르면, 최솟값을 가진 학생 중 적어도 한 명의 사탕 수가 증가한다.