#include <bits/stdc++.h>
#define ll long long
using namespace std;
const ll INF = (ll)-4e18;
struct DSU{
vector<int>parent,gsize,minimal,maximal,score;
int comps;
int mxcmp;
DSU(int maxi){
score=parent=gsize=minimal=maximal=vector<int>(maxi+5);
comps=maxi;
mxcmp=1;
for(int i=0;i<=maxi;i++){
minimal[i]=maximal[i]=parent[i]=i,gsize[i]=1,score[i]=0;
}
}
int find_leader(int node){
return parent[node]=(parent[node]==node?node:find_leader(parent[node]));
}
bool samel(int node1,int node2){
return find_leader(node1)==find_leader(node2);
}
void union_set(int node1,int node2){
int u=find_leader(node1),v=find_leader(node2);
if(u==v)return;
if(gsize[u]<gsize[v]&&find_leader(u)!=0)swap(u,v);
gsize[u]+=gsize[v],parent[v]=u;
score[v]-=score[u];
comps--;
mxcmp=max(gsize[u],mxcmp);
maximal[u]=max(maximal[u],maximal[v]);
minimal[u]=min(minimal[u],minimal[v]);
}
int find_min(int u){
int v=find_leader(u);
return minimal[v];
}
int find_max(int u){
int v=find_leader(u);
return maximal[v];
}
int largest_comp(){
return mxcmp;
}
void score_update(int u,int x){
int v=find_leader(u);
score[v]+=x;
}
int get_score(int u){
int v=find_leader(u);
int ans=(v==u?score[v]:score[v]+score[u]);
return ans;
}
};
struct Edge{
int u,v;
long long w;
Edge(int _u=0,int _v=0,long long _w = 0):u(_u),v(_v),w(_w){}
friend istream& operator>>(istream &in, Edge &e){
in>>e.u>>e.v>>e.w;
return in;
}
void inv(){
w *= -1;
}
};
bool cs(const Edge& fs,const Edge& sec){
return fs.w<sec.w;
}
vector<Edge>edges;
vector<vector<long long>>adj;
vector<bool>visited;
vector<ll>dists;
vector<vector<long long>>costs;
void dfs(ll n){
visited[n]=1;
for(ll&a:adj[n]){
if(!visited[a]){
visited[a]=1;
dists[a]=dists[n]+costs[n][a];
dfs(a);
}
}
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int n,m;
cin>>n>>m;
DSU dsu(n);
vector<pair<int,int>>init(n);
map<pair<int,int>,int>mp;
vector<bool>survived(2*n,1);
vector<int>rights(n);
vector<int>lefts(n);
vector<pair<int,int>>valids(n*2);
vector<pair<int,int>>cuts(m);
for(int i=0;i<n;i++){
int x,y;
cin>>x>>y;
x--,y--;
init[i]={x,y};
if(x<0)survived[i*2]=0;
else mp[{i,x}]=i*2;
valids[i*2]={i,x};
if(y<0)survived[i*2+1]=0;
else mp[{i,y}]=i*2+1;
valids[i*2+1]={i,y};
lefts[i]=x;
rights[i]=y;
}
for(int i=0;i<m;i++){
int x,y;
cin>>x>>y;
x--;
if(y==1){
auto it=mp.find({x,lefts[x]});
if(it!=mp.end()){
survived[mp[{x,lefts[x]}]]=0;
}
cuts[i]={x,lefts[x]};
}
else{
auto it=mp.find({x,rights[x]});
if(it!=mp.end()){
survived[mp[{x,rights[x]}]]=0;
}
cuts[i]={x,rights[x]};
}
}
for(int i=0;i<2*n;i++){
if(survived[i]){
dsu.union_set(valids[i].first,valids[i].second);
}
}
int cnt=1;
vector<int> secs(n,-1);
reverse(cuts.begin(),cuts.end());
for(int i=0;i<m;i++){
dsu.union_set(cuts[i].first,cuts[i].second);
for(int j=0;j<n;j++){
if(dsu.find_leader(j)==dsu.find_leader(0)&&secs[j]==-1&&j!=0){
secs[j]=m-i-1;
}
}
}
for(int i=0;i<n;i++){
cout<<secs[i]<<"\n";
}
return 0;
}
ICAgICNpbmNsdWRlIDxiaXRzL3N0ZGMrKy5oPgogICAgI2RlZmluZSBsbCBsb25nIGxvbmcKICAgIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CgogICAgY29uc3QgbGwgSU5GID0gKGxsKS00ZTE4OwpzdHJ1Y3QgRFNVeyAgIAogICAgdmVjdG9yPGludD5wYXJlbnQsZ3NpemUsbWluaW1hbCxtYXhpbWFsLHNjb3JlOwogICAgaW50IGNvbXBzOwogICAgaW50IG14Y21wOwogICAgRFNVKGludCBtYXhpKXsKICAgICAgICBzY29yZT1wYXJlbnQ9Z3NpemU9bWluaW1hbD1tYXhpbWFsPXZlY3RvcjxpbnQ+KG1heGkrNSk7CiAgICAgICAgY29tcHM9bWF4aTsKICAgICAgICBteGNtcD0xOwogICAgICAgIGZvcihpbnQgaT0wO2k8PW1heGk7aSsrKXsKICAgICAgICAgICBtaW5pbWFsW2ldPW1heGltYWxbaV09cGFyZW50W2ldPWksZ3NpemVbaV09MSxzY29yZVtpXT0wOwogICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaW50IGZpbmRfbGVhZGVyKGludCBub2RlKXsKICAgICAgICAgICAgcmV0dXJuIHBhcmVudFtub2RlXT0ocGFyZW50W25vZGVdPT1ub2RlP25vZGU6ZmluZF9sZWFkZXIocGFyZW50W25vZGVdKSk7CiAgICAgICAgfQogICAgICAgIGJvb2wgc2FtZWwoaW50IG5vZGUxLGludCBub2RlMil7CiAgICAgICAgICAgIHJldHVybiBmaW5kX2xlYWRlcihub2RlMSk9PWZpbmRfbGVhZGVyKG5vZGUyKTsKICAgICAgICB9CiAgICAgICAgdm9pZCB1bmlvbl9zZXQoaW50IG5vZGUxLGludCBub2RlMil7CiAgICAgICAgICAgIGludCB1PWZpbmRfbGVhZGVyKG5vZGUxKSx2PWZpbmRfbGVhZGVyKG5vZGUyKTsKICAgICAgICAgICAgaWYodT09dilyZXR1cm47CiAgICAgICAgICAgIGlmKGdzaXplW3VdPGdzaXplW3ZdJiZmaW5kX2xlYWRlcih1KSE9MClzd2FwKHUsdik7CiAgICAgICAgICAgIGdzaXplW3VdKz1nc2l6ZVt2XSxwYXJlbnRbdl09dTsKICAgICAgICAgICAgc2NvcmVbdl0tPXNjb3JlW3VdOwogICAgICAgICAgICBjb21wcy0tOwogICAgICAgICAgICBteGNtcD1tYXgoZ3NpemVbdV0sbXhjbXApOwogICAgICAgICAgICBtYXhpbWFsW3VdPW1heChtYXhpbWFsW3VdLG1heGltYWxbdl0pOwogICAgICAgICAgIG1pbmltYWxbdV09bWluKG1pbmltYWxbdV0sbWluaW1hbFt2XSk7CiAgICAgICAgfQogICAgICAgIGludCBmaW5kX21pbihpbnQgdSl7CiAgICAgICAgICAgIGludCB2PWZpbmRfbGVhZGVyKHUpOwogICAgICAgICAgICByZXR1cm4gbWluaW1hbFt2XTsKICAgICAgICB9CiAgICAgICAgaW50IGZpbmRfbWF4KGludCB1KXsKICAgICAgICAgICAgaW50IHY9ZmluZF9sZWFkZXIodSk7CiAgICAgICAgICAgIHJldHVybiBtYXhpbWFsW3ZdOwogICAgICAgIH0KICAgICAgICBpbnQgbGFyZ2VzdF9jb21wKCl7CiAgICAgICAgICAgIHJldHVybiBteGNtcDsKICAgICAgICB9CiAgICAgICAgdm9pZCBzY29yZV91cGRhdGUoaW50IHUsaW50IHgpewogICAgICAgICAgIGludCB2PWZpbmRfbGVhZGVyKHUpOwogICAgICAgICAgIHNjb3JlW3ZdKz14OwogICAgICAgIH0KICAgICAgICBpbnQgZ2V0X3Njb3JlKGludCB1KXsKICAgICAgICAgICAgaW50IHY9ZmluZF9sZWFkZXIodSk7CiAgICAgICAgICAgIGludCBhbnM9KHY9PXU/c2NvcmVbdl06c2NvcmVbdl0rc2NvcmVbdV0pOwogICAgICAgICAgICByZXR1cm4gYW5zOwogICAgICAgIH0KICAgIH07CiAgICBzdHJ1Y3QgRWRnZXsKICAgICAgICBpbnQgdSx2OwogICAgICAgIGxvbmcgbG9uZyB3OwoKICAgICAgICBFZGdlKGludCBfdT0wLGludCBfdj0wLGxvbmcgbG9uZyBfdyA9IDApOnUoX3UpLHYoX3YpLHcoX3cpe30KCiAgICAgICAgZnJpZW5kIGlzdHJlYW0mIG9wZXJhdG9yPj4oaXN0cmVhbSAmaW4sIEVkZ2UgJmUpewogICAgICAgICAgICBpbj4+ZS51Pj5lLnY+PmUudzsKICAgICAgICAgICAgcmV0dXJuIGluOwogICAgICAgIH0KCiAgICAgICAgdm9pZCBpbnYoKXsKICAgICAgICAgICAgdyAqPSAtMTsKICAgICAgICB9CiAgICB9OwogICAgYm9vbCBjcyhjb25zdCBFZGdlJiBmcyxjb25zdCBFZGdlJiBzZWMpewogICAgICAgIHJldHVybiBmcy53PHNlYy53OwogICAgfQogICAgdmVjdG9yPEVkZ2U+ZWRnZXM7CiAgICB2ZWN0b3I8dmVjdG9yPGxvbmcgbG9uZz4+YWRqOwogICAgdmVjdG9yPGJvb2w+dmlzaXRlZDsKICAgIHZlY3RvcjxsbD5kaXN0czsKICAgIHZlY3Rvcjx2ZWN0b3I8bG9uZyBsb25nPj5jb3N0czsKICAgIHZvaWQgZGZzKGxsIG4pewogICAgICAgIHZpc2l0ZWRbbl09MTsKICAgICAgIGZvcihsbCZhOmFkaltuXSl7CiAgICAgICAgaWYoIXZpc2l0ZWRbYV0pewogICAgICAgICAgICB2aXNpdGVkW2FdPTE7CiAgICAgICAgICAgIGRpc3RzW2FdPWRpc3RzW25dK2Nvc3RzW25dW2FdOwogICAgICAgICAgICBkZnMoYSk7CiAgICAgICAgfQogICAgICAgfQogICAgfQogIGludCBtYWluKCl7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUoTlVMTCk7CiAgICBpbnQgbixtOwogICAgY2luPj5uPj5tOwogICAgRFNVIGRzdShuKTsKICAgIHZlY3RvcjxwYWlyPGludCxpbnQ+PmluaXQobik7CiAgICBtYXA8cGFpcjxpbnQsaW50PixpbnQ+bXA7CiAgICAgdmVjdG9yPGJvb2w+c3Vydml2ZWQoMipuLDEpOwogICAgIHZlY3RvcjxpbnQ+cmlnaHRzKG4pOwogICAgIHZlY3RvcjxpbnQ+bGVmdHMobik7CiAgICAgdmVjdG9yPHBhaXI8aW50LGludD4+dmFsaWRzKG4qMik7CiAgICB2ZWN0b3I8cGFpcjxpbnQsaW50Pj5jdXRzKG0pOwogICAgZm9yKGludCBpPTA7aTxuO2krKyl7CiAgICAgICAgaW50IHgseTsKICAgICAgICBjaW4+Png+Pnk7CiAgICAgICAgeC0tLHktLTsKICAgICAgICBpbml0W2ldPXt4LHl9OwogICAgICAgIGlmKHg8MClzdXJ2aXZlZFtpKjJdPTA7CiAgICAgICAgZWxzZSBtcFt7aSx4fV09aSoyOwogICAgICAgIHZhbGlkc1tpKjJdPXtpLHh9OwogICAgICAgIGlmKHk8MClzdXJ2aXZlZFtpKjIrMV09MDsKICAgICAgICBlbHNlIG1wW3tpLHl9XT1pKjIrMTsKICAgICAgICB2YWxpZHNbaSoyKzFdPXtpLHl9OwogICAgICAgIGxlZnRzW2ldPXg7CiAgICAgICAgcmlnaHRzW2ldPXk7CiAgICB9CiAgICBmb3IoaW50IGk9MDtpPG07aSsrKXsKICAgICAgICBpbnQgeCx5OwogICAgICAgIGNpbj4+eD4+eTsKICAgICAgICB4LS07CiAgICAgICAgaWYoeT09MSl7CiAgICAgICAgIGF1dG8gaXQ9bXAuZmluZCh7eCxsZWZ0c1t4XX0pOwogICAgICAgICAgICBpZihpdCE9bXAuZW5kKCkpewogICAgICAgICAgICAgICAgc3Vydml2ZWRbbXBbe3gsbGVmdHNbeF19XV09MDsKICAgICAgICAgICAgfQogICAgICAgICAgICBjdXRzW2ldPXt4LGxlZnRzW3hdfTsKICAgICAgICB9CiAgICAgICAgZWxzZXsKICAgICAgICAgICAgYXV0byBpdD1tcC5maW5kKHt4LHJpZ2h0c1t4XX0pOwogICAgICAgICAgICBpZihpdCE9bXAuZW5kKCkpewogICAgICAgICAgICAgICAgc3Vydml2ZWRbbXBbe3gscmlnaHRzW3hdfV1dPTA7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgY3V0c1tpXT17eCxyaWdodHNbeF19OwogICAgICAgIH0KICAgIH0KICAgIGZvcihpbnQgaT0wO2k8MipuO2krKyl7CiAgICAgICAgaWYoc3Vydml2ZWRbaV0pewogICAgICAgICAgICBkc3UudW5pb25fc2V0KHZhbGlkc1tpXS5maXJzdCx2YWxpZHNbaV0uc2Vjb25kKTsKICAgICAgICB9CiAgICB9CiAgICBpbnQgY250PTE7CiAgICB2ZWN0b3I8aW50PiBzZWNzKG4sLTEpOwpyZXZlcnNlKGN1dHMuYmVnaW4oKSxjdXRzLmVuZCgpKTsKCmZvcihpbnQgaT0wO2k8bTtpKyspewogICAgZHN1LnVuaW9uX3NldChjdXRzW2ldLmZpcnN0LGN1dHNbaV0uc2Vjb25kKTsKCiAgICBmb3IoaW50IGo9MDtqPG47aisrKXsKICAgICAgICBpZihkc3UuZmluZF9sZWFkZXIoaik9PWRzdS5maW5kX2xlYWRlcigwKSYmc2Vjc1tqXT09LTEmJmohPTApewogICAgICAgICAgICBzZWNzW2pdPW0taS0xOwogICAgICAgIH0KICAgIH0KfQogICAgZm9yKGludCBpPTA7aTxuO2krKyl7CiAgICAgIAogICAgIGNvdXQ8PHNlY3NbaV08PCJcbiI7CiAgICB9CiAgICByZXR1cm4gMDsKICB9Cg==