#include <bits/stdc++.h>
#include "grader.h"
#define f first
#define s second
#define pb push_back
#define ll long long
using namespace std;
vector <ll> a;
ll fix[515];
vector <ll> v[515];
void dfs(ll u){
fix[u]=1; a.pb(u);
for (int i=0; i<v[u].size(); i++){
if (fix[v[u][i]]==1) continue;
dfs(v[u][i]);
}
}
int findEgg (int N, vector < pair < int, int > > bridges)
{
for (int i=1; i<=N; i++) v[i].clear();
for (int i=0; i<bridges.size(); i++){
pair <int,int> br=bridges[i];
v[br.f].pb(br.s);
v[br.s].pb(br.f);
}
// ll fix[N+5];
for (int i=1; i<=N; i++) fix[i]=0;
a.clear();
dfs(1);
ll l,r;
l=1; r=N;
vector <int> islands;
while (l<r){
ll mid=(l+r)/2;
islands.clear();
for (int i=0; i<mid; i++){
islands.pb(a[i]);
}
int ok=query(islands);
if (ok==1){
r=mid;
}
else
l=mid+1;
}
return l;
}