#include <algorithm>
#include <iostream>
#include <string>
template<class... Args, class R>
auto resolve(R (*m)(Args...)) { return m; }
template<class R>
auto resolve(R (*m)()) { return m; }
class A {
static void f(char c) { std::cout << c; }
static void f(int i) { std::cout << i; }
public:
void scan(const std::string& s) {
std::for_each(s.begin(), s.end(), resolve<char>(f));
}
};
int main() {
A{}.scan("hello");
}
I2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgoKdGVtcGxhdGU8Y2xhc3MuLi4gQXJncywgY2xhc3MgUj4KYXV0byByZXNvbHZlKFIgKCptKShBcmdzLi4uKSkgeyByZXR1cm4gbTsgfQoKdGVtcGxhdGU8Y2xhc3MgUj4KYXV0byByZXNvbHZlKFIgKCptKSgpKSB7IHJldHVybiBtOyB9CgpjbGFzcyBBIHsKICAgIHN0YXRpYyB2b2lkIGYoY2hhciBjKSB7IHN0ZDo6Y291dCA8PCBjOyB9CiAgICBzdGF0aWMgdm9pZCBmKGludCBpKSB7IHN0ZDo6Y291dCA8PCBpOyB9CnB1YmxpYzoKICAgIHZvaWQgc2Nhbihjb25zdCBzdGQ6OnN0cmluZyYgcykgewogICAgICAgIHN0ZDo6Zm9yX2VhY2gocy5iZWdpbigpLCBzLmVuZCgpLCByZXNvbHZlPGNoYXI+KGYpKTsKICAgIH0KfTsKCmludCBtYWluKCkgewoJQXt9LnNjYW4oImhlbGxvIik7Cn0=