function heapsort_desc (n, ra,rb) {
  l = int(0.5+n/2) + 1
    ir = n;
  for (;;) {
    if (l > 1) {
      rra = ra[--l];
      rrb = rb[l];
    } else {
      rra = ra[ir];rrb=rb[ir];
      ra[ir] = ra[1];rb[ir]=rb[1];
      if (--ir == 1) {
	ra[1] = rra;rb[1]=rrb;
	return;
      }
    }
    i = l;
    j = l * 2;
    while (j <= ir) {
      if (j < ir && ra[j] > ra[j+1]) { ++j; }
      if (rra > ra[j]) {
	ra[i] = ra[j];rb[i] = rb[j];
	j += (i = j);
      } else {
	j = ir + 1;
      }
    }
    ra[i] = rra;rb[i] = rrb;
  }
}

{
    if ($1=="ep:") {s=$6;sc[++n]=s;sl[n]=NR;}
    li[NR]=$0;
}END{
    heapsort_desc(n,sc,sl);
    for (i=1;i<=n;i++){
	p=sl[i];id=li[p-4];
	printf("%03.2f %s %s %s\n",sc[i],substr(id,1,length(id)-6),li[p],li[p-3]);
    }
 }
