#include <bits/stdc++.h>
using namespace std;
int main() {
vector<int>arr = {1,1,1,1,2,2,3,3,3,3,6,6,6,6};
int n = arr.size();
int k = 4;
int s = 0;
int e = n-1;
while(s<=e){
int mid = s + (e - s)/2;
int x = arr[mid];
int firstOcc = lower_bound(arr.begin(),arr.end(),x) - arr.begin();
int lastOcc = upper_bound(arr.begin(),arr.end(),x) - arr.begin() - 1;
int len = lastOcc - firstOcc + 1;
if(len!=k){
cout<<x;
return 0;
}
else{
if((lastOcc - s + 1) % k == 0){ // answer in right half
s = lastOcc+1;
}
else{
e = firstOcc-1;
}
}
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCXZlY3RvcjxpbnQ+YXJyID0gezEsMSwxLDEsMiwyLDMsMywzLDMsNiw2LDYsNn07CglpbnQgbiA9IGFyci5zaXplKCk7CglpbnQgayA9IDQ7CgkKCWludCBzID0gMDsKCWludCBlID0gbi0xOwoJd2hpbGUoczw9ZSl7CgkJaW50IG1pZCA9IHMgKyAoZSAtIHMpLzI7CgkJaW50IHggPSBhcnJbbWlkXTsKCQlpbnQgZmlyc3RPY2MgPSBsb3dlcl9ib3VuZChhcnIuYmVnaW4oKSxhcnIuZW5kKCkseCkgLSBhcnIuYmVnaW4oKTsKCQlpbnQgbGFzdE9jYyA9IHVwcGVyX2JvdW5kKGFyci5iZWdpbigpLGFyci5lbmQoKSx4KSAtIGFyci5iZWdpbigpIC0gMTsKCQlpbnQgbGVuID0gbGFzdE9jYyAtIGZpcnN0T2NjICsgMTsKCQlpZihsZW4hPWspewoJCQljb3V0PDx4OwoJCQlyZXR1cm4gMDsKCQl9CgkJZWxzZXsKCQkJaWYoKGxhc3RPY2MgLSBzICsgMSkgJSBrID09IDApeyAvLyBhbnN3ZXIgaW4gcmlnaHQgaGFsZgoJCQkJcyA9IGxhc3RPY2MrMTsKCQkJfQoJCQllbHNlewoJCQkJZSA9IGZpcnN0T2NjLTE7CgkJCX0KCQl9Cgl9CglyZXR1cm4gMDsKfQ==