semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int main()
{
     char c[10];
	 double b[40],a[40],e,h;
       int n,i,t,d,s;
	 scanf("%d",&n);
	 t=0;
	 d=0;
	 for(i=0;i<n;i++){
		 scanf("%s %lf",c,&h);
		 if(c[0]=='m'){
			 a[t]=h;
			 t++;
		 }
		 if(c[0]=='f'){
			 b[d]=h;
			 d++;
		 }
	 }
	 for(i=0;i<t;i++){
		 for(s=i+1;s<t;s++){
			 if(a[i]>a[s]){
				 e=a[i];
				 a[i]=a[s];
				 a[s]=e;
			 }
		 }
	 }
	 for(i=0;i<d;i++){
		 for(s=i+1;s<d;s++){
			 if(b[i]<b[s]){
				 e=b[i];
				 b[i]=b[s];
				 b[s]=e;
			 }
		 }
	 }
	 printf("%.2lf",a[0]);
	 for(i=1;i<t;i++){
		 printf(" %.2lf",a[i]);
	 }
	 for(i=0;i<d;i++){
		 printf(" %.2lf",b[i]);
	 }
	  return 0;
}
int compare1(const void* a, const void* b){
	return *(int*)a - *(int*)b;
}

int compare2(const void* a, const void* b){
	return *(int*)b - *(int*)a;
}

