#include<stdio.h>

typedef struct{
  char mark;
  int value;
}Tra;

Tra A(char mark, int value){
  Tra A;
  A.mark = mark;
  A.value = value;
  return A;
}


int main(){
  int n,i,j;
  int minj,count=0;
  Tra A[100],temp;

  scanf("%d",&n);

  for(i = 0 ; i < n ; i++){
    scanf("%c%d", &A[i].mark, &A[i].value);
  }

  for(i = 0 ; i < n-1 ; i++){
    minj = i;
    for(j = i+1 ; j < n ; j++){
      if(A[j].value< A[minj].value){
	minj = j;
      }
    }
    if(minj != i){
      temp = A[i];
      A[i] = A[minj];
      A[minj] = temp;
    
    }
  }

  for(j = 0 ; j < n ; j++){
    if(j != n-1){
      printf("%c%d ",A[j].mark, A[j].value);
    }
    else if(j == n-1){
      printf("%c%d\n",A[j].mark, A[j].value);
    }
  }

  return 0;
}

