#include <bits/stdc++.h>
#include "grader.h"
#define ff first
#define sc second
vector<int> ok;
vector<int> v1[515];
int vis[515];
void dfs(int u){
vis[u] = 1;
ok.push_back(u);
for(auto i : v1[u]){
if(vis[i]==0) dfs(i);
}
}
int findEgg (int n, vector < pair < int, int > > v2){
ok.clear();
for(int i = 0; i<=n; i++){vis[i] = 0; v1[i].clear();}
for(int i = 0; i < n-1; i++) {
int x = v2[i].ff, y = v2[i].sc;
v1[x].push_back(y);
v1[y].push_back(x);
}
ok.push_back(-1);
dfs(1);
int l = 1, r = n-1;
int x = n;
cout << endl;
while(l<=r){
vector<int>ans ;
int m = (l+r)/2;
for(int i = 1; i <= m; i++) ans.push_back(ok[i]);
if(query(ans)) {r = m-1; x = m;}
else l = m+1;
}
return ok[x];
}