#include <iostream>
#include <vector>
using namespace std;
class Foo
{
public:
int a;
int Index;
Foo(int _x) : a(_x), Index(-1) {}
Foo(const Foo &_f) : a(_f.a) { Index = ++(const_cast<Foo&>(_f).Index); }
};
int main()
{
int a = 5;
std::vector<Foo> Instances (30, a);
for(auto &f : Instances)
cout << f.Index << ' ';
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgRm9vCnsKcHVibGljOgogICAgaW50IGE7CiAgICBpbnQgSW5kZXg7CiAgICAKICAgIEZvbyhpbnQgX3gpIDogYShfeCksIEluZGV4KC0xKSB7fSAKICAgIEZvbyhjb25zdCBGb28gJl9mKSA6IGEoX2YuYSkgeyBJbmRleCA9ICsrKGNvbnN0X2Nhc3Q8Rm9vJj4oX2YpLkluZGV4KTsgfSAKfTsKICAgIAppbnQgbWFpbigpCnsKICAgIGludCBhID0gNTsKICAgIHN0ZDo6dmVjdG9yPEZvbz4gSW5zdGFuY2VzICgzMCwgYSk7CgogICAgZm9yKGF1dG8gJmYgOiBJbnN0YW5jZXMpCiAgICAgICAgY291dCA8PCBmLkluZGV4IDw8ICcgJzsKCglyZXR1cm4gMDsKfQ==