#include <iostream>
#include <utility>
using namespace std;

template<typename T> class A { };
template<typename T> class A1: public A<T>{ };
template<typename T> class A2: public A<T>{ };

template<typename T, template <typename> typename Atype>
class WrapperA {
   Atype<pair<T, int>> atypeobj;
};

int main()
{
	WrapperA<int, A1> w1;
	WrapperA<int, A2> w2;
	return 0;
}