int main(){
	float a[41],b[41];
	for(int i = 0; i < 41; i++){
		a[i] = -1;
		b[i] = -1;
	}

	int n;
	cin>>n;
	int aa = 0,bb = 0;
	for(int i = 0; i < n; i++){
		char temp[10];
		cin>>temp;
		float height;
		cin>>height;
		if(temp[0] == 'm'){
			a[aa] = height;
			aa++;
		}else{
			b[bb] = height;
			bb++;
		}
	}

	qsort(a,aa,sizeof(int),compare1);
	qsort(b,bb,sizeof(int),compare2);

	for(int i = 0; i < aa; i++)
		printf("%.2f ", a[i]);
	for(int i = 0; i < bb; i++){
		if(i == bb - 1){
			printf("%.2f", b[i]);
		}else{
			printf("%.2f ", b[i]);
		}
	}

	//cin>>n;

}
int main(){
	int i,n,p=0,l=0,L,K,k=0,j;
	double m[1000],f[1000],h[1000],t;
	char sex[1000][10];
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%s %lf",sex[i],&h[i]);
	}
	for(i=0;i<n;i++){
		if(strcmp(sex[i],"male")==0){
		m[l]=h[i];
		l++;
		}else{
		f[k]=h[i];
		k++;
		}
	} 
	L=l,K=k;
 	 for(j=0;j<L;j++){
   	   for(i=0;i<L-1-j;i++){ 
   	   	 if(m[i]>m[i+1]){ 
   	   	 	t=m[i];
   	   	 	m[i]=m[i+1];
   	   	 	m[i+1]=t ;
          }
       }
	 }
	 printf("%.2lf",m[0]);
	 for(i=1;i<L;i++){
		printf(" %.2lf",m[i]);
	 }
	for(j=0;j<K;j++){
   	   for(i=0;i<K-1-j;i++){ 
   	   	 if(f[i]<f[i+1]){ 
   	   	 	t=f[i];
   	   	 	f[i]=f[i+1];
   	   	 	f[i+1]=t ;
          }
       }
	 }
	 for(i=0;i<K;i++){
		printf(" %.2lf",f[i]);
	 }
		return 0;
}
int main()
{
char a[5]={'m','a','l','e'};
char b[7]={'f','e','m','a','l','e'};
char c[7];
int n,i,j,k,l;
float sz[40],nz[40],d,e,f;
scanf("%d",&n);
k=l=0;
for(i=0;i<n;i++){
    scanf("%s %f",c,&d);
	//scanf("%f",&d);
	if(c[0]==a[0]){
		sz[k]=d;
		k++;
	}
	else{
		nz[l]=d;
		l++;
	}
}
for(i=0;i<k;i++){
	for(j=i+1;j<k;j++){
		if(sz[i]>sz[j]){
			e=sz[i];
			sz[i]=sz[j];
			sz[j]=e;
		}
	}
}
for(i=0;i<l;i++){
	for(j=i+1;j<l;j++){
		if(nz[i]<nz[j]){
			f=nz[i];
			nz[i]=nz[j];
			nz[j]=f;
		}
	}
}
for(i=0;i<k;i++){
	printf("%.2f ",sz[i]);
}
for(j=0;j<l-1;j++){
	printf("%.2f ",nz[j]);
}
printf("%.2f",nz[l-1]);




return 0;
}
int main(int argc, const char * argv[])
{
    int n;
    scanf("%d", &n);
    struct aa {
        char a[7];
        double b;
    }a[100];
    int m=0, f=0, g=0, h=0;
    double d[100], e[100];
    for (int c=0; c<n; c++) {
        scanf("%s %lf", a[c].a, &a[c].b);
        if (a[c].a[0]=='m') {
            m++;
            d[g]=a[c].b;
            g++;
        }else{
            f++;
            e[h]=a[c].b;
            h++;
        }
    }
    for (int j=m-1; j>0; j--) {
        for (int r=0; r<j; r++) {
            if (d[r]>d[r+1]) {
                double tmp;
                tmp=d[r+1];
                d[r+1]=d[r];
                d[r]=tmp;
            }
        }
    }
    for (int j=h-1; j>0; j--) {
        for (int r=0; r<j; r++) {
            if (e[r]<e[r+1]) {
                double tmp;
                tmp=e[r+1];
                e[r+1]=e[r];
                e[r]=tmp;
            }
        }
    }
    for (int k=0; k<m; k++) {
        printf("%.2lf ", d[k]);
    }
    for (int l=0; l<f-1; l++) {
        printf("%.2lf ", e[l]);
    }
    printf("%.2lf", e[f-1]);
    return 0;
}
int main()
{
	int n;
	int i,j,k;
	int sum1=0,sum2=0;
	char a[40][7];
	char t1[7];
	double sg[40];
	double t;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%s%lf",a[i],&sg[i]);
	}
	
	
	for(i=0;i<n;i++)
	{
		if(strcmp(a[i],"male")==0)
		{
			sum1++;
		}
	}
	sum2=n-sum1;
	



	for(j=1;j<n;j++)
	{
		for(i=0;i<n-j;i++)
		{
			if(strcmp(a[i],a[i+1])<=0)
			{
				strcpy(t1,a[i]),strcpy(a[i],a[i+1]),strcpy(a[i+1],t1);
				t=sg[i],sg[i]=sg[i+1],sg[i+1]=t;
			}
		}
	}
	


	for(j=1;j<sum1;j++)
	{
		for(i=0;i<sum1-j;i++)
		{
			if(sg[i]>=sg[i+1])
			{
				t=sg[i],sg[i]=sg[i+1],sg[i+1]=t;
			}
		}
	}

	for(j=1;j<sum2;j++)
	{
		for(i=0;i<sum2-j;i++)
		{
			if(sg[sum1+i]<=sg[sum1+i+1])
			{
				t=sg[sum1+i],sg[sum1+i]=sg[sum1+i+1],sg[sum1+i+1]=t;
			}
		}
	}

	for(i=0;i<n;i++)
	{
		if(i!=0)
		{
			printf(" ");
		}
		printf("%.2lf",sg[i]);
	}



	return 0;
}
struct student
{
       char sex[7];
       float h;
};
main()
{
      struct student a[41],t;
      int i,j,k,n,count1=0,count2=0;
      scanf("%d",&n);
      for(i=0;i<n;i++)
      {
           scanf("%s%f",a[i].sex,&a[i].h);           
      }
      for(i=0;i<n;i++)
      {
             if(strcmp(a[i].sex,"male")==0)
             count1++;     
             else
             count2++;    
      }
      for(i=0;i<n-1;i++)
      {
          for(j=i+1;j<n;j++)
          {
                if(a[i].h>a[j].h)
                {
                t=a[i];
                a[i]=a[j];
                a[j]=t;
                }              
          }            
      }
      for(i=0;i<n;i++)
      {
             if(strcmp(a[i].sex,"male")==0) 
             printf("%.2f ",a[i].h);             
      }
      int count=0;
      for(i=n-1;i>=0;i--)
      {
             if(strcmp(a[i].sex,"female")==0)
             { 
                       if(count!=count2-1)
                       {
                       printf("%.2f ",a[i].h);
                       count++;
                       }
                       else
                       printf("%.2f",a[i].h);
             }
                                 
      }
      getchar();
      getchar();
}
void line(int n,float *p);
int main()
{
    struct people
    {
           char gender[10];
           float tall;
    };
    struct people people[45];
    int n,i,j,k,flag;
    j=k=0;flag=1;
    float m[45],f[45];
    scanf("%d",&n);
    for(i=0;i<n;i++)scanf("%s %f",&people[i].gender,&people[i].tall);
    for(i=0;i<n;i++)
    {
                    if(people[i].gender[0]=='m')
                    {
                                                m[j]=people[i].tall;j++;
                    }
                    else 
                    {
                         f[k]=people[i].tall;k++;
                    }
    }
    line(j,m);
    line(k,f);
    for(i=0;i<j;i++)
    {
                    if(flag)
                    {
                            printf("%.2f",m[i]);flag=0;
                    }
                    else printf(" %.2f",m[i]);
    }
    for(i=k-1;i>=0;i--)printf(" %.2f",f[i]);
    return 0;
}
void line(int n,float *p)
{
     int i,j;
     float k;
     for(i=0;i<n-1;i++)
     {
                     for(j=0;j<n-1-i;j++)
                     {
                                       if(p[j]>p[j+1])
                                       {
                                                      k=p[j];
                                                      p[j]=p[j+1];
                                                      p[j+1]=k;
                                       }
                     }
     }
}
int main(){
   int n,i,j=0,k=0;
   int m=0,t,q,u;
   char e[50];
   double r[50],a[50],b[50],g;
   scanf("%d",&n);
   for(i=0;i<n;i++){
       scanf("%s",e);
       scanf("%lf",&r[i]);
       if(e[0]=='m'){             
                a[j]=r[i];
                j++;}else{
                    b[k]=r[i];
                    k++;};
                 }
    for(t=0;t<j;t++){
       q=t;
       for(u=t+1;u<j;u++){
           if(a[u]<a[q]){
               q=u;};
               }
      if(q!=t){
          g=a[q];
          a[q]=a[t];
          a[t]=g;
          };
          }
    t=0;q=0;u=0;g=0;         
    for(t=0;t<k;t++){
       q=t;
       for(u=t+1;u<k;u++){
           if(b[u]>b[q]){
               q=u;};
               }
      if(q!=t){
          g=b[q];
          b[q]=b[t];
          b[t]=g;
          };
          }                
    for(i=0;i<j;i++){
         printf("%.2lf ",a[i]);}
     for(i=0;i<k-1;i++){
         printf("%.2lf ",b[i]);}
     printf("%.2lf",b[k-1]);

	 return 0;
}
struct TIME
{
	int start,end;
};
int mycp(const void * e1,const void * e2)
{
	return  *(const int *) e1 - *(const int *) e2;
}
int mycp1(const void * e1,const void * e2)
{
	return  *(const int *) e1 - *(const int *) e2;
}
int mycp2(const void * e1,const void * e2)
{
	return  *(const int *) e2 - *(const int *) e1;
}
int main()
{
	int n =0;
	scanf("%d",&n);
	float man[40],female[40];
	int intman[40],intfemale[40];
	int nm=0,nf=0;
	float temph;
	char gen[10];
	while (n -- )
	{
		
		scanf("%s %f",gen,&temph);
		if(gen[0] == 'm') {
			man[nm] = temph;
			nm ++;
		}
		else if (gen[0] == 'f'){
			female[nf] = temph;
			nf ++;
		}
	}
	for (int i = 0; i< nm; i++)
	{
		intman[i] = 1000 * man[i];
	}
	for (int i = 0; i< nf; i++)
	{
		intfemale[i] = 1000 * female[i];
	}

	qsort(intman,nm,sizeof(int),mycp1);
	qsort(intfemale,nf,sizeof(int),mycp2);

	for (int i = 0; i< nm; i++)
	{
		man[i] = (float)intman[i] / 1000;
	}
	for (int i = 0; i< nf; i++)
	{
		female[i] = (float)intfemale[i]/1000;
	}
	for(int i = 0; i <nm ; i++)
		printf("%.2f ",man[i]);
	for(int i = 0; i <nf ; i++)
		if (i == nf -1)		printf("%.2f\n",female[i]);
		else printf("%.2f ",female[i]);

	getchar();getchar();
	return 1;
}
int main()
{
	struct pe{char a[10];double h;}pe[40];
	int n,i,j=0,k=0,q;
	double m[500],f[500],temp;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%s%lf",&pe[i].a,&pe[i].h);
	}
	for(i=0;i<n;i++)
	{
		if(pe[i].a[0]=='m')
		{
			m[j]=pe[i].h;
		    j++;
		
		}
		if(pe[i].a[0]=='f')
		{
			f[k]=pe[i].h;
		    k++;	
		}
	}
	for(i=0;i<=j-1-1;i++)
	{
		for(q=0;q<j-1-i;q++)
		{
	       if(m[q]>m[q+1])
		   {
			   temp=m[q];
				m[q]=m[q+1];
				m[q+1]=temp;
		   }
		}
	}
	for(i=0;i<=k-1-1;i++)
	{
		for(q=0;q<k-1-i;q++)
		{
	       if(f[q]>f[q+1])
		   {
			   temp=f[q];
				f[q]=f[q+1];
				f[q+1]=temp;
		   }
		}
	}

	printf("%.2lf",m[0]);
	for(i=1;i<j;i++)
	{
	printf(" %.2lf",m[i]);
	}
    for(i=0;i<k;i++)
	{
		printf(" %.2lf",f[k-1-i]);
	}
