#include<bits/stdc++.h>
using namespace std;
int n,a[1001],k;int b_search1(int l,int r,int k){while(l<r){int m=l+r+1>>1;//检查是否满足橙色性质 if(a[m]<=k) l=m;else r=m-1;}//循环结束l和r同时指向边界 return l;
}int b_search2(int l,int r,int k){while(l<r){int m=l+r>>1;//检查是否满足绿色性质 if(a[m]>=k) r=m;else l=m+1;}//循环结束l和r同时指向边界 return l;
}int main(){cin>>n;for(int i=1;i<=n;i++)cin>>a[i];//二分使用的前提,排序sort(a+1,a+n+1);//1、找满足左侧性质的最大值(橙色区域右边界)//小于等于k的最大值 cin>>k; cout<<b_search1(1,n,k);//返回 小于等于k的最大值 的下标 //2、找满足右侧性质的最小值(绿色区域左边界)//大于等于k的最小值cout<<endl<<b_search2(1,n,k); int x1=lower_bound(a+1,a+n+1,3)-a;//返回绿色区域的左边界,<=3的最小下标 int x2=upper_bound(a+1,a+n+1,3)-a;//返回橙色区域的右边界,>=3的最大下标 cout<<x1<<" "<<x2; return 0;
}