#include <cstdio> template <int a, int b> struct F { enum { value = a * b }; }; template <int a> struct F<a, a> { enum { value = -1 }; }; int main() { int x = F<2, 2>::value; printf("%d\n", x); return 0; }