#include <iostream>
#include <set>
#include <vector>
using namespace std;
class X
{
public:
int x;
};
typedef std::vector<X> v1;
typedef std::vector<v1> v2;
typedef std::vector<v2> v3;
void foo(X& x)
{
x.x++;
}
int main()
{
v3 myVec(1024,v2(1,v1(1024,X())));
int constant=0;
for(int cycle=0;cycle<1000;cycle++) // do it 10 times
{
for(v3::iterator itOuter = myVec.begin(); itOuter != myVec.end(); ++itOuter)
{
v1& vec = (*itOuter)[constant];
for(v1::iterator itInner = vec.begin(); itInner != vec.end(); ++itInner)
foo(*itInner);
}
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c2V0PgojaW5jbHVkZSA8dmVjdG9yPgogCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKY2xhc3MgWAp7CnB1YmxpYzoKICAgIGludCB4Owp9OwogCiAKdHlwZWRlZiBzdGQ6OnZlY3RvcjxYPiB2MTsKdHlwZWRlZiBzdGQ6OnZlY3Rvcjx2MT4gdjI7CnR5cGVkZWYgc3RkOjp2ZWN0b3I8djI+IHYzOwogCiAKdm9pZCBmb28oWCYgeCkKewogICAgeC54Kys7Cn0KIAppbnQgbWFpbigpCnsKICAgIHYzIG15VmVjKDEwMjQsdjIoMSx2MSgxMDI0LFgoKSkpKTsKICAgIGludCBjb25zdGFudD0wOwogCiAgICBmb3IoaW50IGN5Y2xlPTA7Y3ljbGU8MTAwMDtjeWNsZSsrKSAvLyBkbyBpdCAxMCB0aW1lcwogICAgewogICAgICAgIGZvcih2Mzo6aXRlcmF0b3IgaXRPdXRlciA9IG15VmVjLmJlZ2luKCk7IGl0T3V0ZXIgIT0gbXlWZWMuZW5kKCk7ICsraXRPdXRlcikKICAgICAgICB7CiAgICAgICAgICAgIHYxJiB2ZWMgPSAoKml0T3V0ZXIpW2NvbnN0YW50XTsKICAgICAgICAgICAgZm9yKHYxOjppdGVyYXRvciBpdElubmVyID0gdmVjLmJlZ2luKCk7IGl0SW5uZXIgIT0gdmVjLmVuZCgpOyArK2l0SW5uZXIpCiAgICAgICAgICAgICAgICBmb28oKml0SW5uZXIpOwogICAgICAgIH0KICAgIH0KIAogICAgcmV0dXJuIDA7Cn0=