board[ ][ytile return true def getboardcopy(board) make duplicate of the board list and return the duplicate dupeboard getnewboard( for in range( ) for in range( ) dupeboard[ ][yboard[ ][ return dupeboard def isoncorner(xy) returns true if the position is in one of the four corners return ( = and = or ( = and = or ( = and = or ( = and = def getplayermove(boardplayertile) let the player type in their move returns the move as [xy(or returns the strings 'hintsor 'quit' digits to ' split( while true print('enter your moveor type quit to end the gameor hints to turn off/on hints ' move input(lower( if move ='quit' return 'quit if move ='hints' return 'hints if len(move= and move[ in digits to and move[ in digits to int(move[ ] int(move[ ] if isvalidmove(boardplayertilexy=false continue else break else print('that is not valid move type the digit ( - )then the digit ( - ' print('for example will be the top-right corner 'post questions to