#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int findIndex(vector<int>nums,int target){
int n=nums.size();
int ans=-1;
int low=0;
int high=n-1;
while(low<=high){
int mid=(low+high)/2;
if(nums[mid]>target){
ans=nums[mid];
high=mid-1;
}
else{
low=mid+1;
}
}
return ans;
}
int main(){
int n;
cin>>n;
vector<int>nums(n);
for(int i=0;i<n;i++){
cin>>nums[i];
}
int target;
cin>>target;
int index=findIndex(nums,target);
cout<<"The smallest element greater than given target: "<<index<<endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBmaW5kSW5kZXgodmVjdG9yPGludD5udW1zLGludCB0YXJnZXQpewogICAgaW50IG49bnVtcy5zaXplKCk7CiAgICBpbnQgYW5zPS0xOwogICAgaW50IGxvdz0wOwogICAgaW50IGhpZ2g9bi0xOwoKICAgIHdoaWxlKGxvdzw9aGlnaCl7CiAgICAgICAgaW50IG1pZD0obG93K2hpZ2gpLzI7CiAgICAgICAgaWYobnVtc1ttaWRdPnRhcmdldCl7CiAgICAgICAgICAgIGFucz1udW1zW21pZF07CiAgICAgICAgICAgIGhpZ2g9bWlkLTE7CiAgICAgICAgfQogICAgICAgIGVsc2V7CiAgICAgICAgICAgIGxvdz1taWQrMTsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gYW5zOwp9CmludCBtYWluKCl7CiAgICBpbnQgbjsKICAgIGNpbj4+bjsKICAgIHZlY3RvcjxpbnQ+bnVtcyhuKTsKICAgIGZvcihpbnQgaT0wO2k8bjtpKyspewogICAgICAgIGNpbj4+bnVtc1tpXTsKICAgIH0KICAgIGludCB0YXJnZXQ7CiAgICBjaW4+PnRhcmdldDsKICAgIGludCBpbmRleD1maW5kSW5kZXgobnVtcyx0YXJnZXQpOwogICAgY291dDw8IlRoZSBzbWFsbGVzdCBlbGVtZW50IGdyZWF0ZXIgdGhhbiBnaXZlbiB0YXJnZXQ6ICI8PGluZGV4PDxlbmRsOwogICAgcmV0dXJuIDA7Cn0=