def create_board():
    return [[' ' for _ in range(7)] for _ in range(6)]

def print_board(board):
    print("1 2 3 4 5 6 7")
    for row in board:
        print("|".join(row))
        print("-" * 15)

def is_valid_move(board, col):
    return board[0][col] == ' '

def make_move(board, col, player):
    for row in range(5, -1, -1):
        if board[row][col] == ' ':
            board[row][col] = player
            return True
    return False

def check_win(board, player):
    # Check horizontal
    for row in range(6):
        for col in range(4):
            if board[row][col] == player and board[row][col+1] == player and \
               board[row][col+2] == player and board[row][col+3] == player:
                return True
    
    # Check vertical
    for row in range(3):
        for col in range(7):
            if board[row][col] == player and board[row+1][col] == player and \
               board[row+2][col] == player and board[row+3][col] == player:
                return True
    
    # Check diagonal (down-right)
    for row in range(3):
        for col in range(4):
            if board[row][col] == player and board[row+1][col+1] == player and \
               board[row+2][col+2] == player and board[row+3][col+3] == player:
                return True
    
    # Check diagonal (down-left)
    for row in range(3):
        for col in range(3, 7):
            if board[row][col] == player and board[row+1][col-1] == player and \
               board[row+2][col-2] == player and board[row+3][col-3] == player:
                return True
    
    return False

def is_board_full(board):
    return all(board[0][col] != ' ' for col in range(7))

def main():
    board = create_board()
    current_player = 'R'
    
    while True:
        print_board(board)
        print(f"Player {current_player}'s turn")
        
        try:
            col_input = input("Enter column (1-7): ").strip()
            if not col_input.isdigit():
                print("Invalid input. Please enter a number.")
                continue
            col = int(col_input) - 1
            
            if col < 0 or col > 6:
                print("Column must be between 1 and 7.")
                continue
                
            if not is_valid_move(board, col):
                print("Column is full. Choose another column.")
                continue
                
            make_move(board, col, current_player)
            
            if check_win(board, current_player):
                print_board(board)
                print(f"Player {current_player} wins!")
                break
                
            if is_board_full(board):
                print_board(board)
                print("It's a draw!")
                break
                
            current_player = 'Y' if current_player == 'R' else 'R'
            
        except Exception as e:
            print("Invalid input. Please enter a number between 1 and 7.")

if __name__ == "__main__":
    main()
