#include #include using namespace std; template inline int factorial() {return I * factorial();} template <> inline int factorial<0>() {return 1;} int main() { cout << factorial<4>() << "\n"; return EXIT_SUCCESS; }