#include <stdio.h>

#define NMAX 100

int ind_min(int x[], int k, int n);
void selecao(int x[], int n);

void troque(int *x, int *y);

void leia_vetor(int x[], int n);
void imprima_vetor(int x[], int n);

int main()
{
  int n, v[NMAX];

  scanf("%d", &n);
  leia_vetor(v, n);

  selecao(v, n);

  imprima_vetor(v, n);

  return 0;
}

int ind_min(int x[], int k, int n)
{
  int min = k, j;

  for (j = k+1; j < n; j++) 
    if (x[j]<x[min])
      min = j;
  return min;
}

void selecao(int x[], int n)
{
  int k, min;

  for (k = 0; k < n; k++) {
    min = ind_min(x, k, n);
    troque(&x[k], &x[min]);
  }
}

void troque(int *x, int *y)
{
  int t = *x;
  *x = *y; *y = t;
}

void leia_vetor(int x[], int n)
{
  int i;

  for (i=0; i<n; i++)
    scanf("%d", &x[i]);
}

void imprima_vetor(int x[], int n)
{
  int i;
  for (i=0; i<n; i++)
    printf("%d ", x[i]);
  printf("\n");
}

