#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
struct Mop{
Mop( string n, int a){
name = n;
age = a;
}
string name;
int age;
bool operator < ( const Mop&a) const {
return age < a.age;
}
};
void AddVector(vector<Mop> &a, string n , int aa){
Mop mop(n,aa);
auto it = lower_bound(a.begin(), a.end(), mop , [](const Mop &ar, const Mop &br){ return ar < br;});
a.insert(it, mop);
}
int main()
{
vector<Mop> a;
AddVector(a,"John",15);
AddVector(a,"Swan",10);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKCnN0cnVjdCBNb3B7CiAgICBNb3AoIHN0cmluZyBuLCBpbnQgYSl7CiAgICAgICAgbmFtZSA9IG47CiAgICAgICAgYWdlICA9IGE7CiAgICB9CiAgICBzdHJpbmcgbmFtZTsKICAgIGludCAgICAgYWdlOwogICAgYm9vbCBvcGVyYXRvciA8ICggY29uc3QgTW9wJmEpIGNvbnN0IHsKICAgICAgICByZXR1cm4gYWdlIDwgYS5hZ2U7CiAgICB9Cn07CgoKdm9pZCBBZGRWZWN0b3IodmVjdG9yPE1vcD4gJmEsIHN0cmluZyBuICwgaW50IGFhKXsKICAgIE1vcCBtb3AobixhYSk7CiAgICBhdXRvIGl0ID0gbG93ZXJfYm91bmQoYS5iZWdpbigpLCBhLmVuZCgpLCBtb3AgLCBbXShjb25zdCBNb3AgJmFyLCBjb25zdCBNb3AgJmJyKXsgcmV0dXJuIGFyIDwgYnI7fSk7CiAgICBhLmluc2VydChpdCwgbW9wKTsKfQppbnQgbWFpbigpCnsKICAgIHZlY3RvcjxNb3A+IGE7CiAgICBBZGRWZWN0b3IoYSwiSm9obiIsMTUpOwogICAgQWRkVmVjdG9yKGEsIlN3YW4iLDEwKTsKICAgIHJldHVybiAwOwp9