#include using namespace std; int n,m; int minI[1000000]; #define inf 100000007 vectortype; vectorS; vectorD; unordered_map>station; int min(int a,int b){ return atypes,unordered_setwho,int z){ if(s==m+1)return ; vectordeleted; for(auto i=who.begin();i!=who.end();i++){ if(D[*i]==s){ count++; deleted.push_back(*i); }} for(int i=0;i>t; while(t--){ cin>>m>>n; type.clear(); S.clear(); D.clear(); station.clear(); for(int i=0;i>c;type.push_back(c);} for(int i=0;i>x;S.push_back(x);} for(int i=0;i>x;D.push_back(x);} for(int i=0;itypes; unordered_setp; fill(minI,minI+n+2,inf); cal(1,0,types,p,0); for(int i=1;i<=n;i++){ if(minI[i]==inf)cout<<"-1 "; else{ cout<