#include <bits/stdc++.h>
#include "swap.h"
#define REP(i,a,b) for(int i = a; i<b; i++)
#define RREP(i,a,b) for(int i = a; i>b; i--)
using namespace std;
typedef long long ll;
vector<int> srt,wt;
void init(int N, int M, vector<int> U, vector<int> V, vector<int> W) {
wt.resize(N);
REP(i,0,M){
wt[V[i]] = W[i];
}
srt.resize(M);
iota(srt.begin(), srt.end(), 1);
sort(srt.begin(), srt.end(), [&](int a, int b){return wt[a]<wt[b];});
}
int getMinimumFuelCapacity(int X, int Y) {
set<int> tmp;
if(X!=0) tmp.insert(X);
if(Y!=0) tmp.insert(Y);
for(int i = 0;i<srt.size(); i++){
if(tmp.size() == 3) break;
tmp.insert(srt[i]);
}
if(tmp.size()<3) return -1;
int res = 0;
for(int i: tmp) res = max(res,wt[i]);
return res;
}