순열의 부호화

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

문제

11부터 nn까지의 수로 이루어진 모든 순열 A=(a1,,an)A = (a_1, \dots, a_n)은 수열 B=(b1,,bn)B = (b_1, \dots, b_n)으로 부호화할 수 있습니다. 여기서 bib_ij<ij < i이면서 aj>aia_j > a_iaja_j의 개수입니다 (i=1,,ni = 1, \dots, n).

예를 들어 수열 B=(0,0,1,0,2,0,4)B = (0, 0, 1, 0, 2, 0, 4)는 순열 A=(1,5,2,6,4,7,3)A = (1, 5, 2, 6, 4, 7, 3)의 부호입니다.

다음을 수행하는 프로그램을 작성하세요.

  • 표준 입력에서 길이 nn과 수열 BB의 원소들을 순서대로 읽습니다.
  • 이 수열이 11부터 nn까지의 어떤 순열의 부호인지 판별합니다.
  • 부호라면 그 순열을 찾아 표준 출력에 출력합니다.
  • 그렇지 않으면 표준 출력에 NIE("아니오")라는 한 단어를 출력합니다.

입력

  • 표준 입력의 첫째 줄에는 양의 정수 n30000n \le 30000이 주어집니다. 이는 수열 BB의 원소 개수입니다.
  • 이어지는 nn개의 줄에는 각각 3000030000 이하의 음이 아닌 정수가 하나씩 주어집니다. 이는 수열 BB의 원소를 순서대로 나타냅니다.

출력

표준 출력에 다음을 출력합니다.

  • 입력으로 주어진 수열 BB를 부호로 갖는 순열 AA의 원소를, 한 줄에 하나씩 nn개의 줄에 걸쳐 출력합니다.
  • 수열 BB가 어떤 순열의 부호도 아니라면 NIE라는 한 단어를 출력합니다.