CSES - Hidden Permutation
  • Time limit: 1.00 s
  • Memory limit: 512 MB

There is a hidden permutation a1,a2,,ana_1, a_2,\dots, a_n of integers 1,2,,n1, 2,\dots, n. Your task is to find this permutation.

To do this, you can ask questions: you can choose two indices ii and jj and you will be told if ai<aja_i < a_j.

Interaction

This is an interactive problem. Your code will interact with the grader using standard input and output. You should start by reading a single integer nn: the length of the permutation.

On your turn, you can print one of the following:

  • "? i j?\ i\ j", where 1i,jn1 \le i, j \le n: ask if ai<aja_i < a_j. The grader will return YES if ai<aja_i < a_j and NO otherwise.
  • "! a1 a2an!\ a_1\ a_2 \dots a_n": report that the hidden permutation is a1,a2,,ana_1, a_2,\dots, a_n. Your program must terminate after this.

Each line should be followed by a line break. You must make sure the output gets flushed after printing each line.

Constraints

  • 1n10001 \le n \le 1000
  • you can ask at most 10410^4 questions of type ??

Example

3
? 3 2
NO
? 3 1
YES
! 3 1 2

Explanation: The hidden permutation is [3,1,2][3, 1, 2]. The first question asks if a3<a2a_3 < a_2 which is false, so the answer is NO. The second question asks if a3<a1a_3 < a_1 which is true, so the answer is YES.