2-d parity codes ---------------- Parity-based codes are used in many applications, including network communication. Unilike 1-d parity, 2-d parity can detect 2 errors and correct 1 error. In this problem, you are required to implement and 2-d parity-based error detector and corrector. A 2-d parity encoding takes n n-bit strings (written in a 2-d form -- see the sample input)and adds a parity bit to each row and each column. Input ----- Input consists of multiple cases. Each case starts with a line containing a positive integer n (n < 500) that indicates the number of bits used in the 2-d parity encoding scheme. This is followed by n+1 lines, each containing n+1 bits separated by single spaces. These signify the data as well as the parity bits. The input data will have no more than 2 bit errors. For simplicity you may assume that the parity bits contain no errors. You program will detect and, if possible, correct the error(s). Input is terminated by a line containing two zeroes. This line should not be processed. Output ------ For each line of input produce one line of output containing one of the following responses: (1) No Bit errors (2) Bit error at x,y (3) 2 errors detected but not corrected For (2), the rows and columns are counted from 0 up and to the right and bottom respectively. Sample Input ------------ 4 1 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 5 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 0 0 Output for Sample Input ----------------------- No Bit errors Bit error at 1,2