readInput :: String -> Input
readInput x = Input (dropWhile null $ splitOn "/" a) (map (second drop1 . breakOn "=") $ splitOn "&" $ drop1 b) ""
    where (a,b) = breakOn "?" x
readInput :: String -> Input
readInput x = Input (dropWhile null $ splitOn "/" a) (map (second drop1 . breakOn "=") $ splitOn "&" $ drop1 b) ""
    where (a,b) = breakOn "?" x
readInput x = Input (dropWhile null $ splitOn "/" a) (map (second drop1 . breakOn "=") $ splitOn "&" $ drop1 b) ""
    where (a,b) = breakOn "?" x