#include <iostream>
using namespace std;
template <typename T>
class Foo
{};
template <typename T, typename U>
class Foo<T(*)(U* const)>
{};
template <typename T, typename U>
class Foo<T(*)(U*)>
{};
int main() {
// your code goes here
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgogICAgY2xhc3MgRm9vCiAgICB7fTsKICAgIAogICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+CiAgICBjbGFzcyBGb288VCgqKShVKiBjb25zdCk+CiAgICB7fTsKICAgIAogICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+CiAgICBjbGFzcyBGb288VCgqKShVKik+CiAgICB7fTsKCmludCBtYWluKCkgewoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJcmV0dXJuIDA7Cn0=