template <typename T> class A { public: template <int j> class B: public A{}; };
typedef A<int>::B<1> ::B<2> ::B<3> C;