#include #include #include template std::ostream& operator<<(std::ostream& os, const std::vector& list) { unsigned long i = 0; os << "["; for (auto el : list) { os << el; if (i < list.size() - 1) os << ", "; i++; } os << "]"; return os; } inline void error(const char* msg) { std::cerr << msg << std::endl; exit(1); }