#include <iostream>
template<typename T>
struct A {
static const T s;
};
template <typename T>
const T A<T>::s = T(1);
template <>
const int A<int>::s = 20;
int main()
{
double a = A<double>::s;
double b = A<int>::s;
std::cout << "a: " << a << std::endl;
std::cout << "b: " << b << std::endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdGVtcGxhdGU8dHlwZW5hbWUgVD4Kc3RydWN0IEEgewogIHN0YXRpYyBjb25zdCBUIHM7Cn07Cgp0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KY29uc3QgVCBBPFQ+OjpzID0gVCgxKTsKCnRlbXBsYXRlIDw+CmNvbnN0IGludCBBPGludD46OnMgPSAyMDsKCmludCBtYWluKCkKewogICBkb3VibGUgYSA9IEE8ZG91YmxlPjo6czsKICAgZG91YmxlIGIgPSBBPGludD46OnM7CgogICBzdGQ6OmNvdXQgPDwgImE6ICIgPDwgYSA8PCBzdGQ6OmVuZGw7CiAgIHN0ZDo6Y291dCA8PCAiYjogIiA8PCBiIDw8IHN0ZDo6ZW5kbDsKfQo=