#include <iostream>
#include <vector>
#include <set>
//本题使用到序列和集合内容
using namespace std;
int main() {
//本题需要每次查找第ai项之前的每一项是否含有与其相同的值,所以
//需要用到集合中的count函数(也可以用find不过比较麻烦,因为它返回的是一个指针)
int T{};
cin>>T;//定义T组数据
while(T--)
{
int n{};
cin>>n;//每组数据n个值
vector<int> a(n),b;
set<int> c;//根据题意定义两个序列和一个集合,其中集合c用来检查ai是否已经存在
for(int &it:a)
{
cin>>it;//将数据写入序列a,这个写法很方便
}
for(int i=0;i<n;i++)//对序列a逐项查找
{
bool k=true;//定义一个布尔值,用来判断ai是否已经出现过
if(c.count(a[i]))//如果查找到了ai则改变布尔值
{
k=false;
}
c.insert(a[i]);//将ai写入集合中
if(k==true)
{
b.push_back(a[i]);//如果是真值说明没找到ai,此时将ai写入序列b
}
}
for(int it:b)
{
cout<<it<<" ";//遍历输出序列b
}
cout<<endl;//别忘了换行哦
}
return 0;
}
// 64 位输出请用 printf("%lld")