#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define popcount __builtin_popcount using namespace std; typedef long long int ll; typedef pair P; int main() { int n, m; cin>>n>>m; int b[200020], c[200020]; map mp; for(int i=0; i>b[i]>>c[i]; mp[b[i]]=0, mp[c[i]]=0; } int v[400040]; int l=0; for(auto &p:mp){ p.second=l; v[l]=p.first; l++; } vector g[400040]; for(int i=0; ivoid{ used[x]=1; cnt++; sum+=v[x]; for(auto y:g[x]){ if(!used[y] && y=0; i--){ if(used[i]) continue; cnt=0; sum=0; dfs(dfs, i, i); ans+=cnt*v[i]-sum; } cout<