#include <stdio.h>
#include <stdlib.h>

struct student {
  char name[20];
  double height;
  double weight;
  double bmi;
};

int func(void)
{
  char s[100],buf[100];
  int c=0,i,j;
  FILE *fp;
  struct student *data,t;
  double h;

/*  printf("file name = ");*/
  scanf("%s",s);
  fp=fopen(s,"r");
  if(!fp) {
    printf("file open error!\n");
    return 1;
  }

  while(fgets(buf,100,fp))c++;
  rewind(fp);

  data=malloc(c*sizeof(struct student));
  for(i=0; fgets(buf,100,fp); i++) {
    sscanf(buf,"%s %lf %lf",data[i].name,&data[i].height,&data[i].weight);
    h=data[i].height/100;
    data[i].bmi=data[i].weight/h/h;
  }

  for(i=0; i<c; i++) {
    for(j=i+1; j<c; j++) {
      if(data[i].bmi<data[j].bmi) {
        t=data[i];
        data[i]=data[j];
        data[j]=t;
      }
    }
  }

  for(i=0; i<c; i++) {
    printf("%s BMI=%f",data[i].name,data[i].bmi);
    if(data[i].bmi>25)printf(" himan");
    printf("\n");
  }

  return 0;
}

int main(void)
{
  func();
  return 0;
}
