$x$와 $x+1$의 차이

시간 제한2초메모리 제한1024 MB

문제

초등학생인 철수와 영희는 최근 나눗셈을 배우고 있습니다. 문득 영희는 이런 궁금증이 생겼습니다.

  • $998$을 $k$로 나눈 몫과 $999$를 $k$로 나눈 몫이 다르게 되는 $k$는 얼마나 많을까?

영희는 수학을 잘 하는 철수에게 물어봤지만, 철수도 그 답을 몰랐습니다. 이제 여러분이 철수와 영희의 궁금증을 해결해 줍시다.

여러분은 다음 문제를 해결해야 합니다.

  • 양의 정수 $x$가 주어질 때, $\left\lfloor{\frac{{x}}{{k}}}\right\rfloor$과 $\left\lfloor{\frac{{x+1}}{{k}}}\right\rfloor$의 값이 다르게 되는 $x$ 이하의 양의 정수 $k$의 값을 모두 찾아 주세요.$^\dagger$

$^\dagger$ 두 양의 정수 $a$와 $b$가 주어질 때, $\left\lfloor{\frac{{a}}{{b}}}\right\rfloor$는 $a$를 $b$로 나눈 몫을 의미합니다.

입력

한 줄에 양의 정수 $x$가 주어집니다. ($1 \le x \le 10^{12}$)

출력

한 줄에 문제의 정답이 되는 $k$의 값을 작은 것부터 순서대로 출력합니다.

모든 입력에 대해 출력해야 하는 값의 개수가 $10\,000$개를 초과하지 않음을 증명할 수 있습니다.

힌트

입력과 출력이 32비트 정수의 최댓값을 초과할 수 있음에 유의하세요. 값을 저장하기 위해 다음을 사용할 것을 권장합니다.

  • C/C++: long long
  • Java: long
  • Python: int (별도의 처리를 할 필요가 없습니다.)
  • 이외의 언어: 언어별 레퍼런스를 참고합니다.