Write an incl program to do preprocessor-style file inclusions. incl will print the contents of each file listed on its command line, except that it will replace any output line of the form #include "f" with the contents of the file called f. For example, incl foo bar will print the contents of files named foo and bar. If the line #include "baz.h" appears in foo, it will be replaced by the contents of baz.h. If the line #include "data.txt" appears in baz.h, it will be replaced with the contents of data.txt. Your program must check for and diagnose all errors: for example, failing to open a file, or not having enough memory to store a line. Your program must be able to handle thousands of #include lines; make sure to close each file when you're done reading it. (Hint: Write a recursive function printcontents() to print the contents of a file. printcontents() should have one string argument giving the name of the file.)