#include <iostream>
using namespace std;

int main() {
	// your code goes here
	return 0;
	
	// a is a static array of function pointers
	void (*a[4])(int);
	static_assert(sizeof(a) == 4 * sizeof(void*));
	
	// b is a pointer to array of function pointers
	void (**b)(int);
	static_assert(sizeof(b) == 1 * sizeof(void*));
	
	// because it's too hard to name this type, let's use typedef
	
	typedef void myfunc_t(int); // a myfunc_t is a function
	b = new myfunc_t*[8];        // b will point to an array of 8 pointers to a myfunc_t 
	delete[] b;

}