5"      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe-Infered  !"#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNSTUVWXZ[abcdefghijklmnopqrstuvwxyz{|}~NLM[$ )%"!#&  rqponmlkjihgfedcba('~}|{zyxwvuts3@AB+<=,5:>?6789/0124.-XWVUTIHGZJS*FEDCK Safe-Infered  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[      !"#$%&'()*+,-./01234567\]^_`abcdefghijklmnopqrstuvwxyz{|}~89:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz+;`_^Y]\QPOR {    !"#$%&'()*+,-./01234567-89:;<=>?>@>A>B>CDEDFGHI>JK>LMNMOMPMQRST>U>VRWRX>Y>Z>[<\<]<^<_$`$a$bcdefghgijk l m nopqrstsusvswsxyzR{R|5}5~55--------------------------------oo:::::::               !"#$%&'()*+,-./01234546789:;:<:=:>:?:@: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:wxyz{|}~44444444444444444444444444444444444444basic-prelude-0.3.0.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.TypeIntegerOrderingRationalIOGHC.WordWordWord8Word32Word64 Data.EitherEitherStringFalseTrueLeftRightLTEQGT<**><*>pure&&&***second Data.Functionon Data.Functor<$>Control.Category.idPrelude$!readLngetCharputCharGHC.IO.ExceptionioErrorData.Ord comparing Data.Monoid<>mconcatmappendmemptyMonoid Text.ReadreadspartitionEitherseitherlex readParenreadList readsPrecText.ParserCombinators.ReadPReadSacoshatanhasinhcoshtanhsinhacosatanasincostansinlogBase**logsqrtexppiatan2isIEEEisNegativeZeroisDenormalized isInfiniteisNaN scaleFloat significandexponent encodeFloat decodeFloat floatRange floatDigits floatRadixGHC.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.9.2.1Data.ByteString.Internal ByteStringcontainers-0.4.2.1Data.MapMapData.SetSethashable-1.1.2.5 Data.HashableHashable text-0.11.2.3Data.Text.InternalTextsystem-filepath-0.4.6Filesystem.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.0 Data.HashSetHashSetData.HashMap.BaseHashMap vector-0.9.1 Data.VectorVectorData.Vector.Unboxed.BaseUnboxUVector LByteStringLTextequatingmapempty++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