struct pairhash {
public:
template <typename T, typename U>
std::size_t operator()(const std::pair<T, U> &x) const
{
return std::hash<T>()(x.first) ^ std::hash<U>()(x.second);
}
};

class abc {
std::unordered_map<std::pair<int,int>, int, pairhash> rules;
};