WA4~10
#include<bits/stdc++.h>
using namespace std;
int fa[114514],n,m,ans,tp,l;
struct clouds{
int a;
int b;
int how_much;//权值
}a[1145];
void init(){
for(int i=0;i<n;i++)fa[i]=i;
}
int find(int a){
if(fa[a]==a) return a;
else return find(fa[a]);
}
void unnion(int a,int b){
a=find(a);b=find(b);
fa[a]=b;
}
bool cmp(clouds a,clouds b){
return a.how_much<b.how_much;
}
int main(){
cin>>n>>m>>l;
init();
for(int i=0;i<m;i++){
cin>>a[i].a>>a[i].b>>a[i].how_much;
}
sort(a,a+m,cmp);
for(int i=0;i<m;i++){
if(find(a[i].a)!=find(a[i].b)){
unnion(a[i].a,a[i].b);
ans+=a[i].how_much;tp++;
}
if(tp>=n-l){
cout<<ans;
return 0;
}
}
cout<<"No Answer";
return 0;
}