这是一个交互式问题。
我有一个隐藏的排列 $p_1, p_2, \dots, p_n$,你需要猜出它。
你可以进行一些查询。在一次查询中,你告诉我一个长度为 $n$ 的排列 $q_1, q_2, \dots, q_n$,我会回复你排列 $p$ 和 $q$ 的相似度。
两个排列的相似度定义如下:设 $w_1, w_2, \dots, w_n$ 为一个排列,定义 $N(w)$ 为 $w$ 中相邻元素组成的无序对集合。例如,$N([4, 1, 3, 2]) = \{\{1, 4\}, \{1, 3\}, \{2, 3\}\}$。因此,$p$ 和 $q$ 的相似度即为 $N(p) \cap N(q)$ 的大小。
你最多可以进行 $25\,000$ 次查询。请注意,世界上没有任何算法能区分 $p$ 和 $p$ 的反转序列,因此这两个排列都会被视为正确答案。
这一次我不会捉弄你,也不会改变隐藏的排列。虽然我本可以这样做。你真的应该感到庆幸。
输入格式
首先,你将获得一行,包含一个整数 $n$ ($2 \le n \le 400$),即隐藏排列的大小。
输出格式
当你确定了隐藏排列后,打印一个感叹号 “!”,然后打印 $n$ 个整数 $p_1, p_2, \dots, p_n$,或者 $p_n, p_{n-1}, \dots, p_1$。
这不计入查询次数限制。
交互
进行查询时,打印一个问号 “?”,然后在一行中打印 $n$ 个不同的整数 $q_1, q_2, \dots, q_n$ ($1 \le q_i \le n$)。
作为响应,读取一行中的一个整数 $s$ ($0 \le s < n$),即 $p$ 和 $q$ 的相似度。
别忘了在每次查询后打印换行符并刷新输出。你最多可以进行 $25\,000$ 次查询。
样例
样例输入 1
5 1 3 4
样例输出 1
? 1 2 3 4 5 ? 2 4 3 5 1 ? 3 4 2 5 1 ! 3 4 2 5 1