#include<stdio.h>
struct student{
int a;
char b[10];
int x, y, z;
double average;
};
int main(){
struct student s[50], temp;
int n, index;
scanf("%d", &n);
int i,j;
for(i=0; i<n; i++){
scanf("%d %s %d %d %d", &s[i].a, s[i].b, &s[i].x, &s[i].y, &s[i].z);
s[i].average = (s[i].x+s[i].y+s[i].z)/3.0;
}
for(i=0; i<n-1; i++){
for(j=0; j<n-1-i; j++){
if(s[j].average<s[j+1].average){
temp =s[j];
s[j]=s[j+1];
s[j+1]=temp;
}
}
} //注意使用冒泡排序,选择排序会导致同分排名顺序的错误
for(i=0; i<n;i++){
printf("%d,%s,%.2f\n", s[i].a, s[i].b, s[i].average);
}
return 0;
}