Matrix access and manipulation is at the heart of many problems in fields such as image processing and bioinformatics. In this homework, you will work with a 2D matrix. In the game of chess, the queen can move along rows, columns, and diagonals. This homework is to print a list of all possible moves for the queen. Assume an 8x8 board. In this homework, your program will read in an 8x8 matrix from standard input. Then it will show the matrix values to the user. Next, it will find the queen(s), and print a list of every move that the queen has. Yes, it is possible that there is more than one queen, so print a list for each of them. Note the capture of an opponent's piece as "x" followed by a char representing the piece. If the opponent's piece that could be captured is the king, note this as "checkmate" instead. Use "algebraic notation" to specify the squares. That is, the squares on the board use numbers to designate the rows and lowercase letters to designate the columns. The rows start with 1 at the bottom, and go up to 8. The columns start with 'a' at the left, and go up to 'h'. When printing the board, use lower case letters for "your" side (the side that your program shows the queen moves). Use upper case letters for the opponent's side. Use at least one function besides "main". If there are no moves for the queen, indicate this by printing "No moves for the queen."