#include<iostream>
#include<queue>
#include<vector>
#include<cstring>
using namespace std;
int n,m,x,y,in[30001];
priority_queue<int>q,*pq;
queue<int>ans;
vector<int>l[30001];
void init(){
pq=new priority_queue<int>();
q=(*pq);
memset(l,0,sizeof(l));
memset(in,0,sizeof(in));
}
void bfs(){
while(!q.empty()){
int v=q.top();
q.pop();
ans.push(v);
for(int i=0;i<l[v].size();i++){
int u=l[v][i];
in[u]--;
if(!in[u])q.push(u);
}
}
}
void out(){
if(ans.empty())return ;
int v=ans.front();
ans.pop();
out();
cout<<v<<" ";
}
int main(){
int t;
cin>>t;
while(t--){
cin>>n>>m;
init();
for(int i=1;i<=m;i++){
cin>>x>>y;
l[y].push_back(x);
in[x]++;
}
for(int i=1;i<=n;i++)if(!in[i])q.push(i);
bfs();
out();
cout<<endl;
}
}
/*
1
5 10
3 5
1 4
2 5
1 2
3 4
1 4
2 3
1 5
3 5
1 2
*/