#include <iostream>
namespace N {
class C {};
template<typename X>
char const * found(X && x) {
return "found";
}
template<typename, typename X>
char const * notfound(X && x) {
return "not found";
}
}
int main() {
N::C object;
std::cout
<< found(object) << std::endl
<< notfound<bool>(object) << std::endl
<< notfound<bool, N::C>(object) << std::endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKbmFtZXNwYWNlIE4gewoJY2xhc3MgQyB7fTsKCQoJdGVtcGxhdGU8dHlwZW5hbWUgWD4KCWNoYXIgY29uc3QgKiBmb3VuZChYICYmIHgpIHsKCQlyZXR1cm4gImZvdW5kIjsKCX0KCQoJdGVtcGxhdGU8dHlwZW5hbWUsIHR5cGVuYW1lIFg+CgljaGFyIGNvbnN0ICogbm90Zm91bmQoWCAmJiB4KSB7CgkJcmV0dXJuICJub3QgZm91bmQiOwoJfQp9CgppbnQgbWFpbigpIHsKCU46OkMgb2JqZWN0OwoJc3RkOjpjb3V0CgkJPDwgZm91bmQob2JqZWN0KSA8PCBzdGQ6OmVuZGwKCQk8PCBub3Rmb3VuZDxib29sPihvYmplY3QpIDw8IHN0ZDo6ZW5kbAoJCTw8IG5vdGZvdW5kPGJvb2wsIE46OkM+KG9iamVjdCkgPDwgc3RkOjplbmRsOwp9