/*
1. 首先,进行快速排序(方便查重)
2. 其次,进行查重
*/
#include <stdio.h>
#include <stdlib.h>

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

int main() {
    int n = 0;
    scanf("%d", &n);
    int * ptr = (int*)malloc(n*sizeof(int));
    int i=0, j=0;

    while(i < n) {
        scanf("%d", &ptr[i]);
        i++;
    }
    
    //进行快速排序
    qsort(ptr, n, sizeof(int), small_to_large);
    
    int buf[n];
    int k = 0;
    //进行查重
    for(i = 0; i < n; i++) {
        if((i == 0) || (ptr[i] != ptr[i-1])) {
            buf[k++] = ptr[i];
        } 
    }   

    for(i = 0; i < k; i++) {
        printf("%d\n", buf[i]);
    }
    
    free(ptr);
    ptr = NULL;
    return 0;
}