#include <bits/stdc++.h>
#include "grader.h"
using namespace std;
int findEgg(int n, vector<pair<int, int>> e) {
vector<int> ord;
vector<vector<int>> a(n);
for (auto &[x, y] : e) --x, --y, a[x].emplace_back(y), a[y].emplace_back(x);
auto dfs = [&] (auto &dfs, int v, int p) -> void{
ord.emplace_back(v);
for (int u : a[v]) {
if (u == p) continue;
dfs(dfs, u, v);
}
};
dfs(dfs, 0, -1);
int l = 0, r = n - 1, ans = -1;
while (l <= r) {
int m = (l + r) >> 1;
vector<int> st;
for (int i = 0; i <= m; i++) st.emplace_back(ord[i] + 1);
if (!query(st)) ans = m, l = m + 1;
else r = m - 1;
}
return ord[ans + 1] + 1;
}