#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
#define maxsize 100 //线性表储存空间的初始分配量
#define numsize 10 //线性表储存空间的分配增量
typedef struct
{
int *elem; //储存空间基址
int length; //当前长度
int listsize;
}sqlist;
int init(sqlist *l) //初始化一个顺序表
{
l->elem=( int*)malloc(maxsize *sizeof(int));
if(!l->elem)
return -1;
l->length=0;
l->listsize=maxsize;
return 0;
}
void creat(sqlist *l,int n) //建立一个顺序表
{
int i;
for(i=0;i<n;i++)
{
scanf("%d",&l->elem[i]);
}
l->length=n;
}
void print(sqlist *l) //输出函数
{
int i;
for(i=0;i<l->length;i++)
{
if(i==0)
printf("%d",l->elem[i]);
else printf(" %d",l->elem[i]);
}
}
void del(sqlist *l) //位移删除法
{
int i,j,k;
for(i=0;i<l->length-1;i++)
{
j=i+1;
while(j<l->length)
{
if(l->elem[i]!=l->elem[j])
j++;
else
{
for(k=j+1;k<l->length;k++) //所有的元素往前移一个
l->elem[k-1]=l->elem[k];
l->length--;
}//顺序表的长度减一
}
}
}
int main()
{
int t,n,i;
sqlist l;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
init(&l);
creat(&l,n);
del(&l);
print(&l);
printf("\n");
}
return 0;
}