print'instance0 Monoid _) => Monoid0_) where mempty =0mempty) 0_1) `mappend`0_2) =0_1 `mappend` _2) '=~s/0([^)]*)/" (".join",",map$1=~s"_"$_"gr,a..$_/ger=~s/ M/M/rfor b..z