Programming Problem                   Vending Machine  Problem Statement  Write a program that simulates the functionality of a vending machine having the following characteristics:  The vending machine offers 5 products The vending machine accepts coins, 1 dollar bills, and 5 dollar bills The change is always given in coins, with maximum possible number of coins in each value: 25, 10, 5 or 1 cent. The selections available for user are numbers from 1 to 5. The user enters the money – simulate the action through a loop that ends when the user enters 0. Each coin, or paper bill will be read individually. Once an item is delivered, the machine gives the change in coins. There is no increment for the money during one selection. The user can stop the selection at any time by entering 0 for the product selection. If the user chooses to cancel the selection, the machine returns the initial amount in coins. Display the outcome of the operation for each alternative you consider possible for the vending machine. Make sure that the machine returns the correct change at all times. Use appropriate selection and repetition loops to solve the problem.    Write a test program that would take at least 3 combinations of amounts entered and choices of products, and displays the results of all three trials. You can include the vending machine program as a method in the testing program.