#include #define ALL(v) std::begin(v),std::end(v) using lint=long long; using lubl=long double; int main(){ std::cin.tie(nullptr);std::ios_base::sync_with_stdio(false); std::cout.setf(std::ios_base::fixed);std::cout.precision(15); lint n,m;std::cin>>n>>m; std::vectora(n),sz(n,1); std::vector>mems(n); std::iota(ALL(a),0ll); for(lint i=0;i>u>>v;u--,v--; if(a.at(u)==a.at(v))continue; u=a.at(u),v=a.at(v); if(sz.at(u)v)std::swap(u,v); u=a.at(u),v=a.at(v); sz.at(u)+=std::exchange(sz.at(v),0);; for(lint x:mems.at(v)){ assert(a.at(x)==v); a.at(x)=u; } mems.at(u).insert(mems.at(u).end(),ALL(mems.at(v))); mems.at(v).clear(); } for(lint x:a){ std::cout<