import Data.Attoparsec.Text hiding (take)
-- import Control.Applicative
import Data.List (foldl', unfoldr, sort, delete)
-import qualified Data.Map as M
-import Data.Map ((!))
+import qualified Data.Map.Strict as M
+import Data.Map.Strict ((!))
import qualified Data.Set as S
import Data.Set ((\\))
import qualified Data.Sequence as Q
nameP :: Parser String
graphP = M.fromList <$> nodeP `sepBy` endOfLine
-nodeP = (,) <$> (nameP <* ": ") <*> (nameP `sepBy` " ")
+nodeP = (,) <$> nameP <* ": " <*> nameP `sepBy` " "
nameP = many1 letter