#include<bits/stdc++.h>
#include "swap.h"
using namespace std;
vector<pair<int,int> > p;
vector<int> depth;
vector<vector<pair<int,int> > > n1;
vector<pair<int,pair<int,int> > > hi;
void dfs(int x, int pa){
for (int i = 0;i<n1[x].size();i++){
if (n1[x][i].first==pa) continue;
depth[n1[x][i].first] = depth[x]+1;
p[n1[x][i].first] = make_pair(x,n1[x][i].second);
dfs(n1[x][i].first,x);
}
}
void init(int N, int M,
std::vector<int> U, std::vector<int> V, std::vector<int> W) {
n1.resize(N);
depth.resize(N);
for (int i = 0;i<M;i++){
int a = U[i];
int b = V[i];
int c = W[i];
n1[a].push_back(make_pair(b,c));
n1[b].push_back(make_pair(a,c));
hi.push_back(make_pair(c,make_pair(a,b)));
}
sort(hi.begin(),hi.end());
depth.assign(N,1);
depth[0] = 0;
}
int getMinimumFuelCapacity(int X, int Y) {
if (X==0) return -1;
int ans = max(n1[X][0].second,n1[Y][0].second);
for (int i = 0;i<hi.size();i++){
if (hi[i].second.first == X) continue;
ans = max(hi[i].first,ans);
break;
}
return ans;
}