int a; void t( int * p, void (*f) (void *, void *) ) { if (0 == *p) { printf( "some output\n" ); } else { (*p)--; (*f)( p, f ); } } void main() { a = 1; t( &a, t ); }Show the complete access matrix describing this program at the instant it outputs "some output". As resources, list each item that may be denoted by an identifier in this program, and as users, list each distinct block or scope in which names are defined.