#include<bits/stdc++.h>
using namespace std;
#define int long long
#define PII pair<int,int>
int n,m,ans=0,cnt=0;
vector<PII>mp[50050];
int dis[50050],vis[50050];
priority_queue<PII,vector<PII>,greater<PII> >q;
signed main(){
cin>>n>>m;
for(int i=1;i<=m;i++){
int x,y,z;
cin>>x>>y>>z;
mp[x].push_back({z,y});
mp[y].push_back({z,x});
}
for(int i=1;i<=n;i++){
dis[i]=0x3f3f3f3f;
}
dis[1]=0;
q.push({0,1});
while(q.size()&&cnt<n){
int id=q.top().second;
int data=q.top().first;
q.pop();
if(vis[id])continue;
vis[id]=1;
cnt++;
ans+=data;
dis[id]=0;
for(int i=0;i<mp[id].size();i++){
if(dis[mp[id][i].second]>mp[id][i].first&&!vis[i]){
dis[mp[id][i].second]=mp[id][i].first;
q.push({dis[mp[id][i].second],mp[id][i].second});
}
}
}
cout<<cnt<<endl;
if(cnt==n)cout<<ans<<endl;
else cout<<"orz"<<endl;
return 0;
}