#include <stdio.h>
#include <assert.h>

#define MAX 10

/* prototipos */
int acha( double v[MAX], int n, double x);
void insere( double v[MAX], int *n, double x);

/* parte a */
int acha( double v[MAX], int n, double x) {
  int i;
  v[n] = x; /* sentinela */
  for ( i = 0; v[i] != x; i++ )
    ;
  if (i < n) return i;
  else return -1;
}

void imprimevetor( double v[MAX], int n ) {
  int i;
  printf("\n     ");
  for (i=0; i<n; i++ )
    printf(" %g", v[i] );
  printf("\n");
}

/* parte b */
void insere( double v[MAX], int *n, double x) {
  assert( *n < MAX);
  imprimevetor( v, *n );
  v[*n] = x; 
  *n = *n + 1;  /* *n++ nao funciona, (*n)++*/
  imprimevetor( v, *n );
  return;
}

/* parte c */
int main (){
  double javeio[MAX];
  int n;
  int i, /* conta quantos eltos ja lidos */
    j; /* conta quantos eltos ja inseridos em javeio */
  double y; /* candidato a insercao */
  scanf( "%d", &n );
  for ( i = 0, j = 0; i < n; i++ ) {
    scanf( "%lf", &y );
    if ( acha( javeio, j, y ) == -1 ) {
      insere( javeio, &j, y );	/* equivale a insere( &javeio[0], &j, y ); */
      printf( "%g\n", y );	/* %g equivale a formato Geral de impressão de reais */
    }
  }
  return 0;
}