template <int,class T = int()> class TC0;
template <class T> class TC1;
typedef int TC1;
template <class T> class TC2;
int TC2;
template <class T> class TC3;
extern int TC3( int );
typedef int TC4;
template <class T> class TC4;
int TC5;
template <class T> class TC5;
extern int TC6( int );
template <class T> class TC6;
template <class T> class TC7a;
template <class T> class TC7a;
template <class T,int a> class TC7b;
template <class T,int b> class TC7b;
template <class T> class TC8;
template <class T,int x> class TC8;
template <class T,unsigned y> class TC9;
template <class T,int x> class TC9;
template <class T> class TC10;
template <class T> class TC10 {
    int a;
};
template <class T> class TC11 {
    int a;
};
template <class T> class TC11 {
    int a;
};
template <class T> class TC12 {
    int a;
};
template <class T> class TC12 {
    int b;
};
