template <int x> struct S {}; // [3]
template <int x, int y> struct S {}; // [1]
//template <int w, int z> struct S {}; // [2] <-- ill-formed
//template <int x> struct S<x,5+2> {}; // [3]
//template <int w> struct S<w,3+4> {}; // [4] <-- ill-formed
template <> struct S<6+1,4+3> {}; // [5]
//template <> struct S<2+5,8-1> {}; // [6] <-- ill-formed
int main(){}