#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int T, N, temp;
vector<int> chat;
cin >> T;
while(T--) {
cin >> N;
chat.clear();
// 处理每个会话ID
for(int i = 0; i < N; i++) {
cin >> temp;
// 查找是否存在
auto it = find(chat.begin(), chat.end(), temp);
if(it != chat.end()) {
// 已存在,从原位置删除
chat.erase(it);
}
// 插入到最上方
chat.insert(chat.begin(), temp);
}
// 输出结果
for(int i = 0; i < chat.size(); i++) {
cout << chat[i];
if(i < chat.size() - 1) cout << " ";
}
cout << endl;
}
return 0;
}
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
while(T-- > 0) {
int N = sc.nextInt();
ArrayList<Integer> chat = new ArrayList<>();
// 处理每个会话ID
for(int i = 0; i < N; i++) {
int temp = sc.nextInt();
// 查找并删除已存在的会话
chat.remove(Integer.valueOf(temp));
// 插入到最上方
chat.add(0, temp);
}
// 输出结果
for(int i = 0; i < chat.size(); i++) {
System.out.print(chat.get(i));
if(i < chat.size() - 1) System.out.print(" ");
}
System.out.println();
}
}
}
def process_chat_list(N, chats):
chat_list = []
for chat_id in chats:
# 如果会话已存在,先删除
if chat_id in chat_list:
chat_list.remove(chat_id)
# 插入到最上方
chat_list.insert(0, chat_id)
return chat_list
T = int(input())
for _ in range(T):
N = int(input())
chats = list(map(int, input().split()))
result = process_chat_list(N, chats)
print(' '.join(map(str, result)))