#include <iostream>
using namespace std;
struct A
{
static int x;
};
template<class>
struct S
{
int& get() { return A::x; }
};
int A::x = 0;
int main()
{
S<int> i1, i2;
S<long> l;
cout << i1.get() << " " << i2.get() << " " << l.get() << "\n";
i1.get()++;
cout << i1.get() << " " << i2.get() << " " << l.get() << "\n";
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RydWN0IEEKewoJc3RhdGljIGludCB4Owp9OwoKdGVtcGxhdGU8Y2xhc3M+CnN0cnVjdCBTCnsKCWludCYgZ2V0KCkgeyByZXR1cm4gQTo6eDsgfQp9OwoKaW50IEE6OnggPSAwOwoKaW50IG1haW4oKQp7CglTPGludD4gaTEsIGkyOwoJUzxsb25nPiBsOwoJCgljb3V0IDw8IGkxLmdldCgpIDw8ICIgIiA8PCBpMi5nZXQoKSA8PCAiICIgPDwgbC5nZXQoKSA8PCAiXG4iOwoJaTEuZ2V0KCkrKzsKCWNvdXQgPDwgaTEuZ2V0KCkgPDwgIiAiIDw8IGkyLmdldCgpIDw8ICIgIiA8PCBsLmdldCgpIDw8ICJcbiI7Cn0=