#include "insects.h"
#include <bits/stdc++.h>
using namespace std;
signed min_cardinality(signed N) {
using ll = long long;
#define int ll
bool inside[2005];
int num_unique = 0;
for (int i = 0; i < N; ++i) {
move_inside(i);
inside[i] = true;
int call = press_button();
if (call > 1) {
move_outside(i);
inside[i] = false;
}
else {
num_unique++;
}
}
if (num_unique * 2 > N) return 1;
int lo = 3; int hi = N / num_unique;
int ans = 2;
while (lo <= hi) {
int tgt = (lo + hi) / 2;
set<int> this_iter;
for (int j = 0; j < N; ++j) {
if (inside[j]) continue;
move_inside(j);
inside[j] = true;
int call = press_button();
if (call > tgt) {
move_outside(j);
inside[j] = false;
continue;
}
this_iter.emplace(j);
}
if (this_iter.size() == (num_unique * (tgt - ans))) {
ans = tgt;
lo = tgt + 1;
}
else {
hi = tgt - 1;
for (int i : this_iter) {
inside[i] = false;
move_outside(i);
}
}
}
return ans;
}