#ifndef SJTU_UTILITY_HPP #define SJTU_UTILITY_HPP #include namespace sjtu { template class pair { public: T1 first; T2 second; constexpr pair() : first(), second() {} pair(const pair &other) = default; pair(pair &&other) = default; pair(const T1 &x, const T2 &y) : first(x), second(y) {} template pair(U1 &&x, U2 &&y) : first(x), second(y) {} template pair(const pair &other) : first(other.first), second(other.second) {} template pair(pair &&other) : first(other.first), second(other.second) {} }; } #endif