#include <bits/stdc++.h>
#include "grader.h"
using namespace std;
#define pb push_back
template<class _,class __>
bool minimize(_ & a,const __ b) {
if (a > b) {
a = b;
return true;
}
return false;
}
const int MaxN = 555;
int n,Arr[MaxN];
vector<int> a[MaxN];
void dfs(int u,int p) {
Arr[++n] = u;
for (int v : a[u]) {
if (v == p) continue;
dfs(v,u);
}
}
int findEgg (int N, vector < pair < int, int > > bridges)
{
// if (query ({1})) return 1;
// return N;
n = 0;
for (pair<int,int> tmp : bridges) {
int u = tmp.first;
int v = tmp.second;
a[u].pb(v);
a[v].pb(u);
}
dfs(1,-1);
int l = 1, r = n;
while (l < r) {
int mid = (l+r) >> 1;
vector<int> tmp;
for (int i=1;i<=mid;i++) tmp.pb(Arr[i]);
if (query(tmp)) {
r = mid;
}
else l = mid + 1;
}
for(int i=1;i<=n;i++) a[i].clear();
return Arr[l];
}