#include <vector>
#include <iostream>
using namespace std;
using MyVec = std::vector<unsigned>;
int main()
{
MyVec vec;
unsigned count = 32;
auto last = vec.capacity();
while (count-- && (last < vec.max_size()))
{
auto sz = last;
cout << sz * sizeof(MyVec::value_type) << " bytes allocated (diff ";
vec.resize(sz + 1);
last = vec.capacity();
cout << (last - sz) * sizeof(MyVec::value_type) << ')' << endl;
}
return 0;
}
CiNpbmNsdWRlIDx2ZWN0b3I+CiNpbmNsdWRlIDxpb3N0cmVhbT4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnVzaW5nIE15VmVjID0gc3RkOjp2ZWN0b3I8dW5zaWduZWQ+OwoKaW50IG1haW4oKQp7CiAgTXlWZWMgdmVjOwogIHVuc2lnbmVkIGNvdW50ID0gMzI7CiAgYXV0byBsYXN0ID0gdmVjLmNhcGFjaXR5KCk7CgogIHdoaWxlIChjb3VudC0tICYmIChsYXN0IDwgdmVjLm1heF9zaXplKCkpKQogIHsKICAgIGF1dG8gc3ogPSBsYXN0OwogICAgY291dCA8PCBzeiAqIHNpemVvZihNeVZlYzo6dmFsdWVfdHlwZSkgPDwgIiBieXRlcyBhbGxvY2F0ZWQgKGRpZmYgIjsKICAgIHZlYy5yZXNpemUoc3ogKyAxKTsKICAgIGxhc3QgPSB2ZWMuY2FwYWNpdHkoKTsKICAgIGNvdXQgPDwgKGxhc3QgLSBzeikgKiBzaXplb2YoTXlWZWM6OnZhbHVlX3R5cGUpIDw8ICcpJyA8PCBlbmRsOwogIH0KCiAgcmV0dXJuIDA7Cn0K