import Control.Monad
import Data.Ascii (Ascii, AsciiBuilder, CIAscii)
import qualified Data.Ascii as A
import Control.Monad
import Data.Ascii (Ascii, AsciiBuilder, CIAscii)
import qualified Data.Ascii as A
import qualified Data.Collections.Newtype.TH as C
import Data.List (intersperse)
import qualified Data.Map as M (Map)
import qualified Data.Collections.Newtype.TH as C
import Data.List (intersperse)
import qualified Data.Map as M (Map)