Listing 1 What does this program print?

#include <stdio.h>

char *ap[] = {
   "INTEGER",
   "PROPORTION",
   "DEBUGGER",
   "PORTABLE",
   "TOWER!"
   };

char **app[] = { ap + 4, ap + 3, ap + 2, ap + 1, ap };

char ***ppp = app;

char ****pppp = &ppp;

void main()
   {
   printf("%.*s",         2,   *--**pppp);

   printf("%.*s",         3,   *(++*pppp[0] - 4));

   printf("%s " ,              ++*--*++pppp[0] + 5);

   printf("%.*s" ,        2,   *++pppp[0][3] + 3);

   printf("%s\n",              (*pppp + 2) [-2][2] + 2);
   }

/* End of File */