You are to write a program to be processed by the m4 macro processor. The input is to be a collection of m4 macros and c++ source code. The output is to be a valid working c++ program.

In this description the files will be identified as p5.m4 and p6.ppc. The input file to m4 will be referred to as p5.m4 and the output file from m4 as p5.cpp. The file p5.cpp is to be a working c++ program to sort five input values. You can use any sort you want, but either bubble or insertion would probably be the easiest for you. The program p5.cpp is not to have any loops (or just one for the equivalent of the find-max-value routine).

The input file is to use macros to reduce the redundant coding as much as is reasonable. You do not have to get the macro processor to count, so you will need to pass numbers and/or letter subscripts to the macros.