/*给定一个有序数组,小->大
找出数组中目标元素的最小下标
未找到返回-1*/
#include<bits/stdc++.h>
using namespace std;
const int N=1e6;
int a[N];
int main(){
int n;cin>>n;//数组元素个数
for(int i=0;i<n;i++) cin>>a[i];
int t;cin>>t;//目标元素
int l=0,r=n-1;//左右边界
int mid=(l+r)/2;//中
while(l<r){
if(a[mid]>=t) r=mid;
else l=mid+1;
mid=(l+r)/2;
}//循环结束l==r==mid,下一步可以l,r,mid
if(a[l]==t) cout<<l;//判断数组中是否存在t
else cout<<-1;
return 0;
}