return 0;
}
void h(double a[],int n)
{
   double m;
   int i,j;
   for(i=0;i<n-1;i++)
   {
     for(j=i+1;j<n;j++)
     {
        if(a[i]>a[j])
        {
          m=a[i];
          a[i]=a[j];
          a[j]=m;
        }
     }
   }

}
main()
{
       int n,j,i;
       scanf("%d",&n);
       int*p=(int*)malloc(n*sizeof(int));
       double*q=(double*)malloc(n*sizeof(double));
       char c[10];
       int m=0,f=0;
       for(int i=0;i<n;i++)
       {
          scanf("%s %lf",c,&q[i]);
          if(c[0]-'m'==0)
          {p[i]=1;m++;}
          if(c[0]-'f'==0)
          {p[i]=0;f++;}
       }
       double*a=(double*)malloc(m*sizeof(double));
       double*b=(double*)malloc(f*sizeof(double));
       for(i=0,j=0;i<n;i++)
       {
          if(p[i]==1)
          {a[j]=q[i];j++;}
       }
        for(i=0,j=0;i<n;i++)
       {
          if(p[i]==0)
          {b[j]=q[i];j++;}
       }
       h(a,m);
       h(b,f);
       for(i=0;i<m;i++)
       {
        printf("%.2lf ",a[i]);
       }
       for(i=f-1;i>=0;i--)
       {
        if(i==0)
        printf("%.2lf",b[i]);
        else
        printf("%.2lf ",b[i]);
       }
       getchar();
       getchar();
       getchar();
}
int main()
{
    int n,i,j=0,k=0,r=0;
	double mh[50],fh[50],zs=0;
    scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		char a[100];
		scanf("%s",a);
		scanf("%lf",&zs);
				if(a[0]=='m')
		{
			mh[j]=zs;
			j++;
		}
		else if(a[0]=='f')
		{
			fh[k]=zs;
			k++;
		}
	}
    for(i=j-1;i>0;i--)
	{
		for(r=0;r<i;r++)
		{
			if(mh[r]>mh[r+1])
			{
				double tmpm;
				tmpm=mh[r+1];
				mh[r+1]=mh[r];
				mh[r]=tmpm;
			}
		}
	}
	for(i=k-1;i>0;i--)
	{
		for(r=0;r<i;r++)
		{
			if(fh[r]>fh[r+1])
			{
				double tmpf;
				tmpf=fh[r+1];
				fh[r+1]=fh[r];
				fh[r]=tmpf;
			}
		}
	}
	for(i=0;i<j;i++)
	{
	    printf("%.2lf ",mh[i]);
	}
	for(i=k-1;i>=0;i--)
	{
		if(i==k-1)
		    printf("%.2lf",fh[i]);
		else
			printf(" %.2lf",fh[i]);

	}
	return 0;
}
int compare(const void *elem1,const void *elem2)
{
    return *(float *)elem1>*(float *)elem2 ?1:-1; 
} 


