#include <iostream>
template < unsigned int N, unsigned int P > struct cpow
{ enum { value = cpow<N,P-1>::value * N }; };
template < unsigned int N > struct cpow<N,0>
{ enum { value = 1 }; };
struct A
{
int my_array[ cpow<2,8>::value ] ;
};
int main()
{
std::cout << sizeof(A) << '\n' ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgogCnRlbXBsYXRlIDwgdW5zaWduZWQgaW50IE4sIHVuc2lnbmVkIGludCBQID4gc3RydWN0IGNwb3cKeyBlbnVtIHsgdmFsdWUgPSBjcG93PE4sUC0xPjo6dmFsdWUgKiBOIH07IH07CiAKdGVtcGxhdGUgPCB1bnNpZ25lZCBpbnQgTiA+IHN0cnVjdCBjcG93PE4sMD4KeyBlbnVtIHsgdmFsdWUgPSAxIH07IH07CiAKc3RydWN0IEEKewogICAgaW50IG15X2FycmF5WyBjcG93PDIsOD46OnZhbHVlIF0gOwp9OwogCmludCBtYWluKCkKewogICAgc3RkOjpjb3V0IDw8IHNpemVvZihBKSA8PCAnXG4nIDsKfQo=