def genMoves(N):
    """
    generates moves for pichu, pikachu and raichu as if thery were at (0,0) given the size of the board
    Args:
        N ([int]): size of board

    Returns:
        [dict]: returns all mpossible moves if the piece was at (0,0)
    """
    row,col = 0,0
    fw = [(row+i,col) for i in range(1,N)]
    bk = [(row-1,col) for i in range(1,N)]

    left = [(row,col-i) for i in range(1,N)]
    right = [(row,col+i) for i in range(1,N)]

    diag_lr_fw = [(i,i) for i in range(1,N)]
    diag_lr_bk = [(-i,-i) for i in range(1,N)]
    diag_rl_bk = [(-i,i) for i in range(1,N)]
    diag_rl_fw = [(i,-i) for i in range(1,N)]

    return { "pichu" : diag_lr_fw[0:1] + diag_rl_fw[0:1],
             "pikachu" : fw[0:2] + right[0:2] + left[0:2],
             "raichu": fw[:] + right[:] + left[:] + bk[:] + diag_lr_bk[:] + diag_lr_fw[:] + diag_rl_bk[:] + diag_rl_fw[:] }