#include<iostream>
#include<vector>
#include<string>
#include<algorithm>
using namespace std;
#define MAXN 10000
struct people{
int id;
int fa,ma;
int child[5];
double estate;
double area;
};
struct family{
int idd;
double num;
double avgsets;
double avgarea;
family(){
num=0;
avgsets=0;
avgarea=0;
}
};
bool cmp(family a,family b){
if(a.avgarea!=b.avgarea) return a.avgarea>b.avgarea;
else if(a.idd!=b.idd) return a.idd<b.idd;
}
int fa[MAXN];
void init(){
for(int i=0;i<MAXN;i++){
fa[i]=i;
}
}
int getfather(int x){
int a=x;
while(x!=fa[x]){
x=fa[x];
}
while(a!=fa[a]){
int z=a;
a=fa[a];
fa[z]=x;
}
return x;
}
void _union(int a,int b){
int aa=getfather(a);
int bb=getfather(b);
if(aa>bb) fa[aa]=bb;
else if(aa<bb) fa[bb]=aa;
}
int main(){
#ifndef ONLINE_JUDGE
freopen("in.txt","r",stdin);
#endif
int n;
cin>>n;
vector<people> _all;
int sign[MAXN]={};
init();
for(int i=0;i<n;i++){
people temp;
int k;
cin>>temp.id>>temp.fa>>temp.ma>>k;
sign[temp.id]=1;
if(temp.fa!=-1){
_union(temp.fa,temp.id);
sign[temp.fa]=1;
}
if(temp.ma!=-1){
_union(temp.ma,temp.id);
sign[temp.ma]=1;
}
for(int j=0;j<k;j++){
cin>>temp.child[j];
sign[temp.child[j]]=1;
_union(temp.child[j],temp.id);
}
cin>>temp.estate>>temp.area;
_all.push_back(temp);
}
int familycnt=0;
int flag[MAXN]={};
vector<family> _trival(MAXN);
for(int i=0;i<n;i++){
_trival[getfather(_all[i].id)].idd=getfather(_all[i].id);
flag[getfather(_all[i].id)]=1;
_trival[getfather(_all[i].id)].avgsets+=_all[i].estate;
_trival[getfather(_all[i].id)].avgarea+=_all[i].area;
}
for(int i=0;i<10000;i++){
if(flag[i]==1) familycnt++;
if(sign[i]==1) ++_trival[getfather(i)].num;
}
for(int i=0;i<MAXN;i++){
if(flag[i]==1){
_trival[i].avgsets/=_trival[i].num;
_trival[i].avgarea/=_trival[i].num;
}
}
cout<<familycnt<<endl;
vector<family> _ttrival;
for(int i=0;i<_trival.size();i++){
if(flag[i]==1){
_ttrival.push_back(_trival[i]);
}
}
sort(_ttrival.begin(),_ttrival.end(),cmp);
for(int i=0;i<_ttrival.size();i++){
printf("%04d %.lf %.3lf %.3lf\n",_ttrival[i].idd,_ttrival[i].num,_ttrival[i].avgsets,_ttrival[i].avgarea);
}
return 0;
}
傻逼题目毁我青春