f = open('INPUT.TXT') n = int(f.readline().strip()) size = n * n grid = [] for i in range(size): row = list(map(int, f.readline().split())) grid.append(row) f.close() valid_set = set(range(1, size + 1)) correct = True for i in range(size): row_set = set(grid[i]) if row_set != valid_set: correct = False break if correct: for j in range(size): col_set = set() for i in range(size): col_set.add(grid[i][j]) if col_set != valid_set: correct = False break if correct: for block_row in range(n): for block_col in range(n): block_set = set() for i in range(n): for j in range(n): row = block_row * n + i col = block_col * n + j block_set.add(grid[row][col]) if block_set != valid_set: correct = False break if not correct: break f = open('OUTPUT.TXT', 'w') if correct: f.write('Correct') else: f.write('Incorrect') f.close()