이상형 월드컵
Time Limit: 2 SecMemory Limit: 1024 MiB

문제

유이는 자신이 본 애니메이션들에 랭킹을 매기기 위해 과거 진행했던 애니메이션 이상형 월드컵의 기록을 보려 한다.

이상형 월드컵은 강부터 시작하며, 를 만족하는 양의 정수 가 존재한다. 토너먼트는 다음 규칙에 따라 애니메이션이 개 남을 때까지 반복하여 진행한다.

  • 현재 개의 애니메이션이 남아있을 때, 남아있는 애니메이션을 임의로 둘씩 짝지어 개의 쌍을 만든다.
  • 각 쌍에 대해 경기를 치른 뒤 승리하는 애니메이션이 다음 라운드에 진출한다.

대회는 총 번의 라운드에 걸쳐 번의 경기가 진행되었다.

그러나 기록에 문제가 생겨 대진의 순서를 알 수 없게 되었고, 총 개의 승패 기록만이 남아 있다. 번째 () 기록은 번째 애니메이션과 번째 애니메이션이 맞붙어 번째 애니메이션이 이겼다는 정보를 담고 있다.

유이는 이 기록을 바탕으로 모든 애니메이션에 1위부터 위까지의 순위를 매기려 한다. 단, 공정한 랭킹 산정을 위해 유이는 다음과 같은 순위 산정 원칙을 세웠다.

  • 더 많은 승리를 거두어 더 높은 라운드에 진출한 애니메이션은, 더 적은 승리를 거둔 애니메이션보다 항상 순위가 높아야(순위 번호가 작아야) 한다.

남아 있는 기록을 바탕으로 가능한 순위 순열 중 사전 순으로 가장 앞서는 것을 구해보자.

입력

첫째 줄에 이 주어진다.

다음 개의 줄의 번째 줄에는 () , 가 공백으로 구분되어 주어진다.

출력

첫째 줄에 번 애니메이션부터 번 애니메이션까지의 순위를 공백으로 구분하여 출력한다.

가능한 순열이 여러 개라면 그중 사전 순으로 가장 앞서는 것을 출력한다.

제약 조건

  • 의 제곱수이다.
  • ()
  • 올바른 대진 순서가 존재함이 보장된다.
  • 입력으로 주어지는 모든 수는 정수이다.

노트

길이 의 순열 부터 까지의 정수로 이루어져있고 일때 인 수열을 의미한다.

길이가 인 순열 이 길이가 인 순열 보다 사전 순으로 앞선다는 것은 아래 조건과 동치이다.

  • 가 성립하는 가장 작은 ()에 대해 이다.
Example Input 1
2
1 2
Example Output 1
1 2 
Example Input 2
4
4 2
4 3
3 1
Example Output 2
3 4 2 1