B3680 [语言月赛202211] BAN-PICK

题目描述

在第五人格职业联赛的每一场对局中,需要进行 Ban-Pick 流程。Ban 即角色禁用,Pick 即角色选用。 如试题 Winner 所述,游戏分为 **求生者($\texttt{Survivor}$)** 与 **监管者($\texttt {Hunter}$)** 两个阵营。**求生者阵营** 共有 $n$ 名角色,**监管者阵营** 共有 $m$ 名角色。 在某局比赛中,**监管者** 可以 ban(禁用) 掉 **求生者阵营** $5$ 名角色,**求生者** 可以 ban(禁用) 掉 **监管者阵营** $2$ 名角色。 每个角色,无论其属于求生者阵营还是监管者阵营,均可以使用 **熟练度** 来量化该阵营选手选择该角色的优先程度。选手一定会优先选择 **熟练度** 更高的角色进行游戏。 基于这样的考量,**监管者选手** 在进行 Ban 流程时,往往会选择 ban(禁用) 掉 **求生者阵营熟练度最高** 的若干名 **求生者角色**。同样,**求生者选手** 在进行 Ban 流程时,往往会选择 ban(禁用) 掉 **监管者阵营熟练度最高** 的若干名 **监管者角色**。 在 Ban 流程完成后,需要执行 Pick 流程。 如试题 Winner 所述,**求生者选手** 需要从 **求生者阵营** 中选择 $4$ 名不同的角色,**监管者选手** 需要从 **监管者阵营** 中选择 $1$ 名角色。 现在告诉你所有角色的名字、阵营与选手对其熟练度,请你给出双方阵营 Pick 的角色名字。

输入格式

输入共 $n+m+1$ 行。 输入的第一行为两个整数 $n,m$,分别代表求生者阵营角色数和监管者阵营角色数。 接下来 $n+m$ 行,首先为一个仅由英文字母组成的字符串,代表该角色的姓名;接下来为一个大写字符 `H` 或 `S`,若为 `H`,则代表该角色为监管者阵营,若为 `S`,则代表该角色为求生者阵营;接下来一个正整数,代表该阵营选手对该角色的熟练度。上述字符串、大写字符、正整数之间由一个空格分隔。

输出格式

输出共 $5$ 行。 输出的第一行为监管者阵营选择角色的角色名。 输出的第二到五行为求生者阵营选择角色的角色名,按照熟练度从高到低排列。

说明/提示

### 输入输出样例 1 解释 求生者阵营角色:$\texttt{Amily,Lydia,Lisa,Freddie,Cliche,Aesop,Eli,Norton,Emma}$。 监管者阵营角色:$\texttt{Beck,Tiletower,Yidhra}$。 监管者选手将 ban 掉求生者阵营中角色 $\texttt{Norton,Eli,Aesop,Cliche,Freddie}$。 求生者选手将 ban 掉监管者阵营中角色 $\texttt{Tiletower,Yidhra}$。 ### 数据规模与约定 对于前 $20\%$ 的数据,$n = 9, m = 3$。 对于前 $50\%$ 的数据,保证 $n \leq 10 ^ 3, m \leq 10 ^3$。 对于前 $70\%$ 的数据,保证 $w _ i \leq 10 ^ 9$。 对于所有数据,保证 $9 \leq n \leq 10 ^ 5, 3 \leq m \leq 10 ^ 5$,所有名字长度 $\leq 10$。熟练度大小 $w _ i$ 满足 $1 \leq w _ i \leq 10 ^ {18}$。保证每个阵营中熟练度互不相同。保证名字仅有大写字母和小写字母构成。