#include <bits/stdc++.h>
#include "grader.h"
using namespace std;
vector<int>G[1001];
vector<int>tree;
void dfs(int v,int p)
{
tree.push_back(v);
for(int u:G[v]) if(u!=p) dfs(u,v);
}
int findEgg (int N, vector < pair < int, int > > bridges)
{
for(int i=0;i<N-1;i++)
{
G[bridges[i].first].push_back(bridges[i].second);
G[bridges[i].second].push_back(bridges[i].first);
}
dfs(1,-1);
int l=0,r=tree.size()-1,mx=-1;
while(l<=r)
{
int mid=(l+r)>>1;
vector<int>nodes;
for(int i=0;i<=mid;i++) nodes.push_back(tree[i]);
if(query(nodes)==0)
{
mx=max(mx,mid);
l=mid+1;
}
else r=mid-1;
}
cout<<mx<<endl;
return tree[mx+1];
}