#include <stdio.h>
#include <malloc.h>
#include <string.h>

#define MAX_ENTRIES 2000

struct {
  int trials;
  int passes;
  int num;
  int total;
  }
 ave[MAX_ENTRIES];

main(argc,argv)
       int argc;
       char **argv;

{

FILE * fp;
int c,i,j;
char file_name[30];
int best,num_trials,num_passes,seed;
int found,highest;
float average;

    highest = 0;
    if (argc < 3) {printf("Usage: post filename file_selector\n");
		   exit (-1);}
	
    fp = fopen (argv[1],"r");
    c = fscanf(fp,"%s %d %d %d %d\n",file_name, &best,&num_trials,
		&num_passes,&seed);
    do { 
	/*printf("%s %d %d %d %d\n",file_name, best,num_trials,
                num_passes,seed);*/
    	if (strcmp(file_name,argv[2]) == 0) {
		i = 0;
		found = FALSE;
		do {
			if ((ave[i].trials == num_trials) &&
			    (ave[i].passes == num_passes)) found = TRUE;
			   else
				i++;
		} while (!found && (i < highest));
		if (found) {
			ave[i].num += best;
			ave[i].total ++;
			}
		else
			{
			ave[highest].num = best;
			ave[highest].total = 1;
			ave[highest].trials = num_trials;
			ave[highest].passes = num_passes;
			highest ++;
			}
		}
    	c = fscanf(fp,"%s %d %d %d %d\n",file_name, &best,&num_trials,
		&num_passes,&seed);
    }
	while ( c != EOF);
   
    for (i = 0; i < highest; i++)
                { average = ave[i].num/ave[i].total;
		  printf("%d %d %f\n",ave[i].trials, ave[i].passes,
				average);
	}

}
