#7错了

dalao帮忙看看(期待
#include<bits/stdc++.h>
using namespace std;
vector<int>a[100001],ans;
priority_queue<int>q;
int cnt[100001],s;
void top(){
int u,v;
while(!q.empty()){
u=q.top();
q.pop();
for(int i=0;i<a[u].size();i++){
v=a[u][i];
cnt[v]--;
if(!cnt[v]){
q.push(v);
s++;
}
}
ans.push_back(u);
}
return ;
}
int main(){
int t,n,m,u,v;
cin>>t;
while(t){
s=0;
memset(cnt,0,sizeof(cnt));
ans.clear();
for(int i=1;i<=n;i++) a[i].clear();
cin>>n>>m;
for(int i=1;i<=m;i++){
cin>>u>>v;
cnt[u]++;
a[v].push_back(u);
}
for(int i=1;i<=n;i++){
if(!cnt[i]) q.push(i);
}
if(q.empty()){
cout<<"Impossible!"<<endl;
t--;
continue;
}
top();
for(int i=n-1;i>=0;i--) cout<<ans[i]<<" ";
cout<<endl;
t--;
}
return 0;
}