main()
{
      int n,i,k1,k2,j1,j2;
      k1=k2=j1=j2=0;
      scanf("%d",&n);
      char p1[10]={'m','a','l','e','\0'}; 
      char p2[10]={'f','e','m','a','l','e','\0'};
      
      char a[n][10];
      float b[n];
      float *c,*d;
      for(i=0;i<n;i++)
      {
                      scanf("%s",&a[i]);
                      scanf("%f",&b[i]);
      }

      
      
      for(i=0;i<n;i++)
      {
                      if(strcmp(a[i],p1)==0)
                      {
                            k1++;
                      }                          
                      else if(strcmp(a[i],p2)==0)
                      {
                            k2++;
                      }
      }
      c=(float *)malloc(k1*sizeof(float));
      d=(float *)malloc(k2*sizeof(float));
      for(i=0;i<n;i++)
      {
                      if(strcmp(a[i],p1)==0)
                      {
                            c[j1]=b[i];
                            j1++;
                      }                          
                      else if(strcmp(a[i],p2)==0)
                      {
                            d[j2]=b[i];
                            j2++;
                      }
      }
      qsort(c,k1,sizeof(float),compare);
      qsort(d,k2,sizeof(float),compare);
      
      printf("%.2f",c[0]);
      for(i=1;i<k1;i++)printf(" %.2f",c[i]);
      for(i=k2-1;i>=0;i--)printf(" %.2f",d[i]);
      
     
}
int n;
double male[50],female[50];
int cntm,cntf;
char sex[10];

