In chess, the knight moves to any of the closest squares that are not on the same rank, file, or diagonal. Thus the move is in the “L” form: two squares vertically and one square horizontally, or two squares horizontally and one square vertically:
Your task is to find all possible positions for the next move of the knight on the empty chessboard.
The first argument is a filename that contains positions of the knight on the chessboard in the CN form, where:
Each position is indicated in a new line.
Print to stdout all possible positions for the next move of the knight ordered alphabetically.