今年,国际代码编写竞赛 Eurokod 首次举办,旨在编写优美且可读的代码!
共有 $n$ 名参赛者参加比赛,编号从 $1$ 到 $n$,每人都编写了一份代码。
这些代码由计算机科学家协会进行评估。该协会由一名主席和多名成员组成。主席以一种方式为代码打分,协会成员则以另一种方式为代码打分。
主席评分:
主席将根据其个人观点,将代码从最美观到最不美观进行排名。第一名代码将获得 $n$ 分,此后每名次的代码比前一名少得 $1$ 分。
协会成员评分:
每位协会成员将投票选出他认为最美观的代码。在所有成员投票结束后,代码将根据其获得的票数从高到低进行排名。第一名代码(得票最多者)将获得 $n$ 分,此后每名次的代码比前一名少得 $1$ 分。
总分:
每份代码的总分等于主席给出的分数与协会成员给出的分数之和。
你的任务是按照总分从高到低的顺序打印代码排名。如果多份代码的总分相同,则协会成员评分更高的代码排名更靠前。
输入格式
第一行包含一个整数 $n$ ($1 \le n \le 50$),表示参赛者人数。
第二行包含 $n$ 个整数 $a_i$ ($1 \le a_i \le n$),其中第 $i$ 个整数表示主席排名第 $i$ 的代码编号。主席的排名按从最美观到最不美观的顺序给出,其中包含了 $1$ 到 $n$ 的所有编号,且每个编号恰好出现一次。
第三行包含 $n$ 个整数 $b_i$ ($0 \le b_i \le 200$),其中第 $i$ 个整数表示第 $i$ 号代码从协会成员处获得的票数。不会有两份代码获得相同的票数。
输出格式
输出 $n$ 行,按总分从高到低的顺序打印代码排名。
每一行的格式应为 [rank]. Kod[label] ([number of points]),其中 [rank] 是代码的排名,[label] 是两位数格式的代码编号(不足两位需补前导零),[number of points] 是该代码获得的总分。
例如,如果编号为 $3$ 的代码以 $12$ 分获得第一名,则第一行应为 1. Kod03 (12)。
子任务
| 子任务 | 分值 | 数据范围 |
|---|---|---|
| 1 | 17 | 对于每份代码,从协会成员处获得的票数等于其从协会成员处获得的分数,且不会有两份代码的总分相同。 |
| 2 | 19 | 不会有两份代码的总分相同。 |
| 3 | 14 | 无附加限制。 |
样例
样例输入 1
3 1 2 3 50 10 20
样例输出 1
1. Kod01 (6) 2. Kod03 (3) 3. Kod02 (3)
说明 1
Kod03 和 Kod02 的总分相同,但 Kod03 从协会成员处获得的票数更多,因此排名更靠前。
样例输入 2
5 5 2 4 1 3 4 5 2 1 3
样例输出 2
1. Kod02 (9) 2. Kod05 (8) 3. Kod01 (6) 4. Kod04 (4) 5. Kod03 (3)
说明 2
主席将 Kod05 评为最美观,因此它获得了 $n = 5$ 分。
样例输入 3
7 6 3 2 1 5 4 7 200 56 11 0 13 105 12
样例输出 3
1. Kod06 (13) 2. Kod01 (11) 3. Kod02 (10) 4. Kod03 (8) 5. Kod05 (7) 6. Kod07 (4) 7. Kod04 (3)