int main()
{
    cin>>n;
    cntm=cntf=0;
    for(int i=0;i<n;i++)
    {
            scanf("%s",sex);
            if(strcmp(sex,"male")==0)
                  cin>>male[cntm++];
            else
                cin>>female[cntf++];
    }
    sort(male,male+cntm);
    sort(female,female+cntf);
    for(int i=0;i<cntm;i++)
            printf("%.2f ",male[i]);
    for(int i=cntf-1;i>0;i--)
            printf("%.2f ",female[i]);
    printf("%.2f\n",female[0]);
    return 0;
}
struct ren{
    char sex[8];
    double gao;
}a[45];
main()
{
    int i,j,k,n;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%s %lf",a[i].sex,&a[i].gao);
        }
    for(i=0;i<n;i++)
    {
        if(strcmp(a[i].sex,"female")==0)
        a[i].gao=10-a[i].gao;
        }
    if(n>2)
    {
        for(i=0;i<n-1;i++)
        {
            struct ren temp;
            for(j=1;j<n-i;j++)
            {
                if(a[j].gao<a[j-1].gao)
                {
                    temp=a[j];
                    a[j]=a[j-1];
                    a[j-1]=temp;
                    }
                }
            }
        }
    else
    {
        struct ren temp;
        if(a[0].gao>a[1].gao)
        {
            temp=a[1];
            a[1]=a[0];
            a[0]=temp;
            }
        }
    for(i=0;i<n;i++)
    {
        if(strcmp(a[i].sex,"female")==0)
        a[i].gao=10-a[i].gao;
        }
    for(i=0;i<n;i++)
    {
        if(i==0)
        printf("%.2lf",a[i].gao);
        else
        printf(" %.2lf",a[i].gao);
        }
    }
