#include <iostream>
#include <typeinfo>

void f1(void (*f)(int));
void f2(void (&f)(int));
void f3(void ( f)(int));

int main()
{
	std::cout
		<< typeid(f1).name() << std::endl
		<< typeid(f2).name() << std::endl
		<< typeid(f3).name() << std::endl;
}
