#include <stdio.h>
#include <stdlib.h>

int main() {
    int n;
    while (scanf("%d", &n) != EOF) { // 注意 while 处理多个 case
        int* p = malloc(sizeof(int) * n);
        if (p == NULL) {
            perror("main");
            return 1;
        }
        //赋值
        int i;
        for (i = 0; i < n; i++) {
            scanf("%d", &p[i]);
        }
        int j = 0;
        int k = 0;
        p[k++] = p[0];    //先将首个元素保存,首个元素肯定是要输出的
        //外层循环用来控制对比的元素
        for (i = 1; i < n; i++) {
            int flag = 0;       //判断指标
            //内层用来对比,只需要比自己前面的元素即可
            for (j = 0; j < i; j++) {
                if (p[i] == p[j]) {
                    flag++;     //判断是否有相同元素的指标
                    break;      //已经找到了相同元素,可以直接退出对比循环
                }
            }
            if (flag != 1) {
                //检测到当前的元素都是唯一的,将需要输出的元素放在数组前段
                p[k++] = p[i];
            }
        }
        //打印输出
        for (i = 0; i < k; i++) {
            printf("%d ", p[i]);
        }
        //释放
        free(p);
        p = NULL;

    }
    return 0;
}