#include int main(){ int n,k;std::cin>>n>>k; std::vector>>g(n); std::vector>member(k); for(int i=0;i>u>>v>>c; u--,v--,c--; g.at(u).emplace_back(v,c); g.at(v).emplace_back(u,c); member.at(c).push_back(u); member.at(c).push_back(v); } for(int i=0;i>>h(k); for(int i=0;i>a(n); for(int i=0;ickd(sz,false); for(int j=0;jcmp; std::queueque; que.push(j); ckd.at(j)=true; while(!que.empty()){ int x=que.front();que.pop(); cmp.push_back(x); for(int y:h.at(i).at(x)){ if(ckd.at(y))continue; que.push(y); ckd.at(y)=true; } } int val=cmp.size()-1; for(int x:cmp){ a.at(mem.at(x)).push_back(val); } } } long long ans=0; for(int i=0;i