#include <iostream>
#include <initializer_list>
#include <vector>
#include <string>
#include <iterator>
template<typename T>
void printme(T&& t) {
for(auto it = t.begin(); it != t.end(); ++it)
std::cout << *it;
}
template<typename T>
void printme(std::initializer_list<T> t) {
for(auto it = t.begin(); it != t.end(); ++it)
std::cout << *it;
}
int main() {
printme(std::vector<char>({'a', 'b', 'c'}));
printme(std::string("abc"));
printme({'a', 'b', 'c'});
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aW5pdGlhbGl6ZXJfbGlzdD4KI2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPGl0ZXJhdG9yPgoKdGVtcGxhdGU8dHlwZW5hbWUgVD4Kdm9pZCBwcmludG1lKFQmJiB0KSB7CiAgZm9yKGF1dG8gaXQgPSB0LmJlZ2luKCk7IGl0ICE9IHQuZW5kKCk7ICsraXQpCiAgICBzdGQ6OmNvdXQgPDwgKml0Owp9Cgp0ZW1wbGF0ZTx0eXBlbmFtZSBUPgp2b2lkIHByaW50bWUoc3RkOjppbml0aWFsaXplcl9saXN0PFQ+IHQpIHsKICBmb3IoYXV0byBpdCA9IHQuYmVnaW4oKTsgaXQgIT0gdC5lbmQoKTsgKytpdCkKICAgIHN0ZDo6Y291dCA8PCAqaXQ7Cn0KCmludCBtYWluKCkgewogIHByaW50bWUoc3RkOjp2ZWN0b3I8Y2hhcj4oeydhJywgJ2InLCAnYyd9KSk7CiAgcHJpbnRtZShzdGQ6OnN0cmluZygiYWJjIikpOwogIHByaW50bWUoeydhJywgJ2InLCAnYyd9KTsKICByZXR1cm4gMDsKfQo=