#include "insects.h"
#include <bitset>
#include <iostream>
using namespace std;
bitset<2000> bs;
int S;
int k = 0;
bool check(int n){
if(n == 1) return true;
int si = k;
for(int i{};i < S;i++){
if(bs[i]) continue;
move_inside(i);
si++;
int p = press_button();
if(p > n){
move_outside(i);
si--;
}
}
//cout << si << " " << n << " " << k << endl;
return (si == n*k);
}
int min_cardinality(int N) {
S = N;
for(int i{};i < N;i++){
move_inside(i);
int p = press_button();
if(p == 2){
move_outside(i);
}
else k++,bs[i] = 1;
}
int l = 1;
int r = N/k;
int ans = 0;
while(l <= r){
int md = l+(r-l)/2;
//cout << md << endl;
if(check(md)) ans = max(ans,md),l = md+1;
else r = md-1;
}
return ans;
}