Safe-Inferred  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~   !"# $% $&'()*+,-.-/-0-1-234567879:; $<=>?@ABC $DEFG=HIJK7LMNOPQR ST SU SV SW SXYZ[ S\] S^_`a Sb Sc_d_e Sf Sg Shijikiliminiopqprpstutvtwtxtytzt{|}Q~QQQQQQQQQOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOMMMMMMMMMMMMMMMMMMMMMMMMMM-------------------------      _ ___EEEE===== =!="=#=$=%=&='=(=)=*=+=,=-=.=/=0=1=2=3=4=5=6=7=8=9=:=;<=>?@ABCDEFGHIJKLMNOPQR S7T7U7V7W7X7Y7Z7[7\7]7^7_7`7a7b7c7d7e7f7g7h7i7j7klmnopqJrJsJtJuJvJwJxJyz{|}~ $ $ $ $ $ $ $ $ $ $ fugue-0.1Fuguebase Data.String fromStringIsString Data.FunctiononGHC.Base++GHC.Errerrorghc-primGHC.PrimseqGHC.Listfilterzip System.IOprint Data.Tuplefstsnd otherwisemap$GHC.Num fromInteger-GHC.Real fromRationalGHC.EnumenumFrom enumFromThen enumFromToenumFromThenTo GHC.Classes==>=negatefail>>=>>fmapreturn Control.Arrowarrfirstapp|||loop fromIntegral realToFrac toInteger toRational Control.MonadguardliftMBoundedEnumEq GHC.FloatFloating FractionalIntegralMonadFunctorNumOrdGHC.ReadReadReal RealFloatRealFracGHC.ShowShow MonadPlusControl.Applicative Applicative Data.FoldableFoldableData.Traversable Traversable GHC.TypesBoolCharDoubleFloatInt integer-gmpGHC.Integer.TypeIntegerOrderingRationalIO Data.EitherEitherStringFalseTrueLeftRightLTEQGT Text.PrintfhPrintfprintf PrintfType HPrintfType PrintfArgIsChar System.Exit exitSuccess exitFailureexitWithSystem.EnvironmentgetEnvironment withProgNamewithArgs lookupEnvgetEnv getProgNamegetArgs!System.Environment.ExecutablePathgetExecutablePathfoldMapDefault fmapDefault mapAccumR mapAccumLforMforsequencemapM sequenceAtraversefindnotElemelem minimumByminimum maximumBymaximumproductsumallanyorand concatMapconcattoListmsumasum sequence_ sequenceA_forM_mapM_for_ traverse_foldlMfoldrMfoldl1foldr1foldl'foldlfoldr'foldrfoldMapfoldoptionalliftA3liftA2liftA<**><**><*>puremanysome<|>empty AlternativegetConstConst unwrapMonad WrapMonad WrappedMonad unwrapArrow WrapArrow WrappedArrow getZipListZipListleftApp^<<<<^>>^^>>returnA&&&***secondArrow runKleisliKleisli zeroArrow ArrowZero<+> ArrowPlus+++rightleft ArrowChoice ArrowApply ArrowMonad ArrowLoop Data.Functor<$>Control.Category>>><<<.idCategoryPrelude$!readIOreadLn appendFile writeFilereadFileinteract getContentsgetLinegetCharputStrLnputStrputCharGHC.IO.ExceptionioError ExitSuccess ExitFailureExitCode Data.Monoid<>mconcatmappendmemptyMonoidgetDualDualappEndoEndogetAllAllgetAnyAnygetSumSum getProductProductgetFirstFirstgetLastLast Text.ReadreadreadspartitionEithersrightsleftseither Data.Listunwordswordsunlineslineslex readParenreadList readsPrecText.ParserCombinators.ReadPReadSacoshatanhasinhcoshtanhsinhacosatanasincostansinlogBase**logsqrtexppiatan2isIEEEisNegativeZeroisDenormalized isInfiniteisNaN scaleFloat significandexponent encodeFloat decodeFloat floatRange floatDigits floatRadixGHC.IOFilePath userErrorIOErrorlcmgcd^^^oddevendivModquotRemmoddivremquotrecip/floorceilingroundtruncateproperFraction undefinedmfilterapliftM5liftM4liftM3liftM2unlesswhen replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMjoinvoidforever<=<>=>filterM=<<mplusmzeromaxBoundminBoundfromEnumtoEnumpredsucc showParen showStringshowCharshowsShowSshowListshow showsPrecunzip3unzipzipWith3zipWithzip3!!lookupreversebreakspansplitAtdroptake dropWhile takeWhilecycle replicaterepeatiteratescanr1scanrscanl1scanllengthnullinitlasttailhead Data.MaybemapMaybe catMaybes listToMaybe maybeToList fromMaybefromJust isNothingisJustmaybeNothingJustMaybeuncurrycurrysubtractsignumabs*+asTypeOfuntilflipconst<$/=compare<=&&||not<>maxmin