#include <iostream>
using namespace std;
template<typename X = int> class Test
{
public:
size_t size;
X *tb;
Test(size_t size):size(size),tb(new X[size]) {}
~Test() { delete[] tb; }
X &operator[](size_t idx) { return tb[idx]; }
};
int main()
{
Test<> a(5);
a[3]=666;
cout<<a[3]<<endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdGVtcGxhdGU8dHlwZW5hbWUgWCA9IGludD4gY2xhc3MgVGVzdAogIHsKICAgcHVibGljOgogICBzaXplX3Qgc2l6ZTsKICAgWCAqdGI7CiAgIFRlc3Qoc2l6ZV90IHNpemUpOnNpemUoc2l6ZSksdGIobmV3IFhbc2l6ZV0pIHt9CiAgIH5UZXN0KCkgeyBkZWxldGVbXSB0YjsgfQogICBYICZvcGVyYXRvcltdKHNpemVfdCBpZHgpIHsgcmV0dXJuIHRiW2lkeF07IH0KICB9OwogIAppbnQgbWFpbigpCiAgewogICBUZXN0PD4gYSg1KTsKICAgYVszXT02NjY7CiAgIGNvdXQ8PGFbM108PGVuZGw7CiAgIHJldHVybiAwOwogIH0=