Polynomial Quine

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

문제

정수계수 다항식 f(x)=a_N1xN1++a_1x+a_0f(x) = a\_{N-1}x^{N-1} + \cdots + a\_1x + a\_0가 다음과 같은 두 조건을 모두 만족하면 N1N-1차 다항식 콰인(Quine)이라고 한다.

  1. 0i<N0 ≤ i < N인 모든 정수 ii에 대해 0a_i<N0 ≤ a\_i < N.
  2. 0i<N0 ≤ i < N인 모든 정수 ii에 대해 f(i)a_i(modN)f(i) \equiv a\_i \pmod N.

놀랍게도 1N2001 ≤ N ≤ 200인 범위에서는 N1N-1차 다항식 콰인을 모두 구해보면 정확히 NN개가 구해진다!

NN이 주어질 때 모든 N1N-1차 다항식 콰인을 구하는 프로그램을 작성하라.

입력

첫 번째 줄에 하나의 정수 NN(1N2001 ≤ N ≤ 200)이 주어진다.

출력

NN개의 줄에 걸쳐 한 줄에 하나씩 N1N-1차 다항식 콰인을 출력한다. a_N1a\_{N-1}에서 a_0a\_0을 공백 하나로 구분하여 출력해야 하며, 같은 다항식을 여러 번 출력하면 안 된다.

다항식을 출력하는 순서는 a_N1a\_{N-1}가 작은 순서대로, 만약 a_N1a\_{N-1}이 같다면 a_N2a\_{N-2}가 작은 순서대로, ..., 만약 a_N1a\_{N-1}에서 a_1a\_1이 모두 같다면 a_0a\_0이 작은 순서대로 출력해야 한다.