Miangoa @ 2023-07-17 19:16:41
#include<bits/stdc++.h>
using namespace std;
int n,m,k,sit[200001][2],fat[400001],del[400001],ans[400001];
bool bre[400001];
int find(int p) {
if(fat[p]==p||bre[fat[p]])
return p;
else
return fat[p]=find(fat[p]);
}
void read() {
cin>>n>>m;
for(int i=1; i<=m; i++)
cin>>sit[i][0]>>sit[i][1];
cin>>k;
for(int i=1; i<=k; i++) {
cout<<i<<' ';
cin>>del[i];
bre[del[i]]=true;
}
}
int main() {
read();
for(int i=0; i<n; i++)
fat[i]=i;
for(int i=1; i<=m; i++)
fat[find(sit[i][0])]=find(sit[i][1]);
for(int i=k; i>=0; i--) {
cout<<i<<' ';
bre[del[i]]=false;
for(int j=0; j<n; j++)
// if(!bre[j]&&find(j)==j)
ans[i]++;
}
for(int i=0; i<=k; i++)
cout<<ans[i]<<endl;
}