!= &      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Safe2NoneMP $% &'( )*+,  -.~/0123"!#4stonrpjqlkm5PNOM67 8DG9:;<=>EF?JKL@ABCHIQRSTUVWXYZ[\]^_`abcdefghiuvwxyz{|}      $% &'( )*+,  -.~/0123"!#4stonrpjqlkm5PNOM67 8DG9:;<=>EF?JKL@ABCHIQRSTUVWXYZ[\]^_`abcdefghiuvwxyz{|}     7 6None&'.HX" HBNFCA variant of zipWith on vectorsIBNFCLookup in a vectorJBNFCLinearize a matrixKBNFCContents of a vectorOBNFCTWhat is, and where is the rightmost non-zero element on a given line of the matrix?PBNFCIs this the rightmost path?F !"#$'%&(-,+*)./0213546789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abF354021./(-,+*)$'%&6789:;<=>?@AB"#!CDEFGHIJKLM NOPQRSTUVWXYZ[\]^_`abNone=?$hBNFCSigleton matrixekjigfhlmonpqrstuvwxyz{|}~pqmonrsltuvekjigfhwxyz}{|~None=?&  None>X&    ! "# "$%&'()*+,-./01234567 "89:;<=>? "@ABC9DEFGHIJKLMN OP OQ OR OS OTUVWXY OZ[ O\ O]^_ O`XaXb Oc^d^e Of Og OhKiKjKkKlmnopqrstuvwxyz{|y}y~IIIIIIIIIIIIIIIIIIII^AAAA99999999999999999999999999999999FFFFFFFF                                " " " " " " " " " " !"#$%&&'()*+,-./0123456789:;<=>?@ABCDEFGH&IJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Zgxiy!BNFC-2.8.2-6diThkxDaOV8ePfcnBli6yAlgebra.RingUtils Data.PairData.Matrix.QuadData.Matrix.Class Parsing.ChartParsing.TestProgrambaseGHC.Base++ghc-primGHC.PrimseqGHC.Listfilterzip System.IOprint Data.Tuplefstsnd otherwisemap$GHC.Num fromInteger-GHC.Real fromRationalGHC.EnumenumFrom enumFromThen enumFromToenumFromThenTo GHC.Classes==>=negatefail>>=>>fmapreturn fromIntegral realToFrac toInteger toRational<>memptymappendmconcat<*>pure*>BoundedEnumEq GHC.FloatFloating FractionalIntegralMonadFunctorNumOrdGHC.ReadReadReal RealFloatRealFracGHC.ShowShow Applicative Data.FoldableFoldableData.Traversable Traversable SemigroupMonoid GHC.TypesBoolCharDoubleFloatInt integer-gmpGHC.Integer.TypeInteger GHC.MaybeMaybeOrderingRationalIOWord Data.EitherEitherFalseNothingJustTrueLeftRightLTEQGTsequencemapM sequenceAtraversereadIOreadLn appendFile writeFilereadFileinteract getContentsgetLinegetCharputStrLnputStrputCharGHC.IO.ExceptionioErrorGHC.IOFilePath userErrorIOErrornotElemallanyorand concatMapconcat sequence_mapM_productminimummaximumelemlengthnullfoldl1foldr1foldlfoldrfoldMap Data.OldListunwordswordsunlineslines Text.Readreadreadseitherlex readParenreadList readsPrecText.ParserCombinators.ReadPReadSatanhacoshasinhtanhcoshsinhatanacosasintancossinlogBase**sqrtlogexppiatan2isIEEEisNegativeZeroisDenormalized isInfiniteisNaN scaleFloat significandexponent encodeFloat decodeFloat floatRange floatDigits floatRadix Data.Functor<$>lcmgcd^^^oddevendivModquotRemmoddivremquotrecip/floorceilingroundtruncateproperFractionmaxBoundminBoundfromEnumtoEnumpredsucc showParen showStringshowCharshowsShowSshowListshow showsPrecunzip3unzipzipWith3zipWithzip3!!lookupreversebreakspandroptake dropWhile takeWhilecycle replicaterepeatiteratescanr1scanrscanl1scanlinitlasttailhead Data.MaybemaybeuncurrycurrysubtractsignumabsasTypeOfuntil$!flip.constid=<<<$<*StringGHC.Err undefinederrorWithoutStackTraceerror/=<=compare&&||not<>maxminPair:/:leftOfrightOf$fApplicativePair $fFunctorPair $fShowPairOfromORingPmulRing* AbelianGroupZisZero AbelianGroupzero+ mulDefaultonlyLeft onlyRightselectsum$fAbelianGroupBool$fAbelianGroupPair$fAbelianGroupInt$fAbelianGroupZPair$fAbelianGroupZInt $fRingInt $fFunctorO$fAbelianGroupO$fAbelianGroupZO$fShowOPathHereLowHighQSomeTriTVecZ:!MatQuadZeroOneRowCol SomeShapeSShape'Bin'Leaf'ShapeBinLeafrowcolquadone.+.multtravq0closeDisjointPshowRbin'mkShapemkSingmkUpDiagclosemkTreequad'mergeinzwlklin'contentsfirstsecond<||>rightmostOnLine isRightmostresults'resultsleftMostfromPathroot'rootsinglesquare2square3sz'|+|-+-linsparseshiftXshiftY fingerprint scatterplot$fAbelianGroupMat$fAbelianGroupVecMatrixatextent singletongluesplit zeroMatrixExtent DimensionXDYD***nextDimextglueExtsplitExt<|><-> countColumns countRows chopFirstRowchopFirstColumnchopLastColumnfirstRow lastColumn chopLastRow $fMatrixO $fEqDimension$fShowDimensionMT2SetmkTree2mkTree'genXPM$fAbelianGroupZ[]$fAbelianGroup[] VerbosityputStrVmainTestpairsresSz