typedef long size_t;

namespace std {

template<class _Ty> class allocator
{
public:
    typedef size_t size_type;
};

template<class _Elem,
        class _Traits,
        class _Ax>
        class basic_string
        {       
public:
	typedef typename _Ax::size_type size_type;
        static const size_type npos;   
};

template<class _Elem,
        class _Traits,
        class _Alloc>
         const typename basic_string<_Elem, _Traits, _Alloc>::size_type
                basic_string<_Elem, _Traits, _Alloc>::npos =
                        (typename basic_string<_Elem, _Traits, _Alloc>::size_type)(-1);

typedef basic_string<char, char, allocator<char> >
        string;
};

class String {
	typedef size_t size_type;
	static const size_type npos = std::string::npos;
};

