#include<iostream>
#include<cmath>
#include<algorithm>
using namespace std;
struct node{
int id;
double sum;
int cnt;
}a[10050];
//重点!! 浮点数据大小比较时不能用 == ! 否则会出错
bool cmp(node a,node b){
if(fabs(a.sum - b.sum) > 10e-9) return a.sum > b.sum;
if(fabs(a.sum - b.sum) < 10e-9 && a.cnt != b.cnt) return a.cnt > b.cnt;
return a.id < b.id;
}
int main()
{
int n,m,id;
double get;
cin>>n;
for(int i = 1;i <= n;i ++){
a[i].id = i;
cin>>m;
while(m --){
cin>>id>>get;
get /= 100;
a[id].sum += get;
a[i].sum -= get;
++ a[id].cnt;
}
}
sort(a+1,a+1+n,cmp);
for(int i = 1;i<=n;i ++){
cout<<a[i].id;
printf(" %.2lf\n",a[i].sum);
}
return 0;
}