/*

    for(i=0;i<n;i++)
    {
        printf("%s %lf\n",a[i].sex,a[i].gao);
        }
*/
void big_small(float a[],int n)
{
    int i,k;
    float b;
    for(i=0;i<=n;i++)
    {
        for(k=i+1;k<=n;k++)
        {
            if(a[i]<a[k])
            {
                b=a[i];
                a[i]=a[k];
                a[k]=b;
            }
        }
    }
}
void small_big(float a[],int n)
{
    int i,k;
    float b;
    for(i=0;i<=n;i++)
    {
        for(k=i+1;k<=n;k++)
        {
            if(a[i]>a[k])
            {
                b=a[i];
                a[i]=a[k];
                a[k]=b;
            }
        }
    }
}
int main()
{
    char g[41][7];
    int n,i,j=0,k=0;
    float a[40],b[40];
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%s",g[i]);
        if(strlen(g[i])==4)
        {
            scanf("%f",&a[j]);
            j++;
        }
        else
        {
            scanf("%f",&b[k]);
            k++;
        }
    }
    small_big(a,j);
    big_small(b,k);
    for(i=1;i<=j;i++)
       printf("%3.2f ",a[i]);
    for(i=0;i<k-1;i++)
       printf("%3.2f ",b[i]);
    printf("%3.2f",b[k-1]);
}
main()
{
	double a[40],b[40],m;
	int n,p,q,i=0,j=0;
	char c[8];
	scanf("%d",&n);
	for(p=0;p<n;p++)
	{
		c[4]=0;
	scanf("%s%lf",c,&m);
		
		if(c[4]==0)
		{
			a[i]=m;
			i++;
		}
		else
		{
			b[j]=m;
			j++;
		}
	}

	for(p=0;p<i;p++)
	{
		for(q=0;q<i-1;q++)
		if(a[q]>a[q+1])
		{
			m=a[q];
			a[q]=a[q+1];
			a[q+1]=m;
		}
	}
	
	for(p=0;p<j;p++)
	{
		for(q=0;q<j-1;q++)
		if(b[q]<b[q+1])
		{
			m=b[q];
			b[q]=b[q+1];
			b[q+1]=m;
		}
	}
	for(p=0;p<i;p++)
	{
		printf("%.2lf ",a[p]);
	}
	for(p=0;p<j;p++)
	{
		if(p)printf(" ");
		printf("%.2lf",b[p]);
	}	
}
int main()
{
	char sex[41][7], flag[7] = {'m', 'a', 'l', 'e'};
	double maleheight[40], femaleheight[40], t;
	int n, i, j, m = 1, f = 1;
	cin >> n;
	for (i = 1; i <= n; i++)
	{
        cin >> sex[i];
		if (strcmp(sex[i], flag) == 0)
		{
			cin >> maleheight[m];
			m++;
		}
		else
		{
			cin >> femaleheight[f];
			f++;
		}
	}
	m--;
	f--;
	for (i = 1; i < m; i++)
	{
		for (j = i + 1; j <= m; j++)
		{
			if (maleheight[i] > maleheight[j])
			{
				t = maleheight[i];
				maleheight[i] = maleheight[j];
				maleheight[j] = t;
			}
		}
	}
	for (i = 1; i < f; i++)
	{
		for (j = i + 1; j <= f; j++)
		{
			if (femaleheight[i] < femaleheight[j])
			{
				t = femaleheight[i];
				femaleheight[i] = femaleheight[j];
				femaleheight[j] = t;
			}
		}
	}
	for (i = 1; i <= m; i++)
	{
		cout << fixed << setprecision(2) << maleheight[i] << " ";
	}
	for (i = 1; i <= f; i++)
	{
		cout << fixed << setprecision(2) << femaleheight[i];
		if (i != f)
		{
			cout << " ";
		}
		else
		{
			cout <<endl;
		}
	}
	return 0;
}
int main(){
int n,i,j,t=0;
char s[41][7];
double g[41],k;
scanf("%d",&n);
for(i=0;i<n;i++){
	scanf("%s ",s[i]);
	scanf("%lf",&g[i]);
	if(s[i][0]=='m'){
g[i]=g[i]-2;
t++;
}
}
for(i=1;i<=n;i++){
	for(j=0;j<n-1;j++){
		if(g[j]>g[j+1]){
            k=g[j+1];
			g[j+1]=g[j];
			g[j]=k;}
	}
}
	for(i=0;i<t;i++){
		printf("%.2lf ",g[i]+2);}
	for(i=n-1;i>t;i--){
		printf("%.2lf ",g[i]);}
	printf("%.2lf",g[t]);



return 0;
}
int s[50];
float l[50];
char str[10];

