#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;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CgkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCglyZXR1cm4gMDsKCQoJLy8gYSBpcyBhIHN0YXRpYyBhcnJheSBvZiBmdW5jdGlvbiBwb2ludGVycwoJdm9pZCAoKmFbNF0pKGludCk7CglzdGF0aWNfYXNzZXJ0KHNpemVvZihhKSA9PSA0ICogc2l6ZW9mKHZvaWQqKSk7CgkKCS8vIGIgaXMgYSBwb2ludGVyIHRvIGFycmF5IG9mIGZ1bmN0aW9uIHBvaW50ZXJzCgl2b2lkICgqKmIpKGludCk7CglzdGF0aWNfYXNzZXJ0KHNpemVvZihiKSA9PSAxICogc2l6ZW9mKHZvaWQqKSk7CgkKCS8vIGJlY2F1c2UgaXQncyB0b28gaGFyZCB0byBuYW1lIHRoaXMgdHlwZSwgbGV0J3MgdXNlIHR5cGVkZWYKCQoJdHlwZWRlZiB2b2lkIG15ZnVuY190KGludCk7IC8vIGEgbXlmdW5jX3QgaXMgYSBmdW5jdGlvbgoJYiA9IG5ldyBteWZ1bmNfdCpbOF07ICAgICAgICAvLyBiIHdpbGwgcG9pbnQgdG8gYW4gYXJyYXkgb2YgOCBwb2ludGVycyB0byBhIG15ZnVuY190IAoJZGVsZXRlW10gYjsKCn0=