#include <bits/stdc++.h>
#include "grader.h"
using namespace std;
const int n=513;
vector<int> ans;
vector<int> adj[n];
bool vis[n];
void dfs(int vv){
ans.push_back(vv+1);
vis[vv]=true;
for(auto u : adj[vv]){
if(vis[u]==false){
dfs(u);
}
}
}
int findEgg (int N, vector < pair < int, int > > bridges)
{
for(int i=0; i<N-1; i++){
int x=bridges[i].first;
int y=bridges[i].second;
x--;
y--;
adj[x].push_back(y);
adj[y].push_back(x);
}
dfs(0);
int anss=-1;
int l=0, r=N-2;
while(l<=r){
int m=(l+r)/2;
vector<int> v;
v.assign(ans.begin(), ans.begin()+m+1);
if(query(v)==1){
r=m-1;
anss=m;
}else{
l=m+1;
}
}
if(anss==-1){
anss=N-1;
}
return ans[anss];
}