namespace std{
template<class T1 , class T2>
struct pair
{
typedef T1 first_type;
typedef T2 second_type;
T1 first;
T2 second;
pair() :first(T1()), second(T2()){}
template<class U, class V>
pair(const pair<U, V>& p) : first(p.first), second(p.second){
}
};
template<class T1