#include <iostream>
#include <string>
#include <vector>
//namespace A {
template<typename T>
std::ostream& operator<<(std::ostream& ofs, const std::vector<T>& vec)
{
ofs << vec.size() << std::endl;
for (size_t i = 0; i < vec.size(); i++)
ofs << vec[i] << std::endl;
return ofs;
}
//}
namespace B {
void func()
{
std::vector<std::string> vec{"A", "B", "C"};
std::cout << vec <<::std::endl;
}
}
int main()
{
B::func();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8dmVjdG9yPgoKLy9uYW1lc3BhY2UgQSB7CiAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogICAgc3RkOjpvc3RyZWFtJiBvcGVyYXRvcjw8KHN0ZDo6b3N0cmVhbSYgb2ZzLCBjb25zdCBzdGQ6OnZlY3RvcjxUPiYgdmVjKQogICAgewogICAgICAgIG9mcyA8PCB2ZWMuc2l6ZSgpIDw8IHN0ZDo6ZW5kbDsKICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHZlYy5zaXplKCk7IGkrKykKICAgICAgICAgICAgb2ZzIDw8IHZlY1tpXSA8PCBzdGQ6OmVuZGw7CiAgICAgICAgcmV0dXJuIG9mczsKICAgIH0KLy99Cm5hbWVzcGFjZSBCIHsKICAgIHZvaWQgZnVuYygpCiAgICB7CiAgICAgICAgc3RkOjp2ZWN0b3I8c3RkOjpzdHJpbmc+IHZlY3siQSIsICJCIiwgIkMifTsKICAgICAgICBzdGQ6OmNvdXQgPDwgdmVjIDw8OjpzdGQ6OmVuZGw7CiAgICB9Cn0KaW50IG1haW4oKQp7CiAgICBCOjpmdW5jKCk7CiAgICByZXR1cm4gMDsKfQo=