#include <iostream>
#include <set>
struct A {
int i = 0;
bool operator()(int a, int b)
{
++i;
return a < b;
}
};
int main()
{
A a;
std::set<int, A> s(a);
for (int j = 0; j < 10; ++j) {
int const prev = s.key_comp().i;
s.insert(j);
std::cout << j << ": " << (s.key_comp().i - prev) << "\n";
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c2V0PgoKc3RydWN0IEEgewogICAgaW50IGkgPSAwOwogICAgYm9vbCBvcGVyYXRvcigpKGludCBhLCBpbnQgYikKICAgIHsKICAgICAgICArK2k7CiAgICAgICAgcmV0dXJuIGEgPCBiOwogICAgfQp9OwoKaW50IG1haW4oKQp7ICAgIAogICAgQSBhOwoKICAgIHN0ZDo6c2V0PGludCwgQT4gcyhhKTsKCglmb3IgKGludCBqID0gMDsgaiA8IDEwOyArK2opIHsKCQlpbnQgY29uc3QgcHJldiA9IHMua2V5X2NvbXAoKS5pOwoJCXMuaW5zZXJ0KGopOwoJCXN0ZDo6Y291dCA8PCBqIDw8ICI6ICIgPDwgKHMua2V5X2NvbXAoKS5pIC0gcHJldikgPDwgIlxuIjsKCX0KfQo=