#ifndef TITBIT_CXX_UTILITY
#define TITBIT_CXX_UTILITY
#include <cstddef>
namespace std {
template<class A,class B> struct pair {typedef A first_type;typedef B second_type; A first;B second;pair():first(),second(){} pair(const A&a,const B&b):first(a),second(b){} template<class C,class D> pair(const pair<C,D>&v):first(v.first),second(v.second){} };
template<class A,class B> pair<A,B> make_pair(A a,B b){return pair<A,B>(a,b);}
template<class T> void swap(T&a,T&b){T c(a);a=b;b=c;}
template<class A,class B> bool operator==(const pair<A,B>&a,const pair<A,B>&b){return a.first==b.first&&a.second==b.second;}
template<class A,class B> bool operator<(const pair<A,B>&a,const pair<A,B>&b){return a.first<b.first||(!(b.first<a.first)&&a.second<b.second);}
}
#endif
