human :: Strategy
human b le = do printBoard b
                input <- getLine
                let p = take 2 $ words input
                let d = last $ words input
                let e = normalizeEdge p d
                if not $ isValid e  then do putStrLn "The selected coordinates can't make a line, please enter a correct ones"
                                            human b le
                else if not $ isAvailable e le  then do putStrLn "The selected line is not available, please enter another"
                                                        human b le
                else return e

-- Random choice in the given edge list
human :: Strategy
human b le = do printBoard b
                input <- getLine
                let p = take 2 $ words input
                let d = last $ words input
                let e = normalizeEdge p d
                if not $ isValid e  then do putStrLn "The selected coordinates can't make a line, please enter a correct ones"
                                            human b le
                else if not $ isAvailable e le  then do putStrLn "The selected line is not available, please enter another"
                                                        human b le
                else return e

-- Random choice in the given edge list
human b le = do printBoard b
                input <- getLine
                let p = take 2 $ words input
                let d = last $ words input
                let e = normalizeEdge p d
                if not $ isValid e  then do putStrLn "The selected coordinates can't make a line, please enter a correct ones"
                                            human b le
                else if not $ isAvailable e le  then do putStrLn "The selected line is not available, please enter another"
                                                        human b le
                else return e

-- Random choice in the given edge list