Problem D: 运动会之——跳远(下)

Problem D: 运动会之——跳远(下)

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 124  Solved: 17
[Submit] [Status] [Web Board] [Creator:]

Description

跳远,又名急性跳远,田径运动跳跃项目。由助跑,起跳,腾空和落地等动作组合而成。运动员沿直线助跑,在起跳前沿线后用单足起跳,经腾空阶段,然后用双足在沙坑落下,比赛时以跳的远度决定名次。

在上周我校的运动会上举行了跳远这项运动。但是由于参赛者没接触过跳远或者可能出现失误,所以每个参赛者有3次起跳的机会,最终取每个人的最好成绩进行排名。

记分员现在愈发觉得我们ACMer是无所不能的,竟然已经开始嫌弃上次我们设计的算法。现在记分员要统计的人更多,并且还需要把每个人的排名,成绩,名字排列出来。所以这个记分员又来求助我们了。

Input

输入一个整数n,表示一共有n个参赛运动员。(3 <= n <= 100000)

接着输入n行,每行先输入一个字符串s表示参赛者的名字(1 <= strlen(s) <= 15)接着输入三个实数,表示参赛运动员3次起跳的成绩。

Output

输出n行。按照成绩-名字的顺序进行排列,如成绩相同则按照名字的字典序进行排序,保留五位小数。

注意:如果成绩相同则排名相同。

Sample Input Copy

3
xiaoling 2.80000 3.57000 3.80000
xiaohong 3.45000 3.50000 3.56000
xiaoming 1.82000 2.12000 2.33000

Sample Output Copy

No.1 is xiaoling: 3.80000
No.2 is xiaohong: 3.56000
No.3 is xiaoming: 2.33000