#include #include #include using namespace atcoder; using mint = modint998244353; using namespace std; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf 1000000000000000 int main(){ int N; cin>>N; int M = N; M *= N-1; M /= 2; vector a(M),b(M); vector C(M); vector> S; rep(i,M){ cin>>a[i]>>b[i]>>C[i]; a[i]--;b[i]--; while(C[i].size()!=105)C[i].insert(C[i].begin(),'0'); S.emplace_back(C[i],i); } sort(S.begin(),S.end()); dsu D(N); rep(i,M){ int j = S[i].second; D.merge(a[j],b[j]); if(D.size(0)==N){ string ans = S[i].first; while(ans[0]=='0')ans.erase(ans.begin()); cout<