#abc222c. [abc222_c]Swiss-System Tournament

[abc222_c]Swiss-System Tournament

问题陈述

2N2N 名选手,编号从 112N2N,将参加一个剪刀、石头、布比赛。

比赛有 MM 轮。每一轮有 NN 场一对一的比赛,每名选手参加其中的一场。

对于每个 i=0,1,,Mi=0, 1, \ldots, M,第 ii 轮结束后选手的排名如下确定。

  • 在前 ii 轮中获胜次数更多的选手排名靠前。
  • 如果并列,按照编号分配:编号较小的选手排名靠前。

此外,对于每个 i=1,,Mi=1, \ldots, M,第 ii 轮比赛安排如下。

  • 对于每个 k=1,2,,Nk=1, 2, \ldots, N,在第 (i1)(i-1) 轮结束时排名第 (2k1)(2k-1)2k2k 的选手进行比赛。

在每场比赛中,两名选手只需出一次手势,结果为一名选手获胜,另一名选手失败,或者平局。

能够预知未来的高桥知道选手 ii 在第 jj 轮的比赛中会出什么手势 Ai,jA_{i,j},其中 Ai,jA_{i,j} 可以是 GCP
这里,G 代表石头,C 代表剪刀,P 代表布。

找到第 MM 轮结束后选手的排名。

剪刀、石头、布的规则 根据两名选手出的手势,剪刀、石头、布的比赛结果如下确定。

  • 如果一名选手出石头(G),另一名选手出剪刀(C),出石头(G)的选手获胜。
  • 如果一名选手出剪刀(C),另一名选手出布(P),出剪刀(C)的选手获胜。
  • 如果一名选手出布(P),另一名选手出石头(G),出布(P)的选手获胜。
  • 如果两名选手出相同的手势,比赛为平局。

约束条件

  • 1N501 \leq N \leq 50
  • 1M1001 \leq M \leq 100
  • Ai,jA_{i,j} 可以是 GCP

输入

输入以以下格式从标准输入中给出:

NN MM A1,1A1,2A1,MA_{1,1}A_{1,2}\ldots A_{1,M} A2,1A2,2A2,MA_{2,1}A_{2,2}\ldots A_{2,M} \vdots A2N,1A2N,2A2N,MA_{2N,1}A_{2N,2}\ldots A_{2N,M}

输出

输出 2N2N 行。

ii 行应该包含第 MM 轮结束后排名为第 ii 的选手的编号。


示例输入 1

2 3
GCP
PPP
CCC
PPC

示例输出 1

3
1
2
4

在第一轮中,选手 1122 进行比赛,选手 3344 进行比赛。选手 22 赢得前者,选手 33 赢得后者。
在第二轮中,选手 2233 进行比赛,选手 1144 进行比赛。选手 33 赢得前者,选手 11 赢得后者。
在第三轮中,选手 3311 进行比赛,选手 2244 进行比赛。选手 33 赢得前者,选手 44 赢得后者。
因此,最终的排名是:3,1,2,43,1,2,4,从高到低排列。


示例输入 2

2 2
GC
PG
CG
PP

示例输出 2

1
2
3
4

在第一轮中,选手 1122 进行比赛,选手 3344 进行比赛。选手 22 赢得前者,选手 33 赢得后者。
在第二轮中,选手 2233 进行比赛,选手 1144 进行比赛。前者比赛为平局,选手 11 赢得后者。
因此,最终的排名是:1,2,3,41,2,3,4,从高到低排列。