7template <
class T> std::ostream& operator<<(std::ostream& os,
const std::vector<T>& v) {
16template <
class T> std::ostream& operator<<(std::ostream& os,
const std::set<T>& s) {
18 for (
auto& item : s) {
25template <
class K,
class V> std::ostream& operator<<(std::ostream& os,
const std::map<K, V>& m) {
27 for (
auto& item : m) {
28 os << item.first <<
": " << item.second <<
",";