5"      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None  !"#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOTUVWXZ[abcdefghijklmnopqrstuvwxyz{|}~OMN[$ )%"!#&  rqponmlkjihgfedcba('~}|{zyxwvuts3@AB+<=,5:>?6789/0124.-XWVUTJIHZK*GFEDLCNone  map = fmap  empty = mempty  (++) = mappend  concat = mconcat -Compute the sum of a finite list of numbers. 1Compute the product of a finite list of numbers. !Convert a value to readable Text Parse Text to a value 'The readIO function is similar to read 6 except that it signals parse failure to the IO monad & instead of terminating the program. 9Read a file and return the contents of the file as Text. # The entire file is read strictly. Write Text to a file. = The file is truncated to zero length before writing begins. !Write Text to the end of a file. }  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[      !"#$%&'()*+,-./0123456789\]^_`abcdefghijklmnopqrstuvwxyz{|}~:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|+;`_^Y]\RQPS }    !"#$%&'()*+,-./01234567-89:;<=>?>@>A>B>CDEDFGHI>JK>L>MNONPNQRST>U>VRWRX>Y>Z>[\]^<_<`<a<b$c$d$efghijkjlmn o p qrstutvtwtxtyz{R|R}5~555--------------------------------rr:::::::            !"#!$%&'()*+,-./01234567898:;<=>?>@>A>B>C>D>E>F>G>H>I>J>K>L>M>N>O>P>Q>R>S>T>U>V>W>X>Y>Z>[>\>]>^>_>`>a>b>c>d>e>f>g>h>i>j>k>l>m>n>o>p>q>r>s>t>u>v>w>x>y>z>{|}~88888888888888888888888888888888888888basic-prelude-0.3.1.0 CorePrelude BasicPreludebaseGHC.Errerrorghc-primGHC.Primseq System.IOprint Data.TuplefstsndGHC.Base otherwise$GHC.Num fromInteger-GHC.Real fromRationalGHC.EnumenumFrom enumFromThen enumFromToenumFromThenTo GHC.Classes==>=negatefail>>=>>fmapreturn Control.Arrowfirst fromIntegral realToFrac toInteger toRationalBoundedEnumEq GHC.FloatFloating FractionalIntegralMonadFunctorNumOrdGHC.ReadReadReal RealFloatRealFracGHC.ShowShowControl.Applicative Applicative GHC.TypesBoolCharDoubleFloatIntGHC.IntInt32Int64 integer-gmpGHC.Integer.TypeIntegerOrderingRationalIOWordGHC.WordWord8Word32Word64 Data.EitherEitherStringFalseTrueLeftRightLTEQGT ReadArgs-1.2ReadArgsreadArgs<**><*>pure&&&***second Data.Functionon Data.Functor<$>Control.Category.idPrelude$!readLngetCharputCharGHC.IO.ExceptionioError Data.Monoid<>mconcatmappendmemptyMonoid Text.ReadreadspartitionEitherseitherlex readParenreadList readsPrecText.ParserCombinators.ReadPReadSacoshatanhasinhcoshtanhsinhacosatanasincostansinlogBase**logsqrtexppiatan2isIEEEisNegativeZeroisDenormalized isInfiniteisNaN scaleFloat significandexponent encodeFloat decodeFloat floatRange floatDigits floatRadixData.Ord comparingGHC.IOthrowIO userErrorIOErrorlcmgcd^^^oddevendivModquotRemmoddivremquotrecip/floorceilingroundtruncateproperFraction undefined GHC.Exception SomeException fromException toException Exception Control.Monad>=>=<<maxBoundminBoundfromEnumtoEnumpredsucc showParen showStringshowCharshowsShowSshowList showsPrec Data.MaybemapMaybe catMaybes fromMaybemaybeNothingJustMaybeswapuncurrycurrysubtractsignumabs*+asTypeOfuntilflipconst<$/=compare<=&&||not<>maxminbytestring-0.10.0.0Data.ByteString.Internal ByteStringcontainers-0.5.0.0 Data.Map.BaseMap Data.Set.BaseSethashable-1.1.2.5 Data.HashableHashable text-0.11.2.3Data.Text.InternalTextsystem-filepath-0.4.7Filesystem.Path<.> hasExtensionbasenamefilenameFilesystem.Path.InternalFilePathData.Text.Lazy.IO getContentsinteract Data.Text.IOputStrLnputStrgetLine Data.Textunwordsunlineslineswords intercalatetransformers-0.3.0.0Control.Monad.IO.ClassliftIOMonadIOControl.Monad.Trans.Classliftunordered-containers-0.2.2.1 Data.HashSetHashSetData.HashMap.BaseHashMapvector-0.10.0.1 Data.VectorVectorData.Vector.Unboxed.BaseUnboxUVector LByteStringLTextequatinggetArgsmapempty++concatsumproductshowreadreadIOreadFile writeFile appendFilefoldrGHC.ListfilterzipguardliftM MonadPlus Data.Listfoldl1'foldl1foldl'unfoldrsortBysort permutations subsequencestailsinitsgroupBygroupdeleteFirstsByunzip7unzip6unzip5unzip4zipWith7zipWith6zipWith5zipWith4zip7zip6zip5zip4genericReplicate genericIndexgenericSplitAt genericDrop genericTake genericLength minimumBy maximumByminimummaximuminsertByinsert mapAccumR mapAccumL partition transpose intersperse intersectBy intersectunionByunion\\deleteBydeletenubBynub isInfixOf isSuffixOf isPrefixOf findIndices findIndexfind elemIndices elemIndex stripPrefix dropWhileEndmfilterapliftM5liftM4liftM3liftM2unlesswhen replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMjoinvoidforever<=<msumforM_forMfilterMmapM_mapM sequence_sequencemplusmzerounzip3unzipzipWith3zipWithzip3!! concatMaplookupnotElemelemallanyorandreversebreakspansplitAtdroptake dropWhile takeWhilecycle replicaterepeatiteratescanr1scanrfoldr1scanl1scanlfoldllengthnullinitlasttailhead