tpdb 2.3.0 → 2.7.1
raw patch · 27 files changed
+2712/−337 lines, 27 filesnew-component:exe:xtc2srs
Files
- src/TPDB/CPF/Proof/Read.hs +13/−11
- src/TPDB/CPF/Proof/Type.hs +160/−86
- src/TPDB/CPF/Proof/Util.hs +4/−1
- src/TPDB/CPF/Proof/Write.hs +156/−31
- src/TPDB/Convert.hs +10/−5
- src/TPDB/DP/Graph.hs +20/−18
- src/TPDB/DP/TCap.hs +15/−11
- src/TPDB/DP/Transform.hs +35/−15
- src/TPDB/DP/Unify.hs +23/−12
- src/TPDB/DP/Usable.hs +35/−20
- src/TPDB/Data.hs +4/−17
- src/TPDB/Data/Attributes.hs +3/−3
- src/TPDB/Data/Identifier.hs +21/−0
- src/TPDB/Data/Rule.hs +11/−4
- src/TPDB/Data/Term.hs +53/−67
- src/TPDB/Data/Term/Cached.hs +111/−0
- src/TPDB/Data/Term/Plain.hs +52/−0
- src/TPDB/Data/Xml.hs +2/−2
- src/TPDB/Mirror.hs +3/−2
- src/TPDB/Plain/Read.hs +5/−3
- src/TPDB/Plain/Write.hs +16/−18
- src/TPDB/XTC/Write.hs +13/−5
- test/dp-performance.hs +28/−0
- test/labelled.trs +1883/−0
- test/rel12.srs +6/−0
- tpdb.cabal +17/−6
- xtc2srs.hs +13/−0
src/TPDB/CPF/Proof/Read.hs view
@@ -2,7 +2,7 @@ module TPDB.CPF.Proof.Read where -import TPDB.CPF.Proof.Type +import TPDB.CPF.Proof.Type as Type import TPDB.Data {-@@ -86,7 +86,6 @@ , csymbols = cs } -getSymbol = element1 "name" &/ \ c -> mk 0 <$> content c getComplexityInput = element "input" >=> \ c -> do trsI <- c $/ element "complexityInput" &/ element "trsInput" &/ getTrsInput@@ -107,14 +106,14 @@ getTrsInput c =- ( c $/ element "trs" &/ getRulesWith Strict )- <> ( c $/ element "relativeRules" &/ getRulesWith Weak )+ ( c $/ element "trs" &/ getRulesWith TPDB.Data.Strict )+ <> ( c $/ element "relativeRules" &/ getRulesWith TPDB.Data.Weak ) getRulesWith s = element1 "rules" >=> \ c -> return ( c $/ ( element "rule" >=> getRule s ) ) -getRule :: Relation -> Cursor -> [ Rule (Term Identifier Identifier) ]+getRule :: Relation -> Cursor -> [ Rule (Term Identifier Symbol) ] getRule s c = ( \ l r -> Rule {lhs=l,relation=s,rhs=r,top=False}) <$> (c $/ element "lhs" &/ getTerm) <*> (c $/ element "rhs" &/ getTerm)@@ -132,16 +131,19 @@ getDummy :: X.Name -> b -> Cursor -> [ b ] getDummy t c cursor = cursor $| element t >=> return [ c] -getTerm :: Cursor -> [ Term Identifier Identifier ]+getTerm :: Cursor -> [ Term Identifier Symbol ] getTerm = getVar <> getFunApp -getVar :: Cursor -> [ Term Identifier Identifier ]+getVar :: Cursor -> [ Term Identifier Symbol ] getVar = element "var" &/ \ c -> ( Var . mk 0 ) <$> content c -getFunApp :: Cursor -> [ Term Identifier Identifier ]+getFunApp :: Cursor -> [ Term Identifier Symbol ] getFunApp = element "funapp" >=> \ c -> do- nm <- c $/ element "name" &/ content+ f <- c $/ getSymbol let args = c $/ element "arg" &/ getTerm- f = mk (length args) $ nm+ set_arity k s = mk k $ TPDB.Data.name s -- FIXME return $ Node f args- +++getSymbol :: Cursor -> [ Symbol ]+getSymbol = element1 "name" &/ \ c -> (SymName . mk 0) <$> content c
src/TPDB/CPF/Proof/Type.hs view
@@ -1,7 +1,10 @@ {-# language StandaloneDeriving #-}+{-# language DataKinds, KindSignatures, GADTs, StandaloneDeriving #-} {-# language ExistentialQuantification #-}-{-# language DeriveDataTypeable #-}+{-# language DeriveDataTypeable, DeriveGeneric #-} {-# language OverloadedStrings #-}+{-# language FlexibleContexts #-}+{-# language StrictData #-} -- | internal representation of CPF termination proofs, -- see <http://cl-informatik.uibk.ac.at/software/cpf/>@@ -21,6 +24,10 @@ import TPDB.Pretty import Data.Text import TPDB.Xml (XmlContent)+import GHC.Generics+import Data.Hashable+import Data.Kind+import qualified Data.Text.Lazy as T data CertificationProblem = CertificationProblem { input :: CertificationProblemInput @@ -28,32 +35,37 @@ , proof :: Proof , origin :: Origin } - deriving ( Typeable, Eq )+ deriving ( Typeable, Eq, Generic ) data Origin = ProofOrigin { tool :: Tool }- deriving ( Typeable, Eq )+ deriving ( Typeable, Eq, Generic ) ignoredOrigin = ProofOrigin { tool = Tool "ignored" "ignored" } data Tool = Tool { name :: Text , version :: Text } - deriving ( Typeable, Eq )+ deriving ( Typeable, Eq, Generic ) +-- | use this type throughout.+-- Variables are plain identifiers+-- but signature can use sharped, and labelled symbols.+type Trs = TRS Identifier Symbol+ data CertificationProblemInput - = TrsInput { trsinput_trs :: TRS Identifier Identifier }+ = TrsInput { trsinput_trs :: Trs } -- ^ this is actually not true, since instead of copying from XTC, -- CPF format repeats the definition of TRS, -- and it's a different one (relative rules are extra)- | ComplexityInput { trsinput_trs :: TRS Identifier Identifier+ | ComplexityInput { trsinput_trs :: Trs , complexityMeasure :: ComplexityMeasure , complexityClass :: ComplexityClass }- | ACRewriteSystem { trsinput_trs :: TRS Identifier Identifier- , asymbols :: [ Identifier ]- , csymbols :: [ Identifier ]+ | ACRewriteSystem { trsinput_trs :: Trs+ , asymbols :: [ Symbol ]+ , csymbols :: [ Symbol ] }- deriving ( Typeable, Eq ) + deriving ( Typeable, Eq, Generic ) instance Pretty CertificationProblemInput where pretty cpi = case cpi of@@ -72,91 +84,131 @@ , "csymbols" <+> text (show $ csymbols cpi ) ] -data Proof = TrsTerminationProof TrsTerminationProof- | TrsNonterminationProof TrsNonterminationProof- | RelativeTerminationProof TrsTerminationProof- | RelativeNonterminationProof TrsNonterminationProof+data Kind = Standard | Relative+ deriving ( Typeable, Eq, Generic )++data Proof = TrsTerminationProof (TrsTerminationProof Standard)+ | TrsNonterminationProof (TrsNonterminationProof Standard)+ | RelativeTerminationProof (TrsTerminationProof Relative)+ | RelativeNonterminationProof (TrsNonterminationProof Relative) | ComplexityProof ComplexityProof | ACTerminationProof ACTerminationProof- deriving ( Typeable, Eq )+ deriving ( Typeable, Eq, Generic ) -data DPS = forall s . ( XmlContent s ,- Typeable s, Eq s ) - => DPS [ Rule (Term Identifier s) ]+data DPS = DPS [ Rule (Term Identifier Symbol) ] deriving ( Typeable ) instance Eq DPS where x == y = error "instance Eq DPS" data ComplexityProof = ComplexityProofFIXME ()- deriving ( Typeable, Eq )+ deriving ( Typeable, Eq, Generic ) data ComplexityMeasure = DerivationalComplexity | RuntimeComplexity- deriving ( Typeable, Eq, Show )+ deriving ( Typeable, Eq, Generic , Show ) data ComplexityClass = ComplexityClassPolynomial { degree :: Int } -- ^ it seems the degree must always be given in CPF, -- although the category spec also allows "POLY" -- http://cl-informatik.uibk.ac.at/users/georg/cbr/competition/rules.php- deriving ( Typeable, Eq, Show )+ deriving ( Typeable, Eq, Generic , Show ) -data TrsNonterminationProof = TrsNonterminationProofFIXME ()- deriving ( Typeable, Eq )+data TrsNonterminationProof (k :: Kind)+ = VariableConditionViolated+ | TNP_RuleRemoval Trs (TrsNonterminationProof k)+ | TNP_StringReversal Trs (TrsNonterminationProof k)+ | Loop+ { rewriteSequence :: RewriteSequence+ , substitution :: Substitution+ , context :: Context+ }+ deriving ( Typeable, Eq, Generic ) -data TrsTerminationProof - = RIsEmpty- | RuleRemoval { rr_orderingConstraintProof :: OrderingConstraintProof- , trs :: TRS Identifier Identifier - , trsTerminationProof :: TrsTerminationProof - } - | DpTrans { dptrans_dps :: DPS- , markedSymbols :: Bool , dptrans_dpProof :: DpProof }- | Semlab { model :: Model - , trs :: TRS Identifier Identifier- , trsTerminationProof :: TrsTerminationProof- }- | Unlab { trs :: TRS Identifier Identifier- , trsTerminationProof :: TrsTerminationProof- }- | StringReversal { trs :: TRS Identifier Identifier- , trsTerminationProof :: TrsTerminationProof - }- | Bounds { trs :: TRS Identifier Identifier- , bounds_type :: Bounds_Type+data RewriteSequence = RewriteSequence (Term Identifier Symbol) [ RewriteStep ]+ deriving ( Typeable, Eq, Generic )++data RewriteStep = RewriteStep+ { rs_position :: Position+ , rs_rule :: Rule (Term Identifier Symbol)+ , rs_term :: Term Identifier Symbol+ }+ deriving ( Typeable, Eq, Generic )++data Substitution = Substitution [ SubstEntry ]+ deriving ( Typeable, Eq, Generic )++data SubstEntry = SubstEntry Identifier (Term Identifier Symbol)+ deriving ( Typeable, Eq, Generic )++data Context = Box+ | FunContext { fc_symbol :: Symbol+ , fc_before :: [Term Identifier Symbol ]+ , fc_here :: Context+ , fc_after :: [Term Identifier Symbol ]+ }+ deriving ( Typeable, Eq, Generic )++data TrsTerminationProof (k :: Kind) where+ RIsEmpty :: TrsTerminationProof k+ SIsEmpty :: { trsTerminationProof_Standard :: !(TrsTerminationProof Standard) }+ -> TrsTerminationProof Relative+ RuleRemoval :: { rr_orderingConstraintProof :: !OrderingConstraintProof+ , trs :: !Trs+ , trsTerminationProof :: !(TrsTerminationProof k)+ } -> TrsTerminationProof k+ EqualityRemoval :: { trsTerminationProof_Relative :: !(TrsTerminationProof Relative)+ } -> TrsTerminationProof Relative+ DpTrans :: { dptrans_dps :: DPS+ , markedSymbols :: Bool , dptrans_dpProof :: DpProof } -> TrsTerminationProof Standard+ FlatContextClosure ::+ { flatContexts :: ![Context]+ , trs :: !Trs+ , trsTerminationProof :: !(TrsTerminationProof k)+ } -> TrsTerminationProof k+ Semlab :: { model :: !Model + , trs :: !Trs+ , trsTerminationProof :: !(TrsTerminationProof k)+ } -> TrsTerminationProof k+ Split :: { trs :: !Trs+ , remove :: !(TrsTerminationProof Relative)+ , remain :: !(TrsTerminationProof k)+ } -> TrsTerminationProof k+ StringReversal :: { trs :: !Trs+ , trsTerminationProof :: !(TrsTerminationProof k)+ } -> TrsTerminationProof k+ Bounds :: { bounds_type :: Bounds_Type , bounds_bound :: Int , bounds_finalStates :: [ State ]- , bounds_closedTreeAutomaton :: ClosedTreeAutomaton- }- deriving ( Typeable, Eq )+ , bounds_closedTreeAutomaton :: TreeAutomaton+ , bounds_criterion :: Criterion+ } -> TrsTerminationProof Standard -data Bounds_Type = Roof | Match- deriving ( Typeable, Eq )+deriving instance Typeable (TrsTerminationProof k)+deriving instance Eq (TrsTerminationProof k)+-- deriving instance Generic (TrsTerminationProof k) -data ClosedTreeAutomaton = ClosedTreeAutomaton- { cta_treeAutomaton :: TreeAutomaton- , cta_criterion :: Criterion- }- deriving ( Typeable, Eq )+data Bounds_Type = Roof | Match+ deriving ( Typeable, Eq, Generic ) data Criterion = Compatibility- deriving ( Typeable, Eq )+ deriving ( Typeable, Eq, Generic ) data TreeAutomaton = TreeAutomaton { ta_finalStates :: [ State ] , ta_transitions :: [ Transition ] }- deriving ( Typeable, Eq )+ deriving ( Typeable, Eq, Generic ) -data State = State Int- deriving ( Typeable, Eq )+data State = State Text -- Int -- Ha! Wrong.+ deriving ( Typeable, Eq, Generic ) data Transition = Transition { transition_lhs :: Transition_Lhs- , transition_rhs :: [ State ]+ , transition_rhs :: State }- deriving ( Typeable, Eq )+ deriving ( Typeable, Eq, Generic ) data Transition_Lhs = Transition_Symbol { tr_symbol :: Symbol@@ -164,17 +216,24 @@ , tr_arguments :: [ State ] } | Transition_Epsilon State- deriving ( Typeable, Eq )+ deriving ( Typeable, Eq, Generic ) -data Model = FiniteModel Int [Interpret]- deriving ( Typeable, Eq )- +data Model+ = FiniteModel Int [Interpret]+ | RootLabeling+ deriving ( Typeable, Eq, Generic )++data Mono = Weak | Strict+ deriving ( Typeable, Eq, Generic )+ data DpProof = PIsEmpty - | RedPairProc { rppOrderingConstraintProof :: OrderingConstraintProof- , rppDps :: DPS + | RedPairProc { rppMono :: Mono+ , rppOrderingConstraintProof :: OrderingConstraintProof+ , rppDps :: DPS+ , rppTrs :: Maybe Trs , rppUsableRules :: Maybe DPS , rppDpProof :: DpProof - } + } | DepGraphProc [ DepGraphComponent ] | SemLabProc { slpModel :: Model@@ -186,53 +245,53 @@ , ulpTrs :: DPS , ulpDpProof :: DpProof }- deriving ( Typeable, Eq )+ deriving ( Typeable, Eq, Generic ) data DepGraphComponent = DepGraphComponent { dgcRealScc :: Bool , dgcDps :: DPS , dgcDpProof :: DpProof }- deriving ( Typeable, Eq )+ deriving ( Typeable, Eq, Generic ) data OrderingConstraintProof = OCPRedPair RedPair- deriving ( Typeable, Eq )+ deriving ( Typeable, Eq, Generic ) data RedPair = RPInterpretation Interpretation | RPPathOrder PathOrder- deriving ( Typeable, Eq )+ deriving ( Typeable, Eq, Generic ) data Interpretation = Interpretation { interpretation_type :: Interpretation_Type , interprets :: [ Interpret ] }- deriving ( Typeable, Eq )+ deriving ( Typeable, Eq, Generic ) data Interpretation_Type = Matrix_Interpretation { domain :: Domain, dimension :: Int , strictDimension :: Int }- deriving ( Typeable, Eq )+ deriving ( Typeable, Eq, Generic ) data Domain = Naturals | Rationals Rational | Arctic Domain | Tropical Domain- deriving ( Typeable, Eq )+ deriving ( Typeable, Eq, Generic ) data Interpret = Interpret { symbol :: Symbol , arity :: Int , value :: Value }- deriving ( Typeable, Eq )+ deriving ( Typeable, Eq, Generic ) data Value = Polynomial Polynomial | ArithFunction ArithFunction- deriving ( Typeable, Eq )+ deriving ( Typeable, Eq, Generic ) data Polynomial = Sum [ Polynomial ] | Product [ Polynomial ] | Polynomial_Coefficient Coefficient | Polynomial_Variable Text- deriving ( Typeable, Eq )+ deriving ( Typeable, Eq, Generic ) data ArithFunction = AFNatural Integer | AFVariable Integer@@ -241,46 +300,61 @@ | AFMin [ArithFunction] | AFMax [ArithFunction] | AFIfEqual ArithFunction ArithFunction ArithFunction ArithFunction- deriving ( Typeable, Eq )+ deriving ( Typeable, Eq, Generic ) data Symbol = SymName Identifier | SymSharp Symbol | SymLabel Symbol Label- deriving ( Typeable, Eq )+ deriving ( Typeable, Eq, Ord, Generic )+instance Hashable Symbol +instance Pretty Symbol where+ pretty s = case s of+ SymName n -> pretty n+ SymSharp s -> pretty s <> "#"+ SymLabel s l -> pretty s <> "_" <> pretty l++instance Show Symbol where show = T.unpack . render . pretty++ data Label = LblNumber [Integer] | LblSymbol [Symbol]- deriving ( Typeable, Eq )+ deriving ( Typeable, Eq, Ord, Generic )+instance Hashable Label +instance Pretty Label where+ pretty (LblNumber xs) = pretty xs+ pretty (LblSymbol xs) = pretty xs+ data Coefficient = Vector [ Coefficient ] | Matrix [ Coefficient ] | forall a . (Eq a , XmlContent a ) => Coefficient_Coefficient a deriving ( Typeable ) -instance Eq Coefficient where x == y = error "instance Eq Coefficient"+instance Eq Coefficient where+ x == y = error "instance Eq Coefficient" data Exotic = Minus_Infinite | E_Integer Integer | E_Rational Rational | Plus_Infinite- deriving ( Typeable, Eq )+ deriving ( Typeable, Eq, Generic ) class ToExotic a where toExotic :: a -> Exotic data PathOrder = PathOrder [PrecedenceEntry] [ArgumentFilterEntry]- deriving ( Typeable, Eq )+ deriving ( Typeable, Eq, Generic ) data PrecedenceEntry = PrecedenceEntry { peSymbol :: Symbol , peArity :: Int , pePrecedence :: Integer }- deriving ( Typeable, Eq )+ deriving ( Typeable, Eq, Generic ) data ArgumentFilterEntry = ArgumentFilterEntry { afeSymbol :: Symbol , afeArity :: Int , afeFilter :: Either Int [Int] }- deriving ( Typeable, Eq )+ deriving ( Typeable, Eq, Generic ) data ACTerminationProof = ACTerminationProofFIXME ()- deriving ( Typeable, Eq )-+ deriving ( Typeable, Eq, Generic )
src/TPDB/CPF/Proof/Util.hs view
@@ -1,4 +1,6 @@ {-# LANGUAGE LambdaCase #-}+{-# LANGUAGE FlexibleContexts #-}+ module TPDB.CPF.Proof.Util where import qualified Data.Map as M@@ -7,13 +9,14 @@ import TPDB.CPF.Proof.Type hiding (name) import TPDB.DP import Data.String (fromString)+import Data.Hashable fromMarkedIdentifier :: Marked Identifier -> Symbol fromMarkedIdentifier = \case Original i -> SymName i Marked i -> SymSharp $ SymName i -sortVariables :: Rule (Term Identifier s) -> Rule (Term Identifier s)+sortVariables :: (Ord s, Hashable s) => Rule (Term Identifier s) -> Rule (Term Identifier s) sortVariables r = r { lhs = vmap mapVar $ lhs r , rhs = vmap mapVar $ rhs r }
src/TPDB/CPF/Proof/Write.hs view
@@ -1,15 +1,18 @@-{-# language TypeSynonymInstances, FlexibleContexts, FlexibleInstances, UndecidableInstances, OverlappingInstances, IncoherentInstances, PatternSignatures, DeriveDataTypeable, OverloadedStrings #-}+{-# language TypeSynonymInstances, FlexibleContexts, FlexibleInstances, UndecidableInstances, OverlappingInstances, IncoherentInstances, PatternSignatures, DeriveDataTypeable, OverloadedStrings, LambdaCase, DataKinds, GADTs, QuasiQuotes #-} +{-# OPTIONS_GHC -Werror=incomplete-patterns #-}+ -- | from internal representation to XML, and back module TPDB.CPF.Proof.Write where -import TPDB.CPF.Proof.Type+import TPDB.CPF.Proof.Type as Type import qualified TPDB.Data as T import TPDB.Xml import Text.XML-import TPDB.Data.Xml +import TPDB.Data.Xml+import Text.Hamlet.XML import Data.List ( nub ) import Data.Char ( toLower )@@ -21,6 +24,7 @@ import Control.Monad import Data.Typeable import Data.Ratio+import Data.String (fromString) tox :: CertificationProblem -> Document tox p = @@ -58,10 +62,11 @@ parseContents = error "parseContents not implemented" toContents i = case i of- TrsInput {} -> rmkel "trsInput" $ toContents ( symbolize $ trsinput_trs i )+ TrsInput {} -> rmkel "trsInput" $ toContents (trsinput_trs i ) ComplexityInput {} -> rmkel "complexityInput" $ concat- [ rmkel "trsInput" $ toContents $ symbolize $ trsinput_trs i+ [ rmkel "trsInput" $ toContents $ trsinput_trs i ]+ ACRewriteSystem {} -> error "toContents ACRewriteSystem" instance XmlContent ( T.TRS Identifier Symbol ) where parseContents = error "parseContents not implemented"@@ -85,10 +90,11 @@ let missing t = rmkel t $ rmkel "missing-toContents-instance" [] in case p of TrsTerminationProof p -> toContents p- TrsNonterminationProof p -> missing "TrsNonterminationProof"- RelativeTerminationProof p -> missing "RelativeTerminationProof"- RelativeNonterminationProof p -> missing "RelativeNonterminationProof"+ TrsNonterminationProof p -> toContents p+ RelativeTerminationProof p -> toContents p+ RelativeNonterminationProof p -> toContents p ComplexityProof p -> missing "ComplexityProof"+ ACTerminationProof p -> missing "ACTerminationProof" instance XmlContent DPS where parseContents = error "parseContents not implemented"@@ -96,7 +102,7 @@ toContents ( DPS rules ) = rmkel "dps" $ rmkel "rules" $ rules >>= toContents -instance XmlContent TrsTerminationProof where+instance XmlContent (TrsTerminationProof Standard) where parseContents = error "parseContents not implemented" toContents p = rmkel "trsTerminationProof" $ case p of@@ -107,25 +113,85 @@ , toContents $ dptrans_dpProof p ] StringReversal {} -> rmkel "stringReversal" $ concat- [ toContents $ symbolize $ trs p+ [ toContents $ trs p , toContents $ trsTerminationProof p ]+ FlatContextClosure {} -> rmkel "flatContextClosure" $ concat+ [ rmkel "flatContexts" $ concatMap toContents+ $ flatContexts p+ , toContents $ trs p+ , toContents $ trsTerminationProof p+ ]+ Semlab {} -> rmkel "semlab" $ concat+ [ toContents $ model p+ , toContents $ trs p+ , toContents $ trsTerminationProof p+ ]+ Split {} -> rmkel "split" $ concat+ [ toContents $ trs p+ , toContents $ remove p+ , toContents $ remain p+ ] RuleRemoval {} -> rmkel "ruleRemoval" $ concat [ toContents $ rr_orderingConstraintProof p- , toContents $ symbolize $ trs p+ , toContents $ trs p , toContents $ trsTerminationProof p ] Bounds {} -> rmkel "bounds" $ concat- [ toContents $ symbolize $ trs p- , toContents $ bounds_type p+ [ rmkel "type" $ toContents $ bounds_type p , rmkel "bound" $ toContents $ bounds_bound p , rmkel "finalStates" $ concat $ map toContents $ bounds_finalStates p , toContents $ bounds_closedTreeAutomaton p+ , rmkel "criterion" $ toContents $ bounds_criterion p ] +instance XmlContent (TrsTerminationProof Relative) where+ parseContents = error "parseContents not implemented"++ toContents p = rmkel "relativeTerminationProof" $ case p of+ RIsEmpty -> rmkel "rIsEmpty" []+ SIsEmpty {} -> rmkel "sIsEmpty" $ concat+ [ toContents $ trsTerminationProof_Standard p+ ]+ StringReversal {} -> rmkel "stringReversal" $ concat+ [ toContents $ standard $ trs p+ , toContents $ relative $ trs p+ , toContents $ trsTerminationProof p+ ]+ FlatContextClosure {} -> rmkel "flatContextClosure" $ concat+ [ rmkel "flatContexts" $ concatMap toContents+ $ flatContexts p+ , toContents $ standard $ trs p+ , toContents $ relative $ trs p+ , toContents $ trsTerminationProof p+ ]+ Semlab {} -> rmkel "semlab" $ concat+ [ toContents $ model p+ , toContents $ standard $ trs p+ , toContents $ relative $ trs p+ , toContents $ trsTerminationProof p+ ]+ RuleRemoval {} -> rmkel "ruleRemoval" $ concat+ [ toContents $ rr_orderingConstraintProof p+ , toContents $ standard $ trs p+ , toContents $ relative $ trs p+ , toContents $ trsTerminationProof p+ ]+ EqualityRemoval {} -> rmkel "equalityRemoval" $ concat+ [ toContents $ trsTerminationProof_Relative p+ ]+ Split {} -> rmkel "split" $ concat+ [ toContents $ trs p+ , toContents $ remove p+ , toContents $ remain p+ ]++standard trs = trs `T.with_rules` filter T.strict (T.rules trs)+relative trs = trs `T.with_rules` filter T.weak (T.rules trs)+ symbolize trs = - ( fmap (fmap SymName) trs )+ ( fmap (T.tmap SymName) trs ) { T.signature = map SymName $ T.signature trs } instance XmlContent Bounds_Type where@@ -134,13 +200,8 @@ Match -> rmkel "match" [] instance XmlContent State where- toContents (State s) = rmkel "state" $ toContents s--instance XmlContent ClosedTreeAutomaton where- toContents c = concat- [ toContents $ cta_treeAutomaton c- , toContents $ cta_criterion c- ]+ toContents (State s) =+ rmkel "state" [xml|#{fromString $ escape $ T.unpack s}|] instance XmlContent Criterion where toContents c = case c of@@ -157,8 +218,7 @@ instance XmlContent Transition where toContents t = rmkel "transition" $ concat [ rmkel "lhs" $ toContents $ transition_lhs t- , rmkel "rhs" $ concat- $ map toContents $ transition_rhs t+ , rmkel "rhs" $ toContents $ transition_rhs t ] instance XmlContent Transition_Lhs where@@ -179,22 +239,29 @@ [ rmkel "carrierSize" $ toContents carrierSize , concatMap toContents interprets ]+ RootLabeling -> rmkel "rootLabeling" [] instance XmlContent DpProof where parseContents = error "parseContents not implemented" toContents p = rmkel "dpProof" $ case p of PIsEmpty -> rmkel "pIsEmpty" []- RedPairProc {} -> case rppUsableRules p of- Nothing -> rmkel "redPairProc" $ concat- [ toContents $ rppOrderingConstraintProof p- , toContents $ rppDps p- , toContents $ rppDpProof p- ]- Just (DPS ur) -> rmkel "redPairUrProc" $ concat+ RedPairProc {} ->+ let name = case rppUsableRules p of+ Nothing -> case rppMono p of+ Weak -> "redPairProc"; Strict -> "monoRedPairProc"+ Just _ -> case rppMono p of+ Weak -> "redPairUrProc"; Strict -> "monoRedPairUrProc" + in rmkel name $ concat [ toContents $ rppOrderingConstraintProof p , toContents $ rppDps p- , rmkel "usableRules" $ rmkel "rules" $ concatMap toContents ur+ , case rppTrs p of+ Nothing -> []+ Just sys -> toContents sys+ , case rppUsableRules p of+ Nothing -> []+ Just (DPS ur) -> rmkel "usableRules"+ $ rmkel "rules" $ concatMap toContents ur , toContents $ rppDpProof p ] DepGraphProc cs -> rmkel "depGraphProc" $ concat $ map toContents cs@@ -326,6 +393,7 @@ toContents e = case e of Minus_Infinite -> rmkel "minusInfinity" [] E_Integer i -> rmkel "integer" $ toContents i+ E_Rational r -> {- rmkel "rational" $ -} toContents r Plus_Infinite -> rmkel "plusInfinity" [] -- see remark in TPDB.Data.Xml (sharp_name_HACK)@@ -376,3 +444,60 @@ Right is -> rmkel "nonCollapsing" $ map (\i -> mkel "position" $ toContents i) is ]++instance XmlContent (TrsNonterminationProof Standard) where+ toContents tnp = rmkel "trsNonterminationProof" $ case tnp of+ VariableConditionViolated -> rmkel "variableConditionViolated" []+ TNP_RuleRemoval sys sub -> rmkel "ruleRemoval"+ $ concat [ toContents sys, toContents sub ]+ TNP_StringReversal sys sub -> rmkel "stringReversal"+ $ concat [ toContents sys , toContents sub ]+ Loop {rewriteSequence = rs, substitution = sub, context = ctx } -> rmkel "loop"+ $ concat [ toContents rs, toContents sub, toContents ctx ]++instance XmlContent (TrsNonterminationProof Relative) where+ toContents tnp = rmkel "relativeNonterminationProof" $ case tnp of+ VariableConditionViolated -> rmkel "variableConditionViolated" []+ TNP_RuleRemoval sys sub -> rmkel "ruleRemoval"+ $ concat [ toContents sys, toContents sub ]+ TNP_StringReversal sys sub -> rmkel "stringReversal"+ $ concat [ toContents sys , toContents sub ]+ Loop {rewriteSequence = rs, substitution = sub, context = ctx } -> rmkel "loop"+ $ concat [ toContents rs, toContents sub, toContents ctx ]++instance XmlContent RewriteSequence where+ toContents (RewriteSequence start steps) =+ rmkel "rewriteSequence" $ concat+ [ rmkel "startTerm" $ toContents start + , concatMap toContents steps+ ]++instance XmlContent RewriteStep where+ toContents rs = rmkel "rewriteStep" $ concat+ [ rmkel "positionInTerm"+ $ concatMap (\ k -> rmkel "position" $ toContents k ) $ rs_position rs+ , toContents $ rs_rule rs+ , case T.relation $ rs_rule rs of+ T.Strict -> []+ T.Weak -> rmkel "relative" []+ T.Equal -> error "toContents for Equal rule"+ , toContents $ rs_term rs+ ]++instance XmlContent Substitution where+ toContents (Substitution ses) = rmkel "substitution" $ concatMap toContents ses+instance XmlContent SubstEntry where+ toContents (SubstEntry v t) = rmkel "substEntry" $ concat+ [ toContents $ (T.Var v :: T.Term Identifier Symbol)+ , toContents $ t+ ]++instance XmlContent Context where+ toContents c = case c of+ Box -> rmkel "box" []+ FunContext {} -> rmkel "funContext" $ concat+ [ toContents $ fc_symbol c+ , rmkel "before" $ concatMap toContents $ fc_before c+ , toContents $ fc_here c+ , rmkel "after" $ concatMap toContents $ fc_after c+ ]
src/TPDB/Convert.hs view
@@ -14,13 +14,15 @@ set_arity a s = s { arity = a } convert_srs_rule u =- let v = mk 0 "x"+ let v = case original_variable u of+ Nothing -> mk 0 "x" -- RISKY+ Just v -> v handle = unspine v . map (set_arity 1) in u { lhs = handle $ lhs u , rhs = handle $ rhs u } -trs2srs :: Eq v => TRS v s -> Maybe ( SRS s )+trs2srs :: (Eq v, TermC v s, v ~ Identifier) => TRS v s -> Maybe ( SRS s ) trs2srs t = do us <- forM ( rules t ) convert_trs_rule return $ t { separate = True , rules = us }@@ -29,14 +31,17 @@ ( left_spine, left_base ) <- spine $ lhs u ( right_spine, right_base ) <- spine $ rhs u guard $ left_base == right_base- return $ u { lhs = left_spine, rhs = right_spine }+ return $ u+ { lhs = left_spine, rhs = right_spine+ , original_variable = Just left_base+ } -unspine :: v -> [s] -> Term v s+unspine :: TermC v s => v -> [s] -> Term v s unspine v = foldr ( \ c t -> Node c [ t ] ) ( Var v ) -- | success iff term consists of unary symbols -- and the lowest node is a variable-spine :: Term v s -> Maybe ( [s], v )+spine :: TermC v s => Term v s -> Maybe ( [s], v ) spine t = case t of Node f args -> do [ arg ] <- return args
src/TPDB/DP/Graph.hs view
@@ -12,8 +12,8 @@ import TPDB.Plain.Read -- for testing import TPDB.Plain.Write -- for testing -import qualified Data.Set as S-import qualified Data.Map as M+import qualified Data.IntSet as S+import qualified Data.IntMap.Strict as M import Data.Graph ( stronglyConnComp, SCC(..) ) import Control.Monad ( guard, forM ) import Control.Applicative@@ -25,29 +25,31 @@ -- topologically sorted, with CyclicComponents in Right, -- others in Left. components s = do - let es = M.fromListWith (++) - $ do (p,q) <- edges s ; return (p, [q])- key = M.fromList - $ zip (filter strict $ rules s) [0.. ]+ let su = indexed s+ ns = filter (not . strict) (rules s) + es = M.fromListWith (<>) + $ do (i,j) <- edges su ; return (i, S.singleton j) comp <- reverse $ stronglyConnComp $ do- p <- M.keys key- let qs = M.findWithDefault [] p es- return (p, key M.! p, map (key M.!) qs )+ (i,u) <- M.toList su+ let js = M.findWithDefault mempty i es+ return (u, i, S.toList js) return $ case comp of- CyclicSCC vs -> Right $ s { rules = vs - ++ filter (not . strict) (rules s) } + CyclicSCC vs -> Right $ s { rules = vs <> ns } AcyclicSCC v -> Left v -- | edges of the estimated dependency graph-edges s = do- let def = S.filter isOriginal $ defined s- u <- filter strict $ rules s- v <- filter strict $ rules s- guard $ unifies ( vmap Left $ tcap s $ rhs u ) +edges su = do+ (i,u) <- M.toList su+ (j,v) <- M.toList su+ guard $ unifies ( vmap Left $ tcap (M.elems su) $ rhs u ) ( vmap Right $ lhs v )- return (u,v)+ return (i,j) -check = edges $ dp sys+check = edges $ indexed $ dp sys++-- | numbering for non-strict rules+indexed :: TRS v c -> M.IntMap (Rule (Term v c))+indexed s = M.fromList $ zip [0::Int ..] $ filter strict $ rules s -- example from "DP Revisited" http://colo6-c703.uibk.ac.at/ttt/rta04.pdf Right sys =
src/TPDB/DP/TCap.hs view
@@ -1,10 +1,13 @@-module TPDB.DP.TCap where+{-# language FlexibleContexts #-} +module TPDB.DP.TCap (tcap) where+ import TPDB.Data import TPDB.Pretty import TPDB.DP.Unify +import Control.Monad (forM) import Control.Monad.State.Strict import Control.Applicative @@ -13,17 +16,18 @@ -- even if the term is instantiated. All other parts are replaced by fresh variables. -- Def 4.4 in http://cl-informatik.uibk.ac.at/users/griff/publications/Sternagel-Thiemann-RTA10.pdf -tcap :: (Ord v, Ord c) => TRS v c -> Term v c -> Term Int c+tcap :: (Ord v, Eq c, TermC v c) => [Rule (Term v c)] -> Term v c -> Term Int c tcap dp t = evalState ( walk dp t ) 0 -fresh_var :: State Int ( Term Int c )-fresh_var = do i <- get ; put $ succ i ; return $ Var i+fresh_var :: TermC Int c => State Int ( Term Int c )+fresh_var = do i <- get ; put $! succ i ; return $ Var i -walk dp t = case t of- Node f args -> do- t' <- Node f <$> forM args (walk dp)- if all ( \ u -> not $ unifies ( vmap Left $ lhs u ) ( vmap Right t' ) )- $ filter (not . strict) $ rules dp+{-# INLINE walk #-}+walk dp =+ let go t = case t of+ Node f args -> do+ t' <- Node f <$> forM args go+ if all ( \ u -> not $ unifies ( vmap Left $ lhs u ) ( vmap Right t' ) ) $ filter (not . strict) dp then return t' else fresh_var- _ -> fresh_var -+ _ -> fresh_var + in go
src/TPDB/DP/Transform.hs view
@@ -1,7 +1,13 @@ {-# language OverloadedStrings #-} {-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE PatternSynonyms #-} -module TPDB.DP.Transform where+module TPDB.DP.Transform+ ( dp, mark, Marked+ , pattern Marked, pattern Original, pattern Auxiliary+ , isOriginal, isMarked, mark_top+ , defined+ ) where import TPDB.Data import TPDB.Pretty@@ -12,23 +18,35 @@ import Data.Hashable import GHC.Generics -data Marked a = Original a | Marked a | Auxiliary a+data Mark = Orig+ | Mark+ | Aux -- ^ wat is this?+ deriving (Eq, Ord, Show, Generic)+instance Hashable Mark++data Marked a = Marked_Imp { contents :: !a+ , mark :: !Mark+ } deriving ( Show, Eq, Ord, Generic ) -isOriginal m = case m of Original {} -> True ; _ -> False-isMarked m = case m of Marked {} -> True ; _ -> False+pattern Marked a = Marked_Imp { mark = Mark, contents = a }+pattern Original a = Marked_Imp { mark = Orig, contents = a }+pattern Auxiliary a = Marked_Imp { mark = Aux, contents = a } +isOriginal m = mark m == Orig+isMarked m = mark m == Mark+ instance Hashable a => Hashable (Marked a) instance Pretty a => Pretty ( Marked a) where- pretty m = case m of- Original a -> pretty a- Marked a -> pretty a <> "#"- Auxiliary a -> pretty a+ pretty m = let p = pretty (contents m) in case mark m of+ Orig -> p+ Mark -> p <> "#"+ Aux -> p -mark_top :: Term v a -> Term v (Marked a)+mark_top :: TermC v a => Term v a -> Term v (Marked a) mark_top (Node f args) = - Node (Marked f) $ map (fmap Original) args+ Node (Marked f) $ map (tmap Original) args defined s = S.fromList $ do u <- rules s@@ -38,21 +56,23 @@ -- | compute the DP transformed system. -dp :: (Ord v, Ord s) +dp :: (Eq v, Ord s, TermC v s) => RS s (Term v s) -> RS (Marked s) (Term v (Marked s)) dp s = let os = map ( \ u -> Rule { relation = Weak- , lhs = fmap Original $ lhs u - , rhs = fmap Original $ rhs u + , lhs = tmap Original $ lhs u + , rhs = tmap Original $ rhs u , top = False } ) $ rules s def = defined s us = do u <- rules s- let ssubs = S.fromList $ strict_subterms $ lhs u- walk r = if S.member r ssubs then [] else case r of+ let -- ssubs = S.fromList $ strict_subterms $ lhs u+ walk r = if -- S.member r ssubs+ isStrictSubtermOf r (lhs u)+ then [] else case r of -- will raise exception if rhs contains -- a variable that is not in lhs Node f args ->
src/TPDB/DP/Unify.hs view
@@ -1,7 +1,10 @@+{-# language FlexibleContexts #-}+ module TPDB.DP.Unify ( mgu, match, unifies, apply, times ) where import TPDB.Data-import qualified Data.Map as M+import qualified Data.Map.Strict as M+import qualified Data.Set as S import Control.Monad ( guard, foldM ) import Data.Maybe (isJust) @@ -10,47 +13,55 @@ unifies t1 t2 = isJust $ mgu t1 t2 -- | view variables as symbols-pack :: Term v c -> Term any (Either v c)+pack :: (Ord v, TermC v c, TermC any (Either v c))+ => Term v c -> Term any (Either v c) pack ( Var v ) = Node ( Left v ) [] pack ( Node f args ) = Node ( Right f ) ( map pack args ) -unpack :: Term any (Either v c) -> Term v c+unpack :: (TermC v c, TermC any (Either v c))+ => Term any (Either v c) -> Term v c unpack ( Node ( Left v ) [] ) = Var v unpack ( Node ( Right f ) args ) = Node f ( map unpack args ) -- | will only bind variables in the left side-match :: ( Ord v, Ord w, Eq c )+match :: ( Ord v, Ord w, Eq c, TermC v c, TermC w c ) => Term v c -> Term w c -> Maybe ( M.Map v ( Term w c ) ) match l r = do- u <- mgu ( fmap Right l ) ( pack r )+ u <- mgu ( tmap Right l ) ( pack r ) return $ M.map unpack u -- | naive implementation (worst case exponential) mgu- :: (Ord v, Eq c) =>+ :: (Ord v, Eq c, TermC v c) => Term v c -> Term v c -> Maybe (M.Map v (Term v c)) mgu t1 t2 | t1 == t2 = return M.empty mgu ( Var v ) t2 = do+ -- this requires t2 to be visited completely:+ -- guard $ not $ S.member v $ vars t2 + -- this is lazy: will stop when encountering first v occurence guard $ not $ elem (Var v) $ subterms t2+ -- also lazy, but will allocate the DOUBLE amount of mem:+ -- guard $ not $ elem v $ voccs t2 return $ M.singleton v t2 mgu t1 ( Var v ) = mgu ( Var v ) t1 mgu (Node f1 args1) (Node f2 args2) | f1 == f2 && length args1 == length args2 = do- guard $ f1 == f2 foldM ( \ s (l,r) -> do t <- mgu (apply l s) (apply r s) return $ times s t ) M.empty $ zip args1 args2 mgu _ _ = Nothing- -times :: Ord v ++{-# INLINE times #-} +times :: (Ord v, TermC v c) => Substitution v c -> Substitution v c -> Substitution v c times s t = - M.union ( M.difference t s )- ( M.map ( \ v -> apply v t ) s )-+ M.union ( M.map ( \ v -> apply v t ) s )+ t -- ( M.difference t s )+ +{-# INLINE apply #-} apply t s = case t of Var v -> case M.lookup v s of Nothing -> t ; Just w -> w Node f args -> Node f $ map (\ a -> apply a s) args
src/TPDB/DP/Usable.hs view
@@ -6,38 +6,53 @@ import TPDB.DP.Unify import TPDB.DP.TCap -import qualified Data.Set as S+import qualified Data.IntSet as S+import qualified Data.IntMap.Strict as M --- | DANGER: this ignores the CE condition-restrict :: (Ord c, Ord v) => RS c (Term v c) -> RS c (Term v c)+-- | restrict one SCC to its usable rules.+-- DANGER: this ignores the CE condition+restrict :: (Eq c, Ord v, TermC v c) => RS c (Term v c) -> RS c (Term v c) restrict dp = dp { rules = filter strict (rules dp)- ++ S.toList ( usable dp)+ ++ usable dp } -- | computes the least closed set of usable rules, cf. Def 4.5 -- http://cl-informatik.uibk.ac.at/users/griff/publications/Sternagel-Thiemann-RTA10.pdf -usable :: (Ord v, Ord c)- => TRS v c -> S.Set (Rule (Term v c))-usable dp = fixpoint ( \ s -> S.union s $ required dp s)- (required dp $ S.filter strict- $ S.fromList $ rules dp) +usable :: (Eq c, Ord v, TermC v c)+ => TRS v c -> [Rule (Term v c)]+usable dp =+ let dpi = M.fromList $ zip [0..] $ rules dp+ fp = fixpoint+ ( \ s -> S.union s $ required dpi $ S.toList s)+ (required dpi $ map fst $ filter (strict . snd) $ M.toList dpi)+ in map (dpi M.!) $ S.toList fp fixpoint f x = let y = f x in if x == y then x else fixpoint f y -required :: (Ord v, Ord c)- => TRS v c -> S.Set ( Rule (Term v c) ) -> S.Set ( Rule (Term v c) ) -required dp rs = - S.fromList $ do { r <- S.toList rs ; needed dp $ rhs r }+-- | indices of rules that can be used+-- to rewrite rhs of rules with indices @is@+required :: (Eq c, Ord v, TermC v c)+ => M.IntMap ( Rule (Term v c) )+ -> [ Int ]+ -> S.IntSet+required dpi is = S.fromList+ $ concatMap (needed dpi)+ $ map (rhs . (dpi M.!)) is -needed :: (Ord v, Ord c)- => TRS v c -> Term v c -> [ Rule (Term v c) ]-needed dp t = case t of- Node f args -> - filter ( \ u -> unifies ( vmap Left $ lhs u ) ( vmap Right $ tcap dp t ) )- ( filter (not . strict) $ rules dp )- ++ ( args >>= needed dp )+-- | indices of rules that can be used+-- to rewrite the given term @t@ (including subterms)+needed :: (Eq c, Ord v, TermC v c)+ => M.IntMap (Rule (Term v c))+ -> Term v c+ -> [ Int ]+needed dpi t = case t of+ Node f args -> (map fst+ $ filter ( \ (j,u) -> unifies ( vmap Left $ lhs u ) ( vmap Right $ tcap (M.elems dpi) t ) )+ $ filter ( not . strict . snd)+ $ M.toList dpi)+ ++ ( args >>= needed dpi ) Var v -> []
src/TPDB/Data.hs view
@@ -11,6 +11,7 @@ module TPDB.Data ( module TPDB.Data+, module TPDB.Data.Identifier , module TPDB.Data.Term , module TPDB.Data.Rule )@@ -18,6 +19,7 @@ where +import TPDB.Data.Identifier import TPDB.Data.Term import TPDB.Data.Rule import TPDB.Data.Attributes@@ -31,27 +33,12 @@ import qualified Data.Text as T import qualified Data.Set as S -data Identifier =- Identifier { _identifier_hash :: !Int- , name :: !T.Text- , arity :: Int- }- deriving ( Eq, Ord, Typeable ) -instance Hashable Identifier where- hashWithSalt s i = hash (s, _identifier_hash i)--instance Show Identifier where show = T.unpack . name--mk :: Int -> T.Text -> Identifier-mk a n = Identifier { _identifier_hash = hash (a,n)- , arity = a, name = n }- class Ord (Var t) => Variables t where type Var t variables :: t -> S.Set (Var t) -instance Ord v => Variables (Term v c) where+instance (Ord v, TermC v c) => Variables (Term v c) where type Var (Term v c) = v variables = vars @@ -109,7 +96,7 @@ variables u = S.unions [ variables (lhs u), variables (rhs u) ] -instance Ord v => Variables (TRS v s) where+instance (Ord v, TermC v s) => Variables (TRS v s) where type Var (TRS v s) = v variables sys = S.unions $ map variables $ rules sys
src/TPDB/Data/Attributes.hs view
@@ -39,7 +39,7 @@ compute_attributes- :: (Ord v, Ord c)+ :: (Ord v, Ord c, TermC v c) => [Rule (Term v c)] -> Attributes compute_attributes us = let terms = do u <- us; [lhs u, rhs u]@@ -67,11 +67,11 @@ safe_maximum x [] = x safe_maximum x ys = maximum ys -varcount :: Ord v => Rule (Term v c) -> M.Map v (Int,Int)+varcount :: (Ord v, TermC v c) => Rule (Term v c) -> M.Map v (Int,Int) varcount u = M.mergeWithKey ( \ k l r -> Just (l,r)) ( M.map ( \k -> (k,0))) (M.map ( \k -> (0,k))) (varcount_term $ lhs u) (varcount_term $ rhs u) -varcount_term :: Ord v => Term v c -> M.Map v Int+varcount_term :: (Ord v, TermC v c) => Term v c -> M.Map v Int varcount_term t = M.fromListWith (+) $ do (p, Var v) <- positions t return (v, 1)
+ src/TPDB/Data/Identifier.hs view
@@ -0,0 +1,21 @@+module TPDB.Data.Identifier where++import qualified Data.Text as T+import Data.Typeable+import Data.Hashable++data Identifier =+ Identifier { _identifier_hash :: !Int+ , name :: !T.Text+ , arity :: Int+ }+ deriving ( Eq, Ord, Typeable )++instance Hashable Identifier where+ hashWithSalt _ = _identifier_hash++instance Show Identifier where show = T.unpack . name++mk :: Int -> T.Text -> Identifier+mk a n = Identifier { _identifier_hash = hash (a,n)+ , arity = a, name = n }
src/TPDB/Data/Rule.hs view
@@ -1,13 +1,20 @@ module TPDB.Data.Rule where +import TPDB.Data.Identifier import Data.Typeable data Relation = Strict | Weak | Equal deriving ( Eq, Ord, Typeable, Show ) -data Rule a = Rule { lhs :: a, rhs :: a - , relation :: Relation- , top :: Bool- }+data Rule a = Rule+ { lhs :: a, rhs :: a + , relation :: Relation+ , top :: Bool+ -- TPDC (XTC) represents SRS as TRS,+ -- e.g., "ab -> ba" is "a(b(x)) -> b(a(x))",+ -- and when we convert back (as we need for CPF),+ -- need to use the original variable in the rule+ , original_variable :: Maybe Identifier + } deriving ( Eq, Ord, Typeable ) strict :: Rule a -> Bool
src/TPDB/Data/Term.hs view
@@ -1,28 +1,24 @@-{-# language DeriveDataTypeable #-}+module TPDB.Data.Term (module T, module TPDB.Data.Term) where -module TPDB.Data.Term where+import TPDB.Data.Term.Plain as T+-- import TPDB.Data.Term.Cached as T import qualified Data.Set as S-import Data.Set (Set)-import Data.Typeable -data Term v s = Var v - | Node s [ Term v s ]- deriving ( Eq, Ord, Show, Typeable ) -vmap :: ( v -> u ) -> Term v s -> Term u s-vmap f ( Var v ) = Var ( f v )-vmap f ( Node c args ) = Node c $ map ( vmap f ) args--instance Functor ( Term v ) where- fmap f ( Var v ) = Var v- fmap f ( Node c args ) = Node (f c) ( map ( fmap f ) args )+{-# INLINEABLE vmap #-}+vmap :: (TermC v s, TermC u s) => ( v -> u ) -> Term v s -> Term u s+vmap f = tfold (Var . f) Node +-- instance Functor ( Term v ) where+-- cannot instantiate Functor since we need TermC+{-# INLINEABLE tmap #-}+tmap f = tfold Var ( \ c xs -> Node (f c) xs) type Position = [ Int ] -positions :: Term v c +positions :: TermC v c => Term v c -> [ ( Position, Term v c ) ] positions t = ( [], t ) : case t of Node c args -> do ( k, arg ) <- zip [ 0 .. ] args@@ -30,78 +26,72 @@ return ( k : p , s ) _ -> [] --- FIXME: inefficient implementation (walks the tree),--- should store the result in each node instead,--- but this would break pattern matching.-size :: Term v c -> Int-size t = length $ positions t -depth :: Term v c -> Int-depth t = case t of- Var {} -> 0- Node f args -> case args of- [] -> 0- _ -> 1 + maximum (map depth args)- -- | all positions-pos :: Term v c +pos :: TermC v c => Term v c -> [ Position ] pos t = do ( p, s ) <- positions t return p -- | non-variable positions-sympos :: Term v c +sympos :: TermC v c => Term v c -> [ Position ] sympos t = do ( p, Node {} ) <- positions t return p -- | variable positions-varpos :: Term v c +varpos :: TermC v c => Term v c -> [ Position ]-varpos t = do+varpos t = -- if null (vars t) then [] else+ do ( p, Var {} ) <- positions t return p -- | leaf positions (= nullary symbols)-leafpos :: Term v c +leafpos :: TermC v c => Term v c -> [ Position ] leafpos t = do ( p, Node c [] ) <- positions t return p -{-# inline subterms #-}--subterms :: Term v c +-- | in preorder+{-# INLINE subterms #-}+subterms :: TermC v c => Term v c -> [ Term v c ] subterms t = t : case t of- Node c args -> do arg <- args- subterms arg+ Node c args -> args >>= subterms _ -> [] -- Note: following implementation relies on @subterms@ -- returning the preorder list (where the full term goes first) strict_subterms t = tail $ subterms t -isSubtermOf :: (Eq v, Eq c ) +isSubtermOf :: (TermC v c, Eq v, Eq c ) => Term v c -> Term v c -> Bool-isSubtermOf s t = elem s $ subterms t+isSubtermOf s t =+ -- size s <= size t &&+ (elem s $ subterms t) -isStrictSubtermOf :: (Eq v, Eq c ) +isStrictSubtermOf :: (TermC v c, Eq v, Eq c ) => Term v c -> Term v c -> Bool-isStrictSubtermOf s t = elem s $ strict_subterms t+isStrictSubtermOf s t =+ -- size s < size t &&+ (elem s $ strict_subterms t) -- | compute new symbol at position, giving the position-pmap:: ( Position -> c -> d )+pmap :: (TermC v c, TermC v d)+ =>( Position -> c -> d ) -> Term v c -> Term v d pmap f = rpmap ( \ p c -> f ( reverse p) c ) -- | compute new symbol from *reverse* position and previous symbol -- this is more efficient (no reverse needed)-rpmap :: ( Position -> c -> d )+rpmap :: (TermC v c, TermC v d)+ => ( Position -> c -> d ) -> Term v c -> Term v d rpmap f t = helper [] t where@@ -112,13 +102,15 @@ -peek :: Term v c +peek :: TermC v c+ => Term v c -> Position -> Term v c peek t [] = t peek ( Node c args ) ( k : ks ) = peek ( args !! k ) ks -peek_symbol :: Term v c +peek_symbol :: TermC v c+ => Term v c -> Position -> c peek_symbol t p = @@ -127,7 +119,8 @@ _ -> error "Autolib.TES.Position.peek_symbol called for non-symbol" -- | warning: don't check arity-poke_symbol :: Term v c +poke_symbol :: TermC v c+ => Term v c -> ( Position , c ) -> Term v c poke_symbol t ( p, c ) = @@ -135,7 +128,8 @@ Node _ args -> poke t ( p, Node c args ) _ -> error "Autolib.TES.Position.poke_symbol called for non-symbol" -poke :: Term v c +poke :: TermC v c+ => Term v c -> ( Position , Term v c ) -> Term v c poke t ( [], s ) = s@@ -143,38 +137,30 @@ let ( pre , this : post ) = splitAt k args in Node c ( pre ++ poke this ( ks, s ) : post ) -pokes :: Term v c+pokes :: TermC v c+ => Term v c -> [ ( Position, Term v c ) ] -> Term v c pokes = foldl poke --- | in preorder -symsl :: Term v c -> [ c ]-symsl t = do- Node c _ <- subterms t- return c--syms :: Ord c => Term v c -> Set c-syms = S.fromList . symsl-+-- | list of function symbols (in pre-order, with duplicates)+symsl :: TermC v c => Term v c -> [ c ]+symsl t = do Node c _ <- subterms t; return c -lsyms :: Ord c => Term v c -> [ c ]+-- | unique+lsyms :: (Ord c, TermC v c) => Term v c -> [ c ] lsyms = S.toList . syms -vars :: Ord v => Term v c -> Set v-vars t = S.fromList $ do- Var v <- subterms t- return v--isvar :: Term v c -> Bool+isvar :: TermC v c => Term v c -> Bool isvar ( Var _ ) = True ; isvar _ = False -- | list of variables (each occurs once, unspecified ordering)-lvars :: Ord v => Term v c -> [ v ]+lvars :: (Ord v, TermC v c) => Term v c -> [ v ] lvars = S.toList . vars -- | list of variables (in pre-order, with duplicates)-voccs :: Term v c -> [ v ]-voccs t = do ( p, Var v ) <- positions t ; return v+{-# INLINE voccs #-}+voccs :: TermC v c => Term v c -> [ v ]+voccs = tfold (\ v -> [v]) (\ _ -> concat)
+ src/TPDB/Data/Term/Cached.hs view
@@ -0,0 +1,111 @@+{-# language DeriveDataTypeable #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE DeriveGeneric #-}++module TPDB.Data.Term.Cached+ ( TermC, Term, pattern Var, pattern Node, tfold+ , size, depth, vars, syms+ )+where++import qualified Data.Set as S+import Data.Set (Set)+import Data.Typeable+import Data.Hashable+import GHC.Generics++data Term v s = Var_Imp+ { _hash :: !Int+ , name :: v+ -- , size :: !Int+ -- , depth :: !Int+ -- , vars :: S.Set v+ -- , syms :: S.Set s+ }+ | Node_Imp+ { _hash :: !Int+ , fun :: s+ , args :: [Term v s]+ -- , size :: !Int+ -- , depth :: !Int+ -- , vars :: S.Set v+ -- , syms :: S.Set s+ }+ deriving ( Eq, Ord, Typeable, Generic )++vars :: TermC v c => Term v c -> S.Set v+vars = tfold S.singleton (\ _ -> S.unions)++syms :: TermC v c => Term v c -> S.Set c+syms = tfold (const S.empty) (\ f xs -> S.unions $ S.singleton f : xs)++size :: TermC v c => Term v c -> Int+size = tfold (const 0) (\ _ -> succ . sum )++depth :: TermC v c => Term v c -> Int+depth = tfold (const 0) (\ _ xs -> if null xs then 0 else succ $ maximum xs)++{-+instance TermC v s => Eq (Term v s) where+ s == t = hash s == hash t && case (s,t) of+ (Var x, Var y) -> x == y+ (Node f xs, Node g ys) -> (f,xs) == (g,ys)+ _ -> False+-}++{-+instance TermC v s => Ord (Term v s) where+ compare s t =+ case compare (hash s) (hash t) of+ EQ -> case (s,t) of+ (Var x, Var y) -> compare x y+ (Node f xs, Node g ys) -> compare (f,xs) (g,ys)+ (Var _, Node _ _) -> LT+ (Node _ _, Var _) -> GT+ c -> c +-}++instance TermC v s => Hashable (Term v s)+ where hashWithSalt _ = _hash+++pattern Var :: TermC v s => () =>+ v -> Term v s+pattern Var v <- Var_Imp { name = v } where+ Var v = Var_Imp { name = v+ ,_hash = hash v+ -- , size = 1, depth = 0+ -- , vars = S.singleton v+ -- , syms = mempty+ }++pattern Node :: TermC v s => () =>+ s -> [Term v s] -> Term v s+pattern Node f xs <- Node_Imp { fun = f, args = xs } where+ Node f xs = Node_Imp { fun = f, args = xs+ , _hash = hash (f, xs)+ -- , size = 1 + sum (map size xs)+ -- , depth = if null xs then 0 else succ $ maximum $ map depth xs+ -- , vars = S.unions $ map vars xs+ -- , syms = S.unions $ map syms xs+ }++type TermC v s = (Hashable v, Hashable s, Ord v, Ord s)++{-# INLINEABLE vmap #-}+vmap :: (TermC v s, TermC u s) => ( v -> u ) -> Term v s -> Term u s+vmap f = tfold (Var . f) Node++-- instance Functor ( Term v ) where+-- cannot instantiate Functor since we need TermC+{-# INLINEABLE tmap #-}+tmap f = tfold Var ( \ c xs -> Node (f c) xs)++{-# INLINE tfold #-}+tfold :: TermC v c => (v -> r) -> (c -> [r] -> r) -> Term v c -> r+tfold var node t =+ let go (Var v) = var v+ go (Node f xs) = node f (map go xs)+ in go t+
+ src/TPDB/Data/Term/Plain.hs view
@@ -0,0 +1,52 @@+{-# language DeriveDataTypeable #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE DeriveFunctor #-}++module TPDB.Data.Term.Plain+( TermC, Term (..), tfold+ , size, depth, vars, syms+ )+where++import qualified Data.Set as S+import Data.Set (Set)+import Data.Typeable+import Data.Hashable+import GHC.Generics+import Data.Kind++-- | we do derive Ord but it should probably not be used much+data Term v s = Var v | Node s [Term v s]+ deriving ( Eq+ , Ord+ , Typeable, Generic, Functor )++{-# INLINE tfold #-}+tfold :: TermC v c => (v -> r) -> (c -> [r] -> r) -> Term v c -> r+tfold var node =+ let go (Var v) = var v+ go (Node f xs) = node f (map go xs)+ in go++vars :: Ord v => Term v c -> S.Set v+vars = tfold S.singleton (\ _ -> S.unions)++syms :: Ord c => Term v c -> S.Set c+syms = tfold (const S.empty) (\ f xs -> S.unions $ S.singleton f : xs)++size :: TermC v c => Term v c -> Int+size = tfold (const 0) (\ _ -> succ . sum )++depth :: TermC v c => Term v c -> Int+depth = tfold (const 0) (\ _ xs -> if null xs then 0 else succ $ maximum xs)++instance (Hashable v, Hashable s) => Hashable (Term v s)++type TermC v s = () :: Constraint+ -- (Hashable v, Hashable s, Ord v, Ord s)+++
src/TPDB/Data/Xml.hs view
@@ -25,7 +25,7 @@ [xml|#{fromString $ escape $ show i}|] -instance ( Show v, XmlContent v, XmlContent c )+instance ( TermC v c, Show v, XmlContent v, XmlContent c ) => XmlContent ( Term v c ) where toContents ( Var v ) = [xml|<var>#{fromString $ show v}|] {-@@ -69,7 +69,7 @@ -instance ( XmlContent ( Term v c ) ) +instance ( TermC v c, XmlContent ( Term v c ) ) => XmlContent ( Rule ( Term v c ) ) where toContents u = [xml|<rule>
src/TPDB/Mirror.hs view
@@ -6,8 +6,9 @@ import Control.Monad ( forM, guard ) -- | if input is SRS, reverse lhs and rhs of each rule-mirror :: TRS Identifier s - -> Maybe ( TRS Identifier s )+mirror :: (Eq v, TermC v s)+ => TRS v s + -> Maybe ( TRS v s ) mirror trs = do us <- forM (rules trs) $ \ u -> do ( left_spine, left_base ) <- spine $ lhs u
src/TPDB/Plain/Read.hs view
@@ -1,7 +1,7 @@ -- | textual input, -- cf. <http://www.lri.fr/~marche/tpdb/format.html> -{-# language PatternSignatures, TypeSynonymInstances, FlexibleInstances #-}+{-# language PatternSignatures, TypeSynonymInstances, FlexibleInstances, FlexibleContexts #-} module TPDB.Plain.Read where @@ -67,7 +67,7 @@ -- NOTE: this is dangerous since we read the variables as constants, -- and this needs to be patched up later. -- NOTE: this is more dangerous as we do not set the arity of identifiers-instance ( Reader v ) => Reader ( Term v Identifier ) where+instance ( TermC v Identifier, Reader v ) => Reader ( Term v Identifier ) where reader = do f <- reader xs <- ( parens lexer $ commaSep lexer reader ) <|> return []@@ -82,7 +82,9 @@ -- as it would deviate from published TPDB syntax -- <|> do reservedOp lexer "=" ; return Equal r <- reader- return $ Rule { lhs = l, relation = rel, top = False, rhs = r }+ return $ Rule { lhs = l, relation = rel, top = False, rhs = r+ , original_variable = Nothing+ } data Declaration u = Var_Declaration [ Identifier ]
src/TPDB/Plain/Write.hs view
@@ -18,7 +18,7 @@ instance Pretty Identifier where pretty i = pretty $ name i -instance ( Pretty v, Pretty s ) => Pretty ( Term v s ) where+instance ( TermC v s, Pretty v, Pretty s ) => Pretty ( Term v s ) where pretty t = case t of Var v -> pretty v Node f xs -> case xs of@@ -41,34 +41,32 @@ instance Pretty s => PrettyTerm [s] where prettyTerm xs = hsep $ map pretty xs -instance ( Pretty v, Pretty s ) => PrettyTerm ( Term v s ) where+instance ( TermC v s, Pretty v, Pretty s ) => PrettyTerm ( Term v s ) where prettyTerm = pretty instance ( Pretty s, PrettyTerm r, Variables (RS s r) , Pretty (Var (RS s r))) => Pretty ( RS s r ) where- pretty sys = vcat - [ let vs = S.toList $ variables sys- in if null vs- then empty - else parens $ "VAR" <+> vcat (map pretty vs)- , parens $ "RULES" <+>- vcat ( ( if separate sys then punctuate comma else id )+ pretty sys =+ let vs = S.toList $ variables sys+ vars = parens $ "VAR" <+> vcat (map pretty vs)+ ruls = parens $ "RULES" <+>+ vcat ( ( if separate sys then punctuate comma else id ) $ map pretty $ rules sys - )+ )+ in if null vs then ruls else vcat [vars, ruls] -- FIXME: output strategy, theory- ] -instance ( Pretty s, Pretty r, Variables (Term s r) ) => Pretty ( Problem s r ) where+instance ( TermC s r, Pretty s, Pretty r, Variables (Term s r) ) => Pretty ( Problem s r ) where pretty p = let rms = case full_signature p of HigherOrderSignature -> []- Signature fs -> do- f <- fs- case fs_replacementmap f of- Nothing -> []- Just (Replacementmap ps) ->- return $ parens $ sep $ pretty (fs_name f) : map pretty ps+ Signature fs -> do+ f <- fs+ case fs_replacementmap f of+ Nothing -> []+ Just (Replacementmap ps) ->+ return $ parens $ sep $ pretty (fs_name f) : map pretty ps in vcat [ pretty $ trs p , if null rms then empty
src/TPDB/XTC/Write.hs view
@@ -24,7 +24,7 @@ root = X.Element "problem" (M.fromList [("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance") ,("type","termination")- ,("xsi:noNamespaceSchemaLocation","http://dev.aspsimon.org/xtc.xsd")+ ,("xsi:noNamespaceSchemaLocation","xtc.xsd") ]) [xml| <trs>^{trs $ D.trs p}@@ -38,10 +38,12 @@ trs :: D.TRS D.Identifier D.Identifier -> [X.Node] trs rs = [xml| <rules>- $forall u <- D.rules rs- <rule>- <lhs>^{term $ D.lhs u}- <rhs>^{term $ D.rhs u}+ $forall u <- D.strict_rules rs+ ^{rule u}+ $if not (null (D.weak_rules rs))+ <relrules>+ $forall u <- D.weak_rules rs+ ^{rule u} <signature> $forall f <- D.signature rs <funcsym>@@ -49,6 +51,12 @@ <arity>#{T.pack $ show $ D.arity f} |] +rule (l,r) = [xml|+<rule>+ <lhs>^{term l}+ <rhs>^{term r}+|]+ term :: D.Term D.Identifier D.Identifier -> [X.Node] term t = case t of D.Var v -> [xml|
+ test/dp-performance.hs view
@@ -0,0 +1,28 @@+import TPDB.Data (rules)+import TPDB.Plain.Write+import TPDB.Plain.Read+import TPDB.Pretty++import qualified TPDB.DP.Transform as DT+import qualified TPDB.DP.Graph as DG+import qualified TPDB.DP.Usable as DU++import Data.Either+import Data.Text.Lazy.IO as T+import Control.Monad ( forM, void )+import System.IO (stdout)+import Text.Printf++main = void $ do+ s <- T.readFile "test/labelled.trs"+ case trs s of+ Left err -> error err+ Right r -> do+ printf "R has %d rules\n" (length $ rules r)+ let d = DT.dp r+ printf "DP(R) has %d rules\n" (length $ rules d)+ let c = rights $ DG.components d+ printf "EDG(R) has %d cyclic components with sizes %s\n"+ (length c) (show $ map (length . rules) c)+ let u = map DU.restrict c+ printf "usable sizes %s\n" (show $ map (length . rules) u)
+ test/labelled.trs view
@@ -0,0 +1,1883 @@+(VAR x y z)+(RULES+ A_0_4 (A_3_4 (A_4_4 (S, x), y), z) -> A_3_3 (A_4_4 (x, z), A_4_4 (y, z))+ A_1_4 (A_3_3 (A_4_4 (S, x), y), z) -> A_3_0 (A_4_4 (x, z), A_3_4 (y, z))+ A_2_4 (A_3_0 (A_4_4 (S, x), y), z) -> A_3_1 (A_4_4 (x, z), A_0_4 (y, z))+ A_2_4 (A_3_1 (A_4_4 (S, x), y), z) -> A_3_2 (A_4_4 (x, z), A_1_4 (y, z))+ A_2_4 (A_3_2 (A_4_4 (S, x), y), z) -> A_3_2 (A_4_4 (x, z), A_2_4 (y, z))+ A_9_4 (A_3_5 (A_4_4 (S, x), y), z) -> A_3_19 (A_4_4 (x, z), A_5_4 (y, z))+ A_9_4 (A_3_9 (A_4_4 (S, x), y), z) -> A_3_19 (A_4_4 (x, z), A_9_4 (y, z))+ A_8_4 (A_3_6 (A_4_4 (S, x), y), z) -> A_3_20 (A_4_4 (x, z), A_6_4 (y, z))+ A_8_4 (A_3_8 (A_4_4 (S, x), y), z) -> A_3_20 (A_4_4 (x, z), A_8_4 (y, z))+ A_10_4 (A_3_7 (A_4_4 (S, x), y), z) -> A_3_21 (A_4_4 (x, z), A_7_4 (y, z))+ A_10_4 (A_3_10 (A_4_4 (S, x), y), z) -> A_3_21 (A_4_4 (x, z), A_10_4 (y, z))+ A_12_4 (A_3_11 (A_4_4 (S, x), y), z) -> A_3_25 (A_4_4 (x, z), A_11_4 (y, z))+ A_12_4 (A_3_12 (A_4_4 (S, x), y), z) -> A_3_25 (A_4_4 (x, z), A_12_4 (y, z))+ A_0_3 (A_3_4 (A_4_4 (S, x), y), z) -> A_5_5 (A_4_3 (x, z), A_4_3 (y, z))+ A_19_4 (A_3_19 (A_4_4 (S, x), y), z) -> A_3_27 (A_4_4 (x, z), A_19_4 (y, z))+ A_19_4 (A_5_4 (A_4_3 (S, x), y), z) -> A_0_3 (A_3_4 (x, z), A_4_4 (y, z))+ A_14_4 (A_3_13 (A_4_4 (S, x), y), z) -> A_3_30 (A_4_4 (x, z), A_13_4 (y, z))+ A_14_4 (A_3_14 (A_4_4 (S, x), y), z) -> A_3_30 (A_4_4 (x, z), A_14_4 (y, z))+ A_8_3 (A_3_6 (A_4_4 (S, x), y), z) -> A_5_29 (A_4_3 (x, z), A_6_3 (y, z))+ A_8_3 (A_3_8 (A_4_4 (S, x), y), z) -> A_5_31 (A_4_3 (x, z), A_8_3 (y, z))+ A_10_3 (A_3_7 (A_4_4 (S, x), y), z) -> A_5_30 (A_4_3 (x, z), A_7_3 (y, z))+ A_10_3 (A_3_10 (A_4_4 (S, x), y), z) -> A_5_31 (A_4_3 (x, z), A_10_3 (y, z))+ A_14_3 (A_3_13 (A_4_4 (S, x), y), z) -> A_5_31 (A_4_3 (x, z), A_13_3 (y, z))+ A_14_3 (A_3_14 (A_4_4 (S, x), y), z) -> A_5_31 (A_4_3 (x, z), A_14_3 (y, z))+ A_16_3 (A_3_15 (A_4_4 (S, x), y), z) -> A_5_31 (A_4_3 (x, z), A_15_3 (y, z))+ A_16_3 (A_3_16 (A_4_4 (S, x), y), z) -> A_5_31 (A_4_3 (x, z), A_16_3 (y, z))+ A_16_4 (A_3_15 (A_4_4 (S, x), y), z) -> A_3_31 (A_4_4 (x, z), A_15_4 (y, z))+ A_16_4 (A_3_16 (A_4_4 (S, x), y), z) -> A_3_31 (A_4_4 (x, z), A_16_4 (y, z))+ A_1_3 (A_3_3 (A_4_4 (S, x), y), z) -> A_5_1 (A_4_3 (x, z), A_3_3 (y, z))+ A_20_4 (A_3_20 (A_4_4 (S, x), y), z) -> A_3_32 (A_4_4 (x, z), A_20_4 (y, z))+ A_20_4 (A_6_4 (A_4_0 (S, x), y), z) -> A_1_3 (A_0_4 (x, z), A_4_4 (y, z))+ A_2_3 (A_3_0 (A_4_4 (S, x), y), z) -> A_5_27 (A_4_3 (x, z), A_0_3 (y, z))+ A_2_3 (A_3_1 (A_4_4 (S, x), y), z) -> A_5_32 (A_4_3 (x, z), A_1_3 (y, z))+ A_2_3 (A_3_2 (A_4_4 (S, x), y), z) -> A_5_33 (A_4_3 (x, z), A_2_3 (y, z))+ A_9_3 (A_3_5 (A_4_4 (S, x), y), z) -> A_5_17 (A_4_3 (x, z), A_5_3 (y, z))+ A_9_3 (A_3_9 (A_4_4 (S, x), y), z) -> A_5_33 (A_4_3 (x, z), A_9_3 (y, z))+ A_12_3 (A_3_11 (A_4_4 (S, x), y), z) -> A_5_22 (A_4_3 (x, z), A_11_3 (y, z))+ A_12_3 (A_3_12 (A_4_4 (S, x), y), z) -> A_5_33 (A_4_3 (x, z), A_12_3 (y, z))+ A_21_4 (A_3_21 (A_4_4 (S, x), y), z) -> A_3_33 (A_4_4 (x, z), A_21_4 (y, z))+ A_21_4 (A_7_4 (A_4_1 (S, x), y), z) -> A_2_3 (A_1_4 (x, z), A_4_4 (y, z))+ A_21_4 (A_7_4 (A_4_2 (S, x), y), z) -> A_2_3 (A_2_4 (x, z), A_4_4 (y, z))+ A_1_0 (A_3_3 (A_4_4 (S, x), y), z) -> A_6_2 (A_4_0 (x, z), A_3_0 (y, z))+ A_29_4 (A_3_29 (A_4_4 (S, x), y), z) -> A_3_34 (A_4_4 (x, z), A_29_4 (y, z))+ A_29_4 (A_6_3 (A_4_0 (S, x), y), z) -> A_1_0 (A_0_4 (x, z), A_3_4 (y, z))+ A_1_1 (A_3_3 (A_4_4 (S, x), y), z) -> A_7_2 (A_4_1 (x, z), A_3_1 (y, z))+ A_1_2 (A_3_3 (A_4_4 (S, x), y), z) -> A_7_2 (A_4_2 (x, z), A_3_2 (y, z))+ A_17_3 (A_5_3 (A_4_3 (S, x), y), z) -> A_1_1 (A_3_3 (x, z), A_3_3 (y, z))+ A_34_4 (A_3_34 (A_4_4 (S, x), y), z) -> A_3_35 (A_4_4 (x, z), A_34_4 (y, z))+ A_34_4 (A_6_0 (A_4_0 (S, x), y), z) -> A_1_1 (A_0_4 (x, z), A_0_4 (y, z))+ A_34_4 (A_6_1 (A_4_0 (S, x), y), z) -> A_1_2 (A_0_4 (x, z), A_1_4 (y, z))+ A_34_4 (A_6_2 (A_4_0 (S, x), y), z) -> A_1_2 (A_0_4 (x, z), A_2_4 (y, z))+ A_0_0 (A_3_4 (A_4_4 (S, x), y), z) -> A_6_6 (A_4_0 (x, z), A_4_0 (y, z))+ A_0_1 (A_3_4 (A_4_4 (S, x), y), z) -> A_7_7 (A_4_1 (x, z), A_4_1 (y, z))+ A_0_2 (A_3_4 (A_4_4 (S, x), y), z) -> A_7_7 (A_4_2 (x, z), A_4_2 (y, z))+ A_0_5 (A_3_4 (A_4_4 (S, x), y), z) -> A_11_11 (A_4_5 (x, z), A_4_5 (y, z))+ A_1_5 (A_3_3 (A_4_4 (S, x), y), z) -> A_11_9 (A_4_5 (x, z), A_3_5 (y, z))+ A_1_9 (A_3_3 (A_4_4 (S, x), y), z) -> A_13_9 (A_4_9 (x, z), A_3_9 (y, z))+ A_1_11 (A_3_3 (A_4_4 (S, x), y), z) -> A_15_12 (A_4_11 (x, z), A_3_11 (y, z))+ A_1_12 (A_3_3 (A_4_4 (S, x), y), z) -> A_15_12 (A_4_12 (x, z), A_3_12 (y, z))+ A_2_0 (A_3_0 (A_4_4 (S, x), y), z) -> A_6_36 (A_4_0 (x, z), A_0_0 (y, z))+ A_2_0 (A_3_1 (A_4_4 (S, x), y), z) -> A_6_34 (A_4_0 (x, z), A_1_0 (y, z))+ A_2_0 (A_3_2 (A_4_4 (S, x), y), z) -> A_6_36 (A_4_0 (x, z), A_2_0 (y, z))+ A_2_1 (A_3_0 (A_4_4 (S, x), y), z) -> A_7_36 (A_4_1 (x, z), A_0_1 (y, z))+ A_2_1 (A_3_1 (A_4_4 (S, x), y), z) -> A_7_35 (A_4_1 (x, z), A_1_1 (y, z))+ A_2_1 (A_3_2 (A_4_4 (S, x), y), z) -> A_7_36 (A_4_1 (x, z), A_2_1 (y, z))+ A_2_2 (A_3_0 (A_4_4 (S, x), y), z) -> A_7_36 (A_4_2 (x, z), A_0_2 (y, z))+ A_2_2 (A_3_1 (A_4_4 (S, x), y), z) -> A_7_35 (A_4_2 (x, z), A_1_2 (y, z))+ A_2_2 (A_3_2 (A_4_4 (S, x), y), z) -> A_7_36 (A_4_2 (x, z), A_2_2 (y, z))+ A_8_0 (A_3_6 (A_4_4 (S, x), y), z) -> A_6_34 (A_4_0 (x, z), A_6_0 (y, z))+ A_8_0 (A_3_8 (A_4_4 (S, x), y), z) -> A_6_36 (A_4_0 (x, z), A_8_0 (y, z))+ A_8_1 (A_3_6 (A_4_4 (S, x), y), z) -> A_7_34 (A_4_1 (x, z), A_6_1 (y, z))+ A_8_1 (A_3_8 (A_4_4 (S, x), y), z) -> A_7_36 (A_4_1 (x, z), A_8_1 (y, z))+ A_8_2 (A_3_6 (A_4_4 (S, x), y), z) -> A_7_34 (A_4_2 (x, z), A_6_2 (y, z))+ A_8_2 (A_3_8 (A_4_4 (S, x), y), z) -> A_7_36 (A_4_2 (x, z), A_8_2 (y, z))+ A_9_0 (A_3_5 (A_4_4 (S, x), y), z) -> A_6_32 (A_4_0 (x, z), A_5_0 (y, z))+ A_9_0 (A_3_9 (A_4_4 (S, x), y), z) -> A_6_36 (A_4_0 (x, z), A_9_0 (y, z))+ A_9_1 (A_3_5 (A_4_4 (S, x), y), z) -> A_7_32 (A_4_1 (x, z), A_5_1 (y, z))+ A_9_1 (A_3_9 (A_4_4 (S, x), y), z) -> A_7_36 (A_4_1 (x, z), A_9_1 (y, z))+ A_9_2 (A_3_5 (A_4_4 (S, x), y), z) -> A_7_32 (A_4_2 (x, z), A_5_2 (y, z))+ A_9_2 (A_3_9 (A_4_4 (S, x), y), z) -> A_7_36 (A_4_2 (x, z), A_9_2 (y, z))+ A_10_0 (A_3_7 (A_4_4 (S, x), y), z) -> A_6_35 (A_4_0 (x, z), A_7_0 (y, z))+ A_10_0 (A_3_10 (A_4_4 (S, x), y), z) -> A_6_36 (A_4_0 (x, z), A_10_0 (y, z))+ A_10_1 (A_3_7 (A_4_4 (S, x), y), z) -> A_7_35 (A_4_1 (x, z), A_7_1 (y, z))+ A_10_1 (A_3_10 (A_4_4 (S, x), y), z) -> A_7_36 (A_4_1 (x, z), A_10_1 (y, z))+ A_10_2 (A_3_7 (A_4_4 (S, x), y), z) -> A_7_35 (A_4_2 (x, z), A_7_2 (y, z))+ A_10_2 (A_3_10 (A_4_4 (S, x), y), z) -> A_7_36 (A_4_2 (x, z), A_10_2 (y, z))+ A_12_0 (A_3_11 (A_4_4 (S, x), y), z) -> A_6_36 (A_4_0 (x, z), A_11_0 (y, z))+ A_12_0 (A_3_12 (A_4_4 (S, x), y), z) -> A_6_36 (A_4_0 (x, z), A_12_0 (y, z))+ A_12_1 (A_3_11 (A_4_4 (S, x), y), z) -> A_7_36 (A_4_1 (x, z), A_11_1 (y, z))+ A_12_1 (A_3_12 (A_4_4 (S, x), y), z) -> A_7_36 (A_4_1 (x, z), A_12_1 (y, z))+ A_12_2 (A_3_11 (A_4_4 (S, x), y), z) -> A_7_36 (A_4_2 (x, z), A_11_2 (y, z))+ A_12_2 (A_3_12 (A_4_4 (S, x), y), z) -> A_7_36 (A_4_2 (x, z), A_12_2 (y, z))+ A_14_0 (A_3_13 (A_4_4 (S, x), y), z) -> A_6_36 (A_4_0 (x, z), A_13_0 (y, z))+ A_14_0 (A_3_14 (A_4_4 (S, x), y), z) -> A_6_36 (A_4_0 (x, z), A_14_0 (y, z))+ A_14_1 (A_3_13 (A_4_4 (S, x), y), z) -> A_7_36 (A_4_1 (x, z), A_13_1 (y, z))+ A_14_1 (A_3_14 (A_4_4 (S, x), y), z) -> A_7_36 (A_4_1 (x, z), A_14_1 (y, z))+ A_14_2 (A_3_13 (A_4_4 (S, x), y), z) -> A_7_36 (A_4_2 (x, z), A_13_2 (y, z))+ A_14_2 (A_3_14 (A_4_4 (S, x), y), z) -> A_7_36 (A_4_2 (x, z), A_14_2 (y, z))+ A_16_0 (A_3_15 (A_4_4 (S, x), y), z) -> A_6_36 (A_4_0 (x, z), A_15_0 (y, z))+ A_16_0 (A_3_16 (A_4_4 (S, x), y), z) -> A_6_36 (A_4_0 (x, z), A_16_0 (y, z))+ A_16_1 (A_3_15 (A_4_4 (S, x), y), z) -> A_7_36 (A_4_1 (x, z), A_15_1 (y, z))+ A_16_1 (A_3_16 (A_4_4 (S, x), y), z) -> A_7_36 (A_4_1 (x, z), A_16_1 (y, z))+ A_16_2 (A_3_15 (A_4_4 (S, x), y), z) -> A_7_36 (A_4_2 (x, z), A_15_2 (y, z))+ A_16_2 (A_3_16 (A_4_4 (S, x), y), z) -> A_7_36 (A_4_2 (x, z), A_16_2 (y, z))+ A_17_0 (A_5_3 (A_4_3 (S, x), y), z) -> A_2_2 (A_3_0 (x, z), A_3_0 (y, z))+ A_17_1 (A_5_3 (A_4_3 (S, x), y), z) -> A_2_2 (A_3_1 (x, z), A_3_1 (y, z))+ A_17_2 (A_5_3 (A_4_3 (S, x), y), z) -> A_2_2 (A_3_2 (x, z), A_3_2 (y, z))+ A_17_4 (A_5_3 (A_4_3 (S, x), y), z) -> A_0_0 (A_3_4 (x, z), A_3_4 (y, z))+ A_18_4 (A_3_18 (A_4_4 (S, x), y), z) -> A_3_36 (A_4_4 (x, z), A_18_4 (y, z))+ A_19_3 (A_3_19 (A_4_4 (S, x), y), z) -> A_5_36 (A_4_3 (x, z), A_19_3 (y, z))+ A_19_3 (A_5_4 (A_4_3 (S, x), y), z) -> A_1_5 (A_3_3 (x, z), A_4_3 (y, z))+ A_22_3 (A_3_22 (A_4_4 (S, x), y), z) -> A_5_36 (A_4_3 (x, z), A_22_3 (y, z))+ A_22_3 (A_11_3 (A_4_5 (S, x), y), z) -> A_17_1 (A_5_3 (x, z), A_3_3 (y, z))+ A_24_0 (A_3_17 (A_4_4 (S, x), y), z) -> A_6_36 (A_4_0 (x, z), A_17_0 (y, z))+ A_24_0 (A_3_24 (A_4_4 (S, x), y), z) -> A_6_36 (A_4_0 (x, z), A_24_0 (y, z))+ A_24_1 (A_3_17 (A_4_4 (S, x), y), z) -> A_7_36 (A_4_1 (x, z), A_17_1 (y, z))+ A_24_1 (A_3_24 (A_4_4 (S, x), y), z) -> A_7_36 (A_4_1 (x, z), A_24_1 (y, z))+ A_24_2 (A_3_17 (A_4_4 (S, x), y), z) -> A_7_36 (A_4_2 (x, z), A_17_2 (y, z))+ A_24_2 (A_3_24 (A_4_4 (S, x), y), z) -> A_7_36 (A_4_2 (x, z), A_24_2 (y, z))+ A_24_3 (A_3_17 (A_4_4 (S, x), y), z) -> A_5_35 (A_4_3 (x, z), A_17_3 (y, z))+ A_24_3 (A_3_24 (A_4_4 (S, x), y), z) -> A_5_36 (A_4_3 (x, z), A_24_3 (y, z))+ A_24_4 (A_3_17 (A_4_4 (S, x), y), z) -> A_3_36 (A_4_4 (x, z), A_17_4 (y, z))+ A_24_4 (A_3_24 (A_4_4 (S, x), y), z) -> A_3_36 (A_4_4 (x, z), A_24_4 (y, z))+ A_25_4 (A_3_25 (A_4_4 (S, x), y), z) -> A_3_36 (A_4_4 (x, z), A_25_4 (y, z))+ A_25_4 (A_11_4 (A_4_5 (S, x), y), z) -> A_19_3 (A_5_4 (x, z), A_4_4 (y, z))+ A_26_0 (A_3_23 (A_4_4 (S, x), y), z) -> A_6_36 (A_4_0 (x, z), A_23_0 (y, z))+ A_26_0 (A_3_26 (A_4_4 (S, x), y), z) -> A_6_36 (A_4_0 (x, z), A_26_0 (y, z))+ A_26_1 (A_3_23 (A_4_4 (S, x), y), z) -> A_7_36 (A_4_1 (x, z), A_23_1 (y, z))+ A_26_1 (A_3_26 (A_4_4 (S, x), y), z) -> A_7_36 (A_4_1 (x, z), A_26_1 (y, z))+ A_26_2 (A_3_23 (A_4_4 (S, x), y), z) -> A_7_36 (A_4_2 (x, z), A_23_2 (y, z))+ A_26_2 (A_3_26 (A_4_4 (S, x), y), z) -> A_7_36 (A_4_2 (x, z), A_26_2 (y, z))+ A_26_3 (A_3_23 (A_4_4 (S, x), y), z) -> A_5_36 (A_4_3 (x, z), A_23_3 (y, z))+ A_26_3 (A_3_26 (A_4_4 (S, x), y), z) -> A_5_36 (A_4_3 (x, z), A_26_3 (y, z))+ A_26_4 (A_3_23 (A_4_4 (S, x), y), z) -> A_3_36 (A_4_4 (x, z), A_23_4 (y, z))+ A_26_4 (A_3_26 (A_4_4 (S, x), y), z) -> A_3_36 (A_4_4 (x, z), A_26_4 (y, z))+ A_30_4 (A_3_30 (A_4_4 (S, x), y), z) -> A_3_36 (A_4_4 (x, z), A_30_4 (y, z))+ A_30_4 (A_7_3 (A_4_1 (S, x), y), z) -> A_2_0 (A_1_4 (x, z), A_3_4 (y, z))+ A_30_4 (A_7_3 (A_4_2 (S, x), y), z) -> A_2_0 (A_2_4 (x, z), A_3_4 (y, z))+ A_30_4 (A_13_4 (A_4_9 (S, x), y), z) -> A_19_3 (A_9_4 (x, z), A_4_4 (y, z))+ A_32_4 (A_3_32 (A_4_4 (S, x), y), z) -> A_3_36 (A_4_4 (x, z), A_32_4 (y, z))+ A_32_4 (A_5_0 (A_4_3 (S, x), y), z) -> A_0_1 (A_3_4 (x, z), A_0_4 (y, z))+ A_32_4 (A_5_1 (A_4_3 (S, x), y), z) -> A_0_2 (A_3_4 (x, z), A_1_4 (y, z))+ A_32_4 (A_5_2 (A_4_3 (S, x), y), z) -> A_0_2 (A_3_4 (x, z), A_2_4 (y, z))+ A_35_4 (A_3_35 (A_4_4 (S, x), y), z) -> A_3_36 (A_4_4 (x, z), A_35_4 (y, z))+ A_35_4 (A_7_0 (A_4_1 (S, x), y), z) -> A_2_1 (A_1_4 (x, z), A_0_4 (y, z))+ A_35_4 (A_7_0 (A_4_2 (S, x), y), z) -> A_2_1 (A_2_4 (x, z), A_0_4 (y, z))+ A_35_4 (A_7_1 (A_4_1 (S, x), y), z) -> A_2_2 (A_1_4 (x, z), A_1_4 (y, z))+ A_35_4 (A_7_1 (A_4_2 (S, x), y), z) -> A_2_2 (A_2_4 (x, z), A_1_4 (y, z))+ A_35_4 (A_7_2 (A_4_1 (S, x), y), z) -> A_2_2 (A_1_4 (x, z), A_2_4 (y, z))+ A_35_4 (A_7_2 (A_4_2 (S, x), y), z) -> A_2_2 (A_2_4 (x, z), A_2_4 (y, z))+ A_0_6 (A_3_4 (A_4_4 (S, x), y), z) -> A_18_18 (A_4_6 (x, z), A_4_6 (y, z))+ A_0_7 (A_3_4 (A_4_4 (S, x), y), z) -> A_18_18 (A_4_7 (x, z), A_4_7 (y, z))+ A_0_8 (A_3_4 (A_4_4 (S, x), y), z) -> A_18_18 (A_4_8 (x, z), A_4_8 (y, z))+ A_0_9 (A_3_4 (A_4_4 (S, x), y), z) -> A_13_13 (A_4_9 (x, z), A_4_9 (y, z))+ A_0_10 (A_3_4 (A_4_4 (S, x), y), z) -> A_18_18 (A_4_10 (x, z), A_4_10 (y, z))+ A_0_11 (A_3_4 (A_4_4 (S, x), y), z) -> A_15_15 (A_4_11 (x, z), A_4_11 (y, z))+ A_0_12 (A_3_4 (A_4_4 (S, x), y), z) -> A_15_15 (A_4_12 (x, z), A_4_12 (y, z))+ A_0_13 (A_3_4 (A_4_4 (S, x), y), z) -> A_18_18 (A_4_13 (x, z), A_4_13 (y, z))+ A_0_14 (A_3_4 (A_4_4 (S, x), y), z) -> A_18_18 (A_4_14 (x, z), A_4_14 (y, z))+ A_0_15 (A_3_4 (A_4_4 (S, x), y), z) -> A_18_18 (A_4_15 (x, z), A_4_15 (y, z))+ A_0_16 (A_3_4 (A_4_4 (S, x), y), z) -> A_18_18 (A_4_16 (x, z), A_4_16 (y, z))+ A_0_17 (A_3_4 (A_4_4 (S, x), y), z) -> A_28_28 (A_4_17 (x, z), A_4_17 (y, z))+ A_0_18 (A_3_4 (A_4_4 (S, x), y), z) -> A_28_28 (A_4_18 (x, z), A_4_18 (y, z))+ A_0_19 (A_3_4 (A_4_4 (S, x), y), z) -> A_23_23 (A_4_19 (x, z), A_4_19 (y, z))+ A_0_20 (A_3_4 (A_4_4 (S, x), y), z) -> A_26_26 (A_4_20 (x, z), A_4_20 (y, z))+ A_0_21 (A_3_4 (A_4_4 (S, x), y), z) -> A_26_26 (A_4_21 (x, z), A_4_21 (y, z))+ A_0_22 (A_3_4 (A_4_4 (S, x), y), z) -> A_28_28 (A_4_22 (x, z), A_4_22 (y, z))+ A_0_23 (A_3_4 (A_4_4 (S, x), y), z) -> A_28_28 (A_4_23 (x, z), A_4_23 (y, z))+ A_0_24 (A_3_4 (A_4_4 (S, x), y), z) -> A_28_28 (A_4_24 (x, z), A_4_24 (y, z))+ A_0_25 (A_3_4 (A_4_4 (S, x), y), z) -> A_28_28 (A_4_25 (x, z), A_4_25 (y, z))+ A_0_26 (A_3_4 (A_4_4 (S, x), y), z) -> A_28_28 (A_4_26 (x, z), A_4_26 (y, z))+ A_0_27 (A_3_4 (A_4_4 (S, x), y), z) -> A_28_28 (A_4_27 (x, z), A_4_27 (y, z))+ A_0_28 (A_3_4 (A_4_4 (S, x), y), z) -> A_28_28 (A_4_28 (x, z), A_4_28 (y, z))+ A_0_29 (A_3_4 (A_4_4 (S, x), y), z) -> A_28_28 (A_4_29 (x, z), A_4_29 (y, z))+ A_0_30 (A_3_4 (A_4_4 (S, x), y), z) -> A_28_28 (A_4_30 (x, z), A_4_30 (y, z))+ A_0_31 (A_3_4 (A_4_4 (S, x), y), z) -> A_28_28 (A_4_31 (x, z), A_4_31 (y, z))+ A_0_32 (A_3_4 (A_4_4 (S, x), y), z) -> A_28_28 (A_4_32 (x, z), A_4_32 (y, z))+ A_0_33 (A_3_4 (A_4_4 (S, x), y), z) -> A_28_28 (A_4_33 (x, z), A_4_33 (y, z))+ A_0_34 (A_3_4 (A_4_4 (S, x), y), z) -> A_28_28 (A_4_34 (x, z), A_4_34 (y, z))+ A_0_35 (A_3_4 (A_4_4 (S, x), y), z) -> A_28_28 (A_4_35 (x, z), A_4_35 (y, z))+ A_0_36 (A_3_4 (A_4_4 (S, x), y), z) -> A_28_28 (A_4_36 (x, z), A_4_36 (y, z))+ A_0_37 (A_3_4 (A_4_4 (S, x), y), z) -> A_28_28 (A_4_37 (x, z), A_4_37 (y, z))+ A_1_6 (A_3_3 (A_4_4 (S, x), y), z) -> A_18_8 (A_4_6 (x, z), A_3_6 (y, z))+ A_1_7 (A_3_3 (A_4_4 (S, x), y), z) -> A_18_10 (A_4_7 (x, z), A_3_7 (y, z))+ A_1_8 (A_3_3 (A_4_4 (S, x), y), z) -> A_18_8 (A_4_8 (x, z), A_3_8 (y, z))+ A_1_10 (A_3_3 (A_4_4 (S, x), y), z) -> A_18_10 (A_4_10 (x, z), A_3_10 (y, z))+ A_1_13 (A_3_3 (A_4_4 (S, x), y), z) -> A_18_14 (A_4_13 (x, z), A_3_13 (y, z))+ A_1_14 (A_3_3 (A_4_4 (S, x), y), z) -> A_18_14 (A_4_14 (x, z), A_3_14 (y, z))+ A_1_15 (A_3_3 (A_4_4 (S, x), y), z) -> A_18_16 (A_4_15 (x, z), A_3_15 (y, z))+ A_1_16 (A_3_3 (A_4_4 (S, x), y), z) -> A_18_16 (A_4_16 (x, z), A_3_16 (y, z))+ A_1_17 (A_3_3 (A_4_4 (S, x), y), z) -> A_28_24 (A_4_17 (x, z), A_3_17 (y, z))+ A_1_18 (A_3_3 (A_4_4 (S, x), y), z) -> A_28_18 (A_4_18 (x, z), A_3_18 (y, z))+ A_1_19 (A_3_3 (A_4_4 (S, x), y), z) -> A_23_19 (A_4_19 (x, z), A_3_19 (y, z))+ A_1_20 (A_3_3 (A_4_4 (S, x), y), z) -> A_26_20 (A_4_20 (x, z), A_3_20 (y, z))+ A_1_21 (A_3_3 (A_4_4 (S, x), y), z) -> A_26_21 (A_4_21 (x, z), A_3_21 (y, z))+ A_1_22 (A_3_3 (A_4_4 (S, x), y), z) -> A_28_22 (A_4_22 (x, z), A_3_22 (y, z))+ A_1_23 (A_3_3 (A_4_4 (S, x), y), z) -> A_28_26 (A_4_23 (x, z), A_3_23 (y, z))+ A_1_24 (A_3_3 (A_4_4 (S, x), y), z) -> A_28_24 (A_4_24 (x, z), A_3_24 (y, z))+ A_1_25 (A_3_3 (A_4_4 (S, x), y), z) -> A_28_25 (A_4_25 (x, z), A_3_25 (y, z))+ A_1_26 (A_3_3 (A_4_4 (S, x), y), z) -> A_28_26 (A_4_26 (x, z), A_3_26 (y, z))+ A_1_27 (A_3_3 (A_4_4 (S, x), y), z) -> A_28_27 (A_4_27 (x, z), A_3_27 (y, z))+ A_1_28 (A_3_3 (A_4_4 (S, x), y), z) -> A_28_28 (A_4_28 (x, z), A_3_28 (y, z))+ A_1_29 (A_3_3 (A_4_4 (S, x), y), z) -> A_28_29 (A_4_29 (x, z), A_3_29 (y, z))+ A_1_30 (A_3_3 (A_4_4 (S, x), y), z) -> A_28_30 (A_4_30 (x, z), A_3_30 (y, z))+ A_1_31 (A_3_3 (A_4_4 (S, x), y), z) -> A_28_31 (A_4_31 (x, z), A_3_31 (y, z))+ A_1_32 (A_3_3 (A_4_4 (S, x), y), z) -> A_28_32 (A_4_32 (x, z), A_3_32 (y, z))+ A_1_33 (A_3_3 (A_4_4 (S, x), y), z) -> A_28_33 (A_4_33 (x, z), A_3_33 (y, z))+ A_1_34 (A_3_3 (A_4_4 (S, x), y), z) -> A_28_34 (A_4_34 (x, z), A_3_34 (y, z))+ A_1_35 (A_3_3 (A_4_4 (S, x), y), z) -> A_28_35 (A_4_35 (x, z), A_3_35 (y, z))+ A_1_36 (A_3_3 (A_4_4 (S, x), y), z) -> A_28_36 (A_4_36 (x, z), A_3_36 (y, z))+ A_1_37 (A_3_3 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_37 (x, z), A_3_37 (y, z))+ A_2_5 (A_3_0 (A_4_4 (S, x), y), z) -> A_11_36 (A_4_5 (x, z), A_0_5 (y, z))+ A_2_5 (A_3_1 (A_4_4 (S, x), y), z) -> A_11_36 (A_4_5 (x, z), A_1_5 (y, z))+ A_2_5 (A_3_2 (A_4_4 (S, x), y), z) -> A_11_37 (A_4_5 (x, z), A_2_5 (y, z))+ A_2_6 (A_3_0 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_6 (x, z), A_0_6 (y, z))+ A_2_6 (A_3_1 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_6 (x, z), A_1_6 (y, z))+ A_2_6 (A_3_2 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_6 (x, z), A_2_6 (y, z))+ A_2_7 (A_3_0 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_7 (x, z), A_0_7 (y, z))+ A_2_7 (A_3_1 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_7 (x, z), A_1_7 (y, z))+ A_2_7 (A_3_2 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_7 (x, z), A_2_7 (y, z))+ A_2_8 (A_3_0 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_8 (x, z), A_0_8 (y, z))+ A_2_8 (A_3_1 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_8 (x, z), A_1_8 (y, z))+ A_2_8 (A_3_2 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_8 (x, z), A_2_8 (y, z))+ A_2_9 (A_3_0 (A_4_4 (S, x), y), z) -> A_13_37 (A_4_9 (x, z), A_0_9 (y, z))+ A_2_9 (A_3_1 (A_4_4 (S, x), y), z) -> A_13_36 (A_4_9 (x, z), A_1_9 (y, z))+ A_2_9 (A_3_2 (A_4_4 (S, x), y), z) -> A_13_37 (A_4_9 (x, z), A_2_9 (y, z))+ A_2_10 (A_3_0 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_10 (x, z), A_0_10 (y, z))+ A_2_10 (A_3_1 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_10 (x, z), A_1_10 (y, z))+ A_2_10 (A_3_2 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_10 (x, z), A_2_10 (y, z))+ A_2_11 (A_3_0 (A_4_4 (S, x), y), z) -> A_15_37 (A_4_11 (x, z), A_0_11 (y, z))+ A_2_11 (A_3_1 (A_4_4 (S, x), y), z) -> A_15_36 (A_4_11 (x, z), A_1_11 (y, z))+ A_2_11 (A_3_2 (A_4_4 (S, x), y), z) -> A_15_37 (A_4_11 (x, z), A_2_11 (y, z))+ A_2_12 (A_3_0 (A_4_4 (S, x), y), z) -> A_15_37 (A_4_12 (x, z), A_0_12 (y, z))+ A_2_12 (A_3_1 (A_4_4 (S, x), y), z) -> A_15_36 (A_4_12 (x, z), A_1_12 (y, z))+ A_2_12 (A_3_2 (A_4_4 (S, x), y), z) -> A_15_37 (A_4_12 (x, z), A_2_12 (y, z))+ A_2_13 (A_3_0 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_13 (x, z), A_0_13 (y, z))+ A_2_13 (A_3_1 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_13 (x, z), A_1_13 (y, z))+ A_2_13 (A_3_2 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_13 (x, z), A_2_13 (y, z))+ A_2_14 (A_3_0 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_14 (x, z), A_0_14 (y, z))+ A_2_14 (A_3_1 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_14 (x, z), A_1_14 (y, z))+ A_2_14 (A_3_2 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_14 (x, z), A_2_14 (y, z))+ A_2_15 (A_3_0 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_15 (x, z), A_0_15 (y, z))+ A_2_15 (A_3_1 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_15 (x, z), A_1_15 (y, z))+ A_2_15 (A_3_2 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_15 (x, z), A_2_15 (y, z))+ A_2_16 (A_3_0 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_16 (x, z), A_0_16 (y, z))+ A_2_16 (A_3_1 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_16 (x, z), A_1_16 (y, z))+ A_2_16 (A_3_2 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_16 (x, z), A_2_16 (y, z))+ A_2_17 (A_3_0 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_17 (x, z), A_0_17 (y, z))+ A_2_17 (A_3_1 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_17 (x, z), A_1_17 (y, z))+ A_2_17 (A_3_2 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_17 (x, z), A_2_17 (y, z))+ A_2_18 (A_3_0 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_18 (x, z), A_0_18 (y, z))+ A_2_18 (A_3_1 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_18 (x, z), A_1_18 (y, z))+ A_2_18 (A_3_2 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_18 (x, z), A_2_18 (y, z))+ A_2_19 (A_3_0 (A_4_4 (S, x), y), z) -> A_23_37 (A_4_19 (x, z), A_0_19 (y, z))+ A_2_19 (A_3_1 (A_4_4 (S, x), y), z) -> A_23_37 (A_4_19 (x, z), A_1_19 (y, z))+ A_2_19 (A_3_2 (A_4_4 (S, x), y), z) -> A_23_37 (A_4_19 (x, z), A_2_19 (y, z))+ A_2_20 (A_3_0 (A_4_4 (S, x), y), z) -> A_26_37 (A_4_20 (x, z), A_0_20 (y, z))+ A_2_20 (A_3_1 (A_4_4 (S, x), y), z) -> A_26_37 (A_4_20 (x, z), A_1_20 (y, z))+ A_2_20 (A_3_2 (A_4_4 (S, x), y), z) -> A_26_37 (A_4_20 (x, z), A_2_20 (y, z))+ A_2_21 (A_3_0 (A_4_4 (S, x), y), z) -> A_26_37 (A_4_21 (x, z), A_0_21 (y, z))+ A_2_21 (A_3_1 (A_4_4 (S, x), y), z) -> A_26_37 (A_4_21 (x, z), A_1_21 (y, z))+ A_2_21 (A_3_2 (A_4_4 (S, x), y), z) -> A_26_37 (A_4_21 (x, z), A_2_21 (y, z))+ A_2_22 (A_3_0 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_22 (x, z), A_0_22 (y, z))+ A_2_22 (A_3_1 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_22 (x, z), A_1_22 (y, z))+ A_2_22 (A_3_2 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_22 (x, z), A_2_22 (y, z))+ A_2_23 (A_3_0 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_23 (x, z), A_0_23 (y, z))+ A_2_23 (A_3_1 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_23 (x, z), A_1_23 (y, z))+ A_2_23 (A_3_2 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_23 (x, z), A_2_23 (y, z))+ A_2_24 (A_3_0 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_24 (x, z), A_0_24 (y, z))+ A_2_24 (A_3_1 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_24 (x, z), A_1_24 (y, z))+ A_2_24 (A_3_2 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_24 (x, z), A_2_24 (y, z))+ A_2_25 (A_3_0 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_25 (x, z), A_0_25 (y, z))+ A_2_25 (A_3_1 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_25 (x, z), A_1_25 (y, z))+ A_2_25 (A_3_2 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_25 (x, z), A_2_25 (y, z))+ A_2_26 (A_3_0 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_26 (x, z), A_0_26 (y, z))+ A_2_26 (A_3_1 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_26 (x, z), A_1_26 (y, z))+ A_2_26 (A_3_2 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_26 (x, z), A_2_26 (y, z))+ A_2_27 (A_3_0 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_27 (x, z), A_0_27 (y, z))+ A_2_27 (A_3_1 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_27 (x, z), A_1_27 (y, z))+ A_2_27 (A_3_2 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_27 (x, z), A_2_27 (y, z))+ A_2_28 (A_3_0 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_28 (x, z), A_0_28 (y, z))+ A_2_28 (A_3_1 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_28 (x, z), A_1_28 (y, z))+ A_2_28 (A_3_2 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_28 (x, z), A_2_28 (y, z))+ A_2_29 (A_3_0 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_29 (x, z), A_0_29 (y, z))+ A_2_29 (A_3_1 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_29 (x, z), A_1_29 (y, z))+ A_2_29 (A_3_2 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_29 (x, z), A_2_29 (y, z))+ A_2_30 (A_3_0 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_30 (x, z), A_0_30 (y, z))+ A_2_30 (A_3_1 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_30 (x, z), A_1_30 (y, z))+ A_2_30 (A_3_2 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_30 (x, z), A_2_30 (y, z))+ A_2_31 (A_3_0 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_31 (x, z), A_0_31 (y, z))+ A_2_31 (A_3_1 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_31 (x, z), A_1_31 (y, z))+ A_2_31 (A_3_2 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_31 (x, z), A_2_31 (y, z))+ A_2_32 (A_3_0 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_32 (x, z), A_0_32 (y, z))+ A_2_32 (A_3_1 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_32 (x, z), A_1_32 (y, z))+ A_2_32 (A_3_2 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_32 (x, z), A_2_32 (y, z))+ A_2_33 (A_3_0 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_33 (x, z), A_0_33 (y, z))+ A_2_33 (A_3_1 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_33 (x, z), A_1_33 (y, z))+ A_2_33 (A_3_2 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_33 (x, z), A_2_33 (y, z))+ A_2_34 (A_3_0 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_34 (x, z), A_0_34 (y, z))+ A_2_34 (A_3_1 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_34 (x, z), A_1_34 (y, z))+ A_2_34 (A_3_2 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_34 (x, z), A_2_34 (y, z))+ A_2_35 (A_3_0 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_35 (x, z), A_0_35 (y, z))+ A_2_35 (A_3_1 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_35 (x, z), A_1_35 (y, z))+ A_2_35 (A_3_2 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_35 (x, z), A_2_35 (y, z))+ A_2_36 (A_3_0 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_36 (x, z), A_0_36 (y, z))+ A_2_36 (A_3_1 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_36 (x, z), A_1_36 (y, z))+ A_2_36 (A_3_2 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_36 (x, z), A_2_36 (y, z))+ A_2_37 (A_3_0 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_37 (x, z), A_0_37 (y, z))+ A_2_37 (A_3_1 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_37 (x, z), A_1_37 (y, z))+ A_2_37 (A_3_2 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_37 (x, z), A_2_37 (y, z))+ A_8_5 (A_3_6 (A_4_4 (S, x), y), z) -> A_11_36 (A_4_5 (x, z), A_6_5 (y, z))+ A_8_5 (A_3_8 (A_4_4 (S, x), y), z) -> A_11_37 (A_4_5 (x, z), A_8_5 (y, z))+ A_8_6 (A_3_6 (A_4_4 (S, x), y), z) -> A_18_36 (A_4_6 (x, z), A_6_6 (y, z))+ A_8_6 (A_3_8 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_6 (x, z), A_8_6 (y, z))+ A_8_7 (A_3_6 (A_4_4 (S, x), y), z) -> A_18_36 (A_4_7 (x, z), A_6_7 (y, z))+ A_8_7 (A_3_8 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_7 (x, z), A_8_7 (y, z))+ A_8_8 (A_3_6 (A_4_4 (S, x), y), z) -> A_18_36 (A_4_8 (x, z), A_6_8 (y, z))+ A_8_8 (A_3_8 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_8 (x, z), A_8_8 (y, z))+ A_8_9 (A_3_6 (A_4_4 (S, x), y), z) -> A_13_36 (A_4_9 (x, z), A_6_9 (y, z))+ A_8_9 (A_3_8 (A_4_4 (S, x), y), z) -> A_13_37 (A_4_9 (x, z), A_8_9 (y, z))+ A_8_10 (A_3_6 (A_4_4 (S, x), y), z) -> A_18_36 (A_4_10 (x, z), A_6_10 (y, z))+ A_8_10 (A_3_8 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_10 (x, z), A_8_10 (y, z))+ A_8_11 (A_3_6 (A_4_4 (S, x), y), z) -> A_15_36 (A_4_11 (x, z), A_6_11 (y, z))+ A_8_11 (A_3_8 (A_4_4 (S, x), y), z) -> A_15_37 (A_4_11 (x, z), A_8_11 (y, z))+ A_8_12 (A_3_6 (A_4_4 (S, x), y), z) -> A_15_36 (A_4_12 (x, z), A_6_12 (y, z))+ A_8_12 (A_3_8 (A_4_4 (S, x), y), z) -> A_15_37 (A_4_12 (x, z), A_8_12 (y, z))+ A_8_13 (A_3_6 (A_4_4 (S, x), y), z) -> A_18_36 (A_4_13 (x, z), A_6_13 (y, z))+ A_8_13 (A_3_8 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_13 (x, z), A_8_13 (y, z))+ A_8_14 (A_3_6 (A_4_4 (S, x), y), z) -> A_18_36 (A_4_14 (x, z), A_6_14 (y, z))+ A_8_14 (A_3_8 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_14 (x, z), A_8_14 (y, z))+ A_8_15 (A_3_6 (A_4_4 (S, x), y), z) -> A_18_36 (A_4_15 (x, z), A_6_15 (y, z))+ A_8_15 (A_3_8 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_15 (x, z), A_8_15 (y, z))+ A_8_16 (A_3_6 (A_4_4 (S, x), y), z) -> A_18_36 (A_4_16 (x, z), A_6_16 (y, z))+ A_8_16 (A_3_8 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_16 (x, z), A_8_16 (y, z))+ A_8_17 (A_3_6 (A_4_4 (S, x), y), z) -> A_28_36 (A_4_17 (x, z), A_6_17 (y, z))+ A_8_17 (A_3_8 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_17 (x, z), A_8_17 (y, z))+ A_8_18 (A_3_6 (A_4_4 (S, x), y), z) -> A_28_36 (A_4_18 (x, z), A_6_18 (y, z))+ A_8_18 (A_3_8 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_18 (x, z), A_8_18 (y, z))+ A_8_19 (A_3_6 (A_4_4 (S, x), y), z) -> A_23_36 (A_4_19 (x, z), A_6_19 (y, z))+ A_8_19 (A_3_8 (A_4_4 (S, x), y), z) -> A_23_37 (A_4_19 (x, z), A_8_19 (y, z))+ A_8_20 (A_3_6 (A_4_4 (S, x), y), z) -> A_26_36 (A_4_20 (x, z), A_6_20 (y, z))+ A_8_20 (A_3_8 (A_4_4 (S, x), y), z) -> A_26_37 (A_4_20 (x, z), A_8_20 (y, z))+ A_8_21 (A_3_6 (A_4_4 (S, x), y), z) -> A_26_36 (A_4_21 (x, z), A_6_21 (y, z))+ A_8_21 (A_3_8 (A_4_4 (S, x), y), z) -> A_26_37 (A_4_21 (x, z), A_8_21 (y, z))+ A_8_22 (A_3_6 (A_4_4 (S, x), y), z) -> A_28_36 (A_4_22 (x, z), A_6_22 (y, z))+ A_8_22 (A_3_8 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_22 (x, z), A_8_22 (y, z))+ A_8_23 (A_3_6 (A_4_4 (S, x), y), z) -> A_28_36 (A_4_23 (x, z), A_6_23 (y, z))+ A_8_23 (A_3_8 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_23 (x, z), A_8_23 (y, z))+ A_8_24 (A_3_6 (A_4_4 (S, x), y), z) -> A_28_36 (A_4_24 (x, z), A_6_24 (y, z))+ A_8_24 (A_3_8 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_24 (x, z), A_8_24 (y, z))+ A_8_25 (A_3_6 (A_4_4 (S, x), y), z) -> A_28_36 (A_4_25 (x, z), A_6_25 (y, z))+ A_8_25 (A_3_8 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_25 (x, z), A_8_25 (y, z))+ A_8_26 (A_3_6 (A_4_4 (S, x), y), z) -> A_28_36 (A_4_26 (x, z), A_6_26 (y, z))+ A_8_26 (A_3_8 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_26 (x, z), A_8_26 (y, z))+ A_8_27 (A_3_6 (A_4_4 (S, x), y), z) -> A_28_36 (A_4_27 (x, z), A_6_27 (y, z))+ A_8_27 (A_3_8 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_27 (x, z), A_8_27 (y, z))+ A_8_28 (A_3_6 (A_4_4 (S, x), y), z) -> A_28_36 (A_4_28 (x, z), A_6_28 (y, z))+ A_8_28 (A_3_8 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_28 (x, z), A_8_28 (y, z))+ A_8_29 (A_3_6 (A_4_4 (S, x), y), z) -> A_28_36 (A_4_29 (x, z), A_6_29 (y, z))+ A_8_29 (A_3_8 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_29 (x, z), A_8_29 (y, z))+ A_8_30 (A_3_6 (A_4_4 (S, x), y), z) -> A_28_36 (A_4_30 (x, z), A_6_30 (y, z))+ A_8_30 (A_3_8 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_30 (x, z), A_8_30 (y, z))+ A_8_31 (A_3_6 (A_4_4 (S, x), y), z) -> A_28_36 (A_4_31 (x, z), A_6_31 (y, z))+ A_8_31 (A_3_8 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_31 (x, z), A_8_31 (y, z))+ A_8_32 (A_3_6 (A_4_4 (S, x), y), z) -> A_28_36 (A_4_32 (x, z), A_6_32 (y, z))+ A_8_32 (A_3_8 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_32 (x, z), A_8_32 (y, z))+ A_8_33 (A_3_6 (A_4_4 (S, x), y), z) -> A_28_36 (A_4_33 (x, z), A_6_33 (y, z))+ A_8_33 (A_3_8 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_33 (x, z), A_8_33 (y, z))+ A_8_34 (A_3_6 (A_4_4 (S, x), y), z) -> A_28_36 (A_4_34 (x, z), A_6_34 (y, z))+ A_8_34 (A_3_8 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_34 (x, z), A_8_34 (y, z))+ A_8_35 (A_3_6 (A_4_4 (S, x), y), z) -> A_28_36 (A_4_35 (x, z), A_6_35 (y, z))+ A_8_35 (A_3_8 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_35 (x, z), A_8_35 (y, z))+ A_8_36 (A_3_6 (A_4_4 (S, x), y), z) -> A_28_36 (A_4_36 (x, z), A_6_36 (y, z))+ A_8_36 (A_3_8 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_36 (x, z), A_8_36 (y, z))+ A_8_37 (A_3_6 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_37 (x, z), A_6_37 (y, z))+ A_8_37 (A_3_8 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_37 (x, z), A_8_37 (y, z))+ A_9_5 (A_3_5 (A_4_4 (S, x), y), z) -> A_11_27 (A_4_5 (x, z), A_5_5 (y, z))+ A_9_5 (A_3_9 (A_4_4 (S, x), y), z) -> A_11_37 (A_4_5 (x, z), A_9_5 (y, z))+ A_9_6 (A_3_5 (A_4_4 (S, x), y), z) -> A_18_33 (A_4_6 (x, z), A_5_6 (y, z))+ A_9_6 (A_3_9 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_6 (x, z), A_9_6 (y, z))+ A_9_7 (A_3_5 (A_4_4 (S, x), y), z) -> A_18_33 (A_4_7 (x, z), A_5_7 (y, z))+ A_9_7 (A_3_9 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_7 (x, z), A_9_7 (y, z))+ A_9_8 (A_3_5 (A_4_4 (S, x), y), z) -> A_18_33 (A_4_8 (x, z), A_5_8 (y, z))+ A_9_8 (A_3_9 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_8 (x, z), A_9_8 (y, z))+ A_9_9 (A_3_5 (A_4_4 (S, x), y), z) -> A_13_33 (A_4_9 (x, z), A_5_9 (y, z))+ A_9_9 (A_3_9 (A_4_4 (S, x), y), z) -> A_13_37 (A_4_9 (x, z), A_9_9 (y, z))+ A_9_10 (A_3_5 (A_4_4 (S, x), y), z) -> A_18_33 (A_4_10 (x, z), A_5_10 (y, z))+ A_9_10 (A_3_9 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_10 (x, z), A_9_10 (y, z))+ A_9_11 (A_3_5 (A_4_4 (S, x), y), z) -> A_15_33 (A_4_11 (x, z), A_5_11 (y, z))+ A_9_11 (A_3_9 (A_4_4 (S, x), y), z) -> A_15_37 (A_4_11 (x, z), A_9_11 (y, z))+ A_9_12 (A_3_5 (A_4_4 (S, x), y), z) -> A_15_33 (A_4_12 (x, z), A_5_12 (y, z))+ A_9_12 (A_3_9 (A_4_4 (S, x), y), z) -> A_15_37 (A_4_12 (x, z), A_9_12 (y, z))+ A_9_13 (A_3_5 (A_4_4 (S, x), y), z) -> A_18_33 (A_4_13 (x, z), A_5_13 (y, z))+ A_9_13 (A_3_9 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_13 (x, z), A_9_13 (y, z))+ A_9_14 (A_3_5 (A_4_4 (S, x), y), z) -> A_18_33 (A_4_14 (x, z), A_5_14 (y, z))+ A_9_14 (A_3_9 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_14 (x, z), A_9_14 (y, z))+ A_9_15 (A_3_5 (A_4_4 (S, x), y), z) -> A_18_33 (A_4_15 (x, z), A_5_15 (y, z))+ A_9_15 (A_3_9 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_15 (x, z), A_9_15 (y, z))+ A_9_16 (A_3_5 (A_4_4 (S, x), y), z) -> A_18_33 (A_4_16 (x, z), A_5_16 (y, z))+ A_9_16 (A_3_9 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_16 (x, z), A_9_16 (y, z))+ A_9_17 (A_3_5 (A_4_4 (S, x), y), z) -> A_28_33 (A_4_17 (x, z), A_5_17 (y, z))+ A_9_17 (A_3_9 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_17 (x, z), A_9_17 (y, z))+ A_9_18 (A_3_5 (A_4_4 (S, x), y), z) -> A_28_33 (A_4_18 (x, z), A_5_18 (y, z))+ A_9_18 (A_3_9 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_18 (x, z), A_9_18 (y, z))+ A_9_19 (A_3_5 (A_4_4 (S, x), y), z) -> A_23_33 (A_4_19 (x, z), A_5_19 (y, z))+ A_9_19 (A_3_9 (A_4_4 (S, x), y), z) -> A_23_37 (A_4_19 (x, z), A_9_19 (y, z))+ A_9_20 (A_3_5 (A_4_4 (S, x), y), z) -> A_26_31 (A_4_20 (x, z), A_5_20 (y, z))+ A_9_20 (A_3_9 (A_4_4 (S, x), y), z) -> A_26_37 (A_4_20 (x, z), A_9_20 (y, z))+ A_9_21 (A_3_5 (A_4_4 (S, x), y), z) -> A_26_31 (A_4_21 (x, z), A_5_21 (y, z))+ A_9_21 (A_3_9 (A_4_4 (S, x), y), z) -> A_26_37 (A_4_21 (x, z), A_9_21 (y, z))+ A_9_22 (A_3_5 (A_4_4 (S, x), y), z) -> A_28_33 (A_4_22 (x, z), A_5_22 (y, z))+ A_9_22 (A_3_9 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_22 (x, z), A_9_22 (y, z))+ A_9_23 (A_3_5 (A_4_4 (S, x), y), z) -> A_28_33 (A_4_23 (x, z), A_5_23 (y, z))+ A_9_23 (A_3_9 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_23 (x, z), A_9_23 (y, z))+ A_9_24 (A_3_5 (A_4_4 (S, x), y), z) -> A_28_33 (A_4_24 (x, z), A_5_24 (y, z))+ A_9_24 (A_3_9 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_24 (x, z), A_9_24 (y, z))+ A_9_25 (A_3_5 (A_4_4 (S, x), y), z) -> A_28_33 (A_4_25 (x, z), A_5_25 (y, z))+ A_9_25 (A_3_9 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_25 (x, z), A_9_25 (y, z))+ A_9_26 (A_3_5 (A_4_4 (S, x), y), z) -> A_28_33 (A_4_26 (x, z), A_5_26 (y, z))+ A_9_26 (A_3_9 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_26 (x, z), A_9_26 (y, z))+ A_9_27 (A_3_5 (A_4_4 (S, x), y), z) -> A_28_33 (A_4_27 (x, z), A_5_27 (y, z))+ A_9_27 (A_3_9 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_27 (x, z), A_9_27 (y, z))+ A_9_28 (A_3_5 (A_4_4 (S, x), y), z) -> A_28_33 (A_4_28 (x, z), A_5_28 (y, z))+ A_9_28 (A_3_9 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_28 (x, z), A_9_28 (y, z))+ A_9_29 (A_3_5 (A_4_4 (S, x), y), z) -> A_28_31 (A_4_29 (x, z), A_5_29 (y, z))+ A_9_29 (A_3_9 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_29 (x, z), A_9_29 (y, z))+ A_9_30 (A_3_5 (A_4_4 (S, x), y), z) -> A_28_31 (A_4_30 (x, z), A_5_30 (y, z))+ A_9_30 (A_3_9 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_30 (x, z), A_9_30 (y, z))+ A_9_31 (A_3_5 (A_4_4 (S, x), y), z) -> A_28_31 (A_4_31 (x, z), A_5_31 (y, z))+ A_9_31 (A_3_9 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_31 (x, z), A_9_31 (y, z))+ A_9_32 (A_3_5 (A_4_4 (S, x), y), z) -> A_28_33 (A_4_32 (x, z), A_5_32 (y, z))+ A_9_32 (A_3_9 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_32 (x, z), A_9_32 (y, z))+ A_9_33 (A_3_5 (A_4_4 (S, x), y), z) -> A_28_33 (A_4_33 (x, z), A_5_33 (y, z))+ A_9_33 (A_3_9 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_33 (x, z), A_9_33 (y, z))+ A_9_34 (A_3_5 (A_4_4 (S, x), y), z) -> A_28_36 (A_4_34 (x, z), A_5_34 (y, z))+ A_9_34 (A_3_9 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_34 (x, z), A_9_34 (y, z))+ A_9_35 (A_3_5 (A_4_4 (S, x), y), z) -> A_28_36 (A_4_35 (x, z), A_5_35 (y, z))+ A_9_35 (A_3_9 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_35 (x, z), A_9_35 (y, z))+ A_9_36 (A_3_5 (A_4_4 (S, x), y), z) -> A_28_36 (A_4_36 (x, z), A_5_36 (y, z))+ A_9_36 (A_3_9 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_36 (x, z), A_9_36 (y, z))+ A_9_37 (A_3_5 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_37 (x, z), A_5_37 (y, z))+ A_9_37 (A_3_9 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_37 (x, z), A_9_37 (y, z))+ A_10_5 (A_3_7 (A_4_4 (S, x), y), z) -> A_11_36 (A_4_5 (x, z), A_7_5 (y, z))+ A_10_5 (A_3_10 (A_4_4 (S, x), y), z) -> A_11_37 (A_4_5 (x, z), A_10_5 (y, z))+ A_10_6 (A_3_7 (A_4_4 (S, x), y), z) -> A_18_36 (A_4_6 (x, z), A_7_6 (y, z))+ A_10_6 (A_3_10 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_6 (x, z), A_10_6 (y, z))+ A_10_7 (A_3_7 (A_4_4 (S, x), y), z) -> A_18_36 (A_4_7 (x, z), A_7_7 (y, z))+ A_10_7 (A_3_10 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_7 (x, z), A_10_7 (y, z))+ A_10_8 (A_3_7 (A_4_4 (S, x), y), z) -> A_18_36 (A_4_8 (x, z), A_7_8 (y, z))+ A_10_8 (A_3_10 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_8 (x, z), A_10_8 (y, z))+ A_10_9 (A_3_7 (A_4_4 (S, x), y), z) -> A_13_36 (A_4_9 (x, z), A_7_9 (y, z))+ A_10_9 (A_3_10 (A_4_4 (S, x), y), z) -> A_13_37 (A_4_9 (x, z), A_10_9 (y, z))+ A_10_10 (A_3_7 (A_4_4 (S, x), y), z) -> A_18_36 (A_4_10 (x, z), A_7_10 (y, z))+ A_10_10 (A_3_10 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_10 (x, z), A_10_10 (y, z))+ A_10_11 (A_3_7 (A_4_4 (S, x), y), z) -> A_15_36 (A_4_11 (x, z), A_7_11 (y, z))+ A_10_11 (A_3_10 (A_4_4 (S, x), y), z) -> A_15_37 (A_4_11 (x, z), A_10_11 (y, z))+ A_10_12 (A_3_7 (A_4_4 (S, x), y), z) -> A_15_36 (A_4_12 (x, z), A_7_12 (y, z))+ A_10_12 (A_3_10 (A_4_4 (S, x), y), z) -> A_15_37 (A_4_12 (x, z), A_10_12 (y, z))+ A_10_13 (A_3_7 (A_4_4 (S, x), y), z) -> A_18_36 (A_4_13 (x, z), A_7_13 (y, z))+ A_10_13 (A_3_10 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_13 (x, z), A_10_13 (y, z))+ A_10_14 (A_3_7 (A_4_4 (S, x), y), z) -> A_18_36 (A_4_14 (x, z), A_7_14 (y, z))+ A_10_14 (A_3_10 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_14 (x, z), A_10_14 (y, z))+ A_10_15 (A_3_7 (A_4_4 (S, x), y), z) -> A_18_36 (A_4_15 (x, z), A_7_15 (y, z))+ A_10_15 (A_3_10 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_15 (x, z), A_10_15 (y, z))+ A_10_16 (A_3_7 (A_4_4 (S, x), y), z) -> A_18_36 (A_4_16 (x, z), A_7_16 (y, z))+ A_10_16 (A_3_10 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_16 (x, z), A_10_16 (y, z))+ A_10_17 (A_3_7 (A_4_4 (S, x), y), z) -> A_28_36 (A_4_17 (x, z), A_7_17 (y, z))+ A_10_17 (A_3_10 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_17 (x, z), A_10_17 (y, z))+ A_10_18 (A_3_7 (A_4_4 (S, x), y), z) -> A_28_36 (A_4_18 (x, z), A_7_18 (y, z))+ A_10_18 (A_3_10 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_18 (x, z), A_10_18 (y, z))+ A_10_19 (A_3_7 (A_4_4 (S, x), y), z) -> A_23_36 (A_4_19 (x, z), A_7_19 (y, z))+ A_10_19 (A_3_10 (A_4_4 (S, x), y), z) -> A_23_37 (A_4_19 (x, z), A_10_19 (y, z))+ A_10_20 (A_3_7 (A_4_4 (S, x), y), z) -> A_26_36 (A_4_20 (x, z), A_7_20 (y, z))+ A_10_20 (A_3_10 (A_4_4 (S, x), y), z) -> A_26_37 (A_4_20 (x, z), A_10_20 (y, z))+ A_10_21 (A_3_7 (A_4_4 (S, x), y), z) -> A_26_36 (A_4_21 (x, z), A_7_21 (y, z))+ A_10_21 (A_3_10 (A_4_4 (S, x), y), z) -> A_26_37 (A_4_21 (x, z), A_10_21 (y, z))+ A_10_22 (A_3_7 (A_4_4 (S, x), y), z) -> A_28_36 (A_4_22 (x, z), A_7_22 (y, z))+ A_10_22 (A_3_10 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_22 (x, z), A_10_22 (y, z))+ A_10_23 (A_3_7 (A_4_4 (S, x), y), z) -> A_28_36 (A_4_23 (x, z), A_7_23 (y, z))+ A_10_23 (A_3_10 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_23 (x, z), A_10_23 (y, z))+ A_10_24 (A_3_7 (A_4_4 (S, x), y), z) -> A_28_36 (A_4_24 (x, z), A_7_24 (y, z))+ A_10_24 (A_3_10 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_24 (x, z), A_10_24 (y, z))+ A_10_25 (A_3_7 (A_4_4 (S, x), y), z) -> A_28_36 (A_4_25 (x, z), A_7_25 (y, z))+ A_10_25 (A_3_10 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_25 (x, z), A_10_25 (y, z))+ A_10_26 (A_3_7 (A_4_4 (S, x), y), z) -> A_28_36 (A_4_26 (x, z), A_7_26 (y, z))+ A_10_26 (A_3_10 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_26 (x, z), A_10_26 (y, z))+ A_10_27 (A_3_7 (A_4_4 (S, x), y), z) -> A_28_36 (A_4_27 (x, z), A_7_27 (y, z))+ A_10_27 (A_3_10 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_27 (x, z), A_10_27 (y, z))+ A_10_28 (A_3_7 (A_4_4 (S, x), y), z) -> A_28_36 (A_4_28 (x, z), A_7_28 (y, z))+ A_10_28 (A_3_10 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_28 (x, z), A_10_28 (y, z))+ A_10_29 (A_3_7 (A_4_4 (S, x), y), z) -> A_28_36 (A_4_29 (x, z), A_7_29 (y, z))+ A_10_29 (A_3_10 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_29 (x, z), A_10_29 (y, z))+ A_10_30 (A_3_7 (A_4_4 (S, x), y), z) -> A_28_36 (A_4_30 (x, z), A_7_30 (y, z))+ A_10_30 (A_3_10 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_30 (x, z), A_10_30 (y, z))+ A_10_31 (A_3_7 (A_4_4 (S, x), y), z) -> A_28_36 (A_4_31 (x, z), A_7_31 (y, z))+ A_10_31 (A_3_10 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_31 (x, z), A_10_31 (y, z))+ A_10_32 (A_3_7 (A_4_4 (S, x), y), z) -> A_28_36 (A_4_32 (x, z), A_7_32 (y, z))+ A_10_32 (A_3_10 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_32 (x, z), A_10_32 (y, z))+ A_10_33 (A_3_7 (A_4_4 (S, x), y), z) -> A_28_36 (A_4_33 (x, z), A_7_33 (y, z))+ A_10_33 (A_3_10 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_33 (x, z), A_10_33 (y, z))+ A_10_34 (A_3_7 (A_4_4 (S, x), y), z) -> A_28_36 (A_4_34 (x, z), A_7_34 (y, z))+ A_10_34 (A_3_10 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_34 (x, z), A_10_34 (y, z))+ A_10_35 (A_3_7 (A_4_4 (S, x), y), z) -> A_28_36 (A_4_35 (x, z), A_7_35 (y, z))+ A_10_35 (A_3_10 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_35 (x, z), A_10_35 (y, z))+ A_10_36 (A_3_7 (A_4_4 (S, x), y), z) -> A_28_36 (A_4_36 (x, z), A_7_36 (y, z))+ A_10_36 (A_3_10 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_36 (x, z), A_10_36 (y, z))+ A_10_37 (A_3_7 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_37 (x, z), A_7_37 (y, z))+ A_10_37 (A_3_10 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_37 (x, z), A_10_37 (y, z))+ A_12_5 (A_3_11 (A_4_4 (S, x), y), z) -> A_11_36 (A_4_5 (x, z), A_11_5 (y, z))+ A_12_5 (A_3_12 (A_4_4 (S, x), y), z) -> A_11_37 (A_4_5 (x, z), A_12_5 (y, z))+ A_12_6 (A_3_11 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_6 (x, z), A_11_6 (y, z))+ A_12_6 (A_3_12 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_6 (x, z), A_12_6 (y, z))+ A_12_7 (A_3_11 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_7 (x, z), A_11_7 (y, z))+ A_12_7 (A_3_12 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_7 (x, z), A_12_7 (y, z))+ A_12_8 (A_3_11 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_8 (x, z), A_11_8 (y, z))+ A_12_8 (A_3_12 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_8 (x, z), A_12_8 (y, z))+ A_12_9 (A_3_11 (A_4_4 (S, x), y), z) -> A_13_36 (A_4_9 (x, z), A_11_9 (y, z))+ A_12_9 (A_3_12 (A_4_4 (S, x), y), z) -> A_13_37 (A_4_9 (x, z), A_12_9 (y, z))+ A_12_10 (A_3_11 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_10 (x, z), A_11_10 (y, z))+ A_12_10 (A_3_12 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_10 (x, z), A_12_10 (y, z))+ A_12_11 (A_3_11 (A_4_4 (S, x), y), z) -> A_15_36 (A_4_11 (x, z), A_11_11 (y, z))+ A_12_11 (A_3_12 (A_4_4 (S, x), y), z) -> A_15_37 (A_4_11 (x, z), A_12_11 (y, z))+ A_12_12 (A_3_11 (A_4_4 (S, x), y), z) -> A_15_36 (A_4_12 (x, z), A_11_12 (y, z))+ A_12_12 (A_3_12 (A_4_4 (S, x), y), z) -> A_15_37 (A_4_12 (x, z), A_12_12 (y, z))+ A_12_13 (A_3_11 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_13 (x, z), A_11_13 (y, z))+ A_12_13 (A_3_12 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_13 (x, z), A_12_13 (y, z))+ A_12_14 (A_3_11 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_14 (x, z), A_11_14 (y, z))+ A_12_14 (A_3_12 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_14 (x, z), A_12_14 (y, z))+ A_12_15 (A_3_11 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_15 (x, z), A_11_15 (y, z))+ A_12_15 (A_3_12 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_15 (x, z), A_12_15 (y, z))+ A_12_16 (A_3_11 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_16 (x, z), A_11_16 (y, z))+ A_12_16 (A_3_12 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_16 (x, z), A_12_16 (y, z))+ A_12_17 (A_3_11 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_17 (x, z), A_11_17 (y, z))+ A_12_17 (A_3_12 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_17 (x, z), A_12_17 (y, z))+ A_12_18 (A_3_11 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_18 (x, z), A_11_18 (y, z))+ A_12_18 (A_3_12 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_18 (x, z), A_12_18 (y, z))+ A_12_19 (A_3_11 (A_4_4 (S, x), y), z) -> A_23_36 (A_4_19 (x, z), A_11_19 (y, z))+ A_12_19 (A_3_12 (A_4_4 (S, x), y), z) -> A_23_37 (A_4_19 (x, z), A_12_19 (y, z))+ A_12_20 (A_3_11 (A_4_4 (S, x), y), z) -> A_26_36 (A_4_20 (x, z), A_11_20 (y, z))+ A_12_20 (A_3_12 (A_4_4 (S, x), y), z) -> A_26_37 (A_4_20 (x, z), A_12_20 (y, z))+ A_12_21 (A_3_11 (A_4_4 (S, x), y), z) -> A_26_36 (A_4_21 (x, z), A_11_21 (y, z))+ A_12_21 (A_3_12 (A_4_4 (S, x), y), z) -> A_26_37 (A_4_21 (x, z), A_12_21 (y, z))+ A_12_22 (A_3_11 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_22 (x, z), A_11_22 (y, z))+ A_12_22 (A_3_12 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_22 (x, z), A_12_22 (y, z))+ A_12_23 (A_3_11 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_23 (x, z), A_11_23 (y, z))+ A_12_23 (A_3_12 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_23 (x, z), A_12_23 (y, z))+ A_12_24 (A_3_11 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_24 (x, z), A_11_24 (y, z))+ A_12_24 (A_3_12 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_24 (x, z), A_12_24 (y, z))+ A_12_25 (A_3_11 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_25 (x, z), A_11_25 (y, z))+ A_12_25 (A_3_12 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_25 (x, z), A_12_25 (y, z))+ A_12_26 (A_3_11 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_26 (x, z), A_11_26 (y, z))+ A_12_26 (A_3_12 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_26 (x, z), A_12_26 (y, z))+ A_12_27 (A_3_11 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_27 (x, z), A_11_27 (y, z))+ A_12_27 (A_3_12 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_27 (x, z), A_12_27 (y, z))+ A_12_28 (A_3_11 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_28 (x, z), A_11_28 (y, z))+ A_12_28 (A_3_12 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_28 (x, z), A_12_28 (y, z))+ A_12_29 (A_3_11 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_29 (x, z), A_11_29 (y, z))+ A_12_29 (A_3_12 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_29 (x, z), A_12_29 (y, z))+ A_12_30 (A_3_11 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_30 (x, z), A_11_30 (y, z))+ A_12_30 (A_3_12 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_30 (x, z), A_12_30 (y, z))+ A_12_31 (A_3_11 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_31 (x, z), A_11_31 (y, z))+ A_12_31 (A_3_12 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_31 (x, z), A_12_31 (y, z))+ A_12_32 (A_3_11 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_32 (x, z), A_11_32 (y, z))+ A_12_32 (A_3_12 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_32 (x, z), A_12_32 (y, z))+ A_12_33 (A_3_11 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_33 (x, z), A_11_33 (y, z))+ A_12_33 (A_3_12 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_33 (x, z), A_12_33 (y, z))+ A_12_34 (A_3_11 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_34 (x, z), A_11_34 (y, z))+ A_12_34 (A_3_12 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_34 (x, z), A_12_34 (y, z))+ A_12_35 (A_3_11 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_35 (x, z), A_11_35 (y, z))+ A_12_35 (A_3_12 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_35 (x, z), A_12_35 (y, z))+ A_12_36 (A_3_11 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_36 (x, z), A_11_36 (y, z))+ A_12_36 (A_3_12 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_36 (x, z), A_12_36 (y, z))+ A_12_37 (A_3_11 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_37 (x, z), A_11_37 (y, z))+ A_12_37 (A_3_12 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_37 (x, z), A_12_37 (y, z))+ A_14_5 (A_3_13 (A_4_4 (S, x), y), z) -> A_11_36 (A_4_5 (x, z), A_13_5 (y, z))+ A_14_5 (A_3_14 (A_4_4 (S, x), y), z) -> A_11_37 (A_4_5 (x, z), A_14_5 (y, z))+ A_14_6 (A_3_13 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_6 (x, z), A_13_6 (y, z))+ A_14_6 (A_3_14 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_6 (x, z), A_14_6 (y, z))+ A_14_7 (A_3_13 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_7 (x, z), A_13_7 (y, z))+ A_14_7 (A_3_14 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_7 (x, z), A_14_7 (y, z))+ A_14_8 (A_3_13 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_8 (x, z), A_13_8 (y, z))+ A_14_8 (A_3_14 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_8 (x, z), A_14_8 (y, z))+ A_14_9 (A_3_13 (A_4_4 (S, x), y), z) -> A_13_36 (A_4_9 (x, z), A_13_9 (y, z))+ A_14_9 (A_3_14 (A_4_4 (S, x), y), z) -> A_13_37 (A_4_9 (x, z), A_14_9 (y, z))+ A_14_10 (A_3_13 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_10 (x, z), A_13_10 (y, z))+ A_14_10 (A_3_14 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_10 (x, z), A_14_10 (y, z))+ A_14_11 (A_3_13 (A_4_4 (S, x), y), z) -> A_15_36 (A_4_11 (x, z), A_13_11 (y, z))+ A_14_11 (A_3_14 (A_4_4 (S, x), y), z) -> A_15_37 (A_4_11 (x, z), A_14_11 (y, z))+ A_14_12 (A_3_13 (A_4_4 (S, x), y), z) -> A_15_36 (A_4_12 (x, z), A_13_12 (y, z))+ A_14_12 (A_3_14 (A_4_4 (S, x), y), z) -> A_15_37 (A_4_12 (x, z), A_14_12 (y, z))+ A_14_13 (A_3_13 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_13 (x, z), A_13_13 (y, z))+ A_14_13 (A_3_14 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_13 (x, z), A_14_13 (y, z))+ A_14_14 (A_3_13 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_14 (x, z), A_13_14 (y, z))+ A_14_14 (A_3_14 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_14 (x, z), A_14_14 (y, z))+ A_14_15 (A_3_13 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_15 (x, z), A_13_15 (y, z))+ A_14_15 (A_3_14 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_15 (x, z), A_14_15 (y, z))+ A_14_16 (A_3_13 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_16 (x, z), A_13_16 (y, z))+ A_14_16 (A_3_14 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_16 (x, z), A_14_16 (y, z))+ A_14_17 (A_3_13 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_17 (x, z), A_13_17 (y, z))+ A_14_17 (A_3_14 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_17 (x, z), A_14_17 (y, z))+ A_14_18 (A_3_13 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_18 (x, z), A_13_18 (y, z))+ A_14_18 (A_3_14 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_18 (x, z), A_14_18 (y, z))+ A_14_19 (A_3_13 (A_4_4 (S, x), y), z) -> A_23_36 (A_4_19 (x, z), A_13_19 (y, z))+ A_14_19 (A_3_14 (A_4_4 (S, x), y), z) -> A_23_37 (A_4_19 (x, z), A_14_19 (y, z))+ A_14_20 (A_3_13 (A_4_4 (S, x), y), z) -> A_26_36 (A_4_20 (x, z), A_13_20 (y, z))+ A_14_20 (A_3_14 (A_4_4 (S, x), y), z) -> A_26_37 (A_4_20 (x, z), A_14_20 (y, z))+ A_14_21 (A_3_13 (A_4_4 (S, x), y), z) -> A_26_36 (A_4_21 (x, z), A_13_21 (y, z))+ A_14_21 (A_3_14 (A_4_4 (S, x), y), z) -> A_26_37 (A_4_21 (x, z), A_14_21 (y, z))+ A_14_22 (A_3_13 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_22 (x, z), A_13_22 (y, z))+ A_14_22 (A_3_14 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_22 (x, z), A_14_22 (y, z))+ A_14_23 (A_3_13 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_23 (x, z), A_13_23 (y, z))+ A_14_23 (A_3_14 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_23 (x, z), A_14_23 (y, z))+ A_14_24 (A_3_13 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_24 (x, z), A_13_24 (y, z))+ A_14_24 (A_3_14 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_24 (x, z), A_14_24 (y, z))+ A_14_25 (A_3_13 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_25 (x, z), A_13_25 (y, z))+ A_14_25 (A_3_14 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_25 (x, z), A_14_25 (y, z))+ A_14_26 (A_3_13 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_26 (x, z), A_13_26 (y, z))+ A_14_26 (A_3_14 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_26 (x, z), A_14_26 (y, z))+ A_14_27 (A_3_13 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_27 (x, z), A_13_27 (y, z))+ A_14_27 (A_3_14 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_27 (x, z), A_14_27 (y, z))+ A_14_28 (A_3_13 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_28 (x, z), A_13_28 (y, z))+ A_14_28 (A_3_14 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_28 (x, z), A_14_28 (y, z))+ A_14_29 (A_3_13 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_29 (x, z), A_13_29 (y, z))+ A_14_29 (A_3_14 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_29 (x, z), A_14_29 (y, z))+ A_14_30 (A_3_13 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_30 (x, z), A_13_30 (y, z))+ A_14_30 (A_3_14 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_30 (x, z), A_14_30 (y, z))+ A_14_31 (A_3_13 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_31 (x, z), A_13_31 (y, z))+ A_14_31 (A_3_14 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_31 (x, z), A_14_31 (y, z))+ A_14_32 (A_3_13 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_32 (x, z), A_13_32 (y, z))+ A_14_32 (A_3_14 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_32 (x, z), A_14_32 (y, z))+ A_14_33 (A_3_13 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_33 (x, z), A_13_33 (y, z))+ A_14_33 (A_3_14 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_33 (x, z), A_14_33 (y, z))+ A_14_34 (A_3_13 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_34 (x, z), A_13_34 (y, z))+ A_14_34 (A_3_14 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_34 (x, z), A_14_34 (y, z))+ A_14_35 (A_3_13 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_35 (x, z), A_13_35 (y, z))+ A_14_35 (A_3_14 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_35 (x, z), A_14_35 (y, z))+ A_14_36 (A_3_13 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_36 (x, z), A_13_36 (y, z))+ A_14_36 (A_3_14 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_36 (x, z), A_14_36 (y, z))+ A_14_37 (A_3_13 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_37 (x, z), A_13_37 (y, z))+ A_14_37 (A_3_14 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_37 (x, z), A_14_37 (y, z))+ A_16_5 (A_3_15 (A_4_4 (S, x), y), z) -> A_11_36 (A_4_5 (x, z), A_15_5 (y, z))+ A_16_5 (A_3_16 (A_4_4 (S, x), y), z) -> A_11_37 (A_4_5 (x, z), A_16_5 (y, z))+ A_16_6 (A_3_15 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_6 (x, z), A_15_6 (y, z))+ A_16_6 (A_3_16 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_6 (x, z), A_16_6 (y, z))+ A_16_7 (A_3_15 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_7 (x, z), A_15_7 (y, z))+ A_16_7 (A_3_16 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_7 (x, z), A_16_7 (y, z))+ A_16_8 (A_3_15 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_8 (x, z), A_15_8 (y, z))+ A_16_8 (A_3_16 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_8 (x, z), A_16_8 (y, z))+ A_16_9 (A_3_15 (A_4_4 (S, x), y), z) -> A_13_36 (A_4_9 (x, z), A_15_9 (y, z))+ A_16_9 (A_3_16 (A_4_4 (S, x), y), z) -> A_13_37 (A_4_9 (x, z), A_16_9 (y, z))+ A_16_10 (A_3_15 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_10 (x, z), A_15_10 (y, z))+ A_16_10 (A_3_16 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_10 (x, z), A_16_10 (y, z))+ A_16_11 (A_3_15 (A_4_4 (S, x), y), z) -> A_15_36 (A_4_11 (x, z), A_15_11 (y, z))+ A_16_11 (A_3_16 (A_4_4 (S, x), y), z) -> A_15_37 (A_4_11 (x, z), A_16_11 (y, z))+ A_16_12 (A_3_15 (A_4_4 (S, x), y), z) -> A_15_36 (A_4_12 (x, z), A_15_12 (y, z))+ A_16_12 (A_3_16 (A_4_4 (S, x), y), z) -> A_15_37 (A_4_12 (x, z), A_16_12 (y, z))+ A_16_13 (A_3_15 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_13 (x, z), A_15_13 (y, z))+ A_16_13 (A_3_16 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_13 (x, z), A_16_13 (y, z))+ A_16_14 (A_3_15 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_14 (x, z), A_15_14 (y, z))+ A_16_14 (A_3_16 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_14 (x, z), A_16_14 (y, z))+ A_16_15 (A_3_15 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_15 (x, z), A_15_15 (y, z))+ A_16_15 (A_3_16 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_15 (x, z), A_16_15 (y, z))+ A_16_16 (A_3_15 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_16 (x, z), A_15_16 (y, z))+ A_16_16 (A_3_16 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_16 (x, z), A_16_16 (y, z))+ A_16_17 (A_3_15 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_17 (x, z), A_15_17 (y, z))+ A_16_17 (A_3_16 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_17 (x, z), A_16_17 (y, z))+ A_16_18 (A_3_15 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_18 (x, z), A_15_18 (y, z))+ A_16_18 (A_3_16 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_18 (x, z), A_16_18 (y, z))+ A_16_19 (A_3_15 (A_4_4 (S, x), y), z) -> A_23_36 (A_4_19 (x, z), A_15_19 (y, z))+ A_16_19 (A_3_16 (A_4_4 (S, x), y), z) -> A_23_37 (A_4_19 (x, z), A_16_19 (y, z))+ A_16_20 (A_3_15 (A_4_4 (S, x), y), z) -> A_26_36 (A_4_20 (x, z), A_15_20 (y, z))+ A_16_20 (A_3_16 (A_4_4 (S, x), y), z) -> A_26_37 (A_4_20 (x, z), A_16_20 (y, z))+ A_16_21 (A_3_15 (A_4_4 (S, x), y), z) -> A_26_36 (A_4_21 (x, z), A_15_21 (y, z))+ A_16_21 (A_3_16 (A_4_4 (S, x), y), z) -> A_26_37 (A_4_21 (x, z), A_16_21 (y, z))+ A_16_22 (A_3_15 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_22 (x, z), A_15_22 (y, z))+ A_16_22 (A_3_16 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_22 (x, z), A_16_22 (y, z))+ A_16_23 (A_3_15 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_23 (x, z), A_15_23 (y, z))+ A_16_23 (A_3_16 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_23 (x, z), A_16_23 (y, z))+ A_16_24 (A_3_15 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_24 (x, z), A_15_24 (y, z))+ A_16_24 (A_3_16 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_24 (x, z), A_16_24 (y, z))+ A_16_25 (A_3_15 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_25 (x, z), A_15_25 (y, z))+ A_16_25 (A_3_16 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_25 (x, z), A_16_25 (y, z))+ A_16_26 (A_3_15 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_26 (x, z), A_15_26 (y, z))+ A_16_26 (A_3_16 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_26 (x, z), A_16_26 (y, z))+ A_16_27 (A_3_15 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_27 (x, z), A_15_27 (y, z))+ A_16_27 (A_3_16 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_27 (x, z), A_16_27 (y, z))+ A_16_28 (A_3_15 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_28 (x, z), A_15_28 (y, z))+ A_16_28 (A_3_16 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_28 (x, z), A_16_28 (y, z))+ A_16_29 (A_3_15 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_29 (x, z), A_15_29 (y, z))+ A_16_29 (A_3_16 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_29 (x, z), A_16_29 (y, z))+ A_16_30 (A_3_15 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_30 (x, z), A_15_30 (y, z))+ A_16_30 (A_3_16 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_30 (x, z), A_16_30 (y, z))+ A_16_31 (A_3_15 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_31 (x, z), A_15_31 (y, z))+ A_16_31 (A_3_16 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_31 (x, z), A_16_31 (y, z))+ A_16_32 (A_3_15 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_32 (x, z), A_15_32 (y, z))+ A_16_32 (A_3_16 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_32 (x, z), A_16_32 (y, z))+ A_16_33 (A_3_15 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_33 (x, z), A_15_33 (y, z))+ A_16_33 (A_3_16 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_33 (x, z), A_16_33 (y, z))+ A_16_34 (A_3_15 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_34 (x, z), A_15_34 (y, z))+ A_16_34 (A_3_16 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_34 (x, z), A_16_34 (y, z))+ A_16_35 (A_3_15 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_35 (x, z), A_15_35 (y, z))+ A_16_35 (A_3_16 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_35 (x, z), A_16_35 (y, z))+ A_16_36 (A_3_15 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_36 (x, z), A_15_36 (y, z))+ A_16_36 (A_3_16 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_36 (x, z), A_16_36 (y, z))+ A_16_37 (A_3_15 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_37 (x, z), A_15_37 (y, z))+ A_16_37 (A_3_16 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_37 (x, z), A_16_37 (y, z))+ A_17_5 (A_5_3 (A_4_3 (S, x), y), z) -> A_9_9 (A_3_5 (x, z), A_3_5 (y, z))+ A_17_6 (A_5_3 (A_4_3 (S, x), y), z) -> A_8_8 (A_3_6 (x, z), A_3_6 (y, z))+ A_17_7 (A_5_3 (A_4_3 (S, x), y), z) -> A_10_10 (A_3_7 (x, z), A_3_7 (y, z))+ A_17_8 (A_5_3 (A_4_3 (S, x), y), z) -> A_8_8 (A_3_8 (x, z), A_3_8 (y, z))+ A_17_9 (A_5_3 (A_4_3 (S, x), y), z) -> A_9_9 (A_3_9 (x, z), A_3_9 (y, z))+ A_17_10 (A_5_3 (A_4_3 (S, x), y), z) -> A_10_10 (A_3_10 (x, z), A_3_10 (y, z))+ A_17_11 (A_5_3 (A_4_3 (S, x), y), z) -> A_12_12 (A_3_11 (x, z), A_3_11 (y, z))+ A_17_12 (A_5_3 (A_4_3 (S, x), y), z) -> A_12_12 (A_3_12 (x, z), A_3_12 (y, z))+ A_17_13 (A_5_3 (A_4_3 (S, x), y), z) -> A_14_14 (A_3_13 (x, z), A_3_13 (y, z))+ A_17_14 (A_5_3 (A_4_3 (S, x), y), z) -> A_14_14 (A_3_14 (x, z), A_3_14 (y, z))+ A_17_15 (A_5_3 (A_4_3 (S, x), y), z) -> A_16_16 (A_3_15 (x, z), A_3_15 (y, z))+ A_17_16 (A_5_3 (A_4_3 (S, x), y), z) -> A_16_16 (A_3_16 (x, z), A_3_16 (y, z))+ A_17_18 (A_5_3 (A_4_3 (S, x), y), z) -> A_18_18 (A_3_18 (x, z), A_3_18 (y, z))+ A_17_19 (A_5_3 (A_4_3 (S, x), y), z) -> A_19_19 (A_3_19 (x, z), A_3_19 (y, z))+ A_17_23 (A_5_3 (A_4_3 (S, x), y), z) -> A_26_26 (A_3_23 (x, z), A_3_23 (y, z))+ A_17_25 (A_5_3 (A_4_3 (S, x), y), z) -> A_25_25 (A_3_25 (x, z), A_3_25 (y, z))+ A_17_26 (A_5_3 (A_4_3 (S, x), y), z) -> A_26_26 (A_3_26 (x, z), A_3_26 (y, z))+ A_17_28 (A_5_3 (A_4_3 (S, x), y), z) -> A_28_28 (A_3_28 (x, z), A_3_28 (y, z))+ A_18_0 (A_3_18 (A_4_4 (S, x), y), z) -> A_6_37 (A_4_0 (x, z), A_18_0 (y, z))+ A_18_1 (A_3_18 (A_4_4 (S, x), y), z) -> A_7_37 (A_4_1 (x, z), A_18_1 (y, z))+ A_18_2 (A_3_18 (A_4_4 (S, x), y), z) -> A_7_37 (A_4_2 (x, z), A_18_2 (y, z))+ A_18_3 (A_3_18 (A_4_4 (S, x), y), z) -> A_5_37 (A_4_3 (x, z), A_18_3 (y, z))+ A_18_5 (A_3_18 (A_4_4 (S, x), y), z) -> A_11_37 (A_4_5 (x, z), A_18_5 (y, z))+ A_18_6 (A_3_18 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_6 (x, z), A_18_6 (y, z))+ A_18_7 (A_3_18 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_7 (x, z), A_18_7 (y, z))+ A_18_8 (A_3_18 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_8 (x, z), A_18_8 (y, z))+ A_18_9 (A_3_18 (A_4_4 (S, x), y), z) -> A_13_37 (A_4_9 (x, z), A_18_9 (y, z))+ A_18_10 (A_3_18 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_10 (x, z), A_18_10 (y, z))+ A_18_11 (A_3_18 (A_4_4 (S, x), y), z) -> A_15_37 (A_4_11 (x, z), A_18_11 (y, z))+ A_18_12 (A_3_18 (A_4_4 (S, x), y), z) -> A_15_37 (A_4_12 (x, z), A_18_12 (y, z))+ A_18_13 (A_3_18 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_13 (x, z), A_18_13 (y, z))+ A_18_14 (A_3_18 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_14 (x, z), A_18_14 (y, z))+ A_18_15 (A_3_18 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_15 (x, z), A_18_15 (y, z))+ A_18_16 (A_3_18 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_16 (x, z), A_18_16 (y, z))+ A_18_17 (A_3_18 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_17 (x, z), A_18_17 (y, z))+ A_18_18 (A_3_18 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_18 (x, z), A_18_18 (y, z))+ A_18_19 (A_3_18 (A_4_4 (S, x), y), z) -> A_23_37 (A_4_19 (x, z), A_18_19 (y, z))+ A_18_20 (A_3_18 (A_4_4 (S, x), y), z) -> A_26_37 (A_4_20 (x, z), A_18_20 (y, z))+ A_18_21 (A_3_18 (A_4_4 (S, x), y), z) -> A_26_37 (A_4_21 (x, z), A_18_21 (y, z))+ A_18_22 (A_3_18 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_22 (x, z), A_18_22 (y, z))+ A_18_23 (A_3_18 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_23 (x, z), A_18_23 (y, z))+ A_18_24 (A_3_18 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_24 (x, z), A_18_24 (y, z))+ A_18_25 (A_3_18 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_25 (x, z), A_18_25 (y, z))+ A_18_26 (A_3_18 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_26 (x, z), A_18_26 (y, z))+ A_18_27 (A_3_18 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_27 (x, z), A_18_27 (y, z))+ A_18_28 (A_3_18 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_28 (x, z), A_18_28 (y, z))+ A_18_29 (A_3_18 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_29 (x, z), A_18_29 (y, z))+ A_18_30 (A_3_18 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_30 (x, z), A_18_30 (y, z))+ A_18_31 (A_3_18 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_31 (x, z), A_18_31 (y, z))+ A_18_32 (A_3_18 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_32 (x, z), A_18_32 (y, z))+ A_18_33 (A_3_18 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_33 (x, z), A_18_33 (y, z))+ A_18_34 (A_3_18 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_34 (x, z), A_18_34 (y, z))+ A_18_35 (A_3_18 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_35 (x, z), A_18_35 (y, z))+ A_18_36 (A_3_18 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_36 (x, z), A_18_36 (y, z))+ A_18_37 (A_3_18 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_37 (x, z), A_18_37 (y, z))+ A_19_0 (A_3_19 (A_4_4 (S, x), y), z) -> A_6_37 (A_4_0 (x, z), A_19_0 (y, z))+ A_19_0 (A_5_4 (A_4_3 (S, x), y), z) -> A_2_6 (A_3_0 (x, z), A_4_0 (y, z))+ A_19_1 (A_3_19 (A_4_4 (S, x), y), z) -> A_7_37 (A_4_1 (x, z), A_19_1 (y, z))+ A_19_1 (A_5_4 (A_4_3 (S, x), y), z) -> A_2_7 (A_3_1 (x, z), A_4_1 (y, z))+ A_19_2 (A_3_19 (A_4_4 (S, x), y), z) -> A_7_37 (A_4_2 (x, z), A_19_2 (y, z))+ A_19_2 (A_5_4 (A_4_3 (S, x), y), z) -> A_2_7 (A_3_2 (x, z), A_4_2 (y, z))+ A_19_5 (A_3_19 (A_4_4 (S, x), y), z) -> A_11_37 (A_4_5 (x, z), A_19_5 (y, z))+ A_19_5 (A_5_4 (A_4_3 (S, x), y), z) -> A_9_11 (A_3_5 (x, z), A_4_5 (y, z))+ A_19_6 (A_3_19 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_6 (x, z), A_19_6 (y, z))+ A_19_6 (A_5_4 (A_4_3 (S, x), y), z) -> A_8_18 (A_3_6 (x, z), A_4_6 (y, z))+ A_19_7 (A_3_19 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_7 (x, z), A_19_7 (y, z))+ A_19_7 (A_5_4 (A_4_3 (S, x), y), z) -> A_10_18 (A_3_7 (x, z), A_4_7 (y, z))+ A_19_8 (A_3_19 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_8 (x, z), A_19_8 (y, z))+ A_19_8 (A_5_4 (A_4_3 (S, x), y), z) -> A_8_18 (A_3_8 (x, z), A_4_8 (y, z))+ A_19_9 (A_3_19 (A_4_4 (S, x), y), z) -> A_13_37 (A_4_9 (x, z), A_19_9 (y, z))+ A_19_9 (A_5_4 (A_4_3 (S, x), y), z) -> A_9_13 (A_3_9 (x, z), A_4_9 (y, z))+ A_19_10 (A_3_19 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_10 (x, z), A_19_10 (y, z))+ A_19_10 (A_5_4 (A_4_3 (S, x), y), z) -> A_10_18 (A_3_10 (x, z), A_4_10 (y, z))+ A_19_11 (A_3_19 (A_4_4 (S, x), y), z) -> A_15_37 (A_4_11 (x, z), A_19_11 (y, z))+ A_19_11 (A_5_4 (A_4_3 (S, x), y), z) -> A_12_15 (A_3_11 (x, z), A_4_11 (y, z))+ A_19_12 (A_3_19 (A_4_4 (S, x), y), z) -> A_15_37 (A_4_12 (x, z), A_19_12 (y, z))+ A_19_12 (A_5_4 (A_4_3 (S, x), y), z) -> A_12_15 (A_3_12 (x, z), A_4_12 (y, z))+ A_19_13 (A_3_19 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_13 (x, z), A_19_13 (y, z))+ A_19_13 (A_5_4 (A_4_3 (S, x), y), z) -> A_14_18 (A_3_13 (x, z), A_4_13 (y, z))+ A_19_14 (A_3_19 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_14 (x, z), A_19_14 (y, z))+ A_19_14 (A_5_4 (A_4_3 (S, x), y), z) -> A_14_18 (A_3_14 (x, z), A_4_14 (y, z))+ A_19_15 (A_3_19 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_15 (x, z), A_19_15 (y, z))+ A_19_15 (A_5_4 (A_4_3 (S, x), y), z) -> A_16_18 (A_3_15 (x, z), A_4_15 (y, z))+ A_19_16 (A_3_19 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_16 (x, z), A_19_16 (y, z))+ A_19_16 (A_5_4 (A_4_3 (S, x), y), z) -> A_16_18 (A_3_16 (x, z), A_4_16 (y, z))+ A_19_17 (A_3_19 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_17 (x, z), A_19_17 (y, z))+ A_19_17 (A_5_4 (A_4_3 (S, x), y), z) -> A_24_28 (A_3_17 (x, z), A_4_17 (y, z))+ A_19_18 (A_3_19 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_18 (x, z), A_19_18 (y, z))+ A_19_18 (A_5_4 (A_4_3 (S, x), y), z) -> A_18_28 (A_3_18 (x, z), A_4_18 (y, z))+ A_19_19 (A_3_19 (A_4_4 (S, x), y), z) -> A_23_37 (A_4_19 (x, z), A_19_19 (y, z))+ A_19_19 (A_5_4 (A_4_3 (S, x), y), z) -> A_19_23 (A_3_19 (x, z), A_4_19 (y, z))+ A_19_22 (A_3_19 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_22 (x, z), A_19_22 (y, z))+ A_19_22 (A_5_4 (A_4_3 (S, x), y), z) -> A_22_28 (A_3_22 (x, z), A_4_22 (y, z))+ A_19_23 (A_3_19 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_23 (x, z), A_19_23 (y, z))+ A_19_23 (A_5_4 (A_4_3 (S, x), y), z) -> A_26_28 (A_3_23 (x, z), A_4_23 (y, z))+ A_19_24 (A_3_19 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_24 (x, z), A_19_24 (y, z))+ A_19_24 (A_5_4 (A_4_3 (S, x), y), z) -> A_24_28 (A_3_24 (x, z), A_4_24 (y, z))+ A_19_25 (A_3_19 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_25 (x, z), A_19_25 (y, z))+ A_19_25 (A_5_4 (A_4_3 (S, x), y), z) -> A_25_28 (A_3_25 (x, z), A_4_25 (y, z))+ A_19_26 (A_3_19 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_26 (x, z), A_19_26 (y, z))+ A_19_26 (A_5_4 (A_4_3 (S, x), y), z) -> A_26_28 (A_3_26 (x, z), A_4_26 (y, z))+ A_19_27 (A_3_19 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_27 (x, z), A_19_27 (y, z))+ A_19_27 (A_5_4 (A_4_3 (S, x), y), z) -> A_27_28 (A_3_27 (x, z), A_4_27 (y, z))+ A_19_28 (A_3_19 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_28 (x, z), A_19_28 (y, z))+ A_19_28 (A_5_4 (A_4_3 (S, x), y), z) -> A_28_28 (A_3_28 (x, z), A_4_28 (y, z))+ A_19_32 (A_3_19 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_32 (x, z), A_19_32 (y, z))+ A_19_32 (A_5_4 (A_4_3 (S, x), y), z) -> A_32_28 (A_3_32 (x, z), A_4_32 (y, z))+ A_19_33 (A_3_19 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_33 (x, z), A_19_33 (y, z))+ A_19_33 (A_5_4 (A_4_3 (S, x), y), z) -> A_33_28 (A_3_33 (x, z), A_4_33 (y, z))+ A_20_3 (A_3_20 (A_4_4 (S, x), y), z) -> A_5_37 (A_4_3 (x, z), A_20_3 (y, z))+ A_20_3 (A_6_4 (A_4_0 (S, x), y), z) -> A_27_5 (A_0_3 (x, z), A_4_3 (y, z))+ A_21_3 (A_3_21 (A_4_4 (S, x), y), z) -> A_5_37 (A_4_3 (x, z), A_21_3 (y, z))+ A_21_3 (A_7_4 (A_4_1 (S, x), y), z) -> A_32_5 (A_1_3 (x, z), A_4_3 (y, z))+ A_21_3 (A_7_4 (A_4_2 (S, x), y), z) -> A_33_5 (A_2_3 (x, z), A_4_3 (y, z))+ A_22_0 (A_3_22 (A_4_4 (S, x), y), z) -> A_6_37 (A_4_0 (x, z), A_22_0 (y, z))+ A_22_0 (A_11_3 (A_4_5 (S, x), y), z) -> A_32_2 (A_5_0 (x, z), A_3_0 (y, z))+ A_22_1 (A_3_22 (A_4_4 (S, x), y), z) -> A_7_37 (A_4_1 (x, z), A_22_1 (y, z))+ A_22_1 (A_11_3 (A_4_5 (S, x), y), z) -> A_32_2 (A_5_1 (x, z), A_3_1 (y, z))+ A_22_2 (A_3_22 (A_4_4 (S, x), y), z) -> A_7_37 (A_4_2 (x, z), A_22_2 (y, z))+ A_22_2 (A_11_3 (A_4_5 (S, x), y), z) -> A_32_2 (A_5_2 (x, z), A_3_2 (y, z))+ A_22_4 (A_3_22 (A_4_4 (S, x), y), z) -> A_3_37 (A_4_4 (x, z), A_22_4 (y, z))+ A_22_4 (A_11_3 (A_4_5 (S, x), y), z) -> A_19_0 (A_5_4 (x, z), A_3_4 (y, z))+ A_22_5 (A_3_22 (A_4_4 (S, x), y), z) -> A_11_37 (A_4_5 (x, z), A_22_5 (y, z))+ A_22_5 (A_11_3 (A_4_5 (S, x), y), z) -> A_27_9 (A_5_5 (x, z), A_3_5 (y, z))+ A_22_6 (A_3_22 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_6 (x, z), A_22_6 (y, z))+ A_22_6 (A_11_3 (A_4_5 (S, x), y), z) -> A_33_8 (A_5_6 (x, z), A_3_6 (y, z))+ A_22_7 (A_3_22 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_7 (x, z), A_22_7 (y, z))+ A_22_7 (A_11_3 (A_4_5 (S, x), y), z) -> A_33_10 (A_5_7 (x, z), A_3_7 (y, z))+ A_22_8 (A_3_22 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_8 (x, z), A_22_8 (y, z))+ A_22_8 (A_11_3 (A_4_5 (S, x), y), z) -> A_33_8 (A_5_8 (x, z), A_3_8 (y, z))+ A_22_9 (A_3_22 (A_4_4 (S, x), y), z) -> A_13_37 (A_4_9 (x, z), A_22_9 (y, z))+ A_22_9 (A_11_3 (A_4_5 (S, x), y), z) -> A_33_9 (A_5_9 (x, z), A_3_9 (y, z))+ A_22_10 (A_3_22 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_10 (x, z), A_22_10 (y, z))+ A_22_10 (A_11_3 (A_4_5 (S, x), y), z) -> A_33_10 (A_5_10 (x, z), A_3_10 (y, z))+ A_22_11 (A_3_22 (A_4_4 (S, x), y), z) -> A_15_37 (A_4_11 (x, z), A_22_11 (y, z))+ A_22_11 (A_11_3 (A_4_5 (S, x), y), z) -> A_33_12 (A_5_11 (x, z), A_3_11 (y, z))+ A_22_12 (A_3_22 (A_4_4 (S, x), y), z) -> A_15_37 (A_4_12 (x, z), A_22_12 (y, z))+ A_22_12 (A_11_3 (A_4_5 (S, x), y), z) -> A_33_12 (A_5_12 (x, z), A_3_12 (y, z))+ A_22_13 (A_3_22 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_13 (x, z), A_22_13 (y, z))+ A_22_13 (A_11_3 (A_4_5 (S, x), y), z) -> A_33_14 (A_5_13 (x, z), A_3_13 (y, z))+ A_22_14 (A_3_22 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_14 (x, z), A_22_14 (y, z))+ A_22_14 (A_11_3 (A_4_5 (S, x), y), z) -> A_33_14 (A_5_14 (x, z), A_3_14 (y, z))+ A_22_15 (A_3_22 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_15 (x, z), A_22_15 (y, z))+ A_22_15 (A_11_3 (A_4_5 (S, x), y), z) -> A_33_16 (A_5_15 (x, z), A_3_15 (y, z))+ A_22_16 (A_3_22 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_16 (x, z), A_22_16 (y, z))+ A_22_16 (A_11_3 (A_4_5 (S, x), y), z) -> A_33_16 (A_5_16 (x, z), A_3_16 (y, z))+ A_22_18 (A_3_22 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_18 (x, z), A_22_18 (y, z))+ A_22_18 (A_11_3 (A_4_5 (S, x), y), z) -> A_33_18 (A_5_18 (x, z), A_3_18 (y, z))+ A_22_23 (A_3_22 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_23 (x, z), A_22_23 (y, z))+ A_22_23 (A_11_3 (A_4_5 (S, x), y), z) -> A_33_26 (A_5_23 (x, z), A_3_23 (y, z))+ A_22_26 (A_3_22 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_26 (x, z), A_22_26 (y, z))+ A_22_26 (A_11_3 (A_4_5 (S, x), y), z) -> A_33_26 (A_5_26 (x, z), A_3_26 (y, z))+ A_22_28 (A_3_22 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_28 (x, z), A_22_28 (y, z))+ A_22_28 (A_11_3 (A_4_5 (S, x), y), z) -> A_33_28 (A_5_28 (x, z), A_3_28 (y, z))+ A_24_5 (A_3_17 (A_4_4 (S, x), y), z) -> A_11_37 (A_4_5 (x, z), A_17_5 (y, z))+ A_24_5 (A_3_24 (A_4_4 (S, x), y), z) -> A_11_37 (A_4_5 (x, z), A_24_5 (y, z))+ A_24_6 (A_3_17 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_6 (x, z), A_17_6 (y, z))+ A_24_6 (A_3_24 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_6 (x, z), A_24_6 (y, z))+ A_24_7 (A_3_17 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_7 (x, z), A_17_7 (y, z))+ A_24_7 (A_3_24 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_7 (x, z), A_24_7 (y, z))+ A_24_8 (A_3_17 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_8 (x, z), A_17_8 (y, z))+ A_24_8 (A_3_24 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_8 (x, z), A_24_8 (y, z))+ A_24_9 (A_3_17 (A_4_4 (S, x), y), z) -> A_13_37 (A_4_9 (x, z), A_17_9 (y, z))+ A_24_9 (A_3_24 (A_4_4 (S, x), y), z) -> A_13_37 (A_4_9 (x, z), A_24_9 (y, z))+ A_24_10 (A_3_17 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_10 (x, z), A_17_10 (y, z))+ A_24_10 (A_3_24 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_10 (x, z), A_24_10 (y, z))+ A_24_11 (A_3_17 (A_4_4 (S, x), y), z) -> A_15_37 (A_4_11 (x, z), A_17_11 (y, z))+ A_24_11 (A_3_24 (A_4_4 (S, x), y), z) -> A_15_37 (A_4_11 (x, z), A_24_11 (y, z))+ A_24_12 (A_3_17 (A_4_4 (S, x), y), z) -> A_15_37 (A_4_12 (x, z), A_17_12 (y, z))+ A_24_12 (A_3_24 (A_4_4 (S, x), y), z) -> A_15_37 (A_4_12 (x, z), A_24_12 (y, z))+ A_24_13 (A_3_17 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_13 (x, z), A_17_13 (y, z))+ A_24_13 (A_3_24 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_13 (x, z), A_24_13 (y, z))+ A_24_14 (A_3_17 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_14 (x, z), A_17_14 (y, z))+ A_24_14 (A_3_24 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_14 (x, z), A_24_14 (y, z))+ A_24_15 (A_3_17 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_15 (x, z), A_17_15 (y, z))+ A_24_15 (A_3_24 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_15 (x, z), A_24_15 (y, z))+ A_24_16 (A_3_17 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_16 (x, z), A_17_16 (y, z))+ A_24_16 (A_3_24 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_16 (x, z), A_24_16 (y, z))+ A_24_18 (A_3_17 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_18 (x, z), A_17_18 (y, z))+ A_24_18 (A_3_24 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_18 (x, z), A_24_18 (y, z))+ A_24_19 (A_3_17 (A_4_4 (S, x), y), z) -> A_23_37 (A_4_19 (x, z), A_17_19 (y, z))+ A_24_19 (A_3_24 (A_4_4 (S, x), y), z) -> A_23_37 (A_4_19 (x, z), A_24_19 (y, z))+ A_24_23 (A_3_17 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_23 (x, z), A_17_23 (y, z))+ A_24_23 (A_3_24 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_23 (x, z), A_24_23 (y, z))+ A_24_25 (A_3_17 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_25 (x, z), A_17_25 (y, z))+ A_24_25 (A_3_24 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_25 (x, z), A_24_25 (y, z))+ A_24_26 (A_3_17 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_26 (x, z), A_17_26 (y, z))+ A_24_26 (A_3_24 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_26 (x, z), A_24_26 (y, z))+ A_24_28 (A_3_17 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_28 (x, z), A_17_28 (y, z))+ A_24_28 (A_3_24 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_28 (x, z), A_24_28 (y, z))+ A_25_0 (A_3_25 (A_4_4 (S, x), y), z) -> A_6_37 (A_4_0 (x, z), A_25_0 (y, z))+ A_25_0 (A_11_4 (A_4_5 (S, x), y), z) -> A_32_6 (A_5_0 (x, z), A_4_0 (y, z))+ A_25_1 (A_3_25 (A_4_4 (S, x), y), z) -> A_7_37 (A_4_1 (x, z), A_25_1 (y, z))+ A_25_1 (A_11_4 (A_4_5 (S, x), y), z) -> A_32_7 (A_5_1 (x, z), A_4_1 (y, z))+ A_25_2 (A_3_25 (A_4_4 (S, x), y), z) -> A_7_37 (A_4_2 (x, z), A_25_2 (y, z))+ A_25_2 (A_11_4 (A_4_5 (S, x), y), z) -> A_32_7 (A_5_2 (x, z), A_4_2 (y, z))+ A_25_3 (A_3_25 (A_4_4 (S, x), y), z) -> A_5_37 (A_4_3 (x, z), A_25_3 (y, z))+ A_25_3 (A_11_4 (A_4_5 (S, x), y), z) -> A_17_5 (A_5_3 (x, z), A_4_3 (y, z))+ A_25_5 (A_3_25 (A_4_4 (S, x), y), z) -> A_11_37 (A_4_5 (x, z), A_25_5 (y, z))+ A_25_5 (A_11_4 (A_4_5 (S, x), y), z) -> A_27_11 (A_5_5 (x, z), A_4_5 (y, z))+ A_25_6 (A_3_25 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_6 (x, z), A_25_6 (y, z))+ A_25_6 (A_11_4 (A_4_5 (S, x), y), z) -> A_33_18 (A_5_6 (x, z), A_4_6 (y, z))+ A_25_7 (A_3_25 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_7 (x, z), A_25_7 (y, z))+ A_25_7 (A_11_4 (A_4_5 (S, x), y), z) -> A_33_18 (A_5_7 (x, z), A_4_7 (y, z))+ A_25_8 (A_3_25 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_8 (x, z), A_25_8 (y, z))+ A_25_8 (A_11_4 (A_4_5 (S, x), y), z) -> A_33_18 (A_5_8 (x, z), A_4_8 (y, z))+ A_25_9 (A_3_25 (A_4_4 (S, x), y), z) -> A_13_37 (A_4_9 (x, z), A_25_9 (y, z))+ A_25_9 (A_11_4 (A_4_5 (S, x), y), z) -> A_33_13 (A_5_9 (x, z), A_4_9 (y, z))+ A_25_10 (A_3_25 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_10 (x, z), A_25_10 (y, z))+ A_25_10 (A_11_4 (A_4_5 (S, x), y), z) -> A_33_18 (A_5_10 (x, z), A_4_10 (y, z))+ A_25_11 (A_3_25 (A_4_4 (S, x), y), z) -> A_15_37 (A_4_11 (x, z), A_25_11 (y, z))+ A_25_11 (A_11_4 (A_4_5 (S, x), y), z) -> A_33_15 (A_5_11 (x, z), A_4_11 (y, z))+ A_25_12 (A_3_25 (A_4_4 (S, x), y), z) -> A_15_37 (A_4_12 (x, z), A_25_12 (y, z))+ A_25_12 (A_11_4 (A_4_5 (S, x), y), z) -> A_33_15 (A_5_12 (x, z), A_4_12 (y, z))+ A_25_13 (A_3_25 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_13 (x, z), A_25_13 (y, z))+ A_25_13 (A_11_4 (A_4_5 (S, x), y), z) -> A_33_18 (A_5_13 (x, z), A_4_13 (y, z))+ A_25_14 (A_3_25 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_14 (x, z), A_25_14 (y, z))+ A_25_14 (A_11_4 (A_4_5 (S, x), y), z) -> A_33_18 (A_5_14 (x, z), A_4_14 (y, z))+ A_25_15 (A_3_25 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_15 (x, z), A_25_15 (y, z))+ A_25_15 (A_11_4 (A_4_5 (S, x), y), z) -> A_33_18 (A_5_15 (x, z), A_4_15 (y, z))+ A_25_16 (A_3_25 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_16 (x, z), A_25_16 (y, z))+ A_25_16 (A_11_4 (A_4_5 (S, x), y), z) -> A_33_18 (A_5_16 (x, z), A_4_16 (y, z))+ A_25_17 (A_3_25 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_17 (x, z), A_25_17 (y, z))+ A_25_17 (A_11_4 (A_4_5 (S, x), y), z) -> A_33_28 (A_5_17 (x, z), A_4_17 (y, z))+ A_25_18 (A_3_25 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_18 (x, z), A_25_18 (y, z))+ A_25_18 (A_11_4 (A_4_5 (S, x), y), z) -> A_33_28 (A_5_18 (x, z), A_4_18 (y, z))+ A_25_19 (A_3_25 (A_4_4 (S, x), y), z) -> A_23_37 (A_4_19 (x, z), A_25_19 (y, z))+ A_25_19 (A_11_4 (A_4_5 (S, x), y), z) -> A_33_23 (A_5_19 (x, z), A_4_19 (y, z))+ A_25_22 (A_3_25 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_22 (x, z), A_25_22 (y, z))+ A_25_22 (A_11_4 (A_4_5 (S, x), y), z) -> A_33_28 (A_5_22 (x, z), A_4_22 (y, z))+ A_25_23 (A_3_25 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_23 (x, z), A_25_23 (y, z))+ A_25_23 (A_11_4 (A_4_5 (S, x), y), z) -> A_33_28 (A_5_23 (x, z), A_4_23 (y, z))+ A_25_24 (A_3_25 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_24 (x, z), A_25_24 (y, z))+ A_25_24 (A_11_4 (A_4_5 (S, x), y), z) -> A_33_28 (A_5_24 (x, z), A_4_24 (y, z))+ A_25_25 (A_3_25 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_25 (x, z), A_25_25 (y, z))+ A_25_25 (A_11_4 (A_4_5 (S, x), y), z) -> A_33_28 (A_5_25 (x, z), A_4_25 (y, z))+ A_25_26 (A_3_25 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_26 (x, z), A_25_26 (y, z))+ A_25_26 (A_11_4 (A_4_5 (S, x), y), z) -> A_33_28 (A_5_26 (x, z), A_4_26 (y, z))+ A_25_27 (A_3_25 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_27 (x, z), A_25_27 (y, z))+ A_25_27 (A_11_4 (A_4_5 (S, x), y), z) -> A_33_28 (A_5_27 (x, z), A_4_27 (y, z))+ A_25_28 (A_3_25 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_28 (x, z), A_25_28 (y, z))+ A_25_28 (A_11_4 (A_4_5 (S, x), y), z) -> A_33_28 (A_5_28 (x, z), A_4_28 (y, z))+ A_25_32 (A_3_25 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_32 (x, z), A_25_32 (y, z))+ A_25_32 (A_11_4 (A_4_5 (S, x), y), z) -> A_33_28 (A_5_32 (x, z), A_4_32 (y, z))+ A_25_33 (A_3_25 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_33 (x, z), A_25_33 (y, z))+ A_25_33 (A_11_4 (A_4_5 (S, x), y), z) -> A_33_28 (A_5_33 (x, z), A_4_33 (y, z))+ A_26_5 (A_3_23 (A_4_4 (S, x), y), z) -> A_11_36 (A_4_5 (x, z), A_23_5 (y, z))+ A_26_5 (A_3_26 (A_4_4 (S, x), y), z) -> A_11_37 (A_4_5 (x, z), A_26_5 (y, z))+ A_26_6 (A_3_23 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_6 (x, z), A_23_6 (y, z))+ A_26_6 (A_3_26 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_6 (x, z), A_26_6 (y, z))+ A_26_7 (A_3_23 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_7 (x, z), A_23_7 (y, z))+ A_26_7 (A_3_26 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_7 (x, z), A_26_7 (y, z))+ A_26_8 (A_3_23 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_8 (x, z), A_23_8 (y, z))+ A_26_8 (A_3_26 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_8 (x, z), A_26_8 (y, z))+ A_26_9 (A_3_23 (A_4_4 (S, x), y), z) -> A_13_36 (A_4_9 (x, z), A_23_9 (y, z))+ A_26_9 (A_3_26 (A_4_4 (S, x), y), z) -> A_13_37 (A_4_9 (x, z), A_26_9 (y, z))+ A_26_10 (A_3_23 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_10 (x, z), A_23_10 (y, z))+ A_26_10 (A_3_26 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_10 (x, z), A_26_10 (y, z))+ A_26_11 (A_3_23 (A_4_4 (S, x), y), z) -> A_15_36 (A_4_11 (x, z), A_23_11 (y, z))+ A_26_11 (A_3_26 (A_4_4 (S, x), y), z) -> A_15_37 (A_4_11 (x, z), A_26_11 (y, z))+ A_26_12 (A_3_23 (A_4_4 (S, x), y), z) -> A_15_36 (A_4_12 (x, z), A_23_12 (y, z))+ A_26_12 (A_3_26 (A_4_4 (S, x), y), z) -> A_15_37 (A_4_12 (x, z), A_26_12 (y, z))+ A_26_13 (A_3_23 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_13 (x, z), A_23_13 (y, z))+ A_26_13 (A_3_26 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_13 (x, z), A_26_13 (y, z))+ A_26_14 (A_3_23 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_14 (x, z), A_23_14 (y, z))+ A_26_14 (A_3_26 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_14 (x, z), A_26_14 (y, z))+ A_26_15 (A_3_23 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_15 (x, z), A_23_15 (y, z))+ A_26_15 (A_3_26 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_15 (x, z), A_26_15 (y, z))+ A_26_16 (A_3_23 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_16 (x, z), A_23_16 (y, z))+ A_26_16 (A_3_26 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_16 (x, z), A_26_16 (y, z))+ A_26_17 (A_3_23 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_17 (x, z), A_23_17 (y, z))+ A_26_17 (A_3_26 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_17 (x, z), A_26_17 (y, z))+ A_26_18 (A_3_23 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_18 (x, z), A_23_18 (y, z))+ A_26_18 (A_3_26 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_18 (x, z), A_26_18 (y, z))+ A_26_19 (A_3_23 (A_4_4 (S, x), y), z) -> A_23_37 (A_4_19 (x, z), A_23_19 (y, z))+ A_26_19 (A_3_26 (A_4_4 (S, x), y), z) -> A_23_37 (A_4_19 (x, z), A_26_19 (y, z))+ A_26_20 (A_3_23 (A_4_4 (S, x), y), z) -> A_26_37 (A_4_20 (x, z), A_23_20 (y, z))+ A_26_20 (A_3_26 (A_4_4 (S, x), y), z) -> A_26_37 (A_4_20 (x, z), A_26_20 (y, z))+ A_26_21 (A_3_23 (A_4_4 (S, x), y), z) -> A_26_37 (A_4_21 (x, z), A_23_21 (y, z))+ A_26_21 (A_3_26 (A_4_4 (S, x), y), z) -> A_26_37 (A_4_21 (x, z), A_26_21 (y, z))+ A_26_22 (A_3_23 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_22 (x, z), A_23_22 (y, z))+ A_26_22 (A_3_26 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_22 (x, z), A_26_22 (y, z))+ A_26_23 (A_3_23 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_23 (x, z), A_23_23 (y, z))+ A_26_23 (A_3_26 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_23 (x, z), A_26_23 (y, z))+ A_26_24 (A_3_23 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_24 (x, z), A_23_24 (y, z))+ A_26_24 (A_3_26 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_24 (x, z), A_26_24 (y, z))+ A_26_25 (A_3_23 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_25 (x, z), A_23_25 (y, z))+ A_26_25 (A_3_26 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_25 (x, z), A_26_25 (y, z))+ A_26_26 (A_3_23 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_26 (x, z), A_23_26 (y, z))+ A_26_26 (A_3_26 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_26 (x, z), A_26_26 (y, z))+ A_26_27 (A_3_23 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_27 (x, z), A_23_27 (y, z))+ A_26_27 (A_3_26 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_27 (x, z), A_26_27 (y, z))+ A_26_28 (A_3_23 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_28 (x, z), A_23_28 (y, z))+ A_26_28 (A_3_26 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_28 (x, z), A_26_28 (y, z))+ A_26_29 (A_3_23 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_29 (x, z), A_23_29 (y, z))+ A_26_29 (A_3_26 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_29 (x, z), A_26_29 (y, z))+ A_26_30 (A_3_23 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_30 (x, z), A_23_30 (y, z))+ A_26_30 (A_3_26 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_30 (x, z), A_26_30 (y, z))+ A_26_31 (A_3_23 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_31 (x, z), A_23_31 (y, z))+ A_26_31 (A_3_26 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_31 (x, z), A_26_31 (y, z))+ A_26_32 (A_3_23 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_32 (x, z), A_23_32 (y, z))+ A_26_32 (A_3_26 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_32 (x, z), A_26_32 (y, z))+ A_26_33 (A_3_23 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_33 (x, z), A_23_33 (y, z))+ A_26_33 (A_3_26 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_33 (x, z), A_26_33 (y, z))+ A_26_34 (A_3_23 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_34 (x, z), A_23_34 (y, z))+ A_26_34 (A_3_26 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_34 (x, z), A_26_34 (y, z))+ A_26_35 (A_3_23 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_35 (x, z), A_23_35 (y, z))+ A_26_35 (A_3_26 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_35 (x, z), A_26_35 (y, z))+ A_26_36 (A_3_23 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_36 (x, z), A_23_36 (y, z))+ A_26_36 (A_3_26 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_36 (x, z), A_26_36 (y, z))+ A_26_37 (A_3_23 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_37 (x, z), A_23_37 (y, z))+ A_26_37 (A_3_26 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_37 (x, z), A_26_37 (y, z))+ A_27_0 (A_3_27 (A_4_4 (S, x), y), z) -> A_6_37 (A_4_0 (x, z), A_27_0 (y, z))+ A_27_0 (A_5_5 (A_4_3 (S, x), y), z) -> A_2_32 (A_3_0 (x, z), A_5_0 (y, z))+ A_27_1 (A_3_27 (A_4_4 (S, x), y), z) -> A_7_37 (A_4_1 (x, z), A_27_1 (y, z))+ A_27_1 (A_5_5 (A_4_3 (S, x), y), z) -> A_2_32 (A_3_1 (x, z), A_5_1 (y, z))+ A_27_2 (A_3_27 (A_4_4 (S, x), y), z) -> A_7_37 (A_4_2 (x, z), A_27_2 (y, z))+ A_27_2 (A_5_5 (A_4_3 (S, x), y), z) -> A_2_32 (A_3_2 (x, z), A_5_2 (y, z))+ A_27_3 (A_3_27 (A_4_4 (S, x), y), z) -> A_5_37 (A_4_3 (x, z), A_27_3 (y, z))+ A_27_3 (A_5_5 (A_4_3 (S, x), y), z) -> A_1_17 (A_3_3 (x, z), A_5_3 (y, z))+ A_27_4 (A_3_27 (A_4_4 (S, x), y), z) -> A_3_37 (A_4_4 (x, z), A_27_4 (y, z))+ A_27_4 (A_5_5 (A_4_3 (S, x), y), z) -> A_0_19 (A_3_4 (x, z), A_5_4 (y, z))+ A_27_5 (A_3_27 (A_4_4 (S, x), y), z) -> A_11_37 (A_4_5 (x, z), A_27_5 (y, z))+ A_27_5 (A_5_5 (A_4_3 (S, x), y), z) -> A_9_27 (A_3_5 (x, z), A_5_5 (y, z))+ A_27_6 (A_3_27 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_6 (x, z), A_27_6 (y, z))+ A_27_6 (A_5_5 (A_4_3 (S, x), y), z) -> A_8_33 (A_3_6 (x, z), A_5_6 (y, z))+ A_27_7 (A_3_27 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_7 (x, z), A_27_7 (y, z))+ A_27_7 (A_5_5 (A_4_3 (S, x), y), z) -> A_10_33 (A_3_7 (x, z), A_5_7 (y, z))+ A_27_8 (A_3_27 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_8 (x, z), A_27_8 (y, z))+ A_27_8 (A_5_5 (A_4_3 (S, x), y), z) -> A_8_33 (A_3_8 (x, z), A_5_8 (y, z))+ A_27_9 (A_3_27 (A_4_4 (S, x), y), z) -> A_13_37 (A_4_9 (x, z), A_27_9 (y, z))+ A_27_9 (A_5_5 (A_4_3 (S, x), y), z) -> A_9_33 (A_3_9 (x, z), A_5_9 (y, z))+ A_27_10 (A_3_27 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_10 (x, z), A_27_10 (y, z))+ A_27_10 (A_5_5 (A_4_3 (S, x), y), z) -> A_10_33 (A_3_10 (x, z), A_5_10 (y, z))+ A_27_11 (A_3_27 (A_4_4 (S, x), y), z) -> A_15_37 (A_4_11 (x, z), A_27_11 (y, z))+ A_27_11 (A_5_5 (A_4_3 (S, x), y), z) -> A_12_33 (A_3_11 (x, z), A_5_11 (y, z))+ A_27_12 (A_3_27 (A_4_4 (S, x), y), z) -> A_15_37 (A_4_12 (x, z), A_27_12 (y, z))+ A_27_12 (A_5_5 (A_4_3 (S, x), y), z) -> A_12_33 (A_3_12 (x, z), A_5_12 (y, z))+ A_27_13 (A_3_27 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_13 (x, z), A_27_13 (y, z))+ A_27_13 (A_5_5 (A_4_3 (S, x), y), z) -> A_14_33 (A_3_13 (x, z), A_5_13 (y, z))+ A_27_14 (A_3_27 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_14 (x, z), A_27_14 (y, z))+ A_27_14 (A_5_5 (A_4_3 (S, x), y), z) -> A_14_33 (A_3_14 (x, z), A_5_14 (y, z))+ A_27_15 (A_3_27 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_15 (x, z), A_27_15 (y, z))+ A_27_15 (A_5_5 (A_4_3 (S, x), y), z) -> A_16_33 (A_3_15 (x, z), A_5_15 (y, z))+ A_27_16 (A_3_27 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_16 (x, z), A_27_16 (y, z))+ A_27_16 (A_5_5 (A_4_3 (S, x), y), z) -> A_16_33 (A_3_16 (x, z), A_5_16 (y, z))+ A_27_18 (A_3_27 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_18 (x, z), A_27_18 (y, z))+ A_27_18 (A_5_5 (A_4_3 (S, x), y), z) -> A_18_33 (A_3_18 (x, z), A_5_18 (y, z))+ A_27_19 (A_3_27 (A_4_4 (S, x), y), z) -> A_23_37 (A_4_19 (x, z), A_27_19 (y, z))+ A_27_19 (A_5_5 (A_4_3 (S, x), y), z) -> A_19_33 (A_3_19 (x, z), A_5_19 (y, z))+ A_27_23 (A_3_27 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_23 (x, z), A_27_23 (y, z))+ A_27_23 (A_5_5 (A_4_3 (S, x), y), z) -> A_26_33 (A_3_23 (x, z), A_5_23 (y, z))+ A_27_25 (A_3_27 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_25 (x, z), A_27_25 (y, z))+ A_27_25 (A_5_5 (A_4_3 (S, x), y), z) -> A_25_33 (A_3_25 (x, z), A_5_25 (y, z))+ A_27_26 (A_3_27 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_26 (x, z), A_27_26 (y, z))+ A_27_26 (A_5_5 (A_4_3 (S, x), y), z) -> A_26_33 (A_3_26 (x, z), A_5_26 (y, z))+ A_27_28 (A_3_27 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_28 (x, z), A_27_28 (y, z))+ A_27_28 (A_5_5 (A_4_3 (S, x), y), z) -> A_28_33 (A_3_28 (x, z), A_5_28 (y, z))+ A_28_0 (A_3_28 (A_4_4 (S, x), y), z) -> A_6_37 (A_4_0 (x, z), A_28_0 (y, z))+ A_28_1 (A_3_28 (A_4_4 (S, x), y), z) -> A_7_37 (A_4_1 (x, z), A_28_1 (y, z))+ A_28_2 (A_3_28 (A_4_4 (S, x), y), z) -> A_7_37 (A_4_2 (x, z), A_28_2 (y, z))+ A_28_3 (A_3_28 (A_4_4 (S, x), y), z) -> A_5_37 (A_4_3 (x, z), A_28_3 (y, z))+ A_28_4 (A_3_28 (A_4_4 (S, x), y), z) -> A_3_37 (A_4_4 (x, z), A_28_4 (y, z))+ A_28_5 (A_3_28 (A_4_4 (S, x), y), z) -> A_11_37 (A_4_5 (x, z), A_28_5 (y, z))+ A_28_6 (A_3_28 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_6 (x, z), A_28_6 (y, z))+ A_28_7 (A_3_28 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_7 (x, z), A_28_7 (y, z))+ A_28_8 (A_3_28 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_8 (x, z), A_28_8 (y, z))+ A_28_9 (A_3_28 (A_4_4 (S, x), y), z) -> A_13_37 (A_4_9 (x, z), A_28_9 (y, z))+ A_28_10 (A_3_28 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_10 (x, z), A_28_10 (y, z))+ A_28_11 (A_3_28 (A_4_4 (S, x), y), z) -> A_15_37 (A_4_11 (x, z), A_28_11 (y, z))+ A_28_12 (A_3_28 (A_4_4 (S, x), y), z) -> A_15_37 (A_4_12 (x, z), A_28_12 (y, z))+ A_28_13 (A_3_28 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_13 (x, z), A_28_13 (y, z))+ A_28_14 (A_3_28 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_14 (x, z), A_28_14 (y, z))+ A_28_15 (A_3_28 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_15 (x, z), A_28_15 (y, z))+ A_28_16 (A_3_28 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_16 (x, z), A_28_16 (y, z))+ A_28_17 (A_3_28 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_17 (x, z), A_28_17 (y, z))+ A_28_18 (A_3_28 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_18 (x, z), A_28_18 (y, z))+ A_28_19 (A_3_28 (A_4_4 (S, x), y), z) -> A_23_37 (A_4_19 (x, z), A_28_19 (y, z))+ A_28_20 (A_3_28 (A_4_4 (S, x), y), z) -> A_26_37 (A_4_20 (x, z), A_28_20 (y, z))+ A_28_21 (A_3_28 (A_4_4 (S, x), y), z) -> A_26_37 (A_4_21 (x, z), A_28_21 (y, z))+ A_28_22 (A_3_28 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_22 (x, z), A_28_22 (y, z))+ A_28_23 (A_3_28 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_23 (x, z), A_28_23 (y, z))+ A_28_24 (A_3_28 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_24 (x, z), A_28_24 (y, z))+ A_28_25 (A_3_28 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_25 (x, z), A_28_25 (y, z))+ A_28_26 (A_3_28 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_26 (x, z), A_28_26 (y, z))+ A_28_27 (A_3_28 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_27 (x, z), A_28_27 (y, z))+ A_28_28 (A_3_28 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_28 (x, z), A_28_28 (y, z))+ A_28_29 (A_3_28 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_29 (x, z), A_28_29 (y, z))+ A_28_30 (A_3_28 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_30 (x, z), A_28_30 (y, z))+ A_28_31 (A_3_28 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_31 (x, z), A_28_31 (y, z))+ A_28_32 (A_3_28 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_32 (x, z), A_28_32 (y, z))+ A_28_33 (A_3_28 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_33 (x, z), A_28_33 (y, z))+ A_28_34 (A_3_28 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_34 (x, z), A_28_34 (y, z))+ A_28_35 (A_3_28 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_35 (x, z), A_28_35 (y, z))+ A_28_36 (A_3_28 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_36 (x, z), A_28_36 (y, z))+ A_28_37 (A_3_28 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_37 (x, z), A_28_37 (y, z))+ A_29_3 (A_3_29 (A_4_4 (S, x), y), z) -> A_5_37 (A_4_3 (x, z), A_29_3 (y, z))+ A_29_3 (A_6_3 (A_4_0 (S, x), y), z) -> A_27_1 (A_0_3 (x, z), A_3_3 (y, z))+ A_30_3 (A_3_30 (A_4_4 (S, x), y), z) -> A_5_37 (A_4_3 (x, z), A_30_3 (y, z))+ A_30_3 (A_7_3 (A_4_1 (S, x), y), z) -> A_32_1 (A_1_3 (x, z), A_3_3 (y, z))+ A_30_3 (A_7_3 (A_4_2 (S, x), y), z) -> A_33_1 (A_2_3 (x, z), A_3_3 (y, z))+ A_30_3 (A_13_4 (A_4_9 (S, x), y), z) -> A_33_5 (A_9_3 (x, z), A_4_3 (y, z))+ A_31_3 (A_3_31 (A_4_4 (S, x), y), z) -> A_5_37 (A_4_3 (x, z), A_31_3 (y, z))+ A_31_3 (A_5_20 (A_4_3 (S, x), y), z) -> A_1_37 (A_3_3 (x, z), A_20_3 (y, z))+ A_31_3 (A_5_21 (A_4_3 (S, x), y), z) -> A_1_37 (A_3_3 (x, z), A_21_3 (y, z))+ A_31_3 (A_5_29 (A_4_3 (S, x), y), z) -> A_1_37 (A_3_3 (x, z), A_29_3 (y, z))+ A_31_3 (A_5_30 (A_4_3 (S, x), y), z) -> A_1_37 (A_3_3 (x, z), A_30_3 (y, z))+ A_31_3 (A_5_31 (A_4_3 (S, x), y), z) -> A_1_37 (A_3_3 (x, z), A_31_3 (y, z))+ A_31_3 (A_13_3 (A_4_9 (S, x), y), z) -> A_33_1 (A_9_3 (x, z), A_3_3 (y, z))+ A_31_3 (A_15_3 (A_4_11 (S, x), y), z) -> A_22_1 (A_11_3 (x, z), A_3_3 (y, z))+ A_31_3 (A_15_3 (A_4_12 (S, x), y), z) -> A_33_1 (A_12_3 (x, z), A_3_3 (y, z))+ A_31_3 (A_15_4 (A_4_11 (S, x), y), z) -> A_22_5 (A_11_3 (x, z), A_4_3 (y, z))+ A_31_3 (A_15_4 (A_4_12 (S, x), y), z) -> A_33_5 (A_12_3 (x, z), A_4_3 (y, z))+ A_31_4 (A_3_31 (A_4_4 (S, x), y), z) -> A_3_37 (A_4_4 (x, z), A_31_4 (y, z))+ A_31_4 (A_5_20 (A_4_3 (S, x), y), z) -> A_0_32 (A_3_4 (x, z), A_20_4 (y, z))+ A_31_4 (A_5_21 (A_4_3 (S, x), y), z) -> A_0_33 (A_3_4 (x, z), A_21_4 (y, z))+ A_31_4 (A_5_29 (A_4_3 (S, x), y), z) -> A_0_34 (A_3_4 (x, z), A_29_4 (y, z))+ A_31_4 (A_5_30 (A_4_3 (S, x), y), z) -> A_0_36 (A_3_4 (x, z), A_30_4 (y, z))+ A_31_4 (A_5_31 (A_4_3 (S, x), y), z) -> A_0_37 (A_3_4 (x, z), A_31_4 (y, z))+ A_31_4 (A_13_3 (A_4_9 (S, x), y), z) -> A_19_0 (A_9_4 (x, z), A_3_4 (y, z))+ A_31_4 (A_15_3 (A_4_11 (S, x), y), z) -> A_25_0 (A_11_4 (x, z), A_3_4 (y, z))+ A_31_4 (A_15_3 (A_4_12 (S, x), y), z) -> A_25_0 (A_12_4 (x, z), A_3_4 (y, z))+ A_31_4 (A_15_4 (A_4_11 (S, x), y), z) -> A_25_3 (A_11_4 (x, z), A_4_4 (y, z))+ A_31_4 (A_15_4 (A_4_12 (S, x), y), z) -> A_25_3 (A_12_4 (x, z), A_4_4 (y, z))+ A_32_0 (A_3_32 (A_4_4 (S, x), y), z) -> A_6_37 (A_4_0 (x, z), A_32_0 (y, z))+ A_32_0 (A_5_0 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_0 (x, z), A_0_0 (y, z))+ A_32_0 (A_5_1 (A_4_3 (S, x), y), z) -> A_2_34 (A_3_0 (x, z), A_1_0 (y, z))+ A_32_0 (A_5_2 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_0 (x, z), A_2_0 (y, z))+ A_32_1 (A_3_32 (A_4_4 (S, x), y), z) -> A_7_37 (A_4_1 (x, z), A_32_1 (y, z))+ A_32_1 (A_5_0 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_1 (x, z), A_0_1 (y, z))+ A_32_1 (A_5_1 (A_4_3 (S, x), y), z) -> A_2_35 (A_3_1 (x, z), A_1_1 (y, z))+ A_32_1 (A_5_2 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_1 (x, z), A_2_1 (y, z))+ A_32_2 (A_3_32 (A_4_4 (S, x), y), z) -> A_7_37 (A_4_2 (x, z), A_32_2 (y, z))+ A_32_2 (A_5_0 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_2 (x, z), A_0_2 (y, z))+ A_32_2 (A_5_1 (A_4_3 (S, x), y), z) -> A_2_35 (A_3_2 (x, z), A_1_2 (y, z))+ A_32_2 (A_5_2 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_2 (x, z), A_2_2 (y, z))+ A_32_3 (A_3_32 (A_4_4 (S, x), y), z) -> A_5_37 (A_4_3 (x, z), A_32_3 (y, z))+ A_32_3 (A_5_0 (A_4_3 (S, x), y), z) -> A_1_27 (A_3_3 (x, z), A_0_3 (y, z))+ A_32_3 (A_5_1 (A_4_3 (S, x), y), z) -> A_1_32 (A_3_3 (x, z), A_1_3 (y, z))+ A_32_3 (A_5_2 (A_4_3 (S, x), y), z) -> A_1_33 (A_3_3 (x, z), A_2_3 (y, z))+ A_32_5 (A_3_32 (A_4_4 (S, x), y), z) -> A_11_37 (A_4_5 (x, z), A_32_5 (y, z))+ A_32_5 (A_5_0 (A_4_3 (S, x), y), z) -> A_9_36 (A_3_5 (x, z), A_0_5 (y, z))+ A_32_5 (A_5_1 (A_4_3 (S, x), y), z) -> A_9_36 (A_3_5 (x, z), A_1_5 (y, z))+ A_32_5 (A_5_2 (A_4_3 (S, x), y), z) -> A_9_37 (A_3_5 (x, z), A_2_5 (y, z))+ A_32_6 (A_3_32 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_6 (x, z), A_32_6 (y, z))+ A_32_6 (A_5_0 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_6 (x, z), A_0_6 (y, z))+ A_32_6 (A_5_1 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_6 (x, z), A_1_6 (y, z))+ A_32_6 (A_5_2 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_6 (x, z), A_2_6 (y, z))+ A_32_7 (A_3_32 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_7 (x, z), A_32_7 (y, z))+ A_32_7 (A_5_0 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_7 (x, z), A_0_7 (y, z))+ A_32_7 (A_5_1 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_7 (x, z), A_1_7 (y, z))+ A_32_7 (A_5_2 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_7 (x, z), A_2_7 (y, z))+ A_32_8 (A_3_32 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_8 (x, z), A_32_8 (y, z))+ A_32_8 (A_5_0 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_8 (x, z), A_0_8 (y, z))+ A_32_8 (A_5_1 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_8 (x, z), A_1_8 (y, z))+ A_32_8 (A_5_2 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_8 (x, z), A_2_8 (y, z))+ A_32_9 (A_3_32 (A_4_4 (S, x), y), z) -> A_13_37 (A_4_9 (x, z), A_32_9 (y, z))+ A_32_9 (A_5_0 (A_4_3 (S, x), y), z) -> A_9_37 (A_3_9 (x, z), A_0_9 (y, z))+ A_32_9 (A_5_1 (A_4_3 (S, x), y), z) -> A_9_36 (A_3_9 (x, z), A_1_9 (y, z))+ A_32_9 (A_5_2 (A_4_3 (S, x), y), z) -> A_9_37 (A_3_9 (x, z), A_2_9 (y, z))+ A_32_10 (A_3_32 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_10 (x, z), A_32_10 (y, z))+ A_32_10 (A_5_0 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_10 (x, z), A_0_10 (y, z))+ A_32_10 (A_5_1 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_10 (x, z), A_1_10 (y, z))+ A_32_10 (A_5_2 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_10 (x, z), A_2_10 (y, z))+ A_32_11 (A_3_32 (A_4_4 (S, x), y), z) -> A_15_37 (A_4_11 (x, z), A_32_11 (y, z))+ A_32_11 (A_5_0 (A_4_3 (S, x), y), z) -> A_12_37 (A_3_11 (x, z), A_0_11 (y, z))+ A_32_11 (A_5_1 (A_4_3 (S, x), y), z) -> A_12_36 (A_3_11 (x, z), A_1_11 (y, z))+ A_32_11 (A_5_2 (A_4_3 (S, x), y), z) -> A_12_37 (A_3_11 (x, z), A_2_11 (y, z))+ A_32_12 (A_3_32 (A_4_4 (S, x), y), z) -> A_15_37 (A_4_12 (x, z), A_32_12 (y, z))+ A_32_12 (A_5_0 (A_4_3 (S, x), y), z) -> A_12_37 (A_3_12 (x, z), A_0_12 (y, z))+ A_32_12 (A_5_1 (A_4_3 (S, x), y), z) -> A_12_36 (A_3_12 (x, z), A_1_12 (y, z))+ A_32_12 (A_5_2 (A_4_3 (S, x), y), z) -> A_12_37 (A_3_12 (x, z), A_2_12 (y, z))+ A_32_13 (A_3_32 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_13 (x, z), A_32_13 (y, z))+ A_32_13 (A_5_0 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_13 (x, z), A_0_13 (y, z))+ A_32_13 (A_5_1 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_13 (x, z), A_1_13 (y, z))+ A_32_13 (A_5_2 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_13 (x, z), A_2_13 (y, z))+ A_32_14 (A_3_32 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_14 (x, z), A_32_14 (y, z))+ A_32_14 (A_5_0 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_14 (x, z), A_0_14 (y, z))+ A_32_14 (A_5_1 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_14 (x, z), A_1_14 (y, z))+ A_32_14 (A_5_2 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_14 (x, z), A_2_14 (y, z))+ A_32_15 (A_3_32 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_15 (x, z), A_32_15 (y, z))+ A_32_15 (A_5_0 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_15 (x, z), A_0_15 (y, z))+ A_32_15 (A_5_1 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_15 (x, z), A_1_15 (y, z))+ A_32_15 (A_5_2 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_15 (x, z), A_2_15 (y, z))+ A_32_16 (A_3_32 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_16 (x, z), A_32_16 (y, z))+ A_32_16 (A_5_0 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_16 (x, z), A_0_16 (y, z))+ A_32_16 (A_5_1 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_16 (x, z), A_1_16 (y, z))+ A_32_16 (A_5_2 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_16 (x, z), A_2_16 (y, z))+ A_32_18 (A_3_32 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_18 (x, z), A_32_18 (y, z))+ A_32_18 (A_5_0 (A_4_3 (S, x), y), z) -> A_18_37 (A_3_18 (x, z), A_0_18 (y, z))+ A_32_18 (A_5_1 (A_4_3 (S, x), y), z) -> A_18_37 (A_3_18 (x, z), A_1_18 (y, z))+ A_32_18 (A_5_2 (A_4_3 (S, x), y), z) -> A_18_37 (A_3_18 (x, z), A_2_18 (y, z))+ A_32_23 (A_3_32 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_23 (x, z), A_32_23 (y, z))+ A_32_23 (A_5_0 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_23 (x, z), A_0_23 (y, z))+ A_32_23 (A_5_1 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_23 (x, z), A_1_23 (y, z))+ A_32_23 (A_5_2 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_23 (x, z), A_2_23 (y, z))+ A_32_26 (A_3_32 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_26 (x, z), A_32_26 (y, z))+ A_32_26 (A_5_0 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_26 (x, z), A_0_26 (y, z))+ A_32_26 (A_5_1 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_26 (x, z), A_1_26 (y, z))+ A_32_26 (A_5_2 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_26 (x, z), A_2_26 (y, z))+ A_32_28 (A_3_32 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_28 (x, z), A_32_28 (y, z))+ A_32_28 (A_5_0 (A_4_3 (S, x), y), z) -> A_28_37 (A_3_28 (x, z), A_0_28 (y, z))+ A_32_28 (A_5_1 (A_4_3 (S, x), y), z) -> A_28_37 (A_3_28 (x, z), A_1_28 (y, z))+ A_32_28 (A_5_2 (A_4_3 (S, x), y), z) -> A_28_37 (A_3_28 (x, z), A_2_28 (y, z))+ A_33_0 (A_3_33 (A_4_4 (S, x), y), z) -> A_6_37 (A_4_0 (x, z), A_33_0 (y, z))+ A_33_0 (A_5_6 (A_4_3 (S, x), y), z) -> A_2_34 (A_3_0 (x, z), A_6_0 (y, z))+ A_33_0 (A_5_7 (A_4_3 (S, x), y), z) -> A_2_35 (A_3_0 (x, z), A_7_0 (y, z))+ A_33_0 (A_5_8 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_0 (x, z), A_8_0 (y, z))+ A_33_0 (A_5_9 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_0 (x, z), A_9_0 (y, z))+ A_33_0 (A_5_10 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_0 (x, z), A_10_0 (y, z))+ A_33_0 (A_5_11 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_0 (x, z), A_11_0 (y, z))+ A_33_0 (A_5_12 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_0 (x, z), A_12_0 (y, z))+ A_33_0 (A_5_13 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_0 (x, z), A_13_0 (y, z))+ A_33_0 (A_5_14 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_0 (x, z), A_14_0 (y, z))+ A_33_0 (A_5_15 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_0 (x, z), A_15_0 (y, z))+ A_33_0 (A_5_16 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_0 (x, z), A_16_0 (y, z))+ A_33_0 (A_5_17 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_0 (x, z), A_17_0 (y, z))+ A_33_0 (A_5_18 (A_4_3 (S, x), y), z) -> A_2_37 (A_3_0 (x, z), A_18_0 (y, z))+ A_33_0 (A_5_19 (A_4_3 (S, x), y), z) -> A_2_37 (A_3_0 (x, z), A_19_0 (y, z))+ A_33_0 (A_5_22 (A_4_3 (S, x), y), z) -> A_2_37 (A_3_0 (x, z), A_22_0 (y, z))+ A_33_0 (A_5_23 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_0 (x, z), A_23_0 (y, z))+ A_33_0 (A_5_24 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_0 (x, z), A_24_0 (y, z))+ A_33_0 (A_5_25 (A_4_3 (S, x), y), z) -> A_2_37 (A_3_0 (x, z), A_25_0 (y, z))+ A_33_0 (A_5_26 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_0 (x, z), A_26_0 (y, z))+ A_33_0 (A_5_27 (A_4_3 (S, x), y), z) -> A_2_37 (A_3_0 (x, z), A_27_0 (y, z))+ A_33_0 (A_5_28 (A_4_3 (S, x), y), z) -> A_2_37 (A_3_0 (x, z), A_28_0 (y, z))+ A_33_0 (A_5_32 (A_4_3 (S, x), y), z) -> A_2_37 (A_3_0 (x, z), A_32_0 (y, z))+ A_33_0 (A_5_33 (A_4_3 (S, x), y), z) -> A_2_37 (A_3_0 (x, z), A_33_0 (y, z))+ A_33_1 (A_3_33 (A_4_4 (S, x), y), z) -> A_7_37 (A_4_1 (x, z), A_33_1 (y, z))+ A_33_1 (A_5_6 (A_4_3 (S, x), y), z) -> A_2_34 (A_3_1 (x, z), A_6_1 (y, z))+ A_33_1 (A_5_7 (A_4_3 (S, x), y), z) -> A_2_35 (A_3_1 (x, z), A_7_1 (y, z))+ A_33_1 (A_5_8 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_1 (x, z), A_8_1 (y, z))+ A_33_1 (A_5_9 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_1 (x, z), A_9_1 (y, z))+ A_33_1 (A_5_10 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_1 (x, z), A_10_1 (y, z))+ A_33_1 (A_5_11 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_1 (x, z), A_11_1 (y, z))+ A_33_1 (A_5_12 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_1 (x, z), A_12_1 (y, z))+ A_33_1 (A_5_13 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_1 (x, z), A_13_1 (y, z))+ A_33_1 (A_5_14 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_1 (x, z), A_14_1 (y, z))+ A_33_1 (A_5_15 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_1 (x, z), A_15_1 (y, z))+ A_33_1 (A_5_16 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_1 (x, z), A_16_1 (y, z))+ A_33_1 (A_5_17 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_1 (x, z), A_17_1 (y, z))+ A_33_1 (A_5_18 (A_4_3 (S, x), y), z) -> A_2_37 (A_3_1 (x, z), A_18_1 (y, z))+ A_33_1 (A_5_19 (A_4_3 (S, x), y), z) -> A_2_37 (A_3_1 (x, z), A_19_1 (y, z))+ A_33_1 (A_5_22 (A_4_3 (S, x), y), z) -> A_2_37 (A_3_1 (x, z), A_22_1 (y, z))+ A_33_1 (A_5_23 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_1 (x, z), A_23_1 (y, z))+ A_33_1 (A_5_24 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_1 (x, z), A_24_1 (y, z))+ A_33_1 (A_5_25 (A_4_3 (S, x), y), z) -> A_2_37 (A_3_1 (x, z), A_25_1 (y, z))+ A_33_1 (A_5_26 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_1 (x, z), A_26_1 (y, z))+ A_33_1 (A_5_27 (A_4_3 (S, x), y), z) -> A_2_37 (A_3_1 (x, z), A_27_1 (y, z))+ A_33_1 (A_5_28 (A_4_3 (S, x), y), z) -> A_2_37 (A_3_1 (x, z), A_28_1 (y, z))+ A_33_1 (A_5_32 (A_4_3 (S, x), y), z) -> A_2_37 (A_3_1 (x, z), A_32_1 (y, z))+ A_33_1 (A_5_33 (A_4_3 (S, x), y), z) -> A_2_37 (A_3_1 (x, z), A_33_1 (y, z))+ A_33_2 (A_3_33 (A_4_4 (S, x), y), z) -> A_7_37 (A_4_2 (x, z), A_33_2 (y, z))+ A_33_2 (A_5_6 (A_4_3 (S, x), y), z) -> A_2_34 (A_3_2 (x, z), A_6_2 (y, z))+ A_33_2 (A_5_7 (A_4_3 (S, x), y), z) -> A_2_35 (A_3_2 (x, z), A_7_2 (y, z))+ A_33_2 (A_5_8 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_2 (x, z), A_8_2 (y, z))+ A_33_2 (A_5_9 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_2 (x, z), A_9_2 (y, z))+ A_33_2 (A_5_10 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_2 (x, z), A_10_2 (y, z))+ A_33_2 (A_5_11 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_2 (x, z), A_11_2 (y, z))+ A_33_2 (A_5_12 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_2 (x, z), A_12_2 (y, z))+ A_33_2 (A_5_13 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_2 (x, z), A_13_2 (y, z))+ A_33_2 (A_5_14 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_2 (x, z), A_14_2 (y, z))+ A_33_2 (A_5_15 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_2 (x, z), A_15_2 (y, z))+ A_33_2 (A_5_16 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_2 (x, z), A_16_2 (y, z))+ A_33_2 (A_5_17 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_2 (x, z), A_17_2 (y, z))+ A_33_2 (A_5_18 (A_4_3 (S, x), y), z) -> A_2_37 (A_3_2 (x, z), A_18_2 (y, z))+ A_33_2 (A_5_19 (A_4_3 (S, x), y), z) -> A_2_37 (A_3_2 (x, z), A_19_2 (y, z))+ A_33_2 (A_5_22 (A_4_3 (S, x), y), z) -> A_2_37 (A_3_2 (x, z), A_22_2 (y, z))+ A_33_2 (A_5_23 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_2 (x, z), A_23_2 (y, z))+ A_33_2 (A_5_24 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_2 (x, z), A_24_2 (y, z))+ A_33_2 (A_5_25 (A_4_3 (S, x), y), z) -> A_2_37 (A_3_2 (x, z), A_25_2 (y, z))+ A_33_2 (A_5_26 (A_4_3 (S, x), y), z) -> A_2_36 (A_3_2 (x, z), A_26_2 (y, z))+ A_33_2 (A_5_27 (A_4_3 (S, x), y), z) -> A_2_37 (A_3_2 (x, z), A_27_2 (y, z))+ A_33_2 (A_5_28 (A_4_3 (S, x), y), z) -> A_2_37 (A_3_2 (x, z), A_28_2 (y, z))+ A_33_2 (A_5_32 (A_4_3 (S, x), y), z) -> A_2_37 (A_3_2 (x, z), A_32_2 (y, z))+ A_33_2 (A_5_33 (A_4_3 (S, x), y), z) -> A_2_37 (A_3_2 (x, z), A_33_2 (y, z))+ A_33_3 (A_3_33 (A_4_4 (S, x), y), z) -> A_5_37 (A_4_3 (x, z), A_33_3 (y, z))+ A_33_3 (A_5_6 (A_4_3 (S, x), y), z) -> A_1_29 (A_3_3 (x, z), A_6_3 (y, z))+ A_33_3 (A_5_7 (A_4_3 (S, x), y), z) -> A_1_30 (A_3_3 (x, z), A_7_3 (y, z))+ A_33_3 (A_5_8 (A_4_3 (S, x), y), z) -> A_1_31 (A_3_3 (x, z), A_8_3 (y, z))+ A_33_3 (A_5_9 (A_4_3 (S, x), y), z) -> A_1_33 (A_3_3 (x, z), A_9_3 (y, z))+ A_33_3 (A_5_10 (A_4_3 (S, x), y), z) -> A_1_31 (A_3_3 (x, z), A_10_3 (y, z))+ A_33_3 (A_5_11 (A_4_3 (S, x), y), z) -> A_1_22 (A_3_3 (x, z), A_11_3 (y, z))+ A_33_3 (A_5_12 (A_4_3 (S, x), y), z) -> A_1_33 (A_3_3 (x, z), A_12_3 (y, z))+ A_33_3 (A_5_13 (A_4_3 (S, x), y), z) -> A_1_31 (A_3_3 (x, z), A_13_3 (y, z))+ A_33_3 (A_5_14 (A_4_3 (S, x), y), z) -> A_1_31 (A_3_3 (x, z), A_14_3 (y, z))+ A_33_3 (A_5_15 (A_4_3 (S, x), y), z) -> A_1_31 (A_3_3 (x, z), A_15_3 (y, z))+ A_33_3 (A_5_16 (A_4_3 (S, x), y), z) -> A_1_31 (A_3_3 (x, z), A_16_3 (y, z))+ A_33_3 (A_5_17 (A_4_3 (S, x), y), z) -> A_1_35 (A_3_3 (x, z), A_17_3 (y, z))+ A_33_3 (A_5_18 (A_4_3 (S, x), y), z) -> A_1_37 (A_3_3 (x, z), A_18_3 (y, z))+ A_33_3 (A_5_19 (A_4_3 (S, x), y), z) -> A_1_36 (A_3_3 (x, z), A_19_3 (y, z))+ A_33_3 (A_5_22 (A_4_3 (S, x), y), z) -> A_1_36 (A_3_3 (x, z), A_22_3 (y, z))+ A_33_3 (A_5_23 (A_4_3 (S, x), y), z) -> A_1_36 (A_3_3 (x, z), A_23_3 (y, z))+ A_33_3 (A_5_24 (A_4_3 (S, x), y), z) -> A_1_36 (A_3_3 (x, z), A_24_3 (y, z))+ A_33_3 (A_5_25 (A_4_3 (S, x), y), z) -> A_1_37 (A_3_3 (x, z), A_25_3 (y, z))+ A_33_3 (A_5_26 (A_4_3 (S, x), y), z) -> A_1_36 (A_3_3 (x, z), A_26_3 (y, z))+ A_33_3 (A_5_27 (A_4_3 (S, x), y), z) -> A_1_37 (A_3_3 (x, z), A_27_3 (y, z))+ A_33_3 (A_5_28 (A_4_3 (S, x), y), z) -> A_1_37 (A_3_3 (x, z), A_28_3 (y, z))+ A_33_3 (A_5_32 (A_4_3 (S, x), y), z) -> A_1_37 (A_3_3 (x, z), A_32_3 (y, z))+ A_33_3 (A_5_33 (A_4_3 (S, x), y), z) -> A_1_37 (A_3_3 (x, z), A_33_3 (y, z))+ A_33_4 (A_3_33 (A_4_4 (S, x), y), z) -> A_3_37 (A_4_4 (x, z), A_33_4 (y, z))+ A_33_4 (A_5_6 (A_4_3 (S, x), y), z) -> A_0_20 (A_3_4 (x, z), A_6_4 (y, z))+ A_33_4 (A_5_7 (A_4_3 (S, x), y), z) -> A_0_21 (A_3_4 (x, z), A_7_4 (y, z))+ A_33_4 (A_5_8 (A_4_3 (S, x), y), z) -> A_0_20 (A_3_4 (x, z), A_8_4 (y, z))+ A_33_4 (A_5_9 (A_4_3 (S, x), y), z) -> A_0_19 (A_3_4 (x, z), A_9_4 (y, z))+ A_33_4 (A_5_10 (A_4_3 (S, x), y), z) -> A_0_21 (A_3_4 (x, z), A_10_4 (y, z))+ A_33_4 (A_5_11 (A_4_3 (S, x), y), z) -> A_0_25 (A_3_4 (x, z), A_11_4 (y, z))+ A_33_4 (A_5_12 (A_4_3 (S, x), y), z) -> A_0_25 (A_3_4 (x, z), A_12_4 (y, z))+ A_33_4 (A_5_13 (A_4_3 (S, x), y), z) -> A_0_30 (A_3_4 (x, z), A_13_4 (y, z))+ A_33_4 (A_5_14 (A_4_3 (S, x), y), z) -> A_0_30 (A_3_4 (x, z), A_14_4 (y, z))+ A_33_4 (A_5_15 (A_4_3 (S, x), y), z) -> A_0_31 (A_3_4 (x, z), A_15_4 (y, z))+ A_33_4 (A_5_16 (A_4_3 (S, x), y), z) -> A_0_31 (A_3_4 (x, z), A_16_4 (y, z))+ A_33_4 (A_5_17 (A_4_3 (S, x), y), z) -> A_0_36 (A_3_4 (x, z), A_17_4 (y, z))+ A_33_4 (A_5_18 (A_4_3 (S, x), y), z) -> A_0_36 (A_3_4 (x, z), A_18_4 (y, z))+ A_33_4 (A_5_19 (A_4_3 (S, x), y), z) -> A_0_27 (A_3_4 (x, z), A_19_4 (y, z))+ A_33_4 (A_5_22 (A_4_3 (S, x), y), z) -> A_0_37 (A_3_4 (x, z), A_22_4 (y, z))+ A_33_4 (A_5_23 (A_4_3 (S, x), y), z) -> A_0_36 (A_3_4 (x, z), A_23_4 (y, z))+ A_33_4 (A_5_24 (A_4_3 (S, x), y), z) -> A_0_36 (A_3_4 (x, z), A_24_4 (y, z))+ A_33_4 (A_5_25 (A_4_3 (S, x), y), z) -> A_0_36 (A_3_4 (x, z), A_25_4 (y, z))+ A_33_4 (A_5_26 (A_4_3 (S, x), y), z) -> A_0_36 (A_3_4 (x, z), A_26_4 (y, z))+ A_33_4 (A_5_27 (A_4_3 (S, x), y), z) -> A_0_37 (A_3_4 (x, z), A_27_4 (y, z))+ A_33_4 (A_5_28 (A_4_3 (S, x), y), z) -> A_0_37 (A_3_4 (x, z), A_28_4 (y, z))+ A_33_4 (A_5_32 (A_4_3 (S, x), y), z) -> A_0_36 (A_3_4 (x, z), A_32_4 (y, z))+ A_33_4 (A_5_33 (A_4_3 (S, x), y), z) -> A_0_37 (A_3_4 (x, z), A_33_4 (y, z))+ A_33_5 (A_3_33 (A_4_4 (S, x), y), z) -> A_11_37 (A_4_5 (x, z), A_33_5 (y, z))+ A_33_5 (A_5_6 (A_4_3 (S, x), y), z) -> A_9_36 (A_3_5 (x, z), A_6_5 (y, z))+ A_33_5 (A_5_7 (A_4_3 (S, x), y), z) -> A_9_36 (A_3_5 (x, z), A_7_5 (y, z))+ A_33_5 (A_5_8 (A_4_3 (S, x), y), z) -> A_9_37 (A_3_5 (x, z), A_8_5 (y, z))+ A_33_5 (A_5_9 (A_4_3 (S, x), y), z) -> A_9_37 (A_3_5 (x, z), A_9_5 (y, z))+ A_33_5 (A_5_10 (A_4_3 (S, x), y), z) -> A_9_37 (A_3_5 (x, z), A_10_5 (y, z))+ A_33_5 (A_5_11 (A_4_3 (S, x), y), z) -> A_9_36 (A_3_5 (x, z), A_11_5 (y, z))+ A_33_5 (A_5_12 (A_4_3 (S, x), y), z) -> A_9_37 (A_3_5 (x, z), A_12_5 (y, z))+ A_33_5 (A_5_13 (A_4_3 (S, x), y), z) -> A_9_36 (A_3_5 (x, z), A_13_5 (y, z))+ A_33_5 (A_5_14 (A_4_3 (S, x), y), z) -> A_9_37 (A_3_5 (x, z), A_14_5 (y, z))+ A_33_5 (A_5_15 (A_4_3 (S, x), y), z) -> A_9_36 (A_3_5 (x, z), A_15_5 (y, z))+ A_33_5 (A_5_16 (A_4_3 (S, x), y), z) -> A_9_37 (A_3_5 (x, z), A_16_5 (y, z))+ A_33_5 (A_5_17 (A_4_3 (S, x), y), z) -> A_9_37 (A_3_5 (x, z), A_17_5 (y, z))+ A_33_5 (A_5_18 (A_4_3 (S, x), y), z) -> A_9_37 (A_3_5 (x, z), A_18_5 (y, z))+ A_33_5 (A_5_19 (A_4_3 (S, x), y), z) -> A_9_37 (A_3_5 (x, z), A_19_5 (y, z))+ A_33_5 (A_5_22 (A_4_3 (S, x), y), z) -> A_9_37 (A_3_5 (x, z), A_22_5 (y, z))+ A_33_5 (A_5_23 (A_4_3 (S, x), y), z) -> A_9_36 (A_3_5 (x, z), A_23_5 (y, z))+ A_33_5 (A_5_24 (A_4_3 (S, x), y), z) -> A_9_37 (A_3_5 (x, z), A_24_5 (y, z))+ A_33_5 (A_5_25 (A_4_3 (S, x), y), z) -> A_9_37 (A_3_5 (x, z), A_25_5 (y, z))+ A_33_5 (A_5_26 (A_4_3 (S, x), y), z) -> A_9_37 (A_3_5 (x, z), A_26_5 (y, z))+ A_33_5 (A_5_27 (A_4_3 (S, x), y), z) -> A_9_37 (A_3_5 (x, z), A_27_5 (y, z))+ A_33_5 (A_5_28 (A_4_3 (S, x), y), z) -> A_9_37 (A_3_5 (x, z), A_28_5 (y, z))+ A_33_5 (A_5_32 (A_4_3 (S, x), y), z) -> A_9_37 (A_3_5 (x, z), A_32_5 (y, z))+ A_33_5 (A_5_33 (A_4_3 (S, x), y), z) -> A_9_37 (A_3_5 (x, z), A_33_5 (y, z))+ A_33_6 (A_3_33 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_6 (x, z), A_33_6 (y, z))+ A_33_6 (A_5_6 (A_4_3 (S, x), y), z) -> A_8_36 (A_3_6 (x, z), A_6_6 (y, z))+ A_33_6 (A_5_7 (A_4_3 (S, x), y), z) -> A_8_36 (A_3_6 (x, z), A_7_6 (y, z))+ A_33_6 (A_5_8 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_6 (x, z), A_8_6 (y, z))+ A_33_6 (A_5_9 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_6 (x, z), A_9_6 (y, z))+ A_33_6 (A_5_10 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_6 (x, z), A_10_6 (y, z))+ A_33_6 (A_5_11 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_6 (x, z), A_11_6 (y, z))+ A_33_6 (A_5_12 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_6 (x, z), A_12_6 (y, z))+ A_33_6 (A_5_13 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_6 (x, z), A_13_6 (y, z))+ A_33_6 (A_5_14 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_6 (x, z), A_14_6 (y, z))+ A_33_6 (A_5_15 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_6 (x, z), A_15_6 (y, z))+ A_33_6 (A_5_16 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_6 (x, z), A_16_6 (y, z))+ A_33_6 (A_5_17 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_6 (x, z), A_17_6 (y, z))+ A_33_6 (A_5_18 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_6 (x, z), A_18_6 (y, z))+ A_33_6 (A_5_19 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_6 (x, z), A_19_6 (y, z))+ A_33_6 (A_5_22 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_6 (x, z), A_22_6 (y, z))+ A_33_6 (A_5_23 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_6 (x, z), A_23_6 (y, z))+ A_33_6 (A_5_24 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_6 (x, z), A_24_6 (y, z))+ A_33_6 (A_5_25 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_6 (x, z), A_25_6 (y, z))+ A_33_6 (A_5_26 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_6 (x, z), A_26_6 (y, z))+ A_33_6 (A_5_27 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_6 (x, z), A_27_6 (y, z))+ A_33_6 (A_5_28 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_6 (x, z), A_28_6 (y, z))+ A_33_6 (A_5_32 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_6 (x, z), A_32_6 (y, z))+ A_33_6 (A_5_33 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_6 (x, z), A_33_6 (y, z))+ A_33_7 (A_3_33 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_7 (x, z), A_33_7 (y, z))+ A_33_7 (A_5_6 (A_4_3 (S, x), y), z) -> A_10_36 (A_3_7 (x, z), A_6_7 (y, z))+ A_33_7 (A_5_7 (A_4_3 (S, x), y), z) -> A_10_36 (A_3_7 (x, z), A_7_7 (y, z))+ A_33_7 (A_5_8 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_7 (x, z), A_8_7 (y, z))+ A_33_7 (A_5_9 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_7 (x, z), A_9_7 (y, z))+ A_33_7 (A_5_10 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_7 (x, z), A_10_7 (y, z))+ A_33_7 (A_5_11 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_7 (x, z), A_11_7 (y, z))+ A_33_7 (A_5_12 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_7 (x, z), A_12_7 (y, z))+ A_33_7 (A_5_13 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_7 (x, z), A_13_7 (y, z))+ A_33_7 (A_5_14 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_7 (x, z), A_14_7 (y, z))+ A_33_7 (A_5_15 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_7 (x, z), A_15_7 (y, z))+ A_33_7 (A_5_16 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_7 (x, z), A_16_7 (y, z))+ A_33_7 (A_5_17 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_7 (x, z), A_17_7 (y, z))+ A_33_7 (A_5_18 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_7 (x, z), A_18_7 (y, z))+ A_33_7 (A_5_19 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_7 (x, z), A_19_7 (y, z))+ A_33_7 (A_5_22 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_7 (x, z), A_22_7 (y, z))+ A_33_7 (A_5_23 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_7 (x, z), A_23_7 (y, z))+ A_33_7 (A_5_24 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_7 (x, z), A_24_7 (y, z))+ A_33_7 (A_5_25 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_7 (x, z), A_25_7 (y, z))+ A_33_7 (A_5_26 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_7 (x, z), A_26_7 (y, z))+ A_33_7 (A_5_27 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_7 (x, z), A_27_7 (y, z))+ A_33_7 (A_5_28 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_7 (x, z), A_28_7 (y, z))+ A_33_7 (A_5_32 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_7 (x, z), A_32_7 (y, z))+ A_33_7 (A_5_33 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_7 (x, z), A_33_7 (y, z))+ A_33_8 (A_3_33 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_8 (x, z), A_33_8 (y, z))+ A_33_8 (A_5_6 (A_4_3 (S, x), y), z) -> A_8_36 (A_3_8 (x, z), A_6_8 (y, z))+ A_33_8 (A_5_7 (A_4_3 (S, x), y), z) -> A_8_36 (A_3_8 (x, z), A_7_8 (y, z))+ A_33_8 (A_5_8 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_8 (x, z), A_8_8 (y, z))+ A_33_8 (A_5_9 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_8 (x, z), A_9_8 (y, z))+ A_33_8 (A_5_10 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_8 (x, z), A_10_8 (y, z))+ A_33_8 (A_5_11 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_8 (x, z), A_11_8 (y, z))+ A_33_8 (A_5_12 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_8 (x, z), A_12_8 (y, z))+ A_33_8 (A_5_13 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_8 (x, z), A_13_8 (y, z))+ A_33_8 (A_5_14 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_8 (x, z), A_14_8 (y, z))+ A_33_8 (A_5_15 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_8 (x, z), A_15_8 (y, z))+ A_33_8 (A_5_16 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_8 (x, z), A_16_8 (y, z))+ A_33_8 (A_5_17 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_8 (x, z), A_17_8 (y, z))+ A_33_8 (A_5_18 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_8 (x, z), A_18_8 (y, z))+ A_33_8 (A_5_19 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_8 (x, z), A_19_8 (y, z))+ A_33_8 (A_5_22 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_8 (x, z), A_22_8 (y, z))+ A_33_8 (A_5_23 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_8 (x, z), A_23_8 (y, z))+ A_33_8 (A_5_24 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_8 (x, z), A_24_8 (y, z))+ A_33_8 (A_5_25 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_8 (x, z), A_25_8 (y, z))+ A_33_8 (A_5_26 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_8 (x, z), A_26_8 (y, z))+ A_33_8 (A_5_27 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_8 (x, z), A_27_8 (y, z))+ A_33_8 (A_5_28 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_8 (x, z), A_28_8 (y, z))+ A_33_8 (A_5_32 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_8 (x, z), A_32_8 (y, z))+ A_33_8 (A_5_33 (A_4_3 (S, x), y), z) -> A_8_37 (A_3_8 (x, z), A_33_8 (y, z))+ A_33_9 (A_3_33 (A_4_4 (S, x), y), z) -> A_13_37 (A_4_9 (x, z), A_33_9 (y, z))+ A_33_9 (A_5_6 (A_4_3 (S, x), y), z) -> A_9_36 (A_3_9 (x, z), A_6_9 (y, z))+ A_33_9 (A_5_7 (A_4_3 (S, x), y), z) -> A_9_36 (A_3_9 (x, z), A_7_9 (y, z))+ A_33_9 (A_5_8 (A_4_3 (S, x), y), z) -> A_9_37 (A_3_9 (x, z), A_8_9 (y, z))+ A_33_9 (A_5_9 (A_4_3 (S, x), y), z) -> A_9_37 (A_3_9 (x, z), A_9_9 (y, z))+ A_33_9 (A_5_10 (A_4_3 (S, x), y), z) -> A_9_37 (A_3_9 (x, z), A_10_9 (y, z))+ A_33_9 (A_5_11 (A_4_3 (S, x), y), z) -> A_9_36 (A_3_9 (x, z), A_11_9 (y, z))+ A_33_9 (A_5_12 (A_4_3 (S, x), y), z) -> A_9_37 (A_3_9 (x, z), A_12_9 (y, z))+ A_33_9 (A_5_13 (A_4_3 (S, x), y), z) -> A_9_36 (A_3_9 (x, z), A_13_9 (y, z))+ A_33_9 (A_5_14 (A_4_3 (S, x), y), z) -> A_9_37 (A_3_9 (x, z), A_14_9 (y, z))+ A_33_9 (A_5_15 (A_4_3 (S, x), y), z) -> A_9_36 (A_3_9 (x, z), A_15_9 (y, z))+ A_33_9 (A_5_16 (A_4_3 (S, x), y), z) -> A_9_37 (A_3_9 (x, z), A_16_9 (y, z))+ A_33_9 (A_5_17 (A_4_3 (S, x), y), z) -> A_9_37 (A_3_9 (x, z), A_17_9 (y, z))+ A_33_9 (A_5_18 (A_4_3 (S, x), y), z) -> A_9_37 (A_3_9 (x, z), A_18_9 (y, z))+ A_33_9 (A_5_19 (A_4_3 (S, x), y), z) -> A_9_37 (A_3_9 (x, z), A_19_9 (y, z))+ A_33_9 (A_5_22 (A_4_3 (S, x), y), z) -> A_9_37 (A_3_9 (x, z), A_22_9 (y, z))+ A_33_9 (A_5_23 (A_4_3 (S, x), y), z) -> A_9_36 (A_3_9 (x, z), A_23_9 (y, z))+ A_33_9 (A_5_24 (A_4_3 (S, x), y), z) -> A_9_37 (A_3_9 (x, z), A_24_9 (y, z))+ A_33_9 (A_5_25 (A_4_3 (S, x), y), z) -> A_9_37 (A_3_9 (x, z), A_25_9 (y, z))+ A_33_9 (A_5_26 (A_4_3 (S, x), y), z) -> A_9_37 (A_3_9 (x, z), A_26_9 (y, z))+ A_33_9 (A_5_27 (A_4_3 (S, x), y), z) -> A_9_37 (A_3_9 (x, z), A_27_9 (y, z))+ A_33_9 (A_5_28 (A_4_3 (S, x), y), z) -> A_9_37 (A_3_9 (x, z), A_28_9 (y, z))+ A_33_9 (A_5_32 (A_4_3 (S, x), y), z) -> A_9_37 (A_3_9 (x, z), A_32_9 (y, z))+ A_33_9 (A_5_33 (A_4_3 (S, x), y), z) -> A_9_37 (A_3_9 (x, z), A_33_9 (y, z))+ A_33_10 (A_3_33 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_10 (x, z), A_33_10 (y, z))+ A_33_10 (A_5_6 (A_4_3 (S, x), y), z) -> A_10_36 (A_3_10 (x, z), A_6_10 (y, z))+ A_33_10 (A_5_7 (A_4_3 (S, x), y), z) -> A_10_36 (A_3_10 (x, z), A_7_10 (y, z))+ A_33_10 (A_5_8 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_10 (x, z), A_8_10 (y, z))+ A_33_10 (A_5_9 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_10 (x, z), A_9_10 (y, z))+ A_33_10 (A_5_10 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_10 (x, z), A_10_10 (y, z))+ A_33_10 (A_5_11 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_10 (x, z), A_11_10 (y, z))+ A_33_10 (A_5_12 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_10 (x, z), A_12_10 (y, z))+ A_33_10 (A_5_13 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_10 (x, z), A_13_10 (y, z))+ A_33_10 (A_5_14 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_10 (x, z), A_14_10 (y, z))+ A_33_10 (A_5_15 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_10 (x, z), A_15_10 (y, z))+ A_33_10 (A_5_16 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_10 (x, z), A_16_10 (y, z))+ A_33_10 (A_5_17 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_10 (x, z), A_17_10 (y, z))+ A_33_10 (A_5_18 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_10 (x, z), A_18_10 (y, z))+ A_33_10 (A_5_19 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_10 (x, z), A_19_10 (y, z))+ A_33_10 (A_5_22 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_10 (x, z), A_22_10 (y, z))+ A_33_10 (A_5_23 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_10 (x, z), A_23_10 (y, z))+ A_33_10 (A_5_24 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_10 (x, z), A_24_10 (y, z))+ A_33_10 (A_5_25 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_10 (x, z), A_25_10 (y, z))+ A_33_10 (A_5_26 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_10 (x, z), A_26_10 (y, z))+ A_33_10 (A_5_27 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_10 (x, z), A_27_10 (y, z))+ A_33_10 (A_5_28 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_10 (x, z), A_28_10 (y, z))+ A_33_10 (A_5_32 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_10 (x, z), A_32_10 (y, z))+ A_33_10 (A_5_33 (A_4_3 (S, x), y), z) -> A_10_37 (A_3_10 (x, z), A_33_10 (y, z))+ A_33_11 (A_3_33 (A_4_4 (S, x), y), z) -> A_15_37 (A_4_11 (x, z), A_33_11 (y, z))+ A_33_11 (A_5_6 (A_4_3 (S, x), y), z) -> A_12_36 (A_3_11 (x, z), A_6_11 (y, z))+ A_33_11 (A_5_7 (A_4_3 (S, x), y), z) -> A_12_36 (A_3_11 (x, z), A_7_11 (y, z))+ A_33_11 (A_5_8 (A_4_3 (S, x), y), z) -> A_12_37 (A_3_11 (x, z), A_8_11 (y, z))+ A_33_11 (A_5_9 (A_4_3 (S, x), y), z) -> A_12_37 (A_3_11 (x, z), A_9_11 (y, z))+ A_33_11 (A_5_10 (A_4_3 (S, x), y), z) -> A_12_37 (A_3_11 (x, z), A_10_11 (y, z))+ A_33_11 (A_5_11 (A_4_3 (S, x), y), z) -> A_12_36 (A_3_11 (x, z), A_11_11 (y, z))+ A_33_11 (A_5_12 (A_4_3 (S, x), y), z) -> A_12_37 (A_3_11 (x, z), A_12_11 (y, z))+ A_33_11 (A_5_13 (A_4_3 (S, x), y), z) -> A_12_36 (A_3_11 (x, z), A_13_11 (y, z))+ A_33_11 (A_5_14 (A_4_3 (S, x), y), z) -> A_12_37 (A_3_11 (x, z), A_14_11 (y, z))+ A_33_11 (A_5_15 (A_4_3 (S, x), y), z) -> A_12_36 (A_3_11 (x, z), A_15_11 (y, z))+ A_33_11 (A_5_16 (A_4_3 (S, x), y), z) -> A_12_37 (A_3_11 (x, z), A_16_11 (y, z))+ A_33_11 (A_5_17 (A_4_3 (S, x), y), z) -> A_12_37 (A_3_11 (x, z), A_17_11 (y, z))+ A_33_11 (A_5_18 (A_4_3 (S, x), y), z) -> A_12_37 (A_3_11 (x, z), A_18_11 (y, z))+ A_33_11 (A_5_19 (A_4_3 (S, x), y), z) -> A_12_37 (A_3_11 (x, z), A_19_11 (y, z))+ A_33_11 (A_5_22 (A_4_3 (S, x), y), z) -> A_12_37 (A_3_11 (x, z), A_22_11 (y, z))+ A_33_11 (A_5_23 (A_4_3 (S, x), y), z) -> A_12_36 (A_3_11 (x, z), A_23_11 (y, z))+ A_33_11 (A_5_24 (A_4_3 (S, x), y), z) -> A_12_37 (A_3_11 (x, z), A_24_11 (y, z))+ A_33_11 (A_5_25 (A_4_3 (S, x), y), z) -> A_12_37 (A_3_11 (x, z), A_25_11 (y, z))+ A_33_11 (A_5_26 (A_4_3 (S, x), y), z) -> A_12_37 (A_3_11 (x, z), A_26_11 (y, z))+ A_33_11 (A_5_27 (A_4_3 (S, x), y), z) -> A_12_37 (A_3_11 (x, z), A_27_11 (y, z))+ A_33_11 (A_5_28 (A_4_3 (S, x), y), z) -> A_12_37 (A_3_11 (x, z), A_28_11 (y, z))+ A_33_11 (A_5_32 (A_4_3 (S, x), y), z) -> A_12_37 (A_3_11 (x, z), A_32_11 (y, z))+ A_33_11 (A_5_33 (A_4_3 (S, x), y), z) -> A_12_37 (A_3_11 (x, z), A_33_11 (y, z))+ A_33_12 (A_3_33 (A_4_4 (S, x), y), z) -> A_15_37 (A_4_12 (x, z), A_33_12 (y, z))+ A_33_12 (A_5_6 (A_4_3 (S, x), y), z) -> A_12_36 (A_3_12 (x, z), A_6_12 (y, z))+ A_33_12 (A_5_7 (A_4_3 (S, x), y), z) -> A_12_36 (A_3_12 (x, z), A_7_12 (y, z))+ A_33_12 (A_5_8 (A_4_3 (S, x), y), z) -> A_12_37 (A_3_12 (x, z), A_8_12 (y, z))+ A_33_12 (A_5_9 (A_4_3 (S, x), y), z) -> A_12_37 (A_3_12 (x, z), A_9_12 (y, z))+ A_33_12 (A_5_10 (A_4_3 (S, x), y), z) -> A_12_37 (A_3_12 (x, z), A_10_12 (y, z))+ A_33_12 (A_5_11 (A_4_3 (S, x), y), z) -> A_12_36 (A_3_12 (x, z), A_11_12 (y, z))+ A_33_12 (A_5_12 (A_4_3 (S, x), y), z) -> A_12_37 (A_3_12 (x, z), A_12_12 (y, z))+ A_33_12 (A_5_13 (A_4_3 (S, x), y), z) -> A_12_36 (A_3_12 (x, z), A_13_12 (y, z))+ A_33_12 (A_5_14 (A_4_3 (S, x), y), z) -> A_12_37 (A_3_12 (x, z), A_14_12 (y, z))+ A_33_12 (A_5_15 (A_4_3 (S, x), y), z) -> A_12_36 (A_3_12 (x, z), A_15_12 (y, z))+ A_33_12 (A_5_16 (A_4_3 (S, x), y), z) -> A_12_37 (A_3_12 (x, z), A_16_12 (y, z))+ A_33_12 (A_5_17 (A_4_3 (S, x), y), z) -> A_12_37 (A_3_12 (x, z), A_17_12 (y, z))+ A_33_12 (A_5_18 (A_4_3 (S, x), y), z) -> A_12_37 (A_3_12 (x, z), A_18_12 (y, z))+ A_33_12 (A_5_19 (A_4_3 (S, x), y), z) -> A_12_37 (A_3_12 (x, z), A_19_12 (y, z))+ A_33_12 (A_5_22 (A_4_3 (S, x), y), z) -> A_12_37 (A_3_12 (x, z), A_22_12 (y, z))+ A_33_12 (A_5_23 (A_4_3 (S, x), y), z) -> A_12_36 (A_3_12 (x, z), A_23_12 (y, z))+ A_33_12 (A_5_24 (A_4_3 (S, x), y), z) -> A_12_37 (A_3_12 (x, z), A_24_12 (y, z))+ A_33_12 (A_5_25 (A_4_3 (S, x), y), z) -> A_12_37 (A_3_12 (x, z), A_25_12 (y, z))+ A_33_12 (A_5_26 (A_4_3 (S, x), y), z) -> A_12_37 (A_3_12 (x, z), A_26_12 (y, z))+ A_33_12 (A_5_27 (A_4_3 (S, x), y), z) -> A_12_37 (A_3_12 (x, z), A_27_12 (y, z))+ A_33_12 (A_5_28 (A_4_3 (S, x), y), z) -> A_12_37 (A_3_12 (x, z), A_28_12 (y, z))+ A_33_12 (A_5_32 (A_4_3 (S, x), y), z) -> A_12_37 (A_3_12 (x, z), A_32_12 (y, z))+ A_33_12 (A_5_33 (A_4_3 (S, x), y), z) -> A_12_37 (A_3_12 (x, z), A_33_12 (y, z))+ A_33_13 (A_3_33 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_13 (x, z), A_33_13 (y, z))+ A_33_13 (A_5_6 (A_4_3 (S, x), y), z) -> A_14_36 (A_3_13 (x, z), A_6_13 (y, z))+ A_33_13 (A_5_7 (A_4_3 (S, x), y), z) -> A_14_36 (A_3_13 (x, z), A_7_13 (y, z))+ A_33_13 (A_5_8 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_13 (x, z), A_8_13 (y, z))+ A_33_13 (A_5_9 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_13 (x, z), A_9_13 (y, z))+ A_33_13 (A_5_10 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_13 (x, z), A_10_13 (y, z))+ A_33_13 (A_5_11 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_13 (x, z), A_11_13 (y, z))+ A_33_13 (A_5_12 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_13 (x, z), A_12_13 (y, z))+ A_33_13 (A_5_13 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_13 (x, z), A_13_13 (y, z))+ A_33_13 (A_5_14 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_13 (x, z), A_14_13 (y, z))+ A_33_13 (A_5_15 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_13 (x, z), A_15_13 (y, z))+ A_33_13 (A_5_16 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_13 (x, z), A_16_13 (y, z))+ A_33_13 (A_5_17 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_13 (x, z), A_17_13 (y, z))+ A_33_13 (A_5_18 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_13 (x, z), A_18_13 (y, z))+ A_33_13 (A_5_19 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_13 (x, z), A_19_13 (y, z))+ A_33_13 (A_5_22 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_13 (x, z), A_22_13 (y, z))+ A_33_13 (A_5_23 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_13 (x, z), A_23_13 (y, z))+ A_33_13 (A_5_24 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_13 (x, z), A_24_13 (y, z))+ A_33_13 (A_5_25 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_13 (x, z), A_25_13 (y, z))+ A_33_13 (A_5_26 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_13 (x, z), A_26_13 (y, z))+ A_33_13 (A_5_27 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_13 (x, z), A_27_13 (y, z))+ A_33_13 (A_5_28 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_13 (x, z), A_28_13 (y, z))+ A_33_13 (A_5_32 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_13 (x, z), A_32_13 (y, z))+ A_33_13 (A_5_33 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_13 (x, z), A_33_13 (y, z))+ A_33_14 (A_3_33 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_14 (x, z), A_33_14 (y, z))+ A_33_14 (A_5_6 (A_4_3 (S, x), y), z) -> A_14_36 (A_3_14 (x, z), A_6_14 (y, z))+ A_33_14 (A_5_7 (A_4_3 (S, x), y), z) -> A_14_36 (A_3_14 (x, z), A_7_14 (y, z))+ A_33_14 (A_5_8 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_14 (x, z), A_8_14 (y, z))+ A_33_14 (A_5_9 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_14 (x, z), A_9_14 (y, z))+ A_33_14 (A_5_10 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_14 (x, z), A_10_14 (y, z))+ A_33_14 (A_5_11 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_14 (x, z), A_11_14 (y, z))+ A_33_14 (A_5_12 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_14 (x, z), A_12_14 (y, z))+ A_33_14 (A_5_13 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_14 (x, z), A_13_14 (y, z))+ A_33_14 (A_5_14 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_14 (x, z), A_14_14 (y, z))+ A_33_14 (A_5_15 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_14 (x, z), A_15_14 (y, z))+ A_33_14 (A_5_16 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_14 (x, z), A_16_14 (y, z))+ A_33_14 (A_5_17 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_14 (x, z), A_17_14 (y, z))+ A_33_14 (A_5_18 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_14 (x, z), A_18_14 (y, z))+ A_33_14 (A_5_19 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_14 (x, z), A_19_14 (y, z))+ A_33_14 (A_5_22 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_14 (x, z), A_22_14 (y, z))+ A_33_14 (A_5_23 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_14 (x, z), A_23_14 (y, z))+ A_33_14 (A_5_24 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_14 (x, z), A_24_14 (y, z))+ A_33_14 (A_5_25 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_14 (x, z), A_25_14 (y, z))+ A_33_14 (A_5_26 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_14 (x, z), A_26_14 (y, z))+ A_33_14 (A_5_27 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_14 (x, z), A_27_14 (y, z))+ A_33_14 (A_5_28 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_14 (x, z), A_28_14 (y, z))+ A_33_14 (A_5_32 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_14 (x, z), A_32_14 (y, z))+ A_33_14 (A_5_33 (A_4_3 (S, x), y), z) -> A_14_37 (A_3_14 (x, z), A_33_14 (y, z))+ A_33_15 (A_3_33 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_15 (x, z), A_33_15 (y, z))+ A_33_15 (A_5_6 (A_4_3 (S, x), y), z) -> A_16_36 (A_3_15 (x, z), A_6_15 (y, z))+ A_33_15 (A_5_7 (A_4_3 (S, x), y), z) -> A_16_36 (A_3_15 (x, z), A_7_15 (y, z))+ A_33_15 (A_5_8 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_15 (x, z), A_8_15 (y, z))+ A_33_15 (A_5_9 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_15 (x, z), A_9_15 (y, z))+ A_33_15 (A_5_10 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_15 (x, z), A_10_15 (y, z))+ A_33_15 (A_5_11 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_15 (x, z), A_11_15 (y, z))+ A_33_15 (A_5_12 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_15 (x, z), A_12_15 (y, z))+ A_33_15 (A_5_13 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_15 (x, z), A_13_15 (y, z))+ A_33_15 (A_5_14 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_15 (x, z), A_14_15 (y, z))+ A_33_15 (A_5_15 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_15 (x, z), A_15_15 (y, z))+ A_33_15 (A_5_16 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_15 (x, z), A_16_15 (y, z))+ A_33_15 (A_5_17 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_15 (x, z), A_17_15 (y, z))+ A_33_15 (A_5_18 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_15 (x, z), A_18_15 (y, z))+ A_33_15 (A_5_19 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_15 (x, z), A_19_15 (y, z))+ A_33_15 (A_5_22 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_15 (x, z), A_22_15 (y, z))+ A_33_15 (A_5_23 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_15 (x, z), A_23_15 (y, z))+ A_33_15 (A_5_24 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_15 (x, z), A_24_15 (y, z))+ A_33_15 (A_5_25 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_15 (x, z), A_25_15 (y, z))+ A_33_15 (A_5_26 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_15 (x, z), A_26_15 (y, z))+ A_33_15 (A_5_27 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_15 (x, z), A_27_15 (y, z))+ A_33_15 (A_5_28 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_15 (x, z), A_28_15 (y, z))+ A_33_15 (A_5_32 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_15 (x, z), A_32_15 (y, z))+ A_33_15 (A_5_33 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_15 (x, z), A_33_15 (y, z))+ A_33_16 (A_3_33 (A_4_4 (S, x), y), z) -> A_18_37 (A_4_16 (x, z), A_33_16 (y, z))+ A_33_16 (A_5_6 (A_4_3 (S, x), y), z) -> A_16_36 (A_3_16 (x, z), A_6_16 (y, z))+ A_33_16 (A_5_7 (A_4_3 (S, x), y), z) -> A_16_36 (A_3_16 (x, z), A_7_16 (y, z))+ A_33_16 (A_5_8 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_16 (x, z), A_8_16 (y, z))+ A_33_16 (A_5_9 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_16 (x, z), A_9_16 (y, z))+ A_33_16 (A_5_10 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_16 (x, z), A_10_16 (y, z))+ A_33_16 (A_5_11 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_16 (x, z), A_11_16 (y, z))+ A_33_16 (A_5_12 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_16 (x, z), A_12_16 (y, z))+ A_33_16 (A_5_13 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_16 (x, z), A_13_16 (y, z))+ A_33_16 (A_5_14 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_16 (x, z), A_14_16 (y, z))+ A_33_16 (A_5_15 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_16 (x, z), A_15_16 (y, z))+ A_33_16 (A_5_16 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_16 (x, z), A_16_16 (y, z))+ A_33_16 (A_5_17 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_16 (x, z), A_17_16 (y, z))+ A_33_16 (A_5_18 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_16 (x, z), A_18_16 (y, z))+ A_33_16 (A_5_19 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_16 (x, z), A_19_16 (y, z))+ A_33_16 (A_5_22 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_16 (x, z), A_22_16 (y, z))+ A_33_16 (A_5_23 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_16 (x, z), A_23_16 (y, z))+ A_33_16 (A_5_24 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_16 (x, z), A_24_16 (y, z))+ A_33_16 (A_5_25 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_16 (x, z), A_25_16 (y, z))+ A_33_16 (A_5_26 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_16 (x, z), A_26_16 (y, z))+ A_33_16 (A_5_27 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_16 (x, z), A_27_16 (y, z))+ A_33_16 (A_5_28 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_16 (x, z), A_28_16 (y, z))+ A_33_16 (A_5_32 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_16 (x, z), A_32_16 (y, z))+ A_33_16 (A_5_33 (A_4_3 (S, x), y), z) -> A_16_37 (A_3_16 (x, z), A_33_16 (y, z))+ A_33_18 (A_3_33 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_18 (x, z), A_33_18 (y, z))+ A_33_18 (A_5_6 (A_4_3 (S, x), y), z) -> A_18_36 (A_3_18 (x, z), A_6_18 (y, z))+ A_33_18 (A_5_7 (A_4_3 (S, x), y), z) -> A_18_36 (A_3_18 (x, z), A_7_18 (y, z))+ A_33_18 (A_5_8 (A_4_3 (S, x), y), z) -> A_18_37 (A_3_18 (x, z), A_8_18 (y, z))+ A_33_18 (A_5_9 (A_4_3 (S, x), y), z) -> A_18_37 (A_3_18 (x, z), A_9_18 (y, z))+ A_33_18 (A_5_10 (A_4_3 (S, x), y), z) -> A_18_37 (A_3_18 (x, z), A_10_18 (y, z))+ A_33_18 (A_5_11 (A_4_3 (S, x), y), z) -> A_18_37 (A_3_18 (x, z), A_11_18 (y, z))+ A_33_18 (A_5_12 (A_4_3 (S, x), y), z) -> A_18_37 (A_3_18 (x, z), A_12_18 (y, z))+ A_33_18 (A_5_13 (A_4_3 (S, x), y), z) -> A_18_37 (A_3_18 (x, z), A_13_18 (y, z))+ A_33_18 (A_5_14 (A_4_3 (S, x), y), z) -> A_18_37 (A_3_18 (x, z), A_14_18 (y, z))+ A_33_18 (A_5_15 (A_4_3 (S, x), y), z) -> A_18_37 (A_3_18 (x, z), A_15_18 (y, z))+ A_33_18 (A_5_16 (A_4_3 (S, x), y), z) -> A_18_37 (A_3_18 (x, z), A_16_18 (y, z))+ A_33_18 (A_5_17 (A_4_3 (S, x), y), z) -> A_18_37 (A_3_18 (x, z), A_17_18 (y, z))+ A_33_18 (A_5_18 (A_4_3 (S, x), y), z) -> A_18_37 (A_3_18 (x, z), A_18_18 (y, z))+ A_33_18 (A_5_19 (A_4_3 (S, x), y), z) -> A_18_37 (A_3_18 (x, z), A_19_18 (y, z))+ A_33_18 (A_5_22 (A_4_3 (S, x), y), z) -> A_18_37 (A_3_18 (x, z), A_22_18 (y, z))+ A_33_18 (A_5_23 (A_4_3 (S, x), y), z) -> A_18_37 (A_3_18 (x, z), A_23_18 (y, z))+ A_33_18 (A_5_24 (A_4_3 (S, x), y), z) -> A_18_37 (A_3_18 (x, z), A_24_18 (y, z))+ A_33_18 (A_5_25 (A_4_3 (S, x), y), z) -> A_18_37 (A_3_18 (x, z), A_25_18 (y, z))+ A_33_18 (A_5_26 (A_4_3 (S, x), y), z) -> A_18_37 (A_3_18 (x, z), A_26_18 (y, z))+ A_33_18 (A_5_27 (A_4_3 (S, x), y), z) -> A_18_37 (A_3_18 (x, z), A_27_18 (y, z))+ A_33_18 (A_5_28 (A_4_3 (S, x), y), z) -> A_18_37 (A_3_18 (x, z), A_28_18 (y, z))+ A_33_18 (A_5_32 (A_4_3 (S, x), y), z) -> A_18_37 (A_3_18 (x, z), A_32_18 (y, z))+ A_33_18 (A_5_33 (A_4_3 (S, x), y), z) -> A_18_37 (A_3_18 (x, z), A_33_18 (y, z))+ A_33_23 (A_3_33 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_23 (x, z), A_33_23 (y, z))+ A_33_23 (A_5_6 (A_4_3 (S, x), y), z) -> A_26_36 (A_3_23 (x, z), A_6_23 (y, z))+ A_33_23 (A_5_7 (A_4_3 (S, x), y), z) -> A_26_36 (A_3_23 (x, z), A_7_23 (y, z))+ A_33_23 (A_5_8 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_23 (x, z), A_8_23 (y, z))+ A_33_23 (A_5_9 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_23 (x, z), A_9_23 (y, z))+ A_33_23 (A_5_10 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_23 (x, z), A_10_23 (y, z))+ A_33_23 (A_5_11 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_23 (x, z), A_11_23 (y, z))+ A_33_23 (A_5_12 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_23 (x, z), A_12_23 (y, z))+ A_33_23 (A_5_13 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_23 (x, z), A_13_23 (y, z))+ A_33_23 (A_5_14 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_23 (x, z), A_14_23 (y, z))+ A_33_23 (A_5_15 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_23 (x, z), A_15_23 (y, z))+ A_33_23 (A_5_16 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_23 (x, z), A_16_23 (y, z))+ A_33_23 (A_5_17 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_23 (x, z), A_17_23 (y, z))+ A_33_23 (A_5_18 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_23 (x, z), A_18_23 (y, z))+ A_33_23 (A_5_19 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_23 (x, z), A_19_23 (y, z))+ A_33_23 (A_5_22 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_23 (x, z), A_22_23 (y, z))+ A_33_23 (A_5_23 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_23 (x, z), A_23_23 (y, z))+ A_33_23 (A_5_24 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_23 (x, z), A_24_23 (y, z))+ A_33_23 (A_5_25 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_23 (x, z), A_25_23 (y, z))+ A_33_23 (A_5_26 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_23 (x, z), A_26_23 (y, z))+ A_33_23 (A_5_27 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_23 (x, z), A_27_23 (y, z))+ A_33_23 (A_5_28 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_23 (x, z), A_28_23 (y, z))+ A_33_23 (A_5_32 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_23 (x, z), A_32_23 (y, z))+ A_33_23 (A_5_33 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_23 (x, z), A_33_23 (y, z))+ A_33_26 (A_3_33 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_26 (x, z), A_33_26 (y, z))+ A_33_26 (A_5_6 (A_4_3 (S, x), y), z) -> A_26_36 (A_3_26 (x, z), A_6_26 (y, z))+ A_33_26 (A_5_7 (A_4_3 (S, x), y), z) -> A_26_36 (A_3_26 (x, z), A_7_26 (y, z))+ A_33_26 (A_5_8 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_26 (x, z), A_8_26 (y, z))+ A_33_26 (A_5_9 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_26 (x, z), A_9_26 (y, z))+ A_33_26 (A_5_10 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_26 (x, z), A_10_26 (y, z))+ A_33_26 (A_5_11 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_26 (x, z), A_11_26 (y, z))+ A_33_26 (A_5_12 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_26 (x, z), A_12_26 (y, z))+ A_33_26 (A_5_13 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_26 (x, z), A_13_26 (y, z))+ A_33_26 (A_5_14 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_26 (x, z), A_14_26 (y, z))+ A_33_26 (A_5_15 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_26 (x, z), A_15_26 (y, z))+ A_33_26 (A_5_16 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_26 (x, z), A_16_26 (y, z))+ A_33_26 (A_5_17 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_26 (x, z), A_17_26 (y, z))+ A_33_26 (A_5_18 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_26 (x, z), A_18_26 (y, z))+ A_33_26 (A_5_19 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_26 (x, z), A_19_26 (y, z))+ A_33_26 (A_5_22 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_26 (x, z), A_22_26 (y, z))+ A_33_26 (A_5_23 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_26 (x, z), A_23_26 (y, z))+ A_33_26 (A_5_24 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_26 (x, z), A_24_26 (y, z))+ A_33_26 (A_5_25 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_26 (x, z), A_25_26 (y, z))+ A_33_26 (A_5_26 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_26 (x, z), A_26_26 (y, z))+ A_33_26 (A_5_27 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_26 (x, z), A_27_26 (y, z))+ A_33_26 (A_5_28 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_26 (x, z), A_28_26 (y, z))+ A_33_26 (A_5_32 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_26 (x, z), A_32_26 (y, z))+ A_33_26 (A_5_33 (A_4_3 (S, x), y), z) -> A_26_37 (A_3_26 (x, z), A_33_26 (y, z))+ A_33_28 (A_3_33 (A_4_4 (S, x), y), z) -> A_28_37 (A_4_28 (x, z), A_33_28 (y, z))+ A_33_28 (A_5_6 (A_4_3 (S, x), y), z) -> A_28_36 (A_3_28 (x, z), A_6_28 (y, z))+ A_33_28 (A_5_7 (A_4_3 (S, x), y), z) -> A_28_36 (A_3_28 (x, z), A_7_28 (y, z))+ A_33_28 (A_5_8 (A_4_3 (S, x), y), z) -> A_28_37 (A_3_28 (x, z), A_8_28 (y, z))+ A_33_28 (A_5_9 (A_4_3 (S, x), y), z) -> A_28_37 (A_3_28 (x, z), A_9_28 (y, z))+ A_33_28 (A_5_10 (A_4_3 (S, x), y), z) -> A_28_37 (A_3_28 (x, z), A_10_28 (y, z))+ A_33_28 (A_5_11 (A_4_3 (S, x), y), z) -> A_28_37 (A_3_28 (x, z), A_11_28 (y, z))+ A_33_28 (A_5_12 (A_4_3 (S, x), y), z) -> A_28_37 (A_3_28 (x, z), A_12_28 (y, z))+ A_33_28 (A_5_13 (A_4_3 (S, x), y), z) -> A_28_37 (A_3_28 (x, z), A_13_28 (y, z))+ A_33_28 (A_5_14 (A_4_3 (S, x), y), z) -> A_28_37 (A_3_28 (x, z), A_14_28 (y, z))+ A_33_28 (A_5_15 (A_4_3 (S, x), y), z) -> A_28_37 (A_3_28 (x, z), A_15_28 (y, z))+ A_33_28 (A_5_16 (A_4_3 (S, x), y), z) -> A_28_37 (A_3_28 (x, z), A_16_28 (y, z))+ A_33_28 (A_5_17 (A_4_3 (S, x), y), z) -> A_28_37 (A_3_28 (x, z), A_17_28 (y, z))+ A_33_28 (A_5_18 (A_4_3 (S, x), y), z) -> A_28_37 (A_3_28 (x, z), A_18_28 (y, z))+ A_33_28 (A_5_19 (A_4_3 (S, x), y), z) -> A_28_37 (A_3_28 (x, z), A_19_28 (y, z))+ A_33_28 (A_5_22 (A_4_3 (S, x), y), z) -> A_28_37 (A_3_28 (x, z), A_22_28 (y, z))+ A_33_28 (A_5_23 (A_4_3 (S, x), y), z) -> A_28_37 (A_3_28 (x, z), A_23_28 (y, z))+ A_33_28 (A_5_24 (A_4_3 (S, x), y), z) -> A_28_37 (A_3_28 (x, z), A_24_28 (y, z))+ A_33_28 (A_5_25 (A_4_3 (S, x), y), z) -> A_28_37 (A_3_28 (x, z), A_25_28 (y, z))+ A_33_28 (A_5_26 (A_4_3 (S, x), y), z) -> A_28_37 (A_3_28 (x, z), A_26_28 (y, z))+ A_33_28 (A_5_27 (A_4_3 (S, x), y), z) -> A_28_37 (A_3_28 (x, z), A_27_28 (y, z))+ A_33_28 (A_5_28 (A_4_3 (S, x), y), z) -> A_28_37 (A_3_28 (x, z), A_28_28 (y, z))+ A_33_28 (A_5_32 (A_4_3 (S, x), y), z) -> A_28_37 (A_3_28 (x, z), A_32_28 (y, z))+ A_33_28 (A_5_33 (A_4_3 (S, x), y), z) -> A_28_37 (A_3_28 (x, z), A_33_28 (y, z))+ A_36_4 (A_3_36 (A_4_4 (S, x), y), z) -> A_3_37 (A_4_4 (x, z), A_36_4 (y, z))+ A_36_4 (A_5_34 (A_4_3 (S, x), y), z) -> A_0_35 (A_3_4 (x, z), A_34_4 (y, z))+ A_36_4 (A_5_35 (A_4_3 (S, x), y), z) -> A_0_36 (A_3_4 (x, z), A_35_4 (y, z))+ A_36_4 (A_5_36 (A_4_3 (S, x), y), z) -> A_0_37 (A_3_4 (x, z), A_36_4 (y, z))+ A_36_4 (A_6_5 (A_4_0 (S, x), y), z) -> A_1_19 (A_0_4 (x, z), A_5_4 (y, z))+ A_36_4 (A_6_6 (A_4_0 (S, x), y), z) -> A_1_20 (A_0_4 (x, z), A_6_4 (y, z))+ A_36_4 (A_6_7 (A_4_0 (S, x), y), z) -> A_1_21 (A_0_4 (x, z), A_7_4 (y, z))+ A_36_4 (A_6_8 (A_4_0 (S, x), y), z) -> A_1_20 (A_0_4 (x, z), A_8_4 (y, z))+ A_36_4 (A_6_9 (A_4_0 (S, x), y), z) -> A_1_19 (A_0_4 (x, z), A_9_4 (y, z))+ A_36_4 (A_6_10 (A_4_0 (S, x), y), z) -> A_1_21 (A_0_4 (x, z), A_10_4 (y, z))+ A_36_4 (A_6_11 (A_4_0 (S, x), y), z) -> A_1_25 (A_0_4 (x, z), A_11_4 (y, z))+ A_36_4 (A_6_12 (A_4_0 (S, x), y), z) -> A_1_25 (A_0_4 (x, z), A_12_4 (y, z))+ A_36_4 (A_6_13 (A_4_0 (S, x), y), z) -> A_1_30 (A_0_4 (x, z), A_13_4 (y, z))+ A_36_4 (A_6_14 (A_4_0 (S, x), y), z) -> A_1_30 (A_0_4 (x, z), A_14_4 (y, z))+ A_36_4 (A_6_15 (A_4_0 (S, x), y), z) -> A_1_31 (A_0_4 (x, z), A_15_4 (y, z))+ A_36_4 (A_6_16 (A_4_0 (S, x), y), z) -> A_1_31 (A_0_4 (x, z), A_16_4 (y, z))+ A_36_4 (A_6_17 (A_4_0 (S, x), y), z) -> A_1_36 (A_0_4 (x, z), A_17_4 (y, z))+ A_36_4 (A_6_18 (A_4_0 (S, x), y), z) -> A_1_36 (A_0_4 (x, z), A_18_4 (y, z))+ A_36_4 (A_6_19 (A_4_0 (S, x), y), z) -> A_1_27 (A_0_4 (x, z), A_19_4 (y, z))+ A_36_4 (A_6_20 (A_4_0 (S, x), y), z) -> A_1_32 (A_0_4 (x, z), A_20_4 (y, z))+ A_36_4 (A_6_21 (A_4_0 (S, x), y), z) -> A_1_33 (A_0_4 (x, z), A_21_4 (y, z))+ A_36_4 (A_6_22 (A_4_0 (S, x), y), z) -> A_1_37 (A_0_4 (x, z), A_22_4 (y, z))+ A_36_4 (A_6_23 (A_4_0 (S, x), y), z) -> A_1_36 (A_0_4 (x, z), A_23_4 (y, z))+ A_36_4 (A_6_24 (A_4_0 (S, x), y), z) -> A_1_36 (A_0_4 (x, z), A_24_4 (y, z))+ A_36_4 (A_6_25 (A_4_0 (S, x), y), z) -> A_1_36 (A_0_4 (x, z), A_25_4 (y, z))+ A_36_4 (A_6_26 (A_4_0 (S, x), y), z) -> A_1_36 (A_0_4 (x, z), A_26_4 (y, z))+ A_36_4 (A_6_27 (A_4_0 (S, x), y), z) -> A_1_37 (A_0_4 (x, z), A_27_4 (y, z))+ A_36_4 (A_6_28 (A_4_0 (S, x), y), z) -> A_1_37 (A_0_4 (x, z), A_28_4 (y, z))+ A_36_4 (A_6_29 (A_4_0 (S, x), y), z) -> A_1_34 (A_0_4 (x, z), A_29_4 (y, z))+ A_36_4 (A_6_30 (A_4_0 (S, x), y), z) -> A_1_36 (A_0_4 (x, z), A_30_4 (y, z))+ A_36_4 (A_6_31 (A_4_0 (S, x), y), z) -> A_1_37 (A_0_4 (x, z), A_31_4 (y, z))+ A_36_4 (A_6_32 (A_4_0 (S, x), y), z) -> A_1_36 (A_0_4 (x, z), A_32_4 (y, z))+ A_36_4 (A_6_33 (A_4_0 (S, x), y), z) -> A_1_37 (A_0_4 (x, z), A_33_4 (y, z))+ A_36_4 (A_6_34 (A_4_0 (S, x), y), z) -> A_1_35 (A_0_4 (x, z), A_34_4 (y, z))+ A_36_4 (A_6_35 (A_4_0 (S, x), y), z) -> A_1_36 (A_0_4 (x, z), A_35_4 (y, z))+ A_36_4 (A_6_36 (A_4_0 (S, x), y), z) -> A_1_37 (A_0_4 (x, z), A_36_4 (y, z))+ A_36_4 (A_7_5 (A_4_1 (S, x), y), z) -> A_2_19 (A_1_4 (x, z), A_5_4 (y, z))+ A_36_4 (A_7_5 (A_4_2 (S, x), y), z) -> A_2_19 (A_2_4 (x, z), A_5_4 (y, z))+ A_36_4 (A_7_6 (A_4_1 (S, x), y), z) -> A_2_20 (A_1_4 (x, z), A_6_4 (y, z))+ A_36_4 (A_7_6 (A_4_2 (S, x), y), z) -> A_2_20 (A_2_4 (x, z), A_6_4 (y, z))+ A_36_4 (A_7_7 (A_4_1 (S, x), y), z) -> A_2_21 (A_1_4 (x, z), A_7_4 (y, z))+ A_36_4 (A_7_7 (A_4_2 (S, x), y), z) -> A_2_21 (A_2_4 (x, z), A_7_4 (y, z))+ A_36_4 (A_7_8 (A_4_1 (S, x), y), z) -> A_2_20 (A_1_4 (x, z), A_8_4 (y, z))+ A_36_4 (A_7_8 (A_4_2 (S, x), y), z) -> A_2_20 (A_2_4 (x, z), A_8_4 (y, z))+ A_36_4 (A_7_9 (A_4_1 (S, x), y), z) -> A_2_19 (A_1_4 (x, z), A_9_4 (y, z))+ A_36_4 (A_7_9 (A_4_2 (S, x), y), z) -> A_2_19 (A_2_4 (x, z), A_9_4 (y, z))+ A_36_4 (A_7_10 (A_4_1 (S, x), y), z) -> A_2_21 (A_1_4 (x, z), A_10_4 (y, z))+ A_36_4 (A_7_10 (A_4_2 (S, x), y), z) -> A_2_21 (A_2_4 (x, z), A_10_4 (y, z))+ A_36_4 (A_7_11 (A_4_1 (S, x), y), z) -> A_2_25 (A_1_4 (x, z), A_11_4 (y, z))+ A_36_4 (A_7_11 (A_4_2 (S, x), y), z) -> A_2_25 (A_2_4 (x, z), A_11_4 (y, z))+ A_36_4 (A_7_12 (A_4_1 (S, x), y), z) -> A_2_25 (A_1_4 (x, z), A_12_4 (y, z))+ A_36_4 (A_7_12 (A_4_2 (S, x), y), z) -> A_2_25 (A_2_4 (x, z), A_12_4 (y, z))+ A_36_4 (A_7_13 (A_4_1 (S, x), y), z) -> A_2_30 (A_1_4 (x, z), A_13_4 (y, z))+ A_36_4 (A_7_13 (A_4_2 (S, x), y), z) -> A_2_30 (A_2_4 (x, z), A_13_4 (y, z))+ A_36_4 (A_7_14 (A_4_1 (S, x), y), z) -> A_2_30 (A_1_4 (x, z), A_14_4 (y, z))+ A_36_4 (A_7_14 (A_4_2 (S, x), y), z) -> A_2_30 (A_2_4 (x, z), A_14_4 (y, z))+ A_36_4 (A_7_15 (A_4_1 (S, x), y), z) -> A_2_31 (A_1_4 (x, z), A_15_4 (y, z))+ A_36_4 (A_7_15 (A_4_2 (S, x), y), z) -> A_2_31 (A_2_4 (x, z), A_15_4 (y, z))+ A_36_4 (A_7_16 (A_4_1 (S, x), y), z) -> A_2_31 (A_1_4 (x, z), A_16_4 (y, z))+ A_36_4 (A_7_16 (A_4_2 (S, x), y), z) -> A_2_31 (A_2_4 (x, z), A_16_4 (y, z))+ A_36_4 (A_7_17 (A_4_1 (S, x), y), z) -> A_2_36 (A_1_4 (x, z), A_17_4 (y, z))+ A_36_4 (A_7_17 (A_4_2 (S, x), y), z) -> A_2_36 (A_2_4 (x, z), A_17_4 (y, z))+ A_36_4 (A_7_18 (A_4_1 (S, x), y), z) -> A_2_36 (A_1_4 (x, z), A_18_4 (y, z))+ A_36_4 (A_7_18 (A_4_2 (S, x), y), z) -> A_2_36 (A_2_4 (x, z), A_18_4 (y, z))+ A_36_4 (A_7_19 (A_4_1 (S, x), y), z) -> A_2_27 (A_1_4 (x, z), A_19_4 (y, z))+ A_36_4 (A_7_19 (A_4_2 (S, x), y), z) -> A_2_27 (A_2_4 (x, z), A_19_4 (y, z))+ A_36_4 (A_7_20 (A_4_1 (S, x), y), z) -> A_2_32 (A_1_4 (x, z), A_20_4 (y, z))+ A_36_4 (A_7_20 (A_4_2 (S, x), y), z) -> A_2_32 (A_2_4 (x, z), A_20_4 (y, z))+ A_36_4 (A_7_21 (A_4_1 (S, x), y), z) -> A_2_33 (A_1_4 (x, z), A_21_4 (y, z))+ A_36_4 (A_7_21 (A_4_2 (S, x), y), z) -> A_2_33 (A_2_4 (x, z), A_21_4 (y, z))+ A_36_4 (A_7_22 (A_4_1 (S, x), y), z) -> A_2_37 (A_1_4 (x, z), A_22_4 (y, z))+ A_36_4 (A_7_22 (A_4_2 (S, x), y), z) -> A_2_37 (A_2_4 (x, z), A_22_4 (y, z))+ A_36_4 (A_7_23 (A_4_1 (S, x), y), z) -> A_2_36 (A_1_4 (x, z), A_23_4 (y, z))+ A_36_4 (A_7_23 (A_4_2 (S, x), y), z) -> A_2_36 (A_2_4 (x, z), A_23_4 (y, z))+ A_36_4 (A_7_24 (A_4_1 (S, x), y), z) -> A_2_36 (A_1_4 (x, z), A_24_4 (y, z))+ A_36_4 (A_7_24 (A_4_2 (S, x), y), z) -> A_2_36 (A_2_4 (x, z), A_24_4 (y, z))+ A_36_4 (A_7_25 (A_4_1 (S, x), y), z) -> A_2_36 (A_1_4 (x, z), A_25_4 (y, z))+ A_36_4 (A_7_25 (A_4_2 (S, x), y), z) -> A_2_36 (A_2_4 (x, z), A_25_4 (y, z))+ A_36_4 (A_7_26 (A_4_1 (S, x), y), z) -> A_2_36 (A_1_4 (x, z), A_26_4 (y, z))+ A_36_4 (A_7_26 (A_4_2 (S, x), y), z) -> A_2_36 (A_2_4 (x, z), A_26_4 (y, z))+ A_36_4 (A_7_27 (A_4_1 (S, x), y), z) -> A_2_37 (A_1_4 (x, z), A_27_4 (y, z))+ A_36_4 (A_7_27 (A_4_2 (S, x), y), z) -> A_2_37 (A_2_4 (x, z), A_27_4 (y, z))+ A_36_4 (A_7_28 (A_4_1 (S, x), y), z) -> A_2_37 (A_1_4 (x, z), A_28_4 (y, z))+ A_36_4 (A_7_28 (A_4_2 (S, x), y), z) -> A_2_37 (A_2_4 (x, z), A_28_4 (y, z))+ A_36_4 (A_7_29 (A_4_1 (S, x), y), z) -> A_2_34 (A_1_4 (x, z), A_29_4 (y, z))+ A_36_4 (A_7_29 (A_4_2 (S, x), y), z) -> A_2_34 (A_2_4 (x, z), A_29_4 (y, z))+ A_36_4 (A_7_30 (A_4_1 (S, x), y), z) -> A_2_36 (A_1_4 (x, z), A_30_4 (y, z))+ A_36_4 (A_7_30 (A_4_2 (S, x), y), z) -> A_2_36 (A_2_4 (x, z), A_30_4 (y, z))+ A_36_4 (A_7_31 (A_4_1 (S, x), y), z) -> A_2_37 (A_1_4 (x, z), A_31_4 (y, z))+ A_36_4 (A_7_31 (A_4_2 (S, x), y), z) -> A_2_37 (A_2_4 (x, z), A_31_4 (y, z))+ A_36_4 (A_7_32 (A_4_1 (S, x), y), z) -> A_2_36 (A_1_4 (x, z), A_32_4 (y, z))+ A_36_4 (A_7_32 (A_4_2 (S, x), y), z) -> A_2_36 (A_2_4 (x, z), A_32_4 (y, z))+ A_36_4 (A_7_33 (A_4_1 (S, x), y), z) -> A_2_37 (A_1_4 (x, z), A_33_4 (y, z))+ A_36_4 (A_7_33 (A_4_2 (S, x), y), z) -> A_2_37 (A_2_4 (x, z), A_33_4 (y, z))+ A_36_4 (A_7_34 (A_4_1 (S, x), y), z) -> A_2_35 (A_1_4 (x, z), A_34_4 (y, z))+ A_36_4 (A_7_34 (A_4_2 (S, x), y), z) -> A_2_35 (A_2_4 (x, z), A_34_4 (y, z))+ A_36_4 (A_7_35 (A_4_1 (S, x), y), z) -> A_2_36 (A_1_4 (x, z), A_35_4 (y, z))+ A_36_4 (A_7_35 (A_4_2 (S, x), y), z) -> A_2_36 (A_2_4 (x, z), A_35_4 (y, z))+ A_36_4 (A_7_36 (A_4_1 (S, x), y), z) -> A_2_37 (A_1_4 (x, z), A_36_4 (y, z))+ A_36_4 (A_7_36 (A_4_2 (S, x), y), z) -> A_2_37 (A_2_4 (x, z), A_36_4 (y, z))+ A_36_4 (A_11_0 (A_4_5 (S, x), y), z) -> A_19_1 (A_5_4 (x, z), A_0_4 (y, z))+ A_36_4 (A_11_1 (A_4_5 (S, x), y), z) -> A_19_2 (A_5_4 (x, z), A_1_4 (y, z))+ A_36_4 (A_11_2 (A_4_5 (S, x), y), z) -> A_19_2 (A_5_4 (x, z), A_2_4 (y, z))+ A_36_4 (A_11_5 (A_4_5 (S, x), y), z) -> A_19_19 (A_5_4 (x, z), A_5_4 (y, z))+ A_36_4 (A_11_9 (A_4_5 (S, x), y), z) -> A_19_19 (A_5_4 (x, z), A_9_4 (y, z))+ A_36_4 (A_11_11 (A_4_5 (S, x), y), z) -> A_19_25 (A_5_4 (x, z), A_11_4 (y, z))+ A_36_4 (A_11_12 (A_4_5 (S, x), y), z) -> A_19_25 (A_5_4 (x, z), A_12_4 (y, z))+ A_36_4 (A_11_19 (A_4_5 (S, x), y), z) -> A_19_27 (A_5_4 (x, z), A_19_4 (y, z))+ A_36_4 (A_11_20 (A_4_5 (S, x), y), z) -> A_19_32 (A_5_4 (x, z), A_20_4 (y, z))+ A_36_4 (A_11_21 (A_4_5 (S, x), y), z) -> A_19_33 (A_5_4 (x, z), A_21_4 (y, z))+ A_36_4 (A_13_0 (A_4_9 (S, x), y), z) -> A_19_1 (A_9_4 (x, z), A_0_4 (y, z))+ A_36_4 (A_13_1 (A_4_9 (S, x), y), z) -> A_19_2 (A_9_4 (x, z), A_1_4 (y, z))+ A_36_4 (A_13_2 (A_4_9 (S, x), y), z) -> A_19_2 (A_9_4 (x, z), A_2_4 (y, z))+ A_36_4 (A_13_5 (A_4_9 (S, x), y), z) -> A_19_19 (A_9_4 (x, z), A_5_4 (y, z))+ A_36_4 (A_13_9 (A_4_9 (S, x), y), z) -> A_19_19 (A_9_4 (x, z), A_9_4 (y, z))+ A_36_4 (A_13_11 (A_4_9 (S, x), y), z) -> A_19_25 (A_9_4 (x, z), A_11_4 (y, z))+ A_36_4 (A_13_12 (A_4_9 (S, x), y), z) -> A_19_25 (A_9_4 (x, z), A_12_4 (y, z))+ A_36_4 (A_13_19 (A_4_9 (S, x), y), z) -> A_19_27 (A_9_4 (x, z), A_19_4 (y, z))+ A_36_4 (A_13_20 (A_4_9 (S, x), y), z) -> A_19_32 (A_9_4 (x, z), A_20_4 (y, z))+ A_36_4 (A_13_21 (A_4_9 (S, x), y), z) -> A_19_33 (A_9_4 (x, z), A_21_4 (y, z))+ A_36_4 (A_15_0 (A_4_11 (S, x), y), z) -> A_25_1 (A_11_4 (x, z), A_0_4 (y, z))+ A_36_4 (A_15_0 (A_4_12 (S, x), y), z) -> A_25_1 (A_12_4 (x, z), A_0_4 (y, z))+ A_36_4 (A_15_1 (A_4_11 (S, x), y), z) -> A_25_2 (A_11_4 (x, z), A_1_4 (y, z))+ A_36_4 (A_15_1 (A_4_12 (S, x), y), z) -> A_25_2 (A_12_4 (x, z), A_1_4 (y, z))+ A_36_4 (A_15_2 (A_4_11 (S, x), y), z) -> A_25_2 (A_11_4 (x, z), A_2_4 (y, z))+ A_36_4 (A_15_2 (A_4_12 (S, x), y), z) -> A_25_2 (A_12_4 (x, z), A_2_4 (y, z))+ A_36_4 (A_15_5 (A_4_11 (S, x), y), z) -> A_25_19 (A_11_4 (x, z), A_5_4 (y, z))+ A_36_4 (A_15_5 (A_4_12 (S, x), y), z) -> A_25_19 (A_12_4 (x, z), A_5_4 (y, z))+ A_36_4 (A_15_9 (A_4_11 (S, x), y), z) -> A_25_19 (A_11_4 (x, z), A_9_4 (y, z))+ A_36_4 (A_15_9 (A_4_12 (S, x), y), z) -> A_25_19 (A_12_4 (x, z), A_9_4 (y, z))+ A_36_4 (A_15_11 (A_4_11 (S, x), y), z) -> A_25_25 (A_11_4 (x, z), A_11_4 (y, z))+ A_36_4 (A_15_11 (A_4_12 (S, x), y), z) -> A_25_25 (A_12_4 (x, z), A_11_4 (y, z))+ A_36_4 (A_15_12 (A_4_11 (S, x), y), z) -> A_25_25 (A_11_4 (x, z), A_12_4 (y, z))+ A_36_4 (A_15_12 (A_4_12 (S, x), y), z) -> A_25_25 (A_12_4 (x, z), A_12_4 (y, z))+ A_36_4 (A_15_19 (A_4_11 (S, x), y), z) -> A_25_27 (A_11_4 (x, z), A_19_4 (y, z))+ A_36_4 (A_15_19 (A_4_12 (S, x), y), z) -> A_25_27 (A_12_4 (x, z), A_19_4 (y, z))+ A_36_4 (A_15_20 (A_4_11 (S, x), y), z) -> A_25_32 (A_11_4 (x, z), A_20_4 (y, z))+ A_36_4 (A_15_20 (A_4_12 (S, x), y), z) -> A_25_32 (A_12_4 (x, z), A_20_4 (y, z))+ A_36_4 (A_15_21 (A_4_11 (S, x), y), z) -> A_25_33 (A_11_4 (x, z), A_21_4 (y, z))+ A_36_4 (A_15_21 (A_4_12 (S, x), y), z) -> A_25_33 (A_12_4 (x, z), A_21_4 (y, z))+ A_36_4 (A_18_4 (A_4_6 (S, x), y), z) -> A_20_3 (A_6_4 (x, z), A_4_4 (y, z))+ A_36_4 (A_18_4 (A_4_7 (S, x), y), z) -> A_21_3 (A_7_4 (x, z), A_4_4 (y, z))+ A_36_4 (A_18_4 (A_4_8 (S, x), y), z) -> A_20_3 (A_8_4 (x, z), A_4_4 (y, z))+ A_36_4 (A_18_4 (A_4_10 (S, x), y), z) -> A_21_3 (A_10_4 (x, z), A_4_4 (y, z))+ A_36_4 (A_18_4 (A_4_13 (S, x), y), z) -> A_30_3 (A_13_4 (x, z), A_4_4 (y, z))+ A_36_4 (A_18_4 (A_4_14 (S, x), y), z) -> A_30_3 (A_14_4 (x, z), A_4_4 (y, z))+ A_36_4 (A_18_4 (A_4_15 (S, x), y), z) -> A_31_3 (A_15_4 (x, z), A_4_4 (y, z))+ A_36_4 (A_18_4 (A_4_16 (S, x), y), z) -> A_31_3 (A_16_4 (x, z), A_4_4 (y, z))+ A_36_4 (A_23_0 (A_4_19 (S, x), y), z) -> A_27_1 (A_19_4 (x, z), A_0_4 (y, z))+ A_36_4 (A_23_1 (A_4_19 (S, x), y), z) -> A_27_2 (A_19_4 (x, z), A_1_4 (y, z))+ A_36_4 (A_23_2 (A_4_19 (S, x), y), z) -> A_27_2 (A_19_4 (x, z), A_2_4 (y, z))+ A_36_4 (A_23_3 (A_4_19 (S, x), y), z) -> A_27_0 (A_19_4 (x, z), A_3_4 (y, z))+ A_36_4 (A_23_4 (A_4_19 (S, x), y), z) -> A_27_3 (A_19_4 (x, z), A_4_4 (y, z))+ A_36_4 (A_23_5 (A_4_19 (S, x), y), z) -> A_27_19 (A_19_4 (x, z), A_5_4 (y, z))+ A_36_4 (A_23_9 (A_4_19 (S, x), y), z) -> A_27_19 (A_19_4 (x, z), A_9_4 (y, z))+ A_36_4 (A_23_11 (A_4_19 (S, x), y), z) -> A_27_25 (A_19_4 (x, z), A_11_4 (y, z))+ A_36_4 (A_23_12 (A_4_19 (S, x), y), z) -> A_27_25 (A_19_4 (x, z), A_12_4 (y, z))+ A_36_4 (A_26_0 (A_4_20 (S, x), y), z) -> A_32_1 (A_20_4 (x, z), A_0_4 (y, z))+ A_36_4 (A_26_0 (A_4_21 (S, x), y), z) -> A_33_1 (A_21_4 (x, z), A_0_4 (y, z))+ A_36_4 (A_26_1 (A_4_20 (S, x), y), z) -> A_32_2 (A_20_4 (x, z), A_1_4 (y, z))+ A_36_4 (A_26_1 (A_4_21 (S, x), y), z) -> A_33_2 (A_21_4 (x, z), A_1_4 (y, z))+ A_36_4 (A_26_2 (A_4_20 (S, x), y), z) -> A_32_2 (A_20_4 (x, z), A_2_4 (y, z))+ A_36_4 (A_26_2 (A_4_21 (S, x), y), z) -> A_33_2 (A_21_4 (x, z), A_2_4 (y, z))+ A_36_4 (A_26_3 (A_4_20 (S, x), y), z) -> A_32_0 (A_20_4 (x, z), A_3_4 (y, z))+ A_36_4 (A_26_3 (A_4_21 (S, x), y), z) -> A_33_0 (A_21_4 (x, z), A_3_4 (y, z))+ A_36_4 (A_26_4 (A_4_20 (S, x), y), z) -> A_32_3 (A_20_4 (x, z), A_4_4 (y, z))+ A_36_4 (A_26_4 (A_4_21 (S, x), y), z) -> A_33_3 (A_21_4 (x, z), A_4_4 (y, z)))
+ test/rel12.srs view
@@ -0,0 +1,6 @@+(RULES+b p b -> a b a p b a,+p ->= a p a , +a p a ->= p +)+
tpdb.cabal view
@@ -1,7 +1,7 @@-Cabal-Version: 2.4+Cabal-Version: 3.0 Name: tpdb-Version: 2.3.0+Version: 2.7.1 Author: Alexander Bau, Johannes Waldmann Maintainer: Johannes Waldmann@@ -20,9 +20,7 @@ Homepage: https://github.com/jwaldmann/haskell-tpdb -tested-with: GHC == 9.0.1 , GHC == 8.10.4 , GHC == 8.8.4- , GHC == 8.6.5 , GHC == 8.4.4- , GHC == 8.2.2 , GHC == 8.0.2 , GHC == 7.10.3+tested-with: GHC == 9.6.2 Extra-Source-Files: test/*.xml, test/*.trs , test/*.srs, test/*.cpf@@ -38,7 +36,9 @@ Hs-Source-Dirs: src default-language: Haskell2010 Exposed-Modules:- TPDB.Data, TPDB.Data.Term, TPDB.Data.Rule, TPDB.Data.Attributes, TPDB.Data.Xml,+ TPDB.Data, TPDB.Data.Identifier,+ TPDB.Data.Term, TPDB.Data.Term.Plain, TPDB.Data.Term.Cached,+ TPDB.Data.Rule, TPDB.Data.Attributes, TPDB.Data.Xml, -- TPDB.Compress, TPDB.Convert, TPDB.Input, TPDB.Input.File, TPDB.Input.Memory, TPDB.Mirror,@@ -59,6 +59,11 @@ main-is: srs2trs.hs default-language: Haskell2010 +Executable xtc2srs+ build-depends: base==4.*, tpdb, bytestring+ main-is: xtc2srs.hs+ default-language: Haskell2010+ -- Executable Compressor -- Main-is: Compressor.hs -- Build-depends: base==4.*, containers >= 0.5, directory, wl-pprint-text, hxt, parsec, hashable@@ -155,3 +160,9 @@ hs-source-dirs: test default-language: Haskell2010 +Test-Suite dp-performance+ Build-Depends: base==4.*, tpdb, text+ Type: exitcode-stdio-1.0+ main-is: dp-performance.hs+ hs-source-dirs: test + default-language: Haskell2010
+ xtc2srs.hs view
@@ -0,0 +1,13 @@+import qualified TPDB.Data as D+import qualified TPDB.Input as I+import qualified TPDB.XTC as X+import qualified TPDB.Pretty as P+import System.Environment (getArgs)+import qualified Data.ByteString.Lazy.Char8 as L+import System.IO (stdout)++main = do+ [f] <- getArgs+ s <- I.get_srs f+ P.displayIO stdout $ P.renderWide $ P.pretty s+