// C++ code to demonstrate the working of lower_bound()
#include <bits/stdc++.h>
using namespace std;
// Driver's code
int main()
{
pair<int, int> v[10];
for(int i=0;i<10;i++){
v[i] = (make_pair(i,i));
}
for(int i=0;i<10;i++){
cout<<v[i].first<<" "<<v[i].second<<endl;
}
int index = lower_bound(v, v+10, make_pair(21,21),
[](const pair<int,int>& lhs, const pair<int,int>& rhs){ return lhs.first < rhs.first; }) - v;
cout<<index<<endl;
}
Ly8gQysrIGNvZGUgdG8gZGVtb25zdHJhdGUgdGhlIHdvcmtpbmcgb2YgbG93ZXJfYm91bmQoKQojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCi8vIERyaXZlcidzIGNvZGUKaW50IG1haW4oKQp7CglwYWlyPGludCwgaW50PiB2WzEwXTsKCWZvcihpbnQgaT0wO2k8MTA7aSsrKXsKCQl2W2ldID0gKG1ha2VfcGFpcihpLGkpKTsKCX0KCWZvcihpbnQgaT0wO2k8MTA7aSsrKXsKCQljb3V0PDx2W2ldLmZpcnN0PDwiICI8PHZbaV0uc2Vjb25kPDxlbmRsOwoJfQoJCglpbnQgaW5kZXggPSBsb3dlcl9ib3VuZCh2LCB2KzEwLCBtYWtlX3BhaXIoMjEsMjEpLCAKCVtdKGNvbnN0IHBhaXI8aW50LGludD4mIGxocywgY29uc3QgcGFpcjxpbnQsaW50PiYgcmhzKXsgcmV0dXJuIGxocy5maXJzdCA8IHJocy5maXJzdDsgfSkgLSB2OwoJCgljb3V0PDxpbmRleDw8ZW5kbDsKfQo=