#include <bits/stdc++.h>
using namespace std;
int lower_bound(int a[], int start, int end)
{
int l= start;
int r = end;
while(l<r)
{
int m = (l+r)/2;
if(a[m]==1&&a[m-1]==0)
return m;
if(a[m]==1&&a[m-1]==1)
r = m;
else
l =m;
if(l==r-1)
break;
}
if(l==r-1&&a[l]==0&&a[r]==1)
return r;
return -1;
}
int main()
{
int start =0,end=1000;
int a[end];
for(int i=0;i<999;i++)
a[i] =0;
for(int i=999;i<1000;i++)
a[i] =1;
int ptr = lower_bound(a,start,end-1);
cout<<ptr;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBsb3dlcl9ib3VuZChpbnQgYVtdLCBpbnQgc3RhcnQsIGludCBlbmQpCnsKICAgIGludCBsPSBzdGFydDsKICAgIGludCByID0gZW5kOwogICAgd2hpbGUobDxyKQogICAgewogICAgICAgIGludCBtID0gKGwrcikvMjsKICAgICAgICBpZihhW21dPT0xJiZhW20tMV09PTApCiAgICAgICAgcmV0dXJuIG07CiAgICAgICAgaWYoYVttXT09MSYmYVttLTFdPT0xKQogICAgICAgIHIgPSBtOwogICAgICAgIGVsc2UKICAgICAgICBsID1tOwogICAgICAgIGlmKGw9PXItMSkKICAgICAgICBicmVhazsKICAgIH0KICAgIGlmKGw9PXItMSYmYVtsXT09MCYmYVtyXT09MSkKICAgIHJldHVybiByOwogICAgcmV0dXJuIC0xOwp9CmludCBtYWluKCkKewogICAgaW50IHN0YXJ0ID0wLGVuZD0xMDAwOwogICAgaW50IGFbZW5kXTsKICAgIGZvcihpbnQgaT0wO2k8OTk5O2krKykKICAgIGFbaV0gPTA7CiAgICBmb3IoaW50IGk9OTk5O2k8MTAwMDtpKyspCiAgICBhW2ldID0xOwogICAgaW50IHB0ciA9IGxvd2VyX2JvdW5kKGEsc3RhcnQsZW5kLTEpOwogICAgY291dDw8cHRyOwp9