Instructions: Your assignment should represent your own effort. However, it is fine to discuss the exercises and try to find solutions together, but each student shall write down and submit his/her solutions separately. For a programming task, your solution must contain the Java code, in a form that we can run. For all programming tasks, it is not allowed to use any external libraries ("import") if not stated otherwise. Please, include name, student ID and email address in your submission. A. Implementation of the basic operations of the class ArrayUtility, which offers basic operations over one-dimensional and two-dimensional arrays. All methods must be implemented as class methods (i.e., static methods). The signature of the methods in the ArrayUtility class are the following: 1. public static int findMax(int[] a, int i, int i): returns the maximum value occurring in the array A between position i and j. 2. public static int findMaxPos(int[] A, int i, int j): returns the position of the maximum value in the array A between position i and j. 3. public static int findMin(int[] A, int i, int j): returns the minimum value in the array A between position i and j. 4. public static int findMinPos(int[] a, int i, int i): return the position of the minimum value in the array A between position i and j. 5. public static void swap(int[] a, int i, int j): swaps the elements in position i and j in the array A. 6. public static void shiftRight(int[] a, int i, int j): shifts to the right all the elements of the array A starting from position i and until position (i.e., moves the element in position kto position k + 1 for all iski, and leaves position i unchanged). 7. public static void shiftLeft(int[] a, int i, int j): shifts to the left all the elements of the array A, from position down to position i (i.e., moves the element in position k to position k-1 for all i