#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); }