int main()
{
	//freopen("data.txt","r",stdin);
	int n,i,j;
	float t;
	int tp;
	int b;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%s %f",str,&l[i]);
		if(str[0]=='m') s[i]=1;
		else s[i]=0;
	}

	for(i=0;i<n-1;i++)
	{
		for(j=0;j<n-i-1;j++)
		{
			if(l[j]>l[j+1])
			{
				t=l[j];l[j]=l[j+1];l[j+1]=t;
				tp=s[j];s[j]=s[j+1];s[j+1]=tp;
			}
		}
	}

	b=0;
	for(i=0;i<n;i++)
	{
		if(s[i]==1)
		{
			b++;printf("%.2f ",l[i]);
		}
	}

	for(i=n-1;i>=0;i--)
	{
		if(s[i]==0)
		{
			printf("%.2f",l[i]);b++;
		}
		if(b!=n&&s[i]==0)
			printf(" ");
	}

	printf("\n");

	return 0;
}
struct person
{
    char sex[8];
    double hgt;
};
int compare(const void*a,const void*b)
{
    if((((struct person*)b)->hgt)-(((struct person*)a)->hgt)>0)
    return -1;
    else
    return 1;
}
main()
{
  int i,j,k,m,n;
  struct person a[41];
  scanf("%d",&n);
  for(i=0;i<n;i++)
  scanf("%s %lf",a[i].sex,&a[i].hgt);
  qsort(a,n,sizeof(struct person),compare);
  for(i=0,j=0;i<n;i++)
  for(i=0,j=0;i<n;i++)
  {
      if(a[i].sex[0]=='m')
      {
          if(j==0)
          {
              printf("%.2lf",a[i].hgt);
              j=1;
          }
          else
          printf(" %.2lf",a[i].hgt);
      }
  }
  for(i=n-1;i>=0;i--)
  {
      if(a[i].sex[0]=='f')
      printf(" %.2lf",a[i].hgt);
  }
}
int main()
{
	int n,i,j,t;
	float h[40],k;
	char s[40][7],x[7],a[5]={"male"},b[7]={"female"};
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%s %f",s[i],&h[i]);
	} 
	for(i=0;i<n-1;i++)
	{
		for(j=0;j<n-i-1;j++)
		{
			if(h[j]>h[j+1])
			{
				k=h[j];
				h[j]=h[j+1];
				h[j+1]=k;
				strcpy(x,s[j]);
				strcpy(s[j],s[j+1]);
				strcpy(s[j+1],x);
			}
		}
	}
	for(i=0;i<n;i++)
	{
		if(strcmp(s[i],a)==0)
		{
			printf("%.2f",h[i]);
			t=i;
			break;
		}
	}
	for(j=t+1;j<n;j++)
    {
    	if(strcmp(s[j],a)==0)
    	{
    		printf(" %.2f",h[j]);
    	}
    }
    for(j=n-1;j>=0;j--)
    {
    	if(strcmp(s[j],b)==0)
    	{
    		printf(" %.2f",h[j]);
    	}
    }
    printf("\n");
    return 0;
}
float cmp(float *a,int n)
{
	float temp;
	for(int i=0;i<n;i++)
	{
		for(int j=n-1;j>i;j--)
		{
			if(a[j]<a[j-1])
			{temp=a[j];
			a[j]=a[j-1];
			a[j-1]=temp;
                        }
		}
	}
	return *a;
}
int main()
{
	int n;
	scanf("%d",&n);
	int i=0,j,k,a=0,b=0;
	char sex[10];
	float man[40],woman[40],h;
	while(i<n)
	{
		scanf("%s %f",sex,&h);
		if(sex[0]=='m')
		{
			man[a]=h;
			a++;
		}
		else
		{	
			woman[b]=h;
			b++;
		}
		i++;
	}
	cmp(man,a);
	cmp(woman,b);
	printf("%.2f",man[0]);
	for(k=1;k<a;k++)
		printf(" %.2f",man[k]);
	for(k=b-1;k>0;k--)
		printf(" %.2f",woman[k]);
	printf(" %.2f\n",woman[0]);
}
int main()
{
	struct{
		char gender[6];
		float h;
	}a[50],b[50],c[50],t;
	int n,i,j=0,k=0;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%s%f",&a[i].gender,&a[i].h);
	}
	for(i=0;i<n;i++)
	{
		if(strcmp(a[i].gender,"male")==0)
		{
			b[j]=a[i];
			j++;
		}
		else
		{
			c[k]=a[i];
			k++;
		}
	}
	int nan,nv;
	nan=j;
	nv=k;
	for(i=0;i<nan;i++)
	{
		for(j=nan-1;j>i;j--)
		{
			if(b[j].h<b[j-1].h)
			{
				t=b[j];
				b[j]=b[j-1];
				b[j-1]=t;
			}
		}
	}
	for(i=0;i<nv;i++)
	{
		for(j=nv-1;j>i;j--)
		{
			if(c[j].h>c[j-1].h)
			{
				t=c[j];
				c[j]=c[j-1];
				c[j-1]=t;
			}
		}
	}
	printf("%1.2f",b[0].h);
	for(i=1;i<nan;i++)printf(" %1.2f",b[i].h);
	for(i=0;i<nv;i++)printf(" %1.2f",c[i].h);
}
int main(){
int n,i,k,t,l;
double h,e;
double a[100],b[100];
char sex[10];
k=0,t=0;
scanf("%d",&n);
for(i=0;i<n;i++){
	scanf("%s %lf",&sex,&h);
	if(strcmp(sex,"female")==0){
		a[t]=h;
		t++;
	}else{
		b[k]=h;
		k++;
	}
}
for(i=0;i<t;i++){
	for(l=i+1;l<t;l++){
		if(a[l]>a[i]){
			e=a[i];
			a[i]=a[l];
			a[l]=e;
		}
	}
}
for(i=0;i<k;i++){
	for(l=i+1;l<k;l++){
		if(b[l]<b[i]){
			e=b[i];
			b[i]=b[l];
			b[l]=e;
		}
	}
}
for(i=0;i<k;i++){
	printf("%.2lf ",b[i]);
}
for(i=0;i<t-1;i++){
	printf("%.2lf ",a[i]);
}
printf("%.2lf\n",a[t-1]);
return 0;
}
int compare1(const void*a,const void*b){
	return *(int*)a-*(int*)b;
}
int compare2(const void*a,const void*b){
	return *(int*)b-*(int*)a;
}
int main()
{
	float a[41],b[41];
	for(int i=0;i<41;i++)
	{
		a[i]=-1;
		b[i]=-1;
	}
	int n;
	cin>>n;
	int aa=0,bb=0;
	for(int i=0;i<n;i++)
	{
		char temp[10];
		cin>>temp;
		float height;
		cin>>height;
		if(temp[0]=='m')
		{
			a[aa]=height;
			aa++;
		}
		else
		{
			b[bb]=height;
			bb++;
		}
	}
	qsort(a,aa,sizeof(int),compare1);
	qsort(b,bb,sizeof(int),compare2);
	for(int i=0;i<aa;i++)
		printf("%.2f ",a[i]);
	for(int i=0;i<bb;i++)
		if(i==bb-1)printf("%.2f",b[i]);
		else printf("%.2f ",b[i]);
return 0;
}
int main()
{
	int n,i,j,p,q;
	double h1[41],h2[42],t,h;
	char sex[10];
	cin>>n;
         cin.get();
	for(i=0,j=0;i+j<n;)
	{
		cin>>sex>>h;
		if(sex[0]=='m')
	{
		h1[i]=h;
		i++;
	}
	else
	{
		h2[j]=h;
		j++;
	}
	}
    for(p=0;p<i-1;p++)
		for(q=0;q<i-1-p;q++)
			if(h1[q]>h1[q+1])
			{
				t=h1[q];
			    h1[q]=h1[q+1];
				h1[q+1]=t;
			}
	for(p=0;p<j;p++)
		for(q=0;q<j-p;q++)
			if(h2[q]<h2[q+1])
			{
				t=h2[q];
			    h2[q]=h2[q+1];
				h2[q+1]=t;
			}
			cout<<fixed;
			cout<<setprecision(2)<<h1[0];
			for(p=1;p<i;p++)
				cout<<" "<<h1[p];
			for(p=0;p<j;p++)
				cout<<" "<<h2[p];
			return 0;
}