Write a C program that declares a 2D array of integer grades using int gradesArray[students][exams] where students is number of students and exams is number of exams. The array has to be initialized with grades from the user or inside the program. A sample set of gardes is given in the program screen shot below Tasks: The program will perform the following tasks: 1. Displays grades, average of grades, minimum grade, maximum grad of each student 2. 3. in a well-formatted table Find and display the minimum grade and maximum grade of the entire array Display bar chart that represents the grade distribution of all grades. Implementation: The program should utilize user-defined as follows 1. To find the minimum grade of each student in all exams, a user-defined function named findLocMin() must be used. This function takes the 2D array as input and returns (pass by reference "pointer) another 1D array minGrades that contains the minimum grade of each student. 2. To find the maximum grade of each student in all exams, a user-defined function findLocMax( must be used. This function takes the 2D array as input returns (pass by reference pointer another 1D array maxGrades that contains the maximum grade of each student. 3. To find the minimum grade of all students, a user-defined function named 4. To find the maximum grade of all students, a user-defined function named 5. To display the bar chart, a user-defined function named dispBarChart( must be findGlobalMin()must be used. It is a function that takes in the 2D array and retums the maximum grade of the entire array findGlobalMax( must be used. It is a function that takes in the 2D array and retums the maximum grade of the entire array used. It is a function that takes the 2D array of grades and retums nothing. However is displays the required bar chart. A sample program output of 10 students and 5 exams is shown below