Ping!

아직 제출이 없습니다시간 제한3초메모리 제한128 MB

문제

인공위성 여러 개를 추적하고 있다. 위성은 저마다 일정한 간격으로 Ping 신호를 보내고, 간격은 위성마다 모두 다르다. 모든 위성이 시각 0에 신호를 보내고, 그 뒤로는 자기 간격의 배수가 되는 시각마다 신호를 보낸다.

문제는 신호가 서로 상쇄된다는 점이다. 어떤 시각에 신호를 보내는 위성이 짝수 개면 아무 소리도 들리지 않고, 홀수 개면 신호가 한 번만 들린다.

시각 0부터 시작해 신호가 들린 시각과 들리지 않은 시각의 기록이 주어진다. 지금 있는 위치에서 들을 수 있다고 확정할 수 있는 위성을 모두 찾아라. 주어진 기록이 모든 위성의 간격을 담을 만큼 길다는 보장은 없다. 시각 0에 신호를 보냈지만 다음 신호가 기록 바깥에 있는 위성은 판단할 근거가 없으므로 보고하지 않는다. 간격이 기록 안에 들어오는 위성만 보고한다.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스는 한 줄에 문자열 하나로 주어지며, 길이는 2자 이상 1,000자 이하이다. 첫 번째 문자가 시각 0, 그다음 문자가 시각 1을 나타내고 이런 식으로 이어진다. 각 문자는 0 또는 1이고, 1은 그 시각에 신호가 들렸다는 뜻, 0은 들리지 않았다는 뜻이다. 모든 테스트 케이스에는 들을 수 있는 위성이 적어도 하나 있다. 입력의 마지막 줄에는 0 하나만 주어진다.

출력

각 테스트 케이스마다 들을 수 있다고 확정한 위성의 간격을 작은 것부터 큰 것 순으로 한 줄에 출력한다. 간격 사이는 공백 하나로 구분한다. 그 밖의 공백이나 답 사이의 빈 줄은 출력하지 않는다.