#include <iostream>
using namespace std;
class X {
public:
static int x;
};
// Teraz X::x bedzie rowne 0.
int X::x;
template <typename T>
class Y {
public:
static int y;
};
template <typename T>
int Y<T>::y = 10;
// Specjalizacja wyglada tak:
template<>
int Y<double>::y = 20;
int main() {
cout << X::x << '\n';
cout << Y<int>::y << '\n';
cout << Y<double>::y << '\n';
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNsYXNzIFggewpwdWJsaWM6CiAgc3RhdGljIGludCB4Owp9OwoKLy8gVGVyYXogWDo6eCBiZWR6aWUgcm93bmUgMC4KaW50IFg6Ong7Cgp0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KY2xhc3MgWSB7CnB1YmxpYzoKICBzdGF0aWMgaW50IHk7Cn07Cgp0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KaW50IFk8VD46OnkgPSAxMDsKCi8vIFNwZWNqYWxpemFjamEgd3lnbGFkYSB0YWs6CnRlbXBsYXRlPD4KaW50IFk8ZG91YmxlPjo6eSA9IDIwOwoKaW50IG1haW4oKSB7CiAgY291dCA8PCBYOjp4IDw8ICdcbic7CiAgY291dCA8PCBZPGludD46OnkgPDwgJ1xuJzsKICBjb3V0IDw8IFk8ZG91YmxlPjo6eSA8PCAnXG4nOwoJCiAgcmV0dXJuIDA7Cn0=