#include <bits/stdc++.h>
#include "grader.h"
using namespace std;
using pii = pair<int, int>;
const int N = 600;
int n;
vector<int> orders, adj[N];
void dfs(int u, int p) {
orders.push_back(u);
for (int v : adj[u]) {
if (v != p) dfs(v, u);
}
}
int findEgg (int N, vector<pair<int, int>> bridges) {
n = N;
orders.clear();
for (int i = 1; i <= n; i++) adj[i].clear();
for (auto [u, v] : bridges) {
adj[u].push_back(v);
adj[v].push_back(u);
}
dfs(1, -1);
int l = 0, r = n - 1;
while (l < r) {
int mid = (l + r) / 2;
vector<int> islands;
for (int i = 0; i <= mid; i++) islands.push_back(orders[i]);
if (query(islands)) {
r = mid;
}
else {
l = mid + 1;
}
}
return orders[l];
}