#include using namespace std; int main(){ int N; cin >> N; vector H(N); for(int i=0;i> H[i]; sort(H.rbegin(),H.rend()); cout << *ranges::partition_point(views::iota(N,N+61),[&](int x){ priority_queue A(H.begin()+max(x-60,0),H.end()); for(int i=min(x-1,59);i>=0 && !A.empty();i--){ long long pos=A.top(); A.pop(); if(pos>(1LL<