A veterinarian services many pets nd their owners. As new pets are added to the population of pets being serviced, their information is entered into a flat text file. Each month, the vet requests a listing of all pets sorted by their outstanding bill balance. You have to write a program to produce a report of animals and their owners sorted by ther outstanding bill balances from the data in the flat text file. Below is a description of the information on the text file: The first entry is the number of animals on the file (numeric) The fields below repeat for each animal: Owner name (String) Birth year (numeric) o Bill balance (numeric) es (String) Special feature (numenc or String) the veterinarian are of two types: mammals and non-mammals. For a mammal the special feature field on the lat file is the number of legs of the animal (numeric). For a non-mammal the special feature field is the blood type, warm-blooded or cold-blooded (String). From the information provided, write a solution that indudes the following: A sultable inheritance hierarchy, which represents the pets serviced by the veterinarian For all classes indude the following: Instance vanables constructors (default, overloaded, copy) Accessor and mutator methods Appropriate toString( ) methods Write a dass VetDemo class that utbilizes the following: AnArray of Animal objects Amethod that reads the input file provided and stores the objects in the array of Animals Amethod, which sorts the array of Animals in ascending order by the balance. A method that formats and prints the output report. report headers, one Animal per line and at most 40 Animals per page, There should be The main method will call all the other methods, which will: Read the text file and store the objects in the array Sort the objects Format and print the report . . Test the program so that there are no errors using the input file provided, vet.txt. Only test the file posted in campus cruiser. You should not use another file for testing