Write a recursive function that calculates the factorial of its integer argument. Base your recursive function on the knowledge that for any number n, the value of n factorial (usually written as n!) is n * (n - 1) * (n - 2) * (n - 3). . . .* 1. Write a main() function that demonstrates that the function works correctly. (On many systems, you must use a value of 16 or lower to achieve correct results; the factorial of higher numbers is larger than the value that can be stored in an integer.) Save the file as Factorial.cpp.