#include <iostream>
using namespace std;
template <int N> struct Silnia{
enum {value = N * Silnia < N -1>::value };
};
template <> struct Silnia<0>{
enum {value = 1 };
};
int main() {
cout<< Silnia<4>::value <<endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKCnRlbXBsYXRlIDxpbnQgTj4gc3RydWN0IFNpbG5pYXsKCWVudW0ge3ZhbHVlID0gTiAqIFNpbG5pYSA8IE4gLTE+Ojp2YWx1ZSB9Owp9OyAKCnRlbXBsYXRlIDw+IHN0cnVjdCBTaWxuaWE8MD57CgllbnVtIHt2YWx1ZSA9IDEgfTsKfTsKCmludCBtYWluKCkgewoKCWNvdXQ8PCBTaWxuaWE8ND46OnZhbHVlIDw8ZW5kbDsKCXJldHVybiAwOwp9