#include <iostream>
template<unsigned int N>
struct odd_only { enum { value = N * (N % 2) }; };
template<unsigned int N>
struct sum_odds { enum { value = odd_only<N>::value + sum_odds<N-1>::value }; };
template<>
struct sum_odds<0>{ enum { value = 0 };};
int main( ) { std::cout << "sum of odds in 0..100 = " << sum_odds<100>::value << std::endl; for(;0;);}
I2luY2x1ZGUgPGlvc3RyZWFtPgp0ZW1wbGF0ZTx1bnNpZ25lZCBpbnQgTj4Kc3RydWN0IG9kZF9vbmx5IHsgZW51bSB7IHZhbHVlID0gTiAqIChOICUgMikgfTsgfTsKdGVtcGxhdGU8dW5zaWduZWQgaW50IE4+CnN0cnVjdCBzdW1fb2RkcyB7IGVudW0geyB2YWx1ZSA9IG9kZF9vbmx5PE4+Ojp2YWx1ZSArIHN1bV9vZGRzPE4tMT46OnZhbHVlIH07IH07CnRlbXBsYXRlPD4Kc3RydWN0IHN1bV9vZGRzPDA+eyBlbnVtIHsgdmFsdWUgPSAwIH07fTsKaW50IG1haW4oICkgeyBzdGQ6OmNvdXQgPDwgInN1bSBvZiBvZGRzIGluIDAuLjEwMCA9ICIgPDwgc3VtX29kZHM8MTAwPjo6dmFsdWUgPDwgc3RkOjplbmRsOyBmb3IoOzA7KTt9Cg==