P0524

混乱的置换

混乱的置换

有 nn 个 0∼m0\sim m 之间的数排成一个数列。定义:

  • 左旋一次为将第一个数放在最后一个数之后;
  • 右旋一次为将最后一个数放在第一个数之前。

对这个数列做完 nn 次旋转操作(nn 次左旋,或 nn 次右旋)之后,就得到了 nn 个数列。将这 nn 个数列按字典序排序后,可得到一个 n×nn\times n 的矩阵。

已知矩阵的最后一列,现求矩阵的第一行。

输入格式

第一行两个数 n,mn, m,意义如题中所述。

第二行共 nn 个数,即为矩阵的最后一列。

输出格式

共一行 nn 个数,即矩阵的第一行。

样例输入

5 5
5 1 2 3 4

样例输出

1 2 3 4 5

样例解释

排序后的矩阵为

1 2 3 4 5
2 3 4 5 1
3 4 5 1 2
4 5 1 2 3
5 1 2 3 4

它的最后一列恰好是输入给出的 5 1 2 3 4,所以第一行为 1 2 3 4 5。

数据范围

对于 100%100\% 的数据,n≤104n\le 10^4,m=9m=9。

来源与许可

本题题面与测试数据整理自 BZOJ 2408。

样例 1

输入

5 5
5 1 2 3 4

输出

1 2 3 4 5