#include using namespace std; typedef pair pii; typedef long long ll; const int N = 2000010, MOD = 998244353, INF = 0x3f3f3f3f; int n, m, w[N]; int p[N]; int find(int x) { if (p[x] != x) p[x] = find(p[x]); return p[x]; } void solve() { scanf("%d%d", &n, &m); iota(p, p + n + 1, 0); vector > v; for (int i = 1, a, b, c; i < m + 1; i++) { scanf("%d%d%d", &a, &b, &c); v.push_back({c, a, b}); } sort(v.begin(), v.end()); int res = INF; while (v.size() && find(1) != find(n)) { res = v.back()[0]; int a = find(v.back()[1]), b = find(v.back()[2]); p[a] = b; v.pop_back(); } if (find(1) == find(n)) printf("%d\n", res); else puts("NaN"); } int main() { int T = 1; // cin >> T; while (T--) solve(); return 0; }