#include <iostream>
#include <vector>
#include <set>
using namespace std;
template <template<class...> class Container>
string pack_addrs(const Container<string>& caddrs) {
string res;
for (const string &addr : caddrs) {
res += addr + ",";
}
return res.substr(0, res.size()-1);
}
int main() {
vector<string> v{"one", "one", "two", "three"};
cout << pack_addrs(v) << "\n";
set<string> s{"one", "one", "two", "three"};
cout << pack_addrs(s) << "\n";
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8c2V0Pgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdGVtcGxhdGUgPHRlbXBsYXRlPGNsYXNzLi4uPiBjbGFzcyBDb250YWluZXI+CnN0cmluZyBwYWNrX2FkZHJzKGNvbnN0IENvbnRhaW5lcjxzdHJpbmc+JiBjYWRkcnMpIHsKICBzdHJpbmcgcmVzOwogIGZvciAoY29uc3Qgc3RyaW5nICZhZGRyIDogY2FkZHJzKSB7CiAgICByZXMgKz0gYWRkciArICIsIjsKICB9CiAgcmV0dXJuIHJlcy5zdWJzdHIoMCwgcmVzLnNpemUoKS0xKTsKfQoKaW50IG1haW4oKSB7Cgl2ZWN0b3I8c3RyaW5nPiB2eyJvbmUiLCAib25lIiwgInR3byIsICJ0aHJlZSJ9OwoJY291dCA8PCBwYWNrX2FkZHJzKHYpIDw8ICJcbiI7CgoJc2V0PHN0cmluZz4gc3sib25lIiwgIm9uZSIsICJ0d28iLCAidGhyZWUifTsKCWNvdXQgPDwgcGFja19hZGRycyhzKSA8PCAiXG4iOwoKCXJldHVybiAwOwp9