#include <stdio.h>

#define IS_ODD(x) ((x)%2 == 1)
#define SQUARE(x) (x * x)
#define CUBE(x) ((x)*(x)*(x))

int main ()
{
   int x1 = 1;
   int x2 = 2;
   int x3 = 3;

   printf ("IS_ODD(x1): %d\n",   IS_ODD(x1));
   printf ("IS_ODD(x2): %d\n",   IS_ODD(x2));
   printf ("\n");

   /* Now here are some problem macros */
   printf ("SQUARE(x1+2): %d\n", SQUARE(x1+2));
   printf ("CUBE(x3++): %d\n",   CUBE(x3++));
   printf ("\n");

   return 0;
}
