#include <iostream>
template<typename T>
unsigned long f(void *) { return 0; }
struct A { char c; };
struct B { char c[100]; };
typedef unsigned long ftype(void*);
int main() {
std::cout << (ftype*)f<A> << std::endl;
std::cout << (ftype*)f<B> << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdGVtcGxhdGU8dHlwZW5hbWUgVD4KdW5zaWduZWQgbG9uZyBmKHZvaWQgKikgeyByZXR1cm4gMDsgfQoKc3RydWN0IEEgeyBjaGFyIGM7IH07CnN0cnVjdCBCIHsgY2hhciBjWzEwMF07IH07Cgp0eXBlZGVmIHVuc2lnbmVkIGxvbmcgZnR5cGUodm9pZCopOwoKaW50IG1haW4oKSB7CglzdGQ6OmNvdXQgPDwgKGZ0eXBlKilmPEE+IDw8IHN0ZDo6ZW5kbDsKCXN0ZDo6Y291dCA8PCAoZnR5cGUqKWY8Qj4gPDwgc3RkOjplbmRsOwoJcmV0dXJuIDA7Cn0=