diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,31 @@
 and this project adheres to the
 [Haskell Package Versioning Policy](https://pvp.haskell.org/).
 
+## v1.0.0 - 2024-07-19
+
+### New
+
+- Align reductions from application to `⊥` with the paper ([#418](https://github.com/objectionary/normalizer/pull/418), [#435](https://github.com/objectionary/normalizer/pull/435))
+- Support enabling/disabling particular atoms ([#426](https://github.com/objectionary/normalizer/pull/426))
+- Support custom rules ([#432](https://github.com/objectionary/normalizer/pull/432))
+  - Test ruleset `streams.yaml` with the example rule equipped with a passing test, matching <https://github.com/objectionary/normalizer/issues/423#issue-2366637410>
+  - Allow rules to go inside abstract objects (and add explicit `apply_in_abstract_subformations` option to maintain correctness for `yegor.yaml` rules)
+  - Support tail patterns (restricted one-hole contexts)
+    - Matching against objects inside dispatch
+    - Matching against objects inside application (left only)
+  - Properly generate fresh names
+  - Allow explicit `forall` to keep track of all metavariables for extra safety (force in the future, see [#441](https://github.com/objectionary/normalizer/issues/441)).
+  - Distinguish types of metavariables for extra safety.
+
+### Changes and fixes
+
+- Update decoration rule ([#420](https://github.com/objectionary/normalizer/pull/420))
+- Generalize `Φ-dispatch` to rewrite `Φ` instead of `Φ.a` ([#419](https://github.com/objectionary/normalizer/pull/419))
+
+### Documentation and maintenance
+
+- Update EO to 0.38.4 ([#426](https://github.com/objectionary/normalizer/pull/426))
+
 ## v0.4.1 — 2024-06-12
 
 Changes and fixes:
diff --git a/app/Main.hs b/app/Main.hs
--- a/app/Main.hs
+++ b/app/Main.hs
@@ -46,6 +46,7 @@
 import Language.EO.Phi.Metrics.Collect as Metrics (getProgramMetrics)
 import Language.EO.Phi.Metrics.Data as Metrics (ProgramMetrics (..), splitPath)
 import Language.EO.Phi.Pipeline.Config
+import Language.EO.Phi.Pipeline.Dataize.PrintConfigs
 import Language.EO.Phi.Pipeline.EOTests.PrepareTests (prepareTests)
 import Language.EO.Phi.Report.Data (makeProgramReport, makeReport)
 import Language.EO.Phi.Report.Html (reportCSS, reportJS, toStringReport)
@@ -86,6 +87,8 @@
   , asPackage :: Bool
   , minimizeStuckTerms :: Bool
   , wrapRawBytes :: Bool
+  , disabledAtomNames :: [String]
+  , enabledAtomNames :: [String]
   }
   deriving (Show)
 
@@ -101,9 +104,15 @@
   }
   deriving (Show)
 
-newtype CLI'PreparePipelineTests = CLI'PreparePipelineTests
-  { configFile :: FilePath
-  }
+data CLI'Pipeline
+  = CLI'Pipeline'PrepareTests
+      { configFile :: FilePath
+      }
+  | CLI'Pipeline'PrintDataizeConfigs
+      { configFile :: FilePath
+      , phiPrefixesToStrip :: [FilePath]
+      , singleLine :: Bool
+      }
   deriving (Show)
 
 data CLI
@@ -111,13 +120,14 @@
   | CLI'DataizePhi' CLI'DataizePhi
   | CLI'MetricsPhi' CLI'MetricsPhi
   | CLI'ReportPhi' CLI'ReportPhi
-  | CLI'PreparePipelineTests' CLI'PreparePipelineTests
+  | CLI'Pipeline' CLI'Pipeline
   deriving (Show)
 
 data MetavarName = MetavarName
   { file :: String
   , int :: String
   , path :: String
+  , atomName :: String
   }
 
 metavarName :: MetavarName
@@ -126,12 +136,14 @@
     { file = "FILE"
     , int = "INT"
     , path = "PATH"
+    , atomName = "ATOM_NAME"
     }
 
 data Metavar a b = Metavar
   { file :: Mod a b
   , int :: Mod a b
   , path :: Mod a b
+  , atomName :: Mod a b
   }
 
 metavar :: (HasMetavar a) => Metavar a b
@@ -140,6 +152,7 @@
     { file = Optparse.metavar metavarName.file
     , int = Optparse.metavar metavarName.int
     , path = Optparse.metavar metavarName.path
+    , atomName = Optparse.metavar metavarName.atomName
     }
 
 newtype OptionName = OptionName
@@ -196,7 +209,9 @@
   , transform :: Parser CLI'TransformPhi
   , dataize :: Parser CLI'DataizePhi
   , report :: Parser CLI'ReportPhi
-  , preparePipelineTests :: Parser CLI'PreparePipelineTests
+  , pipeline :: Parser CLI'Pipeline
+  , pipelinePrepareTests :: Parser CLI'Pipeline
+  , pipelinePrintDataizeConfigs :: Parser CLI'Pipeline
   }
 
 commandParser :: CommandParser
@@ -236,20 +251,34 @@
     latex <- latexSwitch
     asPackage <- asPackageSwitch
     minimizeStuckTerms <- minimizeStuckTermsSwitch
+    disabledAtomNames <- many $ strOption (long "disable-atom" <> metavar.atomName <> help "Disable a particular atom by its name.")
+    enabledAtomNames <- many $ strOption (long "enable-atom" <> metavar.atomName <> help "Enable a particular atom by its name.")
     pure CLI'DataizePhi{..}
   report = do
     configFile <- strOption (long "config" <> short 'c' <> metavar.file <> help [fmt|A report configuration {metavarName.file}.|])
     pure CLI'ReportPhi{..}
-  preparePipelineTests = do
+  pipelinePrepareTests = do
     configFile <- strOption (long "config" <> short 'c' <> metavar.file <> help [fmt|A pipeline tests configuration {metavarName.file}.|])
-    pure CLI'PreparePipelineTests{..}
+    pure CLI'Pipeline'PrepareTests{..}
+  pipelinePrintDataizeConfigs = do
+    configFile <- strOption (long "config" <> short 'c' <> metavar.file <> help [fmt|A pipeline tests configuration {metavarName.file}.|])
+    phiPrefixesToStrip <- many $ strOption (long "strip-phi-prefix" <> short 'p' <> metavar.atomName <> help "Remove prefixes in PHI file paths.")
+    singleLine <- switch (long "single-line" <> short 'l' <> help [fmt|Output configs on an single line.|])
+    pure CLI'Pipeline'PrintDataizeConfigs{..}
+  pipeline =
+    hsubparser
+      ( command commandNames.pipelinePrepareTests commandParserInfo.pipelinePrepareTests
+          <> command commandNames.pipelinePrintDataizeConfigs commandParserInfo.pipelinePrintDataizeConfigs
+      )
 
 data CommandParserInfo = CommandParserInfo
   { metrics :: ParserInfo CLI
   , transform :: ParserInfo CLI
   , dataize :: ParserInfo CLI
   , report :: ParserInfo CLI
-  , preparePipelineTests :: ParserInfo CLI
+  , pipeline :: ParserInfo CLI
+  , pipelinePrepareTests :: ParserInfo CLI'Pipeline
+  , pipelinePrintDataizeConfigs :: ParserInfo CLI'Pipeline
   }
 
 commandParserInfo :: CommandParserInfo
@@ -259,7 +288,9 @@
     , transform = info (CLI'TransformPhi' <$> commandParser.transform) (progDesc "Transform a PHI program.")
     , dataize = info (CLI'DataizePhi' <$> commandParser.dataize) (progDesc "Dataize a PHI program.")
     , report = info (CLI'ReportPhi' <$> commandParser.report) (progDesc "Generate reports about initial and normalized PHI programs.")
-    , preparePipelineTests = info (CLI'PreparePipelineTests' <$> commandParser.preparePipelineTests) (progDesc "Prepare EO test files for the pipeline.")
+    , pipeline = info (CLI'Pipeline' <$> commandParser.pipeline) (progDesc "Run pipeline-related commands.")
+    , pipelinePrepareTests = info commandParser.pipelinePrepareTests (progDesc "Prepare EO test files for the pipeline.")
+    , pipelinePrintDataizeConfigs = info commandParser.pipelinePrintDataizeConfigs (progDesc "Print configs for the `normalizer dataize` command.")
     }
 
 data CommandNames = CommandNames
@@ -267,7 +298,9 @@
   , metrics :: String
   , dataize :: String
   , report :: String
-  , preparePipelineTests :: String
+  , pipeline :: String
+  , pipelinePrepareTests :: String
+  , pipelinePrintDataizeConfigs :: String
   }
 
 commandNames :: CommandNames
@@ -277,7 +310,9 @@
     , metrics = "metrics"
     , dataize = "dataize"
     , report = "report"
-    , preparePipelineTests = "prepare-pipeline-tests"
+    , pipeline = "pipeline"
+    , pipelinePrepareTests = "prepare-tests"
+    , pipelinePrintDataizeConfigs = "print-dataize-configs"
     }
 
 cli :: Parser CLI
@@ -287,7 +322,7 @@
         <> command commandNames.metrics commandParserInfo.metrics
         <> command commandNames.dataize commandParserInfo.dataize
         <> command commandNames.report commandParserInfo.report
-        <> command commandNames.preparePipelineTests commandParserInfo.preparePipelineTests
+        <> command commandNames.pipeline commandParserInfo.pipeline
     )
 
 cliOpts :: ParserInfo CLI
@@ -428,6 +463,7 @@
   Termination -> wrapTermination
   obj@MetaSubstThis{} -> obj
   obj@MetaObject{} -> obj
+  obj@MetaTailContext{} -> obj
   obj@MetaFunction{} -> obj
 
 -- * Main
@@ -528,6 +564,7 @@
             (defaultContext rules (Formation bindingsWithDeps)) -- IMPORTANT: context contains dependencies!
               { minimizeTerms = minimizeStuckTerms
               , builtinRules = builtin
+              , enabledAtomNames = mkEnabledAtomNames disabledAtomNames enabledAtomNames
               }
       if chain
         then do
@@ -594,6 +631,9 @@
         $ \(path, reportString) -> do
           createDirectoryIfMissing True (takeDirectory path)
           writeFile path reportString
-    CLI'PreparePipelineTests' CLI'PreparePipelineTests{..} -> do
+    CLI'Pipeline' CLI'Pipeline'PrepareTests{..} -> do
       config <- decodeFileThrow @_ @PipelineConfig configFile
       prepareTests config
+    CLI'Pipeline' CLI'Pipeline'PrintDataizeConfigs{..} -> do
+      config <- decodeFileThrow @_ @PipelineConfig configFile
+      printDataizeConfigs config phiPrefixesToStrip singleLine
diff --git a/data/0.38.0/org/eolang/int.phi b/data/0.38.0/org/eolang/int.phi
--- a/data/0.38.0/org/eolang/int.phi
+++ b/data/0.38.0/org/eolang/int.phi
diff --git a/data/0.38.4/org/eolang/as-phi.phi b/data/0.38.4/org/eolang/as-phi.phi
new file mode 100644
--- /dev/null
+++ b/data/0.38.4/org/eolang/as-phi.phi
@@ -0,0 +1,14 @@
+{
+  ⟦
+    org ↦ ⟦
+      eolang ↦ ⟦
+        as-phi ↦ ⟦
+          λ ⤍ Lorg_eolang_as_phi,
+          x ↦ ∅
+        ⟧,
+        λ ⤍ Package
+      ⟧,
+      λ ⤍ Package
+    ⟧
+  ⟧
+}
diff --git a/data/0.38.4/org/eolang/bytes.phi b/data/0.38.4/org/eolang/bytes.phi
new file mode 100644
--- /dev/null
+++ b/data/0.38.4/org/eolang/bytes.phi
@@ -0,0 +1,107 @@
+{
+  ⟦
+    org ↦ ⟦
+      eolang ↦ ⟦
+        bytes ↦ ⟦
+          Δ ⤍ ∅,
+          as-bytes ↦ ξ,
+          eq ↦ ⟦
+            λ ⤍ Lorg_eolang_bytes_eq,
+            b ↦ ∅
+          ⟧,
+          size ↦ ⟦
+            λ ⤍ Lorg_eolang_bytes_size
+          ⟧,
+          slice ↦ ⟦
+            λ ⤍ Lorg_eolang_bytes_slice,
+            start ↦ ∅,
+            len ↦ ∅
+          ⟧,
+          as-string ↦ ⟦
+            φ ↦ Φ.org.eolang.string(
+              α0 ↦ ξ.ρ
+            )
+          ⟧,
+          as-int ↦ ⟦
+            φ ↦ ξ.ρ.size.eq(
+              α0 ↦ Φ.org.eolang.int(
+                α0 ↦ Φ.org.eolang.bytes(
+                  Δ ⤍ 00-00-00-00-00-00-00-08
+                )
+              )
+            ).if(
+              α0 ↦ Φ.org.eolang.int(
+                α0 ↦ ξ.ρ
+              ),
+              α1 ↦ Φ.org.eolang.error(
+                α0 ↦ Φ.org.eolang.string(
+                  α0 ↦ Φ.org.eolang.bytes(
+                    Δ ⤍ 43-61-6E-27-74-20-63-6F-6E-76-65-72-74-20-6E-6F-6E-20-38-20-6C-65-6E-67-74-68-20-62-79-74-65-73-20-74-6F-20-69-6E-74
+                  )
+                )
+              )
+            )
+          ⟧,
+          as-float ↦ ⟦
+            φ ↦ ξ.ρ.size.eq(
+              α0 ↦ Φ.org.eolang.int(
+                α0 ↦ Φ.org.eolang.bytes(
+                  Δ ⤍ 00-00-00-00-00-00-00-08
+                )
+              )
+            ).if(
+              α0 ↦ Φ.org.eolang.float(
+                α0 ↦ ξ.ρ
+              ),
+              α1 ↦ Φ.org.eolang.error(
+                α0 ↦ Φ.org.eolang.string(
+                  α0 ↦ Φ.org.eolang.bytes(
+                    Δ ⤍ 43-61-6E-27-74-20-63-6F-6E-76-65-72-74-20-6E-6F-6E-20-38-20-6C-65-6E-67-74-68-20-62-79-74-65-73-20-74-6F-20-66-6C-6F-61-74
+                  )
+                )
+              )
+            )
+          ⟧,
+          and ↦ ⟦
+            λ ⤍ Lorg_eolang_bytes_and,
+            b ↦ ∅
+          ⟧,
+          or ↦ ⟦
+            λ ⤍ Lorg_eolang_bytes_or,
+            b ↦ ∅
+          ⟧,
+          xor ↦ ⟦
+            λ ⤍ Lorg_eolang_bytes_xor,
+            b ↦ ∅
+          ⟧,
+          not ↦ ⟦
+            λ ⤍ Lorg_eolang_bytes_not
+          ⟧,
+          left ↦ ⟦
+            φ ↦ ξ.ρ.right(
+              α0 ↦ ξ.x.neg
+            ),
+            x ↦ ∅
+          ⟧,
+          right ↦ ⟦
+            λ ⤍ Lorg_eolang_bytes_right,
+            x ↦ ∅
+          ⟧,
+          as-bool ↦ ⟦
+            φ ↦ ξ.ρ.eq(
+              α0 ↦ Φ.org.eolang.bytes(
+                Δ ⤍ 01-
+              )
+            )
+          ⟧,
+          concat ↦ ⟦
+            λ ⤍ Lorg_eolang_bytes_concat,
+            b ↦ ∅
+          ⟧
+        ⟧,
+        λ ⤍ Package
+      ⟧,
+      λ ⤍ Package
+    ⟧
+  ⟧
+}
diff --git a/data/0.38.4/org/eolang/cage.phi b/data/0.38.4/org/eolang/cage.phi
new file mode 100644
--- /dev/null
+++ b/data/0.38.4/org/eolang/cage.phi
@@ -0,0 +1,28 @@
+{
+  ⟦
+    org ↦ ⟦
+      eolang ↦ ⟦
+        cage ↦ ⟦
+          object ↦ ∅,
+          new ↦ ξ.φ.self,
+          φ ↦ ⟦
+            λ ⤍ Lorg_eolang_cage_φ
+          ⟧,
+          encaged ↦ ⟦
+            locator ↦ ∅,
+            self ↦ ξ,
+            φ ↦ ⟦
+              λ ⤍ Lorg_eolang_cage_encaged_φ
+            ⟧,
+            encage ↦ ⟦
+              λ ⤍ Lorg_eolang_cage_encaged_encage,
+              object ↦ ∅
+            ⟧
+          ⟧
+        ⟧,
+        λ ⤍ Package
+      ⟧,
+      λ ⤍ Package
+    ⟧
+  ⟧
+}
diff --git a/data/0.38.4/org/eolang/cti.phi b/data/0.38.4/org/eolang/cti.phi
new file mode 100644
--- /dev/null
+++ b/data/0.38.4/org/eolang/cti.phi
@@ -0,0 +1,16 @@
+{
+  ⟦
+    org ↦ ⟦
+      eolang ↦ ⟦
+        cti ↦ ⟦
+          φ ↦ ξ.delegate,
+          delegate ↦ ∅,
+          level ↦ ∅,
+          message ↦ ∅
+        ⟧,
+        λ ⤍ Package
+      ⟧,
+      λ ⤍ Package
+    ⟧
+  ⟧
+}
diff --git a/data/0.38.4/org/eolang/dataized.phi b/data/0.38.4/org/eolang/dataized.phi
new file mode 100644
--- /dev/null
+++ b/data/0.38.4/org/eolang/dataized.phi
@@ -0,0 +1,14 @@
+{
+  ⟦
+    org ↦ ⟦
+      eolang ↦ ⟦
+        dataized ↦ ⟦
+          λ ⤍ Lorg_eolang_dataized,
+          target ↦ ∅
+        ⟧,
+        λ ⤍ Package
+      ⟧,
+      λ ⤍ Package
+    ⟧
+  ⟧
+}
diff --git a/data/0.38.4/org/eolang/error.phi b/data/0.38.4/org/eolang/error.phi
new file mode 100644
--- /dev/null
+++ b/data/0.38.4/org/eolang/error.phi
@@ -0,0 +1,14 @@
+{
+  ⟦
+    org ↦ ⟦
+      eolang ↦ ⟦
+        error ↦ ⟦
+          λ ⤍ Lorg_eolang_error,
+          message ↦ ∅
+        ⟧,
+        λ ⤍ Package
+      ⟧,
+      λ ⤍ Package
+    ⟧
+  ⟧
+}
diff --git a/data/0.38.4/org/eolang/false.phi b/data/0.38.4/org/eolang/false.phi
new file mode 100644
--- /dev/null
+++ b/data/0.38.4/org/eolang/false.phi
@@ -0,0 +1,33 @@
+{
+  ⟦
+    org ↦ ⟦
+      eolang ↦ ⟦
+        false ↦ ⟦
+          φ ↦ Φ.org.eolang.bytes(
+            Δ ⤍ 00-
+          ),
+          not ↦ Φ.org.eolang.true,
+          if ↦ ⟦
+            φ ↦ ξ.right,
+            left ↦ ∅,
+            right ↦ ∅
+          ⟧,
+          and ↦ ⟦
+            φ ↦ ξ.ρ,
+            x ↦ ∅
+          ⟧,
+          or ↦ ⟦
+            φ ↦ Φ.org.eolang.bytes(
+              Δ ⤍ 01-
+            ).eq(
+              α0 ↦ ξ.x
+            ),
+            x ↦ ∅
+          ⟧
+        ⟧,
+        λ ⤍ Package
+      ⟧,
+      λ ⤍ Package
+    ⟧
+  ⟧
+}
diff --git a/data/0.38.4/org/eolang/float.phi b/data/0.38.4/org/eolang/float.phi
new file mode 100644
--- /dev/null
+++ b/data/0.38.4/org/eolang/float.phi
@@ -0,0 +1,142 @@
+{
+  ⟦
+    org ↦ ⟦
+      eolang ↦ ⟦
+        float ↦ ⟦
+          as-bytes ↦ ∅,
+          φ ↦ ξ.as-bytes,
+          eq ↦ ⟦
+            x ↦ ∅,
+            x-as-bytes ↦ Φ.org.eolang.dataized(
+              α0 ↦ ξ.x
+            ).as-bytes,
+            self-as-bytes ↦ Φ.org.eolang.dataized(
+              α0 ↦ ξ.ρ
+            ).as-bytes,
+            nan-as-bytes ↦ Φ.org.eolang.dataized(
+              α0 ↦ Φ.org.eolang.nan
+            ).as-bytes,
+            pos-zero-as-bytes ↦ Φ.org.eolang.dataized(
+              α0 ↦ ξ.ρ.ρ.float(
+                α0 ↦ Φ.org.eolang.bytes(
+                  Δ ⤍ 00-00-00-00-00-00-00-00
+                )
+              )
+            ).as-bytes,
+            neg-zero-as-bytes ↦ Φ.org.eolang.dataized(
+              α0 ↦ ξ.ρ.ρ.float(
+                α0 ↦ Φ.org.eolang.bytes(
+                  Δ ⤍ 80-00-00-00-00-00-00-00
+                )
+              )
+            ).as-bytes,
+            φ ↦ ξ.x-as-bytes.eq(
+              α0 ↦ ξ.nan-as-bytes
+            ).or(
+              α0 ↦ ξ.self-as-bytes.eq(
+                α0 ↦ ξ.nan-as-bytes
+              )
+            ).if(
+              α0 ↦ Φ.org.eolang.false,
+              α1 ↦ ξ.x-as-bytes.eq(
+                α0 ↦ ξ.pos-zero-as-bytes
+              ).or(
+                α0 ↦ ξ.x-as-bytes.eq(
+                  α0 ↦ ξ.neg-zero-as-bytes
+                )
+              ).and(
+                α0 ↦ ξ.self-as-bytes.eq(
+                  α0 ↦ ξ.pos-zero-as-bytes
+                ).or(
+                  α0 ↦ ξ.self-as-bytes.eq(
+                    α0 ↦ ξ.neg-zero-as-bytes
+                  )
+                )
+              ).or(
+                α0 ↦ ξ.self-as-bytes.eq(
+                  α0 ↦ ξ.x-as-bytes
+                )
+              )
+            )
+          ⟧,
+          lt ↦ ⟦
+            x ↦ ∅,
+            φ ↦ ξ.ρ.ρ.float(
+              α0 ↦ Φ.org.eolang.bytes(
+                Δ ⤍ 00-00-00-00-00-00-00-00
+              )
+            ).gt(
+              α0 ↦ ξ.ρ.minus(
+                α0 ↦ ξ.ρ.ρ.float(
+                  α0 ↦ ξ.value
+                )
+              )
+            ),
+            value ↦ Φ.org.eolang.dataized(
+              α0 ↦ ξ.x
+            ).as-bytes
+          ⟧,
+          lte ↦ ⟦
+            x ↦ ∅,
+            value ↦ Φ.org.eolang.dataized(
+              α0 ↦ ξ.x
+            ).as-bytes,
+            φ ↦ ξ.ρ.eq(
+              α0 ↦ ξ.value
+            ).or(
+              α0 ↦ ξ.ρ.lt(
+                α0 ↦ ξ.value
+              )
+            )
+          ⟧,
+          gt ↦ ⟦
+            λ ⤍ Lorg_eolang_float_gt,
+            x ↦ ∅
+          ⟧,
+          gte ↦ ⟦
+            x ↦ ∅,
+            value ↦ Φ.org.eolang.dataized(
+              α0 ↦ ξ.x
+            ).as-bytes,
+            φ ↦ ξ.ρ.eq(
+              α0 ↦ ξ.value
+            ).or(
+              α0 ↦ ξ.ρ.gt(
+                α0 ↦ ξ.value
+              )
+            )
+          ⟧,
+          times ↦ ⟦
+            λ ⤍ Lorg_eolang_float_times,
+            x ↦ ∅
+          ⟧,
+          plus ↦ ⟦
+            λ ⤍ Lorg_eolang_float_plus,
+            x ↦ ∅
+          ⟧,
+          neg ↦ ⟦
+            φ ↦ ξ.ρ.times(
+              α0 ↦ ξ.ρ.ρ.float(
+                α0 ↦ Φ.org.eolang.bytes(
+                  Δ ⤍ BF-F0-00-00-00-00-00-00
+                )
+              )
+            )
+          ⟧,
+          minus ↦ ⟦
+            φ ↦ ξ.ρ.plus(
+              α0 ↦ ξ.x.neg
+            ),
+            x ↦ ∅
+          ⟧,
+          div ↦ ⟦
+            λ ⤍ Lorg_eolang_float_div,
+            x ↦ ∅
+          ⟧
+        ⟧,
+        λ ⤍ Package
+      ⟧,
+      λ ⤍ Package
+    ⟧
+  ⟧
+}
diff --git a/data/0.38.4/org/eolang/go.phi b/data/0.38.4/org/eolang/go.phi
new file mode 100644
--- /dev/null
+++ b/data/0.38.4/org/eolang/go.phi
@@ -0,0 +1,69 @@
+{
+  ⟦
+    org ↦ ⟦
+      eolang ↦ ⟦
+        go ↦ ⟦
+          id ↦ Φ.org.eolang.dataized(
+            α0 ↦ Φ.org.eolang.malloc.of(
+              α0 ↦ Φ.org.eolang.int(
+                α0 ↦ Φ.org.eolang.bytes(
+                  Δ ⤍ 00-00-00-00-00-00-00-08
+                )
+              ),
+              α1 ↦ ⟦
+                φ ↦ ξ.m.put(
+                  α0 ↦ ξ.m.id
+                ),
+                m ↦ ∅
+              ⟧
+            )
+          ).as-bytes,
+          to ↦ ⟦
+            body ↦ ∅,
+            φ ↦ Φ.org.eolang.try(
+              α0 ↦ ξ.body(
+                α0 ↦ ξ.token
+              ),
+              α1 ↦ ξ.auto-named-attr-at-64-9,
+              α2 ↦ Φ.org.eolang.true
+            ),
+            token ↦ ⟦
+              backward ↦ Φ.org.eolang.error(
+                α0 ↦ ξ.jump(
+                  α0 ↦ ξ.ρ.ρ.to(
+                    α0 ↦ ξ.ρ.body
+                  )
+                )
+              ),
+              jump ↦ ⟦
+                value ↦ ∅,
+                id ↦ ξ.ρ.ρ.ρ.id
+              ⟧,
+              forward ↦ ⟦
+                res ↦ ∅,
+                φ ↦ Φ.org.eolang.error(
+                  α0 ↦ ξ.ρ.jump(
+                    α0 ↦ ξ.res
+                  )
+                )
+              ⟧
+            ⟧,
+            auto-named-attr-at-64-9 ↦ ⟦
+              e ↦ ∅,
+              φ ↦ ξ.ρ.ρ.id.eq(
+                α0 ↦ ξ.e.id
+              ).if(
+                α0 ↦ ξ.e.value,
+                α1 ↦ Φ.org.eolang.error(
+                  α0 ↦ ξ.e
+                )
+              )
+            ⟧
+          ⟧
+        ⟧,
+        λ ⤍ Package
+      ⟧,
+      λ ⤍ Package
+    ⟧
+  ⟧
+}
diff --git a/data/0.38.4/org/eolang/int.phi b/data/0.38.4/org/eolang/int.phi
new file mode 100644
--- /dev/null
+++ b/data/0.38.4/org/eolang/int.phi
@@ -0,0 +1,86 @@
+{
+  ⟦
+    org ↦ ⟦
+      eolang ↦ ⟦
+        int ↦ ⟦
+          as-bytes ↦ ∅,
+          φ ↦ ξ.as-bytes,
+          eq ↦ ⟦
+            x ↦ ∅,
+            φ ↦ ξ.ρ.as-bytes.eq(
+              α0 ↦ ξ.x.as-bytes
+            )
+          ⟧,
+          lt ↦ ⟦
+            x ↦ ∅,
+            φ ↦ ξ.ρ.ρ.int(
+              α0 ↦ Φ.org.eolang.bytes(
+                Δ ⤍ 00-00-00-00-00-00-00-00
+              )
+            ).gt(
+              α0 ↦ ξ.ρ.minus(
+                α0 ↦ ξ.ρ.ρ.int(
+                  α0 ↦ ξ.value
+                )
+              )
+            ),
+            value ↦ Φ.org.eolang.dataized(
+              α0 ↦ ξ.x
+            ).as-bytes
+          ⟧,
+          lte ↦ ⟦
+            x ↦ ∅,
+            φ ↦ ξ.ρ.gt(
+              α0 ↦ ξ.value
+            ).not,
+            value ↦ Φ.org.eolang.dataized(
+              α0 ↦ ξ.x
+            ).as-bytes
+          ⟧,
+          gt ↦ ⟦
+            λ ⤍ Lorg_eolang_int_gt,
+            x ↦ ∅
+          ⟧,
+          gte ↦ ⟦
+            x ↦ ∅,
+            φ ↦ ξ.ρ.lt(
+              α0 ↦ ξ.value
+            ).not,
+            value ↦ Φ.org.eolang.dataized(
+              α0 ↦ ξ.x
+            ).as-bytes
+          ⟧,
+          neg ↦ ⟦
+            φ ↦ ξ.ρ.times(
+              α0 ↦ ξ.ρ.ρ.int(
+                α0 ↦ Φ.org.eolang.bytes(
+                  Δ ⤍ FF-FF-FF-FF-FF-FF-FF-FF
+                )
+              )
+            )
+          ⟧,
+          plus ↦ ⟦
+            λ ⤍ Lorg_eolang_int_plus,
+            x ↦ ∅
+          ⟧,
+          minus ↦ ⟦
+            φ ↦ ξ.ρ.plus(
+              α0 ↦ ξ.x.neg
+            ),
+            x ↦ ∅
+          ⟧,
+          times ↦ ⟦
+            λ ⤍ Lorg_eolang_int_times,
+            x ↦ ∅
+          ⟧,
+          div ↦ ⟦
+            λ ⤍ Lorg_eolang_int_div,
+            x ↦ ∅
+          ⟧
+        ⟧,
+        λ ⤍ Package
+      ⟧,
+      λ ⤍ Package
+    ⟧
+  ⟧
+}
diff --git a/data/0.38.4/org/eolang/io/stdin.phi b/data/0.38.4/org/eolang/io/stdin.phi
new file mode 100644
--- /dev/null
+++ b/data/0.38.4/org/eolang/io/stdin.phi
@@ -0,0 +1,21 @@
+{
+  ⟦
+    org ↦ ⟦
+      eolang ↦ ⟦
+        io ↦ ⟦
+          stdin ↦ ⟦
+            next-line ↦ ⟦
+              λ ⤍ Lorg_eolang_io_stdin_next_line
+            ⟧,
+            φ ↦ ⟦
+              λ ⤍ Lorg_eolang_io_stdin_φ
+            ⟧
+          ⟧,
+          λ ⤍ Package
+        ⟧,
+        λ ⤍ Package
+      ⟧,
+      λ ⤍ Package
+    ⟧
+  ⟧
+}
diff --git a/data/0.38.4/org/eolang/io/stdout.phi b/data/0.38.4/org/eolang/io/stdout.phi
new file mode 100644
--- /dev/null
+++ b/data/0.38.4/org/eolang/io/stdout.phi
@@ -0,0 +1,17 @@
+{
+  ⟦
+    org ↦ ⟦
+      eolang ↦ ⟦
+        io ↦ ⟦
+          stdout ↦ ⟦
+            λ ⤍ Lorg_eolang_io_stdout,
+            text ↦ ∅
+          ⟧,
+          λ ⤍ Package
+        ⟧,
+        λ ⤍ Package
+      ⟧,
+      λ ⤍ Package
+    ⟧
+  ⟧
+}
diff --git a/data/0.38.4/org/eolang/malloc.phi b/data/0.38.4/org/eolang/malloc.phi
new file mode 100644
--- /dev/null
+++ b/data/0.38.4/org/eolang/malloc.phi
@@ -0,0 +1,95 @@
+{
+  ⟦
+    org ↦ ⟦
+      eolang ↦ ⟦
+        malloc ↦ ⟦
+          for ↦ ⟦
+            object ↦ ∅,
+            scope ↦ ∅,
+            bts ↦ Φ.org.eolang.dataized(
+              α0 ↦ ξ.object
+            ).as-bytes,
+            φ ↦ ξ.ρ.ρ.malloc.of(
+              α0 ↦ ξ.bts.size,
+              α1 ↦ ξ.auto-named-attr-at-89-9
+            ),
+            auto-named-attr-at-89-9 ↦ ⟦
+              m ↦ ∅,
+              φ ↦ Φ.org.eolang.seq(
+                α0 ↦ Φ.org.eolang.tuple(
+                  α0 ↦ Φ.org.eolang.tuple(
+                    α0 ↦ Φ.org.eolang.tuple.empty,
+                    α1 ↦ ξ.m.write(
+                      α0 ↦ Φ.org.eolang.int(
+                        α0 ↦ Φ.org.eolang.bytes(
+                          Δ ⤍ 00-00-00-00-00-00-00-00
+                        )
+                      ),
+                      α1 ↦ ξ.ρ.bts
+                    )
+                  ),
+                  α1 ↦ ξ.ρ.scope(
+                    α0 ↦ ξ.m
+                  )
+                )
+              )
+            ⟧
+          ⟧,
+          of ↦ ⟦
+            size ↦ ∅,
+            scope ↦ ∅,
+            φ ↦ ⟦
+              λ ⤍ Lorg_eolang_malloc_of_φ
+            ⟧,
+            allocated ↦ ⟦
+              id ↦ ∅,
+              size ↦ ξ.ρ.size,
+              φ ↦ ξ.get,
+              read ↦ ⟦
+                λ ⤍ Lorg_eolang_malloc_of_allocated_read,
+                offset ↦ ∅,
+                length ↦ ∅
+              ⟧,
+              write ↦ ⟦
+                λ ⤍ Lorg_eolang_malloc_of_allocated_write,
+                offset ↦ ∅,
+                data ↦ ∅
+              ⟧,
+              get ↦ ⟦
+                φ ↦ ξ.ρ.read(
+                  α0 ↦ Φ.org.eolang.int(
+                    α0 ↦ Φ.org.eolang.bytes(
+                      Δ ⤍ 00-00-00-00-00-00-00-00
+                    )
+                  ),
+                  α1 ↦ ξ.ρ.size
+                )
+              ⟧,
+              put ↦ ⟦
+                object ↦ ∅,
+                φ ↦ Φ.org.eolang.seq(
+                  α0 ↦ Φ.org.eolang.tuple(
+                    α0 ↦ Φ.org.eolang.tuple(
+                      α0 ↦ Φ.org.eolang.tuple.empty,
+                      α1 ↦ ξ.ρ.write(
+                        α0 ↦ Φ.org.eolang.int(
+                          α0 ↦ Φ.org.eolang.bytes(
+                            Δ ⤍ 00-00-00-00-00-00-00-00
+                          )
+                        ),
+                        α1 ↦ ξ.object
+                      )
+                    ),
+                    α1 ↦ ξ.ρ.get
+                  )
+                )
+              ⟧
+            ⟧
+          ⟧
+        ⟧,
+        λ ⤍ Package
+      ⟧,
+      λ ⤍ Package
+    ⟧
+  ⟧
+}
diff --git a/data/0.38.4/org/eolang/nan.phi b/data/0.38.4/org/eolang/nan.phi
new file mode 100644
--- /dev/null
+++ b/data/0.38.4/org/eolang/nan.phi
@@ -0,0 +1,62 @@
+{
+  ⟦
+    org ↦ ⟦
+      eolang ↦ ⟦
+        nan ↦ ⟦
+          φ ↦ Φ.org.eolang.float(
+            α0 ↦ Φ.org.eolang.bytes(
+              Δ ⤍ 00-00-00-00-00-00-00-00
+            )
+          ).div(
+            α0 ↦ Φ.org.eolang.float(
+              α0 ↦ Φ.org.eolang.bytes(
+                Δ ⤍ 00-00-00-00-00-00-00-00
+              )
+            )
+          ),
+          eq ↦ ⟦
+            φ ↦ Φ.org.eolang.false,
+            x ↦ ∅
+          ⟧,
+          lt ↦ ⟦
+            φ ↦ Φ.org.eolang.false,
+            x ↦ ∅
+          ⟧,
+          lte ↦ ⟦
+            φ ↦ Φ.org.eolang.false,
+            x ↦ ∅
+          ⟧,
+          gt ↦ ⟦
+            φ ↦ Φ.org.eolang.false,
+            x ↦ ∅
+          ⟧,
+          gte ↦ ⟦
+            φ ↦ Φ.org.eolang.false,
+            x ↦ ∅
+          ⟧,
+          times ↦ ⟦
+            φ ↦ ξ.ρ,
+            x ↦ ∅
+          ⟧,
+          plus ↦ ⟦
+            φ ↦ ξ.ρ,
+            x ↦ ∅
+          ⟧,
+          neg ↦ ⟦
+            φ ↦ ξ.ρ
+          ⟧,
+          minus ↦ ⟦
+            φ ↦ ξ.ρ,
+            x ↦ ∅
+          ⟧,
+          div ↦ ⟦
+            φ ↦ ξ.ρ,
+            x ↦ ∅
+          ⟧
+        ⟧,
+        λ ⤍ Package
+      ⟧,
+      λ ⤍ Package
+    ⟧
+  ⟧
+}
diff --git a/data/0.38.4/org/eolang/negative-infinity.phi b/data/0.38.4/org/eolang/negative-infinity.phi
new file mode 100644
--- /dev/null
+++ b/data/0.38.4/org/eolang/negative-infinity.phi
@@ -0,0 +1,246 @@
+{
+  ⟦
+    org ↦ ⟦
+      eolang ↦ ⟦
+        negative-infinity ↦ ⟦
+          φ ↦ Φ.org.eolang.float(
+            α0 ↦ Φ.org.eolang.bytes(
+              Δ ⤍ BF-F0-00-00-00-00-00-00
+            )
+          ).div(
+            α0 ↦ Φ.org.eolang.float(
+              α0 ↦ Φ.org.eolang.bytes(
+                Δ ⤍ 00-00-00-00-00-00-00-00
+              )
+            )
+          ),
+          eq ↦ ⟦
+            x ↦ ∅,
+            φ ↦ ξ.ρ.as-bytes.eq(
+              α0 ↦ ξ.x.as-bytes
+            )
+          ⟧,
+          lt ↦ ⟦
+            x ↦ ∅,
+            value ↦ Φ.org.eolang.dataized(
+              α0 ↦ ξ.x
+            ).as-bytes,
+            φ ↦ ξ.value.eq(
+              α0 ↦ Φ.org.eolang.nan.as-bytes
+            ).or(
+              α0 ↦ ξ.ρ.eq(
+                α0 ↦ ξ.value
+              )
+            ).not
+          ⟧,
+          lte ↦ ⟦
+            x ↦ ∅,
+            φ ↦ ξ.x.as-bytes.eq(
+              α0 ↦ Φ.org.eolang.nan.as-bytes
+            ).not
+          ⟧,
+          gt ↦ ⟦
+            x ↦ ∅,
+            φ ↦ Φ.org.eolang.false
+          ⟧,
+          gte ↦ ⟦
+            x ↦ ∅,
+            φ ↦ ξ.ρ.eq(
+              α0 ↦ ξ.x
+            )
+          ⟧,
+          times ↦ ⟦
+            x ↦ ∅,
+            value ↦ Φ.org.eolang.dataized(
+              α0 ↦ ξ.x
+            ).as-bytes,
+            is-num-gt-zero ↦ ⟦
+              num ↦ ∅,
+              φ ↦ Φ.org.eolang.try(
+                α0 ↦ Φ.org.eolang.int(
+                  α0 ↦ Φ.org.eolang.bytes(
+                    Δ ⤍ 00-00-00-00-00-00-00-00
+                  )
+                ).lt(
+                  α0 ↦ ξ.num
+                ),
+                α1 ↦ ξ.auto-named-attr-at-69-26,
+                α2 ↦ Φ.org.eolang.false
+              ),
+              auto-named-attr-at-69-26 ↦ ⟦
+                φ ↦ Φ.org.eolang.float(
+                  α0 ↦ Φ.org.eolang.bytes(
+                    Δ ⤍ 00-00-00-00-00-00-00-00
+                  )
+                ).lt(
+                  α0 ↦ ξ.ρ.num
+                ),
+                e ↦ ∅
+              ⟧
+            ⟧,
+            is-nan ↦ ⟦
+              num ↦ ∅,
+              φ ↦ ξ.num.eq(
+                α0 ↦ Φ.org.eolang.nan.as-bytes
+              )
+            ⟧,
+            is-nan-or-zero ↦ ⟦
+              num ↦ ∅,
+              φ ↦ ξ.ρ.is-nan(
+                α0 ↦ ξ.num
+              ).or(
+                α0 ↦ ξ.num.eq(
+                  α0 ↦ Φ.org.eolang.float(
+                    α0 ↦ Φ.org.eolang.bytes(
+                      Δ ⤍ 80-00-00-00-00-00-00-00
+                    )
+                  )
+                )
+              ).or(
+                α0 ↦ ξ.num.eq(
+                  α0 ↦ Φ.org.eolang.float(
+                    α0 ↦ Φ.org.eolang.bytes(
+                      Δ ⤍ 00-00-00-00-00-00-00-00
+                    )
+                  )
+                )
+              ).or(
+                α0 ↦ ξ.num.eq(
+                  α0 ↦ Φ.org.eolang.int(
+                    α0 ↦ Φ.org.eolang.bytes(
+                      Δ ⤍ 00-00-00-00-00-00-00-00
+                    )
+                  )
+                )
+              )
+            ⟧,
+            φ ↦ ξ.is-nan-or-zero(
+              α0 ↦ ξ.value
+            ).if(
+              α0 ↦ Φ.org.eolang.nan,
+              α1 ↦ ξ.is-num-gt-zero(
+                α0 ↦ ξ.value
+              ).if(
+                α0 ↦ ξ.ρ.ρ.negative-infinity,
+                α1 ↦ Φ.org.eolang.positive-infinity
+              )
+            )
+          ⟧,
+          plus ↦ ⟦
+            x ↦ ∅,
+            pos-inf-as-bytes ↦ Φ.org.eolang.dataized(
+              α0 ↦ Φ.org.eolang.positive-infinity.as-bytes
+            ).as-bytes,
+            value ↦ Φ.org.eolang.dataized(
+              α0 ↦ ξ.x
+            ).as-bytes,
+            is-nan ↦ ⟦
+              num ↦ ∅,
+              φ ↦ ξ.num.eq(
+                α0 ↦ Φ.org.eolang.nan.as-bytes
+              )
+            ⟧,
+            φ ↦ ξ.is-nan(
+              α0 ↦ ξ.value
+            ).or(
+              α0 ↦ ξ.value.eq(
+                α0 ↦ ξ.pos-inf-as-bytes
+              )
+            ).if(
+              α0 ↦ Φ.org.eolang.nan,
+              α1 ↦ ξ.ρ.ρ.negative-infinity
+            )
+          ⟧,
+          minus ↦ ⟦
+            x ↦ ∅,
+            value ↦ Φ.org.eolang.dataized(
+              α0 ↦ ξ.x
+            ).as-bytes,
+            neg-inf-as-bytes ↦ Φ.org.eolang.dataized(
+              α0 ↦ ξ.ρ.ρ.negative-infinity
+            ).as-bytes,
+            is-nan ↦ ⟦
+              num ↦ ∅,
+              φ ↦ ξ.num.eq(
+                α0 ↦ Φ.org.eolang.nan.as-bytes
+              )
+            ⟧,
+            φ ↦ ξ.is-nan(
+              α0 ↦ ξ.value
+            ).or(
+              α0 ↦ ξ.value.eq(
+                α0 ↦ ξ.neg-inf-as-bytes
+              )
+            ).if(
+              α0 ↦ Φ.org.eolang.nan,
+              α1 ↦ ξ.ρ.ρ.negative-infinity
+            )
+          ⟧,
+          div ↦ ⟦
+            x ↦ ∅,
+            value ↦ Φ.org.eolang.dataized(
+              α0 ↦ ξ.x
+            ).as-bytes,
+            is-nan ↦ ⟦
+              num ↦ ∅,
+              φ ↦ ξ.num.eq(
+                α0 ↦ Φ.org.eolang.nan.as-bytes
+              )
+            ⟧,
+            is-nan-or-infinite ↦ ⟦
+              num ↦ ∅,
+              φ ↦ ξ.ρ.is-nan(
+                α0 ↦ ξ.num
+              ).or(
+                α0 ↦ ξ.num.eq(
+                  α0 ↦ Φ.org.eolang.positive-infinity
+                )
+              ).or(
+                α0 ↦ ξ.num.eq(
+                  α0 ↦ ξ.ρ.ρ.ρ.negative-infinity
+                )
+              )
+            ⟧,
+            is-num-gte-zero ↦ ⟦
+              num ↦ ∅,
+              φ ↦ Φ.org.eolang.try(
+                α0 ↦ Φ.org.eolang.int(
+                  α0 ↦ Φ.org.eolang.bytes(
+                    Δ ⤍ 00-00-00-00-00-00-00-00
+                  )
+                ).lte(
+                  α0 ↦ ξ.num
+                ),
+                α1 ↦ ξ.auto-named-attr-at-136-27,
+                α2 ↦ Φ.org.eolang.false
+              ),
+              auto-named-attr-at-136-27 ↦ ⟦
+                φ ↦ Φ.org.eolang.float(
+                  α0 ↦ Φ.org.eolang.bytes(
+                    Δ ⤍ 00-00-00-00-00-00-00-00
+                  )
+                ).lte(
+                  α0 ↦ ξ.ρ.num
+                ),
+                e ↦ ∅
+              ⟧
+            ⟧,
+            φ ↦ ξ.is-nan-or-infinite(
+              α0 ↦ ξ.value
+            ).if(
+              α0 ↦ Φ.org.eolang.nan,
+              α1 ↦ ξ.is-num-gte-zero(
+                α0 ↦ ξ.value
+              ).if(
+                α0 ↦ ξ.ρ.ρ.negative-infinity,
+                α1 ↦ Φ.org.eolang.positive-infinity
+              )
+            )
+          ⟧
+        ⟧,
+        λ ⤍ Package
+      ⟧,
+      λ ⤍ Package
+    ⟧
+  ⟧
+}
diff --git a/data/0.38.4/org/eolang/positive-infinity.phi b/data/0.38.4/org/eolang/positive-infinity.phi
new file mode 100644
--- /dev/null
+++ b/data/0.38.4/org/eolang/positive-infinity.phi
@@ -0,0 +1,246 @@
+{
+  ⟦
+    org ↦ ⟦
+      eolang ↦ ⟦
+        positive-infinity ↦ ⟦
+          φ ↦ Φ.org.eolang.float(
+            α0 ↦ Φ.org.eolang.bytes(
+              Δ ⤍ 3F-F0-00-00-00-00-00-00
+            )
+          ).div(
+            α0 ↦ Φ.org.eolang.float(
+              α0 ↦ Φ.org.eolang.bytes(
+                Δ ⤍ 00-00-00-00-00-00-00-00
+              )
+            )
+          ),
+          eq ↦ ⟦
+            x ↦ ∅,
+            φ ↦ ξ.ρ.as-bytes.eq(
+              α0 ↦ ξ.x.as-bytes
+            )
+          ⟧,
+          lt ↦ ⟦
+            x ↦ ∅,
+            φ ↦ Φ.org.eolang.false
+          ⟧,
+          lte ↦ ⟦
+            x ↦ ∅,
+            φ ↦ ξ.ρ.eq(
+              α0 ↦ ξ.x
+            )
+          ⟧,
+          gt ↦ ⟦
+            x ↦ ∅,
+            value ↦ Φ.org.eolang.dataized(
+              α0 ↦ ξ.x
+            ).as-bytes,
+            φ ↦ ξ.value.eq(
+              α0 ↦ Φ.org.eolang.nan.as-bytes
+            ).or(
+              α0 ↦ ξ.ρ.eq(
+                α0 ↦ ξ.value
+              )
+            ).not
+          ⟧,
+          gte ↦ ⟦
+            x ↦ ∅,
+            φ ↦ ξ.x.as-bytes.eq(
+              α0 ↦ Φ.org.eolang.nan.as-bytes
+            ).not
+          ⟧,
+          times ↦ ⟦
+            x ↦ ∅,
+            value ↦ Φ.org.eolang.dataized(
+              α0 ↦ ξ.x
+            ).as-bytes,
+            is-nan ↦ ⟦
+              num ↦ ∅,
+              φ ↦ ξ.num.eq(
+                α0 ↦ Φ.org.eolang.nan.as-bytes
+              )
+            ⟧,
+            is-nan-or-zero ↦ ⟦
+              num ↦ ∅,
+              φ ↦ ξ.ρ.is-nan(
+                α0 ↦ ξ.num
+              ).or(
+                α0 ↦ ξ.num.eq(
+                  α0 ↦ Φ.org.eolang.float(
+                    α0 ↦ Φ.org.eolang.bytes(
+                      Δ ⤍ 80-00-00-00-00-00-00-00
+                    )
+                  )
+                )
+              ).or(
+                α0 ↦ ξ.num.eq(
+                  α0 ↦ Φ.org.eolang.float(
+                    α0 ↦ Φ.org.eolang.bytes(
+                      Δ ⤍ 00-00-00-00-00-00-00-00
+                    )
+                  )
+                )
+              ).or(
+                α0 ↦ ξ.num.eq(
+                  α0 ↦ Φ.org.eolang.int(
+                    α0 ↦ Φ.org.eolang.bytes(
+                      Δ ⤍ 00-00-00-00-00-00-00-00
+                    )
+                  )
+                )
+              )
+            ⟧,
+            is-num-gt-zero ↦ ⟦
+              num ↦ ∅,
+              φ ↦ Φ.org.eolang.try(
+                α0 ↦ Φ.org.eolang.int(
+                  α0 ↦ Φ.org.eolang.bytes(
+                    Δ ⤍ 00-00-00-00-00-00-00-00
+                  )
+                ).lt(
+                  α0 ↦ ξ.num
+                ),
+                α1 ↦ ξ.auto-named-attr-at-81-26,
+                α2 ↦ Φ.org.eolang.false
+              ),
+              auto-named-attr-at-81-26 ↦ ⟦
+                φ ↦ Φ.org.eolang.float(
+                  α0 ↦ Φ.org.eolang.bytes(
+                    Δ ⤍ 00-00-00-00-00-00-00-00
+                  )
+                ).lt(
+                  α0 ↦ ξ.ρ.num
+                ),
+                e ↦ ∅
+              ⟧
+            ⟧,
+            φ ↦ ξ.is-nan-or-zero(
+              α0 ↦ ξ.value
+            ).if(
+              α0 ↦ Φ.org.eolang.nan,
+              α1 ↦ ξ.is-num-gt-zero(
+                α0 ↦ ξ.value
+              ).if(
+                α0 ↦ ξ.ρ.ρ.positive-infinity,
+                α1 ↦ Φ.org.eolang.negative-infinity
+              )
+            )
+          ⟧,
+          plus ↦ ⟦
+            x ↦ ∅,
+            value ↦ Φ.org.eolang.dataized(
+              α0 ↦ ξ.x
+            ).as-bytes,
+            neg-inf-as-bytes ↦ Φ.org.eolang.dataized(
+              α0 ↦ Φ.org.eolang.negative-infinity
+            ).as-bytes,
+            is-nan ↦ ⟦
+              num ↦ ∅,
+              φ ↦ ξ.num.eq(
+                α0 ↦ Φ.org.eolang.nan.as-bytes
+              )
+            ⟧,
+            φ ↦ ξ.is-nan(
+              α0 ↦ ξ.value
+            ).or(
+              α0 ↦ ξ.value.eq(
+                α0 ↦ ξ.neg-inf-as-bytes
+              )
+            ).if(
+              α0 ↦ Φ.org.eolang.nan,
+              α1 ↦ ξ.ρ.ρ.positive-infinity
+            )
+          ⟧,
+          minus ↦ ⟦
+            x ↦ ∅,
+            value ↦ Φ.org.eolang.dataized(
+              α0 ↦ ξ.x
+            ).as-bytes,
+            pos-inf-as-bytes ↦ Φ.org.eolang.dataized(
+              α0 ↦ ξ.ρ.ρ.positive-infinity
+            ).as-bytes,
+            is-nan ↦ ⟦
+              num ↦ ∅,
+              φ ↦ ξ.num.eq(
+                α0 ↦ Φ.org.eolang.nan.as-bytes
+              )
+            ⟧,
+            φ ↦ ξ.is-nan(
+              α0 ↦ ξ.value
+            ).or(
+              α0 ↦ ξ.value.eq(
+                α0 ↦ ξ.pos-inf-as-bytes
+              )
+            ).if(
+              α0 ↦ Φ.org.eolang.nan,
+              α1 ↦ ξ.ρ.ρ.positive-infinity
+            )
+          ⟧,
+          div ↦ ⟦
+            x ↦ ∅,
+            value ↦ Φ.org.eolang.dataized(
+              α0 ↦ ξ.x
+            ).as-bytes,
+            is-nan ↦ ⟦
+              num ↦ ∅,
+              φ ↦ ξ.num.eq(
+                α0 ↦ Φ.org.eolang.nan.as-bytes
+              )
+            ⟧,
+            is-nan-or-infinite ↦ ⟦
+              num ↦ ∅,
+              φ ↦ ξ.ρ.is-nan(
+                α0 ↦ ξ.num
+              ).or(
+                α0 ↦ ξ.num.eq(
+                  α0 ↦ ξ.ρ.ρ.ρ.positive-infinity
+                )
+              ).or(
+                α0 ↦ ξ.num.eq(
+                  α0 ↦ Φ.org.eolang.negative-infinity
+                )
+              )
+            ⟧,
+            is-num-gte-zero ↦ ⟦
+              num ↦ ∅,
+              φ ↦ Φ.org.eolang.try(
+                α0 ↦ Φ.org.eolang.int(
+                  α0 ↦ Φ.org.eolang.bytes(
+                    Δ ⤍ 00-00-00-00-00-00-00-00
+                  )
+                ).lte(
+                  α0 ↦ ξ.num
+                ),
+                α1 ↦ ξ.auto-named-attr-at-136-27,
+                α2 ↦ Φ.org.eolang.false
+              ),
+              auto-named-attr-at-136-27 ↦ ⟦
+                φ ↦ Φ.org.eolang.float(
+                  α0 ↦ Φ.org.eolang.bytes(
+                    Δ ⤍ 00-00-00-00-00-00-00-00
+                  )
+                ).lte(
+                  α0 ↦ ξ.ρ.num
+                ),
+                e ↦ ∅
+              ⟧
+            ⟧,
+            φ ↦ ξ.is-nan-or-infinite(
+              α0 ↦ ξ.value
+            ).if(
+              α0 ↦ Φ.org.eolang.nan,
+              α1 ↦ ξ.is-num-gte-zero(
+                α0 ↦ ξ.value
+              ).if(
+                α0 ↦ ξ.ρ.ρ.positive-infinity,
+                α1 ↦ Φ.org.eolang.negative-infinity
+              )
+            )
+          ⟧
+        ⟧,
+        λ ⤍ Package
+      ⟧,
+      λ ⤍ Package
+    ⟧
+  ⟧
+}
diff --git a/data/0.38.4/org/eolang/rust.phi b/data/0.38.4/org/eolang/rust.phi
new file mode 100644
--- /dev/null
+++ b/data/0.38.4/org/eolang/rust.phi
@@ -0,0 +1,16 @@
+{
+  ⟦
+    org ↦ ⟦
+      eolang ↦ ⟦
+        rust ↦ ⟦
+          λ ⤍ Lorg_eolang_rust,
+          code ↦ ∅,
+          portal ↦ ∅,
+          params ↦ ∅
+        ⟧,
+        λ ⤍ Package
+      ⟧,
+      λ ⤍ Package
+    ⟧
+  ⟧
+}
diff --git a/data/0.38.4/org/eolang/seq.phi b/data/0.38.4/org/eolang/seq.phi
new file mode 100644
--- /dev/null
+++ b/data/0.38.4/org/eolang/seq.phi
@@ -0,0 +1,65 @@
+{
+  ⟦
+    org ↦ ⟦
+      eolang ↦ ⟦
+        seq ↦ ⟦
+          steps ↦ ∅,
+          φ ↦ ξ.steps.length.eq(
+            α0 ↦ Φ.org.eolang.int(
+              α0 ↦ Φ.org.eolang.bytes(
+                Δ ⤍ 00-00-00-00-00-00-00-00
+              )
+            )
+          ).if(
+            α0 ↦ Φ.org.eolang.true,
+            α1 ↦ ξ.loop(
+              α0 ↦ Φ.org.eolang.int(
+                α0 ↦ Φ.org.eolang.bytes(
+                  Δ ⤍ 00-00-00-00-00-00-00-00
+                )
+              )
+            )
+          ),
+          max-len ↦ Φ.org.eolang.dataized(
+            α0 ↦ ξ.steps.length.minus(
+              α0 ↦ Φ.org.eolang.int(
+                α0 ↦ Φ.org.eolang.bytes(
+                  Δ ⤍ 00-00-00-00-00-00-00-01
+                )
+              )
+            )
+          ).as-bytes,
+          loop ↦ ⟦
+            index ↦ ∅,
+            φ ↦ ξ.index.lt(
+              α0 ↦ ξ.ρ.max-len
+            ).and(
+              α0 ↦ Φ.org.eolang.dataized(
+                α0 ↦ ξ.ρ.steps.at(
+                  α0 ↦ ξ.index
+                )
+              ).as-bool.or(
+                α0 ↦ Φ.org.eolang.true
+              )
+            ).if(
+              α0 ↦ ξ.ρ.loop(
+                α0 ↦ ξ.index.plus(
+                  α0 ↦ Φ.org.eolang.int(
+                    α0 ↦ Φ.org.eolang.bytes(
+                      Δ ⤍ 00-00-00-00-00-00-00-01
+                    )
+                  )
+                )
+              ),
+              α1 ↦ ξ.ρ.steps.at(
+                α0 ↦ ξ.index
+              )
+            )
+          ⟧
+        ⟧,
+        λ ⤍ Package
+      ⟧,
+      λ ⤍ Package
+    ⟧
+  ⟧
+}
diff --git a/data/0.38.4/org/eolang/string.phi b/data/0.38.4/org/eolang/string.phi
new file mode 100644
--- /dev/null
+++ b/data/0.38.4/org/eolang/string.phi
@@ -0,0 +1,28 @@
+{
+  ⟦
+    org ↦ ⟦
+      eolang ↦ ⟦
+        string ↦ ⟦
+          as-bytes ↦ ∅,
+          φ ↦ ξ.as-bytes,
+          eq ↦ ⟦
+            x ↦ ∅,
+            φ ↦ ξ.ρ.as-bytes.eq(
+              α0 ↦ ξ.x.as-bytes
+            )
+          ⟧,
+          length ↦ ⟦
+            λ ⤍ Lorg_eolang_string_length
+          ⟧,
+          slice ↦ ⟦
+            λ ⤍ Lorg_eolang_string_slice,
+            start ↦ ∅,
+            len ↦ ∅
+          ⟧
+        ⟧,
+        λ ⤍ Package
+      ⟧,
+      λ ⤍ Package
+    ⟧
+  ⟧
+}
diff --git a/data/0.38.4/org/eolang/switch.phi b/data/0.38.4/org/eolang/switch.phi
new file mode 100644
--- /dev/null
+++ b/data/0.38.4/org/eolang/switch.phi
@@ -0,0 +1,73 @@
+{
+  ⟦
+    org ↦ ⟦
+      eolang ↦ ⟦
+        switch ↦ ⟦
+          cases ↦ ∅,
+          len ↦ Φ.org.eolang.dataized(
+            α0 ↦ ξ.cases.length
+          ).as-bytes,
+          case-at ↦ ⟦
+            index ↦ ∅,
+            φ ↦ ξ.index.eq(
+              α0 ↦ ξ.ρ.len
+            ).if(
+              α0 ↦ Φ.org.eolang.true,
+              α1 ↦ ξ.case.at(
+                α0 ↦ Φ.org.eolang.int(
+                  α0 ↦ Φ.org.eolang.bytes(
+                    Δ ⤍ 00-00-00-00-00-00-00-00
+                  )
+                )
+              ).if(
+                α0 ↦ ξ.case.at(
+                  α0 ↦ Φ.org.eolang.int(
+                    α0 ↦ Φ.org.eolang.bytes(
+                      Δ ⤍ 00-00-00-00-00-00-00-01
+                    )
+                  )
+                ),
+                α1 ↦ ξ.ρ.case-at(
+                  α0 ↦ ξ.index.plus(
+                    α0 ↦ Φ.org.eolang.int(
+                      α0 ↦ Φ.org.eolang.bytes(
+                        Δ ⤍ 00-00-00-00-00-00-00-01
+                      )
+                    )
+                  )
+                )
+              )
+            ),
+            case ↦ ξ.ρ.cases.at(
+              α0 ↦ ξ.index
+            )
+          ⟧,
+          φ ↦ ξ.len.eq(
+            α0 ↦ Φ.org.eolang.int(
+              α0 ↦ Φ.org.eolang.bytes(
+                Δ ⤍ 00-00-00-00-00-00-00-00
+              )
+            )
+          ).if(
+            α0 ↦ Φ.org.eolang.error(
+              α0 ↦ Φ.org.eolang.string(
+                α0 ↦ Φ.org.eolang.bytes(
+                  Δ ⤍ 73-77-69-74-63-68-20-63-61-73-65-73-20-61-72-65-20-65-6D-70-74-79
+                )
+              )
+            ),
+            α1 ↦ ξ.case-at(
+              α0 ↦ Φ.org.eolang.int(
+                α0 ↦ Φ.org.eolang.bytes(
+                  Δ ⤍ 00-00-00-00-00-00-00-00
+                )
+              )
+            )
+          )
+        ⟧,
+        λ ⤍ Package
+      ⟧,
+      λ ⤍ Package
+    ⟧
+  ⟧
+}
diff --git a/data/0.38.4/org/eolang/true.phi b/data/0.38.4/org/eolang/true.phi
new file mode 100644
--- /dev/null
+++ b/data/0.38.4/org/eolang/true.phi
@@ -0,0 +1,33 @@
+{
+  ⟦
+    org ↦ ⟦
+      eolang ↦ ⟦
+        true ↦ ⟦
+          φ ↦ Φ.org.eolang.bytes(
+            Δ ⤍ 01-
+          ),
+          not ↦ Φ.org.eolang.false,
+          if ↦ ⟦
+            φ ↦ ξ.left,
+            left ↦ ∅,
+            right ↦ ∅
+          ⟧,
+          and ↦ ⟦
+            φ ↦ Φ.org.eolang.bytes(
+              Δ ⤍ 01-
+            ).eq(
+              α0 ↦ ξ.x
+            ),
+            x ↦ ∅
+          ⟧,
+          or ↦ ⟦
+            φ ↦ ξ.ρ,
+            x ↦ ∅
+          ⟧
+        ⟧,
+        λ ⤍ Package
+      ⟧,
+      λ ⤍ Package
+    ⟧
+  ⟧
+}
diff --git a/data/0.38.4/org/eolang/try.phi b/data/0.38.4/org/eolang/try.phi
new file mode 100644
--- /dev/null
+++ b/data/0.38.4/org/eolang/try.phi
@@ -0,0 +1,16 @@
+{
+  ⟦
+    org ↦ ⟦
+      eolang ↦ ⟦
+        try ↦ ⟦
+          λ ⤍ Lorg_eolang_try,
+          main ↦ ∅,
+          catch ↦ ∅,
+          finally ↦ ∅
+        ⟧,
+        λ ⤍ Package
+      ⟧,
+      λ ⤍ Package
+    ⟧
+  ⟧
+}
diff --git a/data/0.38.4/org/eolang/tuple.phi b/data/0.38.4/org/eolang/tuple.phi
new file mode 100644
--- /dev/null
+++ b/data/0.38.4/org/eolang/tuple.phi
@@ -0,0 +1,128 @@
+{
+  ⟦
+    org ↦ ⟦
+      eolang ↦ ⟦
+        tuple ↦ ⟦
+          head ↦ ∅,
+          tail ↦ ∅,
+          empty ↦ ⟦
+            length ↦ Φ.org.eolang.int(
+              α0 ↦ Φ.org.eolang.bytes(
+                Δ ⤍ 00-00-00-00-00-00-00-00
+              )
+            ),
+            at ↦ ⟦
+              i ↦ ∅,
+              φ ↦ Φ.org.eolang.error(
+                α0 ↦ Φ.org.eolang.string(
+                  α0 ↦ Φ.org.eolang.bytes(
+                    Δ ⤍ 43-61-6E-27-74-20-67-65-74-20-61-6E-20-6F-62-6A-65-63-74-20-66-72-6F-6D-20-74-68-65-20-65-6D-70-74-79-20-74-75-70-6C-65
+                  )
+                )
+              )
+            ⟧,
+            with ↦ ⟦
+              x ↦ ∅,
+              φ ↦ ξ.ρ.ρ.ρ.tuple(
+                α0 ↦ ξ.ρ.ρ.ρ.tuple.empty,
+                α1 ↦ ξ.x
+              )
+            ⟧
+          ⟧,
+          length ↦ ⟦
+            φ ↦ Φ.org.eolang.int(
+              α0 ↦ ξ.len
+            ),
+            len ↦ Φ.org.eolang.dataized(
+              α0 ↦ ξ.ρ.head.length.plus(
+                α0 ↦ Φ.org.eolang.int(
+                  α0 ↦ Φ.org.eolang.bytes(
+                    Δ ⤍ 00-00-00-00-00-00-00-01
+                  )
+                )
+              )
+            ).as-bytes
+          ⟧,
+          at ↦ ⟦
+            i ↦ ∅,
+            len ↦ ξ.ρ.length,
+            index ↦ Φ.org.eolang.dataized(
+              α0 ↦ Φ.org.eolang.int(
+                α0 ↦ Φ.org.eolang.bytes(
+                  Δ ⤍ 00-00-00-00-00-00-00-00
+                )
+              ).gt(
+                α0 ↦ ξ.idx
+              ).if(
+                α0 ↦ ξ.len.plus(
+                  α0 ↦ ξ.idx
+                ),
+                α1 ↦ ξ.idx
+              )
+            ).as-bytes,
+            φ ↦ Φ.org.eolang.int(
+              α0 ↦ Φ.org.eolang.bytes(
+                Δ ⤍ 00-00-00-00-00-00-00-00
+              )
+            ).gt(
+              α0 ↦ ξ.index
+            ).or(
+              α0 ↦ ξ.len.lte(
+                α0 ↦ ξ.index
+              )
+            ).if(
+              α0 ↦ Φ.org.eolang.error(
+                α0 ↦ Φ.org.eolang.string(
+                  α0 ↦ Φ.org.eolang.bytes(
+                    Δ ⤍ 47-69-76-65-6E-20-69-6E-64-65-78-20-69-73-20-6F-75-74-20-6F-66-20-74-75-70-6C-65-20-62-6F-75-6E-64-73
+                  )
+                )
+              ),
+              α1 ↦ ξ.at-fast(
+                α0 ↦ ξ.ρ,
+                α1 ↦ ξ.len
+              )
+            ),
+            at-fast ↦ ⟦
+              tup ↦ ∅,
+              len ↦ ∅,
+              φ ↦ ξ.len.plus(
+                α0 ↦ Φ.org.eolang.int(
+                  α0 ↦ Φ.org.eolang.bytes(
+                    Δ ⤍ FF-FF-FF-FF-FF-FF-FF-FF
+                  )
+                )
+              ).gt(
+                α0 ↦ ξ.ρ.index
+              ).if(
+                α0 ↦ ξ.ρ.at-fast(
+                  α0 ↦ ξ.tup.head,
+                  α1 ↦ ξ.len.plus(
+                    α0 ↦ Φ.org.eolang.int(
+                      α0 ↦ Φ.org.eolang.bytes(
+                        Δ ⤍ FF-FF-FF-FF-FF-FF-FF-FF
+                      )
+                    )
+                  )
+                ),
+                α1 ↦ ξ.tup.tail
+              )
+            ⟧,
+            idx ↦ Φ.org.eolang.dataized(
+              α0 ↦ ξ.i
+            ).as-bytes
+          ⟧,
+          with ↦ ⟦
+            φ ↦ ξ.ρ.ρ.tuple(
+              α0 ↦ ξ.ρ,
+              α1 ↦ ξ.x
+            ),
+            x ↦ ∅
+          ⟧
+        ⟧,
+        λ ⤍ Package
+      ⟧,
+      λ ⤍ Package
+    ⟧
+  ⟧
+}
diff --git a/data/0.38.4/org/eolang/while.phi b/data/0.38.4/org/eolang/while.phi
new file mode 100644
--- /dev/null
+++ b/data/0.38.4/org/eolang/while.phi
@@ -0,0 +1,64 @@
+{
+  ⟦
+    org ↦ ⟦
+      eolang ↦ ⟦
+        while ↦ ⟦
+          condition ↦ ∅,
+          body ↦ ∅,
+          φ ↦ ξ.condition(
+            α0 ↦ Φ.org.eolang.int(
+              α0 ↦ Φ.org.eolang.bytes(
+                Δ ⤍ 00-00-00-00-00-00-00-00
+              )
+            )
+          ).as-bool.if(
+            α0 ↦ ξ.loop(
+              α0 ↦ Φ.org.eolang.int(
+                α0 ↦ Φ.org.eolang.bytes(
+                  Δ ⤍ 00-00-00-00-00-00-00-00
+                )
+              )
+            ),
+            α1 ↦ Φ.org.eolang.false
+          ),
+          loop ↦ ⟦
+            index ↦ ∅,
+            current ↦ ξ.ρ.body(
+              α0 ↦ ξ.index
+            ),
+            φ ↦ ξ.ρ.condition(
+              α0 ↦ ξ.index.plus(
+                α0 ↦ Φ.org.eolang.int(
+                  α0 ↦ Φ.org.eolang.bytes(
+                    Δ ⤍ 00-00-00-00-00-00-00-01
+                  )
+                )
+              )
+            ).as-bool.if(
+              α0 ↦ Φ.org.eolang.seq(
+                α0 ↦ Φ.org.eolang.tuple(
+                  α0 ↦ Φ.org.eolang.tuple(
+                    α0 ↦ Φ.org.eolang.tuple.empty,
+                    α1 ↦ ξ.current
+                  ),
+                  α1 ↦ ξ.ρ.loop(
+                    α0 ↦ ξ.index.plus(
+                      α0 ↦ Φ.org.eolang.int(
+                        α0 ↦ Φ.org.eolang.bytes(
+                          Δ ⤍ 00-00-00-00-00-00-00-01
+                        )
+                      )
+                    )
+                  )
+                )
+              ),
+              α1 ↦ ξ.current
+            )
+          ⟧
+        ⟧,
+        λ ⤍ Package
+      ⟧,
+      λ ⤍ Package
+    ⟧
+  ⟧
+}
diff --git a/eo-phi-normalizer.cabal b/eo-phi-normalizer.cabal
--- a/eo-phi-normalizer.cabal
+++ b/eo-phi-normalizer.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           eo-phi-normalizer
-version:        0.4.1
+version:        1.0.0
 synopsis:       Command line normalizer of 𝜑-calculus expressions.
 description:    Please see the README on GitHub at <https://github.com/objectionary/eo-phi-normalizer#readme>
 homepage:       https://github.com/objectionary/eo-phi-normalizer#readme
@@ -99,6 +99,30 @@
     data/0.38.0/org/eolang/try.phi
     data/0.38.0/org/eolang/tuple.phi
     data/0.38.0/org/eolang/while.phi
+    data/0.38.4/org/eolang/as-phi.phi
+    data/0.38.4/org/eolang/bytes.phi
+    data/0.38.4/org/eolang/cage.phi
+    data/0.38.4/org/eolang/cti.phi
+    data/0.38.4/org/eolang/dataized.phi
+    data/0.38.4/org/eolang/error.phi
+    data/0.38.4/org/eolang/false.phi
+    data/0.38.4/org/eolang/float.phi
+    data/0.38.4/org/eolang/go.phi
+    data/0.38.4/org/eolang/int.phi
+    data/0.38.4/org/eolang/io/stdin.phi
+    data/0.38.4/org/eolang/io/stdout.phi
+    data/0.38.4/org/eolang/malloc.phi
+    data/0.38.4/org/eolang/nan.phi
+    data/0.38.4/org/eolang/negative-infinity.phi
+    data/0.38.4/org/eolang/positive-infinity.phi
+    data/0.38.4/org/eolang/rust.phi
+    data/0.38.4/org/eolang/seq.phi
+    data/0.38.4/org/eolang/string.phi
+    data/0.38.4/org/eolang/switch.phi
+    data/0.38.4/org/eolang/true.phi
+    data/0.38.4/org/eolang/try.phi
+    data/0.38.4/org/eolang/tuple.phi
+    data/0.38.4/org/eolang/while.phi
 
 source-repository head
   type: git
@@ -120,6 +144,7 @@
       Language.EO.Phi.Metrics.Data
       Language.EO.Phi.Normalize
       Language.EO.Phi.Pipeline.Config
+      Language.EO.Phi.Pipeline.Dataize.PrintConfigs
       Language.EO.Phi.Pipeline.EOTests.Data
       Language.EO.Phi.Pipeline.EOTests.PrepareTests
       Language.EO.Phi.Report.Data
@@ -127,6 +152,7 @@
       Language.EO.Phi.Rules.Common
       Language.EO.Phi.Rules.Fast
       Language.EO.Phi.Rules.PhiPaper
+      Language.EO.Phi.Rules.RunYegor
       Language.EO.Phi.Rules.Yaml
       Language.EO.Phi.Syntax
       Language.EO.Phi.Syntax.Abs
@@ -156,16 +182,19 @@
     , blaze-markup
     , bytestring
     , cereal
+    , containers
     , directory
     , file-embed >=0.0.16.0
     , filepath
     , generic-lens
+    , hashable
     , lens
     , mtl
     , regex-compat
     , scientific
     , template-haskell
     , text
+    , unordered-containers
     , yaml
   default-language: Haskell2010
 
@@ -193,11 +222,13 @@
     , blaze-markup
     , bytestring
     , cereal
+    , containers
     , directory
     , eo-phi-normalizer
     , file-embed >=0.0.16.0
     , filepath
     , generic-lens
+    , hashable
     , lens
     , mtl
     , optparse-applicative
@@ -205,6 +236,7 @@
     , scientific
     , template-haskell
     , text
+    , unordered-containers
     , with-utf8
     , yaml
   default-language: Haskell2010
@@ -220,6 +252,7 @@
       Language.EO.Phi.Metrics.Data
       Language.EO.Phi.Normalize
       Language.EO.Phi.Pipeline.Config
+      Language.EO.Phi.Pipeline.Dataize.PrintConfigs
       Language.EO.Phi.Pipeline.EOTests.Data
       Language.EO.Phi.Pipeline.EOTests.PrepareTests
       Language.EO.Phi.Report.Data
@@ -227,6 +260,7 @@
       Language.EO.Phi.Rules.Common
       Language.EO.Phi.Rules.Fast
       Language.EO.Phi.Rules.PhiPaper
+      Language.EO.Phi.Rules.RunYegor
       Language.EO.Phi.Rules.Yaml
       Language.EO.Phi.Syntax
       Language.EO.Phi.Syntax.Abs
@@ -257,18 +291,21 @@
     , blaze-markup
     , bytestring
     , cereal
+    , containers
     , directory
     , doctest-parallel
     , eo-phi-normalizer
     , file-embed >=0.0.16.0
     , filepath
     , generic-lens
+    , hashable
     , lens
     , mtl
     , regex-compat
     , scientific
     , template-haskell
     , text
+    , unordered-containers
     , yaml
   default-language: Haskell2010
 
@@ -305,11 +342,13 @@
     , blaze-markup
     , bytestring
     , cereal
+    , containers
     , directory
     , eo-phi-normalizer
     , file-embed >=0.0.16.0
     , filepath
     , generic-lens
+    , hashable
     , hspec
     , hspec-discover
     , lens
@@ -318,6 +357,7 @@
     , scientific
     , template-haskell
     , text
+    , unordered-containers
     , with-utf8
     , yaml
   default-language: Haskell2010
diff --git a/grammar/EO/Phi/Syntax.cf b/grammar/EO/Phi/Syntax.cf
--- a/grammar/EO/Phi/Syntax.cf
+++ b/grammar/EO/Phi/Syntax.cf
@@ -11,11 +11,21 @@
 token Function upper (char - [" \r\n\t,.|':;!-?][}{)(⟧⟦"])* ;
 token LabelId  lower (char - [" \r\n\t,.|':;!?][}{)(⟧⟦"])* ;
 token AlphaIndex ({"α0"} | {"α"} (digit - ["0"]) (digit)* ) ;
-token MetaId {"!"} (char - [" \r\n\t,.|':;!-?][}{)(⟧⟦"])* ;
+token LabelMetaId {"!τ"} (char - [" \r\n\t,.|':;!-?][}{)(⟧⟦"])* ;
+token TailMetaId {"!t"} (char - [" \r\n\t,.|':;!-?][}{)(⟧⟦"])* ;
+token BindingsMetaId {"!B"} (char - [" \r\n\t,.|':;!-?][}{)(⟧⟦"])* ;
+token ObjectMetaId {"!b"} (char - [" \r\n\t,.|':;!-?][}{)(⟧⟦"])* ;
+token BytesMetaId {"!y"} (char - [" \r\n\t,.|':;!-?][}{)(⟧⟦"])* ;
 token MetaFunctionName {"@"} (char - [" \r\n\t,.|':;!-?][}{)(⟧⟦"])* ;
 
 Program. Program ::= "{" "⟦" [Binding] "⟧" "}" ;
 
+MetaIdLabel.    MetaId ::= LabelMetaId ;
+MetaIdTail.     MetaId ::= TailMetaId ;
+MetaIdBindings. MetaId ::= BindingsMetaId ;
+MetaIdObject.   MetaId ::= ObjectMetaId ;
+MetaIdBytes.    MetaId ::= BytesMetaId ;
+
 Formation.      Object ::= "⟦" [Binding] "⟧" ;
 Application.    Object ::= Object "(" [Binding] ")" ;
 ObjectDispatch. Object ::= Object "." Attribute ;
@@ -23,7 +33,8 @@
 ThisObject.     Object ::= "ξ";
 Termination.    Object ::= "⊥" ;
 MetaSubstThis.  Object ::= Object "[" "ξ" "↦" Object "]" ;
-MetaObject.     Object ::= MetaId ;
+MetaObject.     Object ::= ObjectMetaId ;
+MetaTailContext. Object ::= Object "*" TailMetaId ;
 MetaFunction.   Object ::= MetaFunctionName "(" Object ")" ;
 
 AlphaBinding.       Binding ::= Attribute "↦" Object ;
@@ -31,15 +42,15 @@
 DeltaBinding.       Binding ::= "Δ" "⤍" Bytes ;
 DeltaEmptyBinding.  Binding ::= "Δ" "⤍" "∅" ;
 LambdaBinding.      Binding ::= "λ" "⤍" Function ;
-MetaBindings.       Binding ::= MetaId ;
-MetaDeltaBinding.   Binding ::= "Δ" "⤍" MetaId ;
+MetaBindings.       Binding ::= BindingsMetaId ;
+MetaDeltaBinding.   Binding ::= "Δ" "⤍" BytesMetaId ;
 separator Binding "," ;
 
 Phi.    Attribute ::= "φ" ;   -- decoratee object
 Rho.    Attribute ::= "ρ" ;   -- parent object
 Label.  Attribute ::= LabelId ;
 Alpha.  Attribute ::= AlphaIndex ;
-MetaAttr. Attribute ::= MetaId ;
+MetaAttr. Attribute ::= LabelMetaId ;
 
 -- Additional symbols used as attributes in the rules
 ObjectAttr. RuleAttribute ::= Attribute ;
diff --git a/src/Language/EO/Phi/Dataize.hs b/src/Language/EO/Phi/Dataize.hs
--- a/src/Language/EO/Phi/Dataize.hs
+++ b/src/Language/EO/Phi/Dataize.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedRecordDot #-}
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE QuasiQuotes #-}
 {-# LANGUAGE TupleSections #-}
@@ -10,10 +11,11 @@
 module Language.EO.Phi.Dataize where
 
 import Data.Bits
+import Data.HashMap.Strict qualified as HashMap
+import Data.HashSet (HashSet, difference, fromList)
+import Data.HashSet qualified as HashSet
 import Data.List (singleton)
 import Data.List.NonEmpty qualified as NonEmpty
-
--- import Data.List.NonEmpty qualified as NonEmpty
 import Data.Maybe (listToMaybe)
 import Language.EO.Phi (printTree)
 import Language.EO.Phi.Rules.Common
@@ -50,14 +52,21 @@
       return (ctx, Right bytes)
   | Just (LambdaBinding (Function funcName)) <- listToMaybe [b | b@(LambdaBinding _) <- bs]
   , not hasEmpty = do
-      logStep ("Evaluating lambda '" <> funcName <> "'") (Left obj)
-      msplit (evaluateBuiltinFunChain funcName obj ()) >>= \case
-        Nothing -> do
-          ctx <- getContext
-          return (ctx, Left obj)
-        Just ((obj', _state), _alts) -> do
-          ctx <- getContext
-          return (ctx, Left obj')
+      ctx' <- getContext
+      let lambaIsKnownAndNotEnabled = HashSet.member funcName knownAtomNames && not (HashSet.member funcName ctx'.enabledAtomNames)
+      if lambaIsKnownAndNotEnabled
+        then do
+          logStep [fmt|Not evaluating the lambda '{funcName}' since it's disabled.|] (Left obj)
+          pure (ctx', Left obj)
+        else do
+          logStep [fmt|Evaluating lambda '{funcName}' |] (Left obj)
+          msplit (evaluateBuiltinFunChain funcName obj ()) >>= \case
+            Nothing -> do
+              ctx <- getContext
+              return (ctx, Left obj)
+            Just ((obj', _state), _alts) -> do
+              ctx <- getContext
+              return (ctx, Left obj')
   | Just (AlphaBinding Phi decoratee) <- listToMaybe [b | b@(AlphaBinding Phi _) <- bs]
   , not hasEmpty = do
       let decoratee' = substThis obj decoratee
@@ -166,8 +175,6 @@
   return (result, ())
 
 evaluateBinaryDataizationFunChain ::
-  -- | Name of the atom.
-  String ->
   -- | How to convert the result back to bytes
   (res -> Bytes) ->
   -- | How to interpret the bytes in terms of the given data type
@@ -180,10 +187,12 @@
   (Object -> Object) ->
   -- | A binary function on the argument
   (a -> a -> res) ->
+  -- | Name of the atom.
+  String ->
   Object ->
   EvaluationState ->
   DataizeChain (Object, EvaluationState)
-evaluateBinaryDataizationFunChain name resultToBytes bytesToParam wrapBytes arg1 arg2 func obj _state = do
+evaluateBinaryDataizationFunChain resultToBytes bytesToParam wrapBytes arg1 arg2 func name obj _state = do
   let lhsArg = arg1 obj
   let rhsArg = arg2 obj
   lhs <- incLogLevel $ do
@@ -208,7 +217,6 @@
 
 -- | Unary functions operate on the given object without any additional parameters
 evaluateUnaryDataizationFunChain ::
-  String ->
   -- | How to convert the result back to bytes
   (res -> Bytes) ->
   -- | How to interpret the bytes in terms of the given data type
@@ -219,11 +227,12 @@
   (Object -> Object) ->
   -- | A unary function on the argument
   (a -> res) ->
+  String ->
   Object ->
   EvaluationState ->
   DataizeChain (Object, EvaluationState)
-evaluateUnaryDataizationFunChain name resultToBytes bytesToParam wrapBytes extractArg func =
-  evaluateBinaryDataizationFunChain name resultToBytes bytesToParam wrapBytes extractArg extractArg (const . func)
+evaluateUnaryDataizationFunChain resultToBytes bytesToParam wrapBytes extractArg func =
+  evaluateBinaryDataizationFunChain resultToBytes bytesToParam wrapBytes extractArg extractArg (const . func)
 
 evaluateIODataizationFunChain :: IO String -> Object -> EvaluationState -> DataizeChain (Object, EvaluationState)
 evaluateIODataizationFunChain action _obj state =
@@ -254,103 +263,146 @@
   | otherwise = [fmt|Φ.org.eolang.true|]
 
 -- This should maybe get converted to a type class and some instances?
-evaluateIntIntIntFunChain :: String -> (Int -> Int -> Int) -> Object -> EvaluationState -> DataizeChain (Object, EvaluationState)
-evaluateIntIntIntFunChain name = evaluateBinaryDataizationFunChain name intToBytes bytesToInt wrapBytesInInt extractRho (extractLabel "x")
+evaluateIntIntIntFunChain :: (Int -> Int -> Int) -> String -> Object -> EvaluationState -> DataizeChain (Object, EvaluationState)
+evaluateIntIntIntFunChain = evaluateBinaryDataizationFunChain intToBytes bytesToInt wrapBytesInInt extractRho (extractLabel "x")
 
-evaluateIntIntBoolFunChain :: String -> (Int -> Int -> Bool) -> Object -> EvaluationState -> DataizeChain (Object, EvaluationState)
-evaluateIntIntBoolFunChain name = evaluateBinaryDataizationFunChain name boolToBytes bytesToInt wrapBytesAsBool extractRho (extractLabel "x")
+evaluateIntIntBoolFunChain :: (Int -> Int -> Bool) -> String -> Object -> EvaluationState -> DataizeChain (Object, EvaluationState)
+evaluateIntIntBoolFunChain = evaluateBinaryDataizationFunChain boolToBytes bytesToInt wrapBytesAsBool extractRho (extractLabel "x")
 
 -- Int because Bytes are just a string, but Int has a Bits instance
-evaluateBytesBytesBytesFunChain :: String -> (Int -> Int -> Int) -> Object -> EvaluationState -> DataizeChain (Object, EvaluationState)
-evaluateBytesBytesBytesFunChain name = evaluateBinaryDataizationFunChain name intToBytes bytesToInt wrapBytesInBytes extractRho (extractLabel "b")
+evaluateBytesBytesBytesFunChain :: (Int -> Int -> Int) -> String -> Object -> EvaluationState -> DataizeChain (Object, EvaluationState)
+evaluateBytesBytesBytesFunChain = evaluateBinaryDataizationFunChain intToBytes bytesToInt wrapBytesInBytes extractRho (extractLabel "b")
 
-evaluateBytesBytesFunChain :: String -> (Int -> Int) -> Object -> EvaluationState -> DataizeChain (Object, EvaluationState)
-evaluateBytesBytesFunChain name = evaluateUnaryDataizationFunChain name intToBytes bytesToInt wrapBytesInBytes extractRho
+evaluateBytesBytesFunChain :: (Int -> Int) -> String -> Object -> EvaluationState -> DataizeChain (Object, EvaluationState)
+evaluateBytesBytesFunChain = evaluateUnaryDataizationFunChain intToBytes bytesToInt wrapBytesInBytes extractRho
 
-evaluateFloatFloatFloatFunChain :: String -> (Double -> Double -> Double) -> Object -> EvaluationState -> DataizeChain (Object, EvaluationState)
-evaluateFloatFloatFloatFunChain name = evaluateBinaryDataizationFunChain name floatToBytes bytesToFloat wrapBytesInFloat extractRho (extractLabel "x")
+evaluateFloatFloatFloatFunChain :: (Double -> Double -> Double) -> String -> Object -> EvaluationState -> DataizeChain (Object, EvaluationState)
+evaluateFloatFloatFloatFunChain = evaluateBinaryDataizationFunChain floatToBytes bytesToFloat wrapBytesInFloat extractRho (extractLabel "x")
 
+knownAtoms :: [(String, String -> Object -> EvaluationState -> DataizeChain (Object, EvaluationState))]
+knownAtoms =
+  [ ("Lorg_eolang_int_gt", evaluateIntIntBoolFunChain (>))
+  , ("Lorg_eolang_int_plus", evaluateIntIntIntFunChain (+))
+  , ("Lorg_eolang_int_times", evaluateIntIntIntFunChain (*))
+  , ("Lorg_eolang_int_div", evaluateIntIntIntFunChain quot)
+  , ("Lorg_eolang_bytes_eq", evaluateBinaryDataizationFunChain boolToBytes bytesToInt wrapBytesAsBool extractRho (extractLabel "b") (==))
+  ,
+    ( "Lorg_eolang_bytes_size"
+    , let f = evaluateUnaryDataizationFunChain intToBytes id wrapBytesInBytes extractRho (\(Bytes bytes) -> length (words (map dashToSpace bytes)))
+           where
+            dashToSpace '-' = ' '
+            dashToSpace c = c
+       in f
+    )
+  ,
+    ( "Lorg_eolang_bytes_slice"
+    , \name obj state -> do
+        thisStr <- incLogLevel $ dataizeRecursivelyChain True (extractRho obj)
+        bytes <- case thisStr of
+          Right bytes -> pure bytes
+          Left _ -> fail "Couldn't find bytes"
+        evaluateBinaryDataizationFunChain id bytesToInt wrapBytesInBytes (extractLabel "start") (extractLabel "len") (sliceBytes bytes) name obj state
+    )
+  , ("Lorg_eolang_bytes_and", evaluateBytesBytesBytesFunChain (.&.))
+  , ("Lorg_eolang_bytes_or", evaluateBytesBytesBytesFunChain (.|.))
+  , ("Lorg_eolang_bytes_xor", evaluateBytesBytesBytesFunChain (.^.))
+  , ("Lorg_eolang_bytes_not", evaluateBytesBytesFunChain complement)
+  , ("Lorg_eolang_bytes_right", evaluateBinaryDataizationFunChain intToBytes bytesToInt wrapBytesInBytes extractRho (extractLabel "x") (\x i -> shift x (-i)))
+  , ("Lorg_eolang_bytes_concat", evaluateBinaryDataizationFunChain id id wrapBytesInBytes extractRho (extractLabel "b") concatBytes)
+  , -- float
+    ("Lorg_eolang_float_gt", evaluateBinaryDataizationFunChain boolToBytes bytesToFloat wrapBytesInBytes extractRho (extractLabel "x") (>))
+  , ("Lorg_eolang_float_times", evaluateFloatFloatFloatFunChain (*))
+  , ("Lorg_eolang_float_plus", evaluateFloatFloatFloatFunChain (+))
+  , ("Lorg_eolang_float_div", evaluateFloatFloatFloatFunChain (/))
+  , ("Lorg_eolang_float_gt", evaluateBinaryDataizationFunChain boolToBytes bytesToFloat wrapBytesInBytes extractRho (extractLabel "x") (>))
+  , ("Lorg_eolang_float_times", evaluateFloatFloatFloatFunChain (*))
+  , ("Lorg_eolang_float_plus", evaluateFloatFloatFloatFunChain (+))
+  , ("Lorg_eolang_float_div", evaluateFloatFloatFloatFunChain (/))
+  , -- string
+    ("Lorg_eolang_string_length", evaluateUnaryDataizationFunChain intToBytes bytesToString wrapBytesInInt extractRho length)
+  ,
+    ( "Lorg_eolang_string_slice"
+    , \name obj state -> do
+        thisStr <- incLogLevel $ dataizeRecursivelyChain True (extractRho obj)
+        string <- case thisStr of
+          Right bytes -> pure $ bytesToString bytes
+          Left _ -> fail "Couldn't find bytes"
+        evaluateBinaryDataizationFunChain stringToBytes bytesToInt wrapBytesInString (extractLabel "start") (extractLabel "len") (\start len -> take len (drop start string)) name obj state
+    )
+  , -- others
+    ("Lorg_eolang_dataized", evaluateUnaryDataizationFunChain id id wrapBytesInBytes (extractLabel "target") id)
+  , ("Lorg_eolang_error", evaluateUnaryDataizationFunChain stringToBytes bytesToString wrapBytesInBytes (extractLabel "message") error)
+  ,
+    ( "Package"
+    , let
+        f _name obj@(Formation bindings) = do
+          \state -> do
+            fmap dataizePackage getContext >>= \case
+              True -> do
+                let (packageBindings, restBindings) = span isPackage bindings
+                bs <- mapM dataizeBindingChain restBindings
+                logStep "Dataized 'Package' siblings" (Left $ Formation (bs ++ packageBindings))
+                return (Formation (bs ++ packageBindings), state)
+              False ->
+                return (Formation bindings, state)
+         where
+          isPackage (LambdaBinding (Function "Package")) = True
+          isPackage _ = False
+          dataizeBindingChain (AlphaBinding attr o) = do
+            ctx <- getContext
+            let extendedContext = (extendContextWith obj ctx){currentAttr = attr}
+            dataizationResult <- incLogLevel $ withContext extendedContext $ dataizeRecursivelyChain False o
+            return (AlphaBinding attr (either id (Formation . singleton . DeltaBinding) dataizationResult))
+          dataizeBindingChain b = return b
+        f name _otherwise = evaluateBuiltinFunChainUnknown name _otherwise
+       in
+        f
+    )
+  ]
+
+-- | Atoms supported by 'evaluateBuiltinFunChain'
+knownAtomNames :: HashSet String
+knownAtomNames = fromList $ fst <$> knownAtoms
+
+defaultContext :: [NamedRule] -> Object -> Context
+defaultContext rules obj =
+  Context
+    { builtinRules = False
+    , allRules = rules
+    , enabledAtomNames = knownAtomNames
+    , outerFormations = NonEmpty.singleton obj
+    , currentAttr = Phi
+    , insideFormation = False
+    , insideAbstractFormation = False
+    , dataizePackage = True
+    , minimizeTerms = False
+    , insideSubObject = False
+    }
+
+mkEnabledAtomNames :: [String] -> [String] -> HashSet String
+mkEnabledAtomNames enabled disabled = enabledSet'
+ where
+  enabledSet =
+    case enabled of
+      [] -> knownAtomNames
+      _ -> fromList enabled
+  disabledSet = fromList disabled
+  enabledSet' = difference enabledSet disabledSet
+
+knownAtomsSet :: HashMap.HashMap String (String -> Object -> EvaluationState -> DataizeChain (Object, EvaluationState))
+knownAtomsSet = HashMap.fromList knownAtoms
+
 -- | Like `evaluateDataizationFunChain` but specifically for the built-in functions.
 -- This function is not safe. It returns undefined for unknown functions
 evaluateBuiltinFunChain :: String -> Object -> EvaluationState -> DataizeChain (Object, EvaluationState)
--- int
-evaluateBuiltinFunChain name@"Lorg_eolang_int_gt" obj = evaluateIntIntBoolFunChain name (>) obj
-evaluateBuiltinFunChain name@"Lorg_eolang_int_plus" obj = evaluateIntIntIntFunChain name (+) obj
-evaluateBuiltinFunChain name@"Lorg_eolang_int_times" obj = evaluateIntIntIntFunChain name (*) obj
-evaluateBuiltinFunChain name@"Lorg_eolang_int_div" obj = evaluateIntIntIntFunChain name quot obj
--- bytes
-evaluateBuiltinFunChain name@"Lorg_eolang_bytes_eq" obj = evaluateBinaryDataizationFunChain name boolToBytes bytesToInt wrapBytesAsBool extractRho (extractLabel "b") (==) obj
-evaluateBuiltinFunChain name@"Lorg_eolang_bytes_size" obj = evaluateUnaryDataizationFunChain name intToBytes id wrapBytesInBytes extractRho (\(Bytes bytes) -> length (words (map dashToSpace bytes))) obj
- where
-  dashToSpace '-' = ' '
-  dashToSpace c = c
-evaluateBuiltinFunChain name@"Lorg_eolang_bytes_slice" obj = \state -> do
-  thisStr <- incLogLevel $ dataizeRecursivelyChain True (extractRho obj)
-  bytes <- case thisStr of
-    Right bytes -> pure bytes
-    Left _ -> fail "Couldn't find bytes"
-  evaluateBinaryDataizationFunChain name id bytesToInt wrapBytesInBytes (extractLabel "start") (extractLabel "len") (sliceBytes bytes) obj state
-evaluateBuiltinFunChain name@"Lorg_eolang_bytes_and" obj = evaluateBytesBytesBytesFunChain name (.&.) obj
-evaluateBuiltinFunChain name@"Lorg_eolang_bytes_or" obj = evaluateBytesBytesBytesFunChain name (.|.) obj
-evaluateBuiltinFunChain name@"Lorg_eolang_bytes_xor" obj = evaluateBytesBytesBytesFunChain name (.^.) obj
-evaluateBuiltinFunChain name@"Lorg_eolang_bytes_not" obj = evaluateBytesBytesFunChain name complement obj
-evaluateBuiltinFunChain name@"Lorg_eolang_bytes_right" obj = evaluateBinaryDataizationFunChain name intToBytes bytesToInt wrapBytesInBytes extractRho (extractLabel "x") (\x i -> shift x (-i)) obj
-evaluateBuiltinFunChain name@"Lorg_eolang_bytes_concat" obj = evaluateBinaryDataizationFunChain name id id wrapBytesInBytes extractRho (extractLabel "b") concatBytes obj
--- float
-evaluateBuiltinFunChain name@"Lorg_eolang_float_gt" obj = evaluateBinaryDataizationFunChain name boolToBytes bytesToFloat wrapBytesInBytes extractRho (extractLabel "x") (>) obj
-evaluateBuiltinFunChain name@"Lorg_eolang_float_times" obj = evaluateFloatFloatFloatFunChain name (*) obj
-evaluateBuiltinFunChain name@"Lorg_eolang_float_plus" obj = evaluateFloatFloatFloatFunChain name (+) obj
-evaluateBuiltinFunChain name@"Lorg_eolang_float_div" obj = evaluateFloatFloatFloatFunChain name (/) obj
--- string
-evaluateBuiltinFunChain name@"Lorg_eolang_string_length" obj = evaluateUnaryDataizationFunChain name intToBytes bytesToString wrapBytesInInt extractRho length obj
-evaluateBuiltinFunChain name@"Lorg_eolang_string_slice" obj = \state -> do
-  thisStr <- incLogLevel $ dataizeRecursivelyChain True (extractRho obj)
-  string <- case thisStr of
-    Right bytes -> pure $ bytesToString bytes
-    Left _ -> fail "Couldn't find bytes"
-  evaluateBinaryDataizationFunChain name stringToBytes bytesToInt wrapBytesInString (extractLabel "start") (extractLabel "len") (\start len -> take len (drop start string)) obj state
--- malloc
--- evaluateBuiltinFunChain name@"Lorg_eolang_malloc_φ" obj = _ -- TODO
--- evaluateBuiltinFunChain name@"Lorg_eolang_malloc_memory_block_pointer_read" obj = _ -- TODO
--- evaluateBuiltinFunChain name@"Lorg_eolang_malloc_memory_block_pointer_write" obj = _ -- TODO
--- evaluateBuiltinFunChain name@"Lorg_eolang_malloc_memory_block_pointer_free" obj = _ -- TODO
--- cage
--- evaluateBuiltinFunChain name@"Lorg_eolang_cage_φ" obj = _ -- TODO
--- evaluateBuiltinFunChain name@"Lorg_eolang_cage_encaged_φ" obj = _ -- TODO
--- evaluateBuiltinFunChain name@"Lorg_eolang_cage_encaged_encage" obj = _ -- TODO
--- I/O
--- evaluateBuiltinFunChain name@"Lorg_eolang_io_stdin_next_line" obj = evaluateIODataizationFunChain getLine obj
--- evaluateBuiltinFunChain name@"Lorg_eolang_io_stdin_φ" obj = evaluateIODataizationFunChain getContents obj
--- evaluateBuiltinFunChain name@"Lorg_eolang_io_stdout" obj = evaluateUnaryDataizationFunChain boolToBytes bytesToString wrapBytesInBytes (extractLabel "text") ((`seq` True) . unsafePerformIO . putStrLn) obj
--- others
-evaluateBuiltinFunChain name@"Lorg_eolang_dataized" obj =
-  evaluateUnaryDataizationFunChain name id id wrapBytesInBytes (extractLabel "target") id obj
-evaluateBuiltinFunChain name@"Lorg_eolang_error" obj = evaluateUnaryDataizationFunChain name stringToBytes bytesToString wrapBytesInBytes (extractLabel "message") error obj
--- evaluateBuiltinFunChain name@"Lorg_eolang_seq" obj = _ -- TODO
--- evaluateBuiltinFunChain name@"Lorg_eolang_as_phi" obj = _ -- TODO
--- evaluateBuiltinFunChain name@"Lorg_eolang_rust" obj = _ -- TODO
--- evaluateBuiltinFunChain name@"Lorg_eolang_try" obj = _ -- TODO
-evaluateBuiltinFunChain "Package" obj@(Formation bindings) = do
-  \state -> do
-    fmap dataizePackage getContext >>= \case
-      True -> do
-        let (packageBindings, restBindings) = span isPackage bindings
-        bs <- mapM dataizeBindingChain restBindings
-        logStep "Dataized 'Package' siblings" (Left $ Formation (bs ++ packageBindings))
-        return (Formation (bs ++ packageBindings), state)
-      False ->
-        return (Formation bindings, state)
- where
-  isPackage (LambdaBinding (Function "Package")) = True
-  isPackage _ = False
-  dataizeBindingChain (AlphaBinding attr o) = do
-    ctx <- getContext
-    let extendedContext = (extendContextWith obj ctx){currentAttr = attr}
-    dataizationResult <- incLogLevel $ withContext extendedContext $ dataizeRecursivelyChain False o
-    return (AlphaBinding attr (either id (Formation . singleton . DeltaBinding) dataizationResult))
-  dataizeBindingChain b = return b
-evaluateBuiltinFunChain atomName obj = \state -> do
-  logStep ("[WARNING]: unknown atom (" <> atomName <> ")") (Left obj)
+evaluateBuiltinFunChain name obj =
+  case HashMap.lookup name knownAtomsSet of
+    Just f -> f name obj
+    Nothing -> evaluateBuiltinFunChainUnknown name obj
+
+evaluateBuiltinFunChainUnknown :: String -> a -> b1 -> Chain (Either a b2) (a, b1)
+evaluateBuiltinFunChainUnknown atomName obj state = do
+  logStep [fmt|[INFO]: unknown atom ({atomName})|] (Left obj)
   return (obj, state)
 
 -- | Like `evaluateDataizationFun` but specifically for the built-in functions.
diff --git a/src/Language/EO/Phi/Normalize.hs b/src/Language/EO/Phi/Normalize.hs
--- a/src/Language/EO/Phi/Normalize.hs
+++ b/src/Language/EO/Phi/Normalize.hs
@@ -50,6 +50,7 @@
   ThisObject -> PeeledObject HeadThis []
   Termination -> PeeledObject HeadTermination []
   MetaObject _ -> PeeledObject HeadTermination []
+  MetaTailContext{} -> error "impossible"
   MetaFunction _ _ -> error "To be honest, I'm not sure what should be here"
   MetaSubstThis{} -> error "impossible"
  where
diff --git a/src/Language/EO/Phi/Pipeline/Config.hs b/src/Language/EO/Phi/Pipeline/Config.hs
--- a/src/Language/EO/Phi/Pipeline/Config.hs
+++ b/src/Language/EO/Phi/Pipeline/Config.hs
@@ -96,9 +96,18 @@
 
 $(deriveJSON ''TestSetEO)
 
+data AtomsSet = AtomsSet
+  { enable :: Maybe [String]
+  , disable :: Maybe [String]
+  }
+  deriving stock (Show, Generic)
+
+$(deriveJSON ''AtomsSet)
+
 data TestSet = TestSet
   { eo :: TestSetEO
   , phi :: TestSetPhi
+  , atoms :: Maybe AtomsSet
   , enable :: Maybe Bool
   -- ^
   -- Whether to enable this test set.
diff --git a/src/Language/EO/Phi/Pipeline/Dataize/PrintConfigs.hs b/src/Language/EO/Phi/Pipeline/Dataize/PrintConfigs.hs
new file mode 100644
--- /dev/null
+++ b/src/Language/EO/Phi/Pipeline/Dataize/PrintConfigs.hs
@@ -0,0 +1,32 @@
+{-# LANGUAGE OverloadedRecordDot #-}
+{-# LANGUAGE QuasiQuotes #-}
+{-# LANGUAGE RecordWildCards #-}
+
+module Language.EO.Phi.Pipeline.Dataize.PrintConfigs where
+
+import Data.Functor ((<&>))
+import Data.List (stripPrefix)
+import Data.Maybe
+import Language.EO.Phi.Pipeline.Config
+import PyF (fmt)
+
+printDataizeConfigs :: PipelineConfig -> [String] -> Bool -> IO ()
+printDataizeConfigs pipelineConfig phiPrefixes singleLine = do
+  let args =
+        pipelineConfig.testSets <&> \testSet ->
+          let phiInitial = testSet.phi.initial
+              phi =
+                case catMaybes [stripPrefix prefix phiInitial | prefix <- phiPrefixes] of
+                  [] -> phiInitial
+                  x : _ -> x
+              atoms = case testSet.atoms of
+                Nothing -> ""
+                Just (AtomsSet{..}) ->
+                  let enable' = unwords . ((\atom -> [fmt|--enable-atom {atom}|]) <$>) <$> enable
+                      disable' = unwords . ((\atom -> [fmt|--disable-atom {atom}|]) <$>) <$> disable
+                   in unwords (catMaybes [enable', disable'])
+              enableTestSet
+                | fromMaybe True testSet.enable = "true"
+                | otherwise = "false"
+           in [fmt|'{{"atoms": "{atoms}", "phi": "{phi}", "enable": "{enableTestSet}"}}'|]
+  putStrLn ((if singleLine then unwords else unlines) args)
diff --git a/src/Language/EO/Phi/Rules/Common.hs b/src/Language/EO/Phi/Rules/Common.hs
--- a/src/Language/EO/Phi/Rules/Common.hs
+++ b/src/Language/EO/Phi/Rules/Common.hs
@@ -1,13 +1,14 @@
 {-# HLINT ignore "Use &&" #-}
 {-# LANGUAGE DeriveFunctor #-}
+{-# HLINT ignore "Redundant fmap" #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE GeneralisedNewtypeDeriving #-}
 {-# LANGUAGE LambdaCase #-}
 {-# LANGUAGE RecordWildCards #-}
 {-# LANGUAGE ViewPatterns #-}
 {-# OPTIONS_GHC -Wno-orphans #-}
 {-# OPTIONS_GHC -Wno-unrecognised-pragmas #-}
 
-{-# HLINT ignore "Redundant fmap" #-}
-
 module Language.EO.Phi.Rules.Common where
 
 import Control.Applicative (Alternative ((<|>)), asum)
@@ -16,9 +17,9 @@
 import Data.ByteString (ByteString)
 import Data.ByteString qualified as ByteString.Strict
 import Data.Char (toUpper)
+import Data.HashSet (HashSet)
 import Data.List (intercalate, minimumBy, nubBy, sortOn)
 import Data.List.NonEmpty (NonEmpty (..), (<|))
-import Data.List.NonEmpty qualified as NonEmpty
 import Data.Ord (comparing)
 import Data.Serialize qualified as Serialize
 import Data.String (IsString (..))
@@ -42,6 +43,8 @@
 instance IsString PeeledObject where fromString = unsafeParseWith pPeeledObject
 instance IsString ObjectHead where fromString = unsafeParseWith pObjectHead
 
+instance IsString MetaId where fromString = unsafeParseWith pMetaId
+
 parseWith :: ([Token] -> Either String a) -> String -> Either String a
 parseWith parser input = parser tokens
  where
@@ -60,10 +63,12 @@
 data Context = Context
   { builtinRules :: Bool
   , allRules :: [NamedRule]
+  , enabledAtomNames :: HashSet String
   , outerFormations :: NonEmpty Object
   , currentAttr :: Attribute
   , insideFormation :: Bool
   -- ^ Temporary hack for applying Ksi and Phi rules when dataizing
+  , insideAbstractFormation :: Bool
   , dataizePackage :: Bool
   -- ^ Temporary flag to only dataize Package attributes for the top-level formation.
   , minimizeTerms :: Bool
@@ -77,19 +82,6 @@
     , currentAttr ctx1 == currentAttr ctx2
     ]
 
-defaultContext :: [NamedRule] -> Object -> Context
-defaultContext rules obj =
-  Context
-    { builtinRules = False
-    , allRules = rules
-    , outerFormations = NonEmpty.singleton obj
-    , currentAttr = Phi
-    , insideFormation = False
-    , dataizePackage = True
-    , minimizeTerms = False
-    , insideSubObject = False
-    }
-
 -- | A rule tries to apply a transformation to the root object, if possible.
 type Rule = Context -> Object -> [Object]
 
@@ -117,9 +109,11 @@
 withSubObject f ctx root =
   f ctx root
     <|> case root of
-      Formation bindings
-        | not (any isEmptyBinding bindings) -> propagateName1 Formation <$> withSubObjectBindings f ((extendContextWith root subctx){insideFormation = True}) bindings
-        | otherwise -> []
+      Formation bindings ->
+        propagateName1 Formation
+          <$> withSubObjectBindings f ((extendContextWith root subctx){insideFormation = True, insideAbstractFormation = isAbstract}) bindings
+       where
+        isAbstract = any isEmptyBinding bindings
       Application obj bindings ->
         asum
           [ propagateName2 Application <$> withSubObject f subctx obj <*> pure bindings
@@ -131,6 +125,7 @@
       Termination -> []
       MetaObject _ -> []
       MetaFunction _ _ -> []
+      MetaTailContext{} -> []
       MetaSubstThis _ _ -> []
  where
   subctx = ctx{insideSubObject = True}
@@ -199,6 +194,7 @@
   MetaObject{} -> 1 -- should be impossible
   MetaFunction{} -> 1 -- should be impossible
   MetaSubstThis{} -> 1 -- should be impossible
+  MetaTailContext{} -> 1 -- should be impossible
 
 bindingSize :: Binding -> Int
 bindingSize = \case
@@ -250,7 +246,7 @@
   attr DeltaEmptyBinding = Label (LabelId "Δ")
   attr (MetaDeltaBinding _) = Label (LabelId "Δ")
   attr (LambdaBinding _) = Label (LabelId "λ")
-  attr (MetaBindings metaId) = MetaAttr metaId
+  attr (MetaBindings (BindingsMetaId metaId)) = MetaAttr (LabelMetaId metaId)
 
 equalBinding :: Binding -> Binding -> Bool
 equalBinding (AlphaBinding attr1 obj1) (AlphaBinding attr2 obj2) = attr1 == attr2 && equalObject obj1 obj2
diff --git a/src/Language/EO/Phi/Rules/Fast.hs b/src/Language/EO/Phi/Rules/Fast.hs
--- a/src/Language/EO/Phi/Rules/Fast.hs
+++ b/src/Language/EO/Phi/Rules/Fast.hs
@@ -6,25 +6,11 @@
 import Data.List.NonEmpty qualified as NonEmpty
 import Language.EO.Phi.Rules.Common
 import Language.EO.Phi.Rules.Yaml qualified as Yaml
-import Language.EO.Phi.Syntax (printTree)
 import Language.EO.Phi.Syntax.Abs
-import System.IO.Unsafe (unsafePerformIO)
 
 -- $setup
 -- >>> :set -XOverloadedStrings
 
-runWithYegorRules :: (Context -> Object -> Object) -> Object -> IO ()
-runWithYegorRules f obj = putStrLn (printTree (f (defaultContext yegorRules obj) obj))
-
-yegorRuleSet :: Yaml.RuleSet
-{-# NOINLINE yegorRuleSet #-}
-yegorRuleSet =
-  unsafePerformIO $
-    Yaml.parseRuleSetFromFile "eo-phi-normalizer/test/eo/phi/rules/yegor.yaml"
-
-yegorRules :: [NamedRule]
-yegorRules = map Yaml.convertRuleNamed (Yaml.rules yegorRuleSet)
-
 withBinding :: (Context -> Object -> Object) -> Context -> Binding -> Binding
 withBinding f ctx = \case
   AlphaBinding Rho obj -> AlphaBinding Rho obj -- do not apply f inside ρ-bindings
@@ -199,4 +185,5 @@
   Termination -> Termination
   MetaSubstThis{} -> error "impossible MetaSubstThis!"
   MetaObject{} -> error "impossible MetaObject!"
+  MetaTailContext{} -> error "impossible MetaTailContext!"
   MetaFunction{} -> error "impossible MetaFunction!"
diff --git a/src/Language/EO/Phi/Rules/RunYegor.hs b/src/Language/EO/Phi/Rules/RunYegor.hs
new file mode 100644
--- /dev/null
+++ b/src/Language/EO/Phi/Rules/RunYegor.hs
@@ -0,0 +1,20 @@
+module Language.EO.Phi.Rules.RunYegor where
+
+import Language.EO.Phi.Dataize
+import Language.EO.Phi.Rules.Common
+import Language.EO.Phi.Rules.Yaml qualified as Yaml
+import Language.EO.Phi.Syntax (printTree)
+import Language.EO.Phi.Syntax.Abs
+import System.IO.Unsafe (unsafePerformIO)
+
+runWithYegorRules :: (Context -> Object -> Object) -> Object -> IO ()
+runWithYegorRules f obj = putStrLn (printTree (f (defaultContext yegorRules obj) obj))
+
+yegorRuleSet :: Yaml.RuleSet
+{-# NOINLINE yegorRuleSet #-}
+yegorRuleSet =
+  unsafePerformIO $
+    Yaml.parseRuleSetFromFile "eo-phi-normalizer/test/eo/phi/rules/yegor.yaml"
+
+yegorRules :: [NamedRule]
+yegorRules = map Yaml.convertRuleNamed (Yaml.rules yegorRuleSet)
diff --git a/src/Language/EO/Phi/Rules/Yaml.hs b/src/Language/EO/Phi/Rules/Yaml.hs
--- a/src/Language/EO/Phi/Rules/Yaml.hs
+++ b/src/Language/EO/Phi/Rules/Yaml.hs
@@ -8,12 +8,14 @@
 {-# LANGUAGE QuasiQuotes #-}
 {-# LANGUAGE RecordWildCards #-}
 {-# LANGUAGE TypeApplications #-}
+{-# OPTIONS_GHC -Wno-forall-identifier #-}
 {-# OPTIONS_GHC -Wno-orphans #-}
 {-# OPTIONS_GHC -Wno-partial-fields #-}
+{-# OPTIONS_GHC -Wno-type-defaults #-}
 
 module Language.EO.Phi.Rules.Yaml where
 
-import Control.Monad (guard)
+import Control.Monad (guard, unless)
 import Control.Monad.State (State, evalState)
 import Data.Aeson (FromJSON (..), Options (sumEncoding), SumEncoding (UntaggedValue), genericParseJSON)
 import Data.Aeson.Types (defaultOptions)
@@ -21,13 +23,16 @@
 import Data.List (intercalate)
 import Data.List.NonEmpty qualified as NonEmpty
 import Data.Maybe (fromMaybe)
+import Data.Set (Set)
+import Data.Set qualified as Set
 import Data.String (IsString (..))
 import Data.Yaml qualified as Yaml
 import GHC.Generics (Generic)
 
-import Language.EO.Phi
-import Language.EO.Phi.Rules.Common (Context (insideFormation, outerFormations), NamedRule)
+import Language.EO.Phi (printTree)
+import Language.EO.Phi.Rules.Common (Context (..), NamedRule)
 import Language.EO.Phi.Rules.Common qualified as Common
+import Language.EO.Phi.Syntax.Abs
 import PyF (fmt)
 
 -- $setup
@@ -36,7 +41,16 @@
 
 instance FromJSON Object where parseJSON = fmap fromString . parseJSON
 instance FromJSON Binding where parseJSON = fmap fromString . parseJSON
-instance FromJSON MetaId where parseJSON = fmap MetaId . parseJSON
+
+instance FromJSON ObjectMetaId where parseJSON = fmap ObjectMetaId . parseJSON
+instance FromJSON LabelMetaId where parseJSON = fmap LabelMetaId . parseJSON
+instance FromJSON TailMetaId where parseJSON = fmap TailMetaId . parseJSON
+instance FromJSON BindingsMetaId where parseJSON = fmap BindingsMetaId . parseJSON
+instance FromJSON BytesMetaId where parseJSON = fmap BytesMetaId . parseJSON
+
+instance FromJSON MetaId where
+  parseJSON = fmap fromString . parseJSON
+
 instance FromJSON Attribute where parseJSON = fmap fromString . parseJSON
 instance FromJSON RuleAttribute where parseJSON = fmap fromString . parseJSON
 
@@ -60,13 +74,21 @@
   { name :: String
   , description :: String
   , context :: Maybe RuleContext
+  , forall :: Maybe [MetaId]
   , pattern :: Object
   , result :: Object
+  , fresh :: Maybe [FreshMetaId]
   , when :: [Condition]
   , tests :: [RuleTest]
   }
   deriving (Generic, FromJSON, Show)
 
+data FreshMetaId = FreshMetaId
+  { name :: LabelMetaId
+  , prefix :: Maybe String
+  }
+  deriving (Generic, FromJSON, Show)
+
 data RuleTest = RuleTest
   { name :: String
   , input :: Object
@@ -86,6 +108,7 @@
   | AbsentAttrs {absent_attrs :: AttrsInBindings}
   | AttrNotEqual {not_equal :: (Attribute, Attribute)}
   | ApplyInSubformations {apply_in_subformations :: Bool}
+  | ApplyInAbstractSubformations {apply_in_abstract_subformations :: Bool}
   deriving (Generic, Show)
 instance FromJSON Condition where
   parseJSON = genericParseJSON defaultOptions{sumEncoding = UntaggedValue}
@@ -95,12 +118,44 @@
 
 convertRule :: Rule -> Common.Rule
 convertRule Rule{..} ctx obj = do
+  -- first validate pattern and result in the rule
+  -- TODO: we should perform this check once, not every time we run the rule
+  let freshMetaIds =
+        Set.mapMonotonic MetaIdLabel $
+          foldMap (Set.fromList . map (\FreshMetaId{name = x} -> x)) fresh
+
+      patternMetaIds = objectMetaIds pattern
+      resultMetaIds = objectMetaIds result
+
+      unusedFreshMetaIds = Set.difference freshMetaIds resultMetaIds
+
+      ppMetaIds = intercalate ", " . map printTree . Set.toList
+
+  unless (null unusedFreshMetaIds) $
+    error ("invalid rule: result does not use some fresh variables quantified by the fresh: " <> ppMetaIds unusedFreshMetaIds)
+
+  case forall of
+    Nothing -> return ()
+    Just forall' -> do
+      let forallMetaIds = Set.fromList forall'
+          resultAllowedMetaIds = forallMetaIds <> freshMetaIds
+          unquantifiedMetaIds = Set.difference patternMetaIds forallMetaIds
+          unusedMetaIds = Set.difference forallMetaIds patternMetaIds
+          unquantifiedResultMetaIds = Set.difference resultMetaIds resultAllowedMetaIds
+      unless (null unquantifiedMetaIds) $
+        error ("invalid rule: pattern uses meta variables not quantified by the forall: " <> ppMetaIds unquantifiedMetaIds)
+      unless (null unusedMetaIds) $
+        error ("invalid rule: pattern does not use some variables quantified by the forall: " <> ppMetaIds unusedMetaIds)
+      unless (null unquantifiedResultMetaIds) $
+        error ("invalid rule: result uses meta variables not quantified by the forall or the fresh: " <> ppMetaIds unquantifiedResultMetaIds)
+
   contextSubsts <- matchContext ctx context
   let pattern' = applySubst contextSubsts pattern
       result' = applySubst contextSubsts result
   subst <- matchObject pattern' obj
   guard $ all (\cond -> checkCond ctx cond (contextSubsts <> subst)) when
-  let result'' = applySubst (contextSubsts <> subst) result'
+  let substFresh = mkFreshSubst ctx result' fresh
+      result'' = applySubst (contextSubsts <> subst <> substFresh) result'
       -- TODO #152:30m what context should we pass to evaluate meta funcs?
       obj' = evaluateMetaFuncs obj result''
   guard $ not (objectHasMetavars obj')
@@ -109,6 +164,65 @@
 convertRuleNamed :: Rule -> NamedRule
 convertRuleNamed rule = (rule.name, convertRule rule)
 
+mkFreshSubst :: Context -> Object -> Maybe [FreshMetaId] -> Subst
+mkFreshSubst ctx obj metas =
+  Subst
+    { objectMetas = []
+    , bindingsMetas = []
+    , attributeMetas = mkFreshAttributes (usedLabelIds ctx <> objectLabelIds obj) (fromMaybe [] metas)
+    , bytesMetas = []
+    , contextMetas = []
+    }
+
+mkFreshAttributes :: Set LabelId -> [FreshMetaId] -> [(LabelMetaId, Attribute)]
+mkFreshAttributes _ids [] = []
+mkFreshAttributes ids (x : xs) =
+  case mkFreshAttribute ids x of
+    (ma, ids') -> ma : mkFreshAttributes ids' xs
+
+mkFreshAttribute :: Set LabelId -> FreshMetaId -> ((LabelMetaId, Attribute), Set LabelId)
+mkFreshAttribute ids FreshMetaId{..} = ((name, Label label), Set.insert label ids)
+ where
+  label =
+    head
+      [ l
+      | i <- [1 ..]
+      , let l = LabelId (fromMaybe "tmp" prefix <> "$" <> show i)
+      , l `Set.notMember` ids
+      ]
+
+usedLabelIds :: Context -> Set LabelId
+usedLabelIds Context{..} = objectLabelIds globalObject
+ where
+  globalObject = NonEmpty.last outerFormations
+
+objectLabelIds :: Object -> Set LabelId
+objectLabelIds = \case
+  GlobalObject -> mempty
+  ThisObject -> mempty
+  Formation bindings -> foldMap bindingLabelIds bindings
+  ObjectDispatch obj a -> objectLabelIds obj <> attrLabelIds a
+  Application obj bindings -> objectLabelIds obj <> foldMap bindingLabelIds bindings
+  Termination -> mempty
+  MetaObject{} -> mempty
+  MetaFunction _ obj -> objectLabelIds obj
+  MetaTailContext obj _ -> objectLabelIds obj
+  MetaSubstThis obj obj' -> objectLabelIds obj <> objectLabelIds obj'
+
+bindingLabelIds :: Binding -> Set LabelId
+bindingLabelIds = \case
+  AlphaBinding a obj -> objectLabelIds obj <> attrLabelIds a
+  DeltaBinding _bytes -> mempty
+  EmptyBinding a -> attrLabelIds a
+  DeltaEmptyBinding -> mempty
+  LambdaBinding _ -> mempty
+  MetaBindings _ -> mempty
+  MetaDeltaBinding _ -> mempty
+
+attrLabelIds :: Attribute -> Set LabelId
+attrLabelIds (Label l) = Set.singleton l
+attrLabelIds _ = mempty
+
 -- >>> matchContext (Context [] ["⟦ a ↦ ⟦ ⟧, x ↦ ξ.a ⟧"] (Label (LabelId "x"))) (Just (RuleContext Nothing (Just "⟦ !a ↦ !obj, !B ⟧") (Just "!a")))
 -- [Subst {
 --   objectMetas = [!obj -> 'ξ.a']
@@ -126,6 +240,34 @@
   globalObject = NonEmpty.last outerFormations
   thisObject = NonEmpty.head outerFormations
 
+objectMetaIds :: Object -> Set MetaId
+objectMetaIds (Formation bindings) = foldMap bindingMetaIds bindings
+objectMetaIds (Application object bindings) = objectMetaIds object <> foldMap bindingMetaIds bindings
+objectMetaIds (ObjectDispatch object attr) = objectMetaIds object <> attrMetaIds attr
+objectMetaIds GlobalObject = mempty
+objectMetaIds ThisObject = mempty
+objectMetaIds Termination = mempty
+objectMetaIds (MetaObject x) = Set.singleton (MetaIdObject x)
+objectMetaIds (MetaFunction _ obj) = objectMetaIds obj
+objectMetaIds (MetaTailContext obj x) = objectMetaIds obj <> Set.singleton (MetaIdTail x)
+objectMetaIds (MetaSubstThis obj obj') = foldMap objectMetaIds [obj, obj']
+
+bindingMetaIds :: Binding -> Set MetaId
+bindingMetaIds (AlphaBinding attr obj) = attrMetaIds attr <> objectMetaIds obj
+bindingMetaIds (EmptyBinding attr) = attrMetaIds attr
+bindingMetaIds (DeltaBinding _) = mempty
+bindingMetaIds DeltaEmptyBinding = mempty
+bindingMetaIds (LambdaBinding _) = mempty
+bindingMetaIds (MetaBindings x) = Set.singleton (MetaIdBindings x)
+bindingMetaIds (MetaDeltaBinding x) = Set.singleton (MetaIdBytes x)
+
+attrMetaIds :: Attribute -> Set MetaId
+attrMetaIds Phi = mempty
+attrMetaIds Rho = mempty
+attrMetaIds (Label _) = mempty
+attrMetaIds (Alpha _) = mempty
+attrMetaIds (MetaAttr x) = Set.singleton (MetaIdLabel x)
+
 objectHasMetavars :: Object -> Bool
 objectHasMetavars (Formation bindings) = any bindingHasMetavars bindings
 objectHasMetavars (Application object bindings) = objectHasMetavars object || any bindingHasMetavars bindings
@@ -135,6 +277,7 @@
 objectHasMetavars Termination = False
 objectHasMetavars (MetaObject _) = True
 objectHasMetavars (MetaFunction _ _) = True
+objectHasMetavars MetaTailContext{} = True
 objectHasMetavars (MetaSubstThis _ _) = True -- technically not a metavar, but a substitution
 
 bindingHasMetavars :: Binding -> Bool
@@ -177,6 +320,9 @@
 checkCond ctx (ApplyInSubformations shouldApply) _subst
   | shouldApply = True
   | otherwise = not (insideFormation ctx)
+checkCond ctx (ApplyInAbstractSubformations shouldApply) _subst
+  | shouldApply = True
+  | otherwise = not (insideAbstractFormation ctx)
 
 hasAttr :: RuleAttribute -> [Binding] -> Bool
 hasAttr attr = any (isAttr attr)
@@ -201,11 +347,18 @@
 -- actual result (after applying substitution):
 --  ⟦ c ↦ ⟦ ⟧ ⟧(ρ ↦ ⟦ b ↦ ⟦ ⟧ ⟧)
 
+data OneHoleContext = OneHoleContext
+  { holeMetaId :: !ObjectMetaId
+  , contextObject :: !Object
+  }
+  deriving (Show)
+
 data Subst = Subst
-  { objectMetas :: [(MetaId, Object)]
-  , bindingsMetas :: [(MetaId, [Binding])]
-  , attributeMetas :: [(MetaId, Attribute)]
-  , bytesMetas :: [(MetaId, Bytes)]
+  { objectMetas :: [(ObjectMetaId, Object)]
+  , bindingsMetas :: [(BindingsMetaId, [Binding])]
+  , attributeMetas :: [(LabelMetaId, Attribute)]
+  , bytesMetas :: [(BytesMetaId, Bytes)]
+  , contextMetas :: [(TailMetaId, OneHoleContext)]
   }
 instance Show Subst where
   show Subst{..} =
@@ -216,10 +369,11 @@
       , "  bindingsMetas = [" <> showMappings bindingsMetas <> "]"
       , "  attributeMetas = [" <> showMappings attributeMetas <> "]"
       , "  bytesMetas = [" <> showMappings bytesMetas <> "]"
+      , "  contextMetas = [" <> show contextMetas <> "]"
       , "}"
       ]
    where
-    showMappings metas = intercalate "; " $ map (\(MetaId metaId, obj) -> [fmt|{metaId} -> '{printTree obj}'|]) metas
+    showMappings metas = intercalate "; " $ map (\(metaId, obj) -> [fmt|{printTree metaId} -> '{printTree obj}'|]) metas
 
 instance Semigroup Subst where
   (<>) = mergeSubst
@@ -228,7 +382,7 @@
   mempty = emptySubst
 
 emptySubst :: Subst
-emptySubst = Subst [] [] [] []
+emptySubst = Subst [] [] [] [] []
 
 -- >>> putStrLn $ Language.EO.Phi.printTree (applySubst (Subst [("!n", "⟦ c ↦ ⟦ ⟧ ⟧")] [("!B", ["b ↦ ⟦ ⟧"])] [("!a", "a")]) "!n(ρ ↦ ⟦ !B ⟧)" :: Object)
 -- ⟦ c ↦ ⟦ ⟧ ⟧ (ρ ↦ ⟦ b ↦ ⟦ ⟧ ⟧)
@@ -246,6 +400,12 @@
   Termination -> Termination
   MetaSubstThis obj thisObj -> MetaSubstThis (applySubst subst thisObj) (applySubst subst obj)
   obj@MetaFunction{} -> obj
+  MetaTailContext obj c ->
+    case lookup c contextMetas of
+      Nothing -> MetaTailContext (applySubst subst obj) c
+      Just OneHoleContext{..} ->
+        let holeSubst = mempty{objectMetas = [(holeMetaId, applySubst subst obj)]}
+         in applySubst holeSubst contextObject
 
 applySubstAttr :: Subst -> Attribute -> Attribute
 applySubstAttr Subst{..} = \case
@@ -268,8 +428,8 @@
   b@(MetaDeltaBinding m) -> maybe [b] (pure . DeltaBinding) (lookup m bytesMetas)
 
 mergeSubst :: Subst -> Subst -> Subst
-mergeSubst (Subst xs ys zs ws) (Subst xs' ys' zs' ws') =
-  Subst (xs ++ xs') (ys ++ ys') (zs ++ zs') (ws ++ ws')
+mergeSubst (Subst xs ys zs ws us) (Subst xs' ys' zs' ws' us') =
+  Subst (xs ++ xs') (ys ++ ys') (zs ++ zs') (ws ++ ws') (us ++ us')
 
 -- 1. need to implement applySubst' :: Subst -> Object -> Object
 -- 2. complete the code
@@ -285,11 +445,41 @@
   pure (subst1 <> subst2)
 matchObject (MetaObject m) obj =
   pure emptySubst{objectMetas = [(m, obj)]}
+matchObject (MetaTailContext pat x) obj = do
+  (subst@Subst{..}, matchedCtx) <- matchOneHoleContext x pat obj
+  return subst{contextMetas = contextMetas <> [(x, matchedCtx)]}
 matchObject Termination Termination = [emptySubst]
 matchObject ThisObject ThisObject = [emptySubst]
 matchObject GlobalObject GlobalObject = [emptySubst]
 matchObject _ _ = [] -- ? emptySubst ?
 
+matchOneHoleContext :: TailMetaId -> Object -> Object -> [(Subst, OneHoleContext)]
+matchOneHoleContext ctxId pat obj = matchWhole <> matchPart
+ where
+  TailMetaId name = ctxId
+  holeId = ObjectMetaId (name ++ ":hole") -- FIXME: ensure fresh names
+  matchWhole = do
+    subst' <- matchObject pat obj
+    pure (subst', OneHoleContext holeId (MetaObject holeId))
+  matchPart = case obj of
+    ObjectDispatch obj' a -> do
+      (subst, OneHoleContext{..}) <- matchOneHoleContext ctxId pat obj'
+      return (subst, OneHoleContext{contextObject = ObjectDispatch contextObject a, ..})
+    -- FIXME: consider matching inside bindings of application as well
+    Application obj' bindings -> do
+      (subst, OneHoleContext{..}) <- matchOneHoleContext ctxId pat obj'
+      return (subst, OneHoleContext{contextObject = Application contextObject bindings, ..})
+    -- cases below cannot be matched
+    Formation{} -> []
+    GlobalObject -> []
+    ThisObject -> []
+    Termination -> []
+    -- should cases below be errors?
+    MetaSubstThis{} -> []
+    MetaObject{} -> []
+    MetaTailContext{} -> []
+    MetaFunction{} -> []
+
 -- | Evaluate meta functions
 -- given top-level context as an object
 -- and an object
@@ -390,6 +580,7 @@
     ObjectDispatch obj a -> ObjectDispatch (go obj) a
     GlobalObject -> GlobalObject
     Termination -> Termination
+    obj@MetaTailContext{} -> error ("impossible: trying to substitute ξ in " <> printTree obj)
     obj@MetaSubstThis{} -> error ("impossible: trying to substitute ξ in " <> printTree obj)
     obj@MetaObject{} -> error ("impossible: trying to substitute ξ in " <> printTree obj)
     obj@MetaFunction{} -> error ("impossible: trying to substitute ξ in " <> printTree obj)
diff --git a/src/Language/EO/Phi/Syntax/Abs.hs b/src/Language/EO/Phi/Syntax/Abs.hs
--- a/src/Language/EO/Phi/Syntax/Abs.hs
+++ b/src/Language/EO/Phi/Syntax/Abs.hs
@@ -18,6 +18,14 @@
 data Program = Program [Binding]
   deriving (C.Eq, C.Ord, C.Show, C.Read, C.Data, C.Typeable, C.Generic)
 
+data MetaId
+    = MetaIdLabel LabelMetaId
+    | MetaIdTail TailMetaId
+    | MetaIdBindings BindingsMetaId
+    | MetaIdObject ObjectMetaId
+    | MetaIdBytes BytesMetaId
+  deriving (C.Eq, C.Ord, C.Show, C.Read, C.Data, C.Typeable, C.Generic)
+
 data Object
     = Formation [Binding]
     | Application Object [Binding]
@@ -26,7 +34,8 @@
     | ThisObject
     | Termination
     | MetaSubstThis Object Object
-    | MetaObject MetaId
+    | MetaObject ObjectMetaId
+    | MetaTailContext Object TailMetaId
     | MetaFunction MetaFunctionName Object
   deriving (C.Eq, C.Ord, C.Show, C.Read, C.Data, C.Typeable, C.Generic)
 
@@ -36,12 +45,16 @@
     | DeltaBinding Bytes
     | DeltaEmptyBinding
     | LambdaBinding Function
-    | MetaBindings MetaId
-    | MetaDeltaBinding MetaId
+    | MetaBindings BindingsMetaId
+    | MetaDeltaBinding BytesMetaId
   deriving (C.Eq, C.Ord, C.Show, C.Read, C.Data, C.Typeable, C.Generic)
 
 data Attribute
-    = Phi | Rho | Label LabelId | Alpha AlphaIndex | MetaAttr MetaId
+    = Phi
+    | Rho
+    | Label LabelId
+    | Alpha AlphaIndex
+    | MetaAttr LabelMetaId
   deriving (C.Eq, C.Ord, C.Show, C.Read, C.Data, C.Typeable, C.Generic)
 
 data RuleAttribute = ObjectAttr Attribute | DeltaAttr | LambdaAttr
@@ -70,7 +83,19 @@
 newtype AlphaIndex = AlphaIndex String
   deriving (C.Eq, C.Ord, C.Show, C.Read, C.Data, C.Typeable, C.Generic, Data.String.IsString)
 
-newtype MetaId = MetaId String
+newtype LabelMetaId = LabelMetaId String
+  deriving (C.Eq, C.Ord, C.Show, C.Read, C.Data, C.Typeable, C.Generic, Data.String.IsString)
+
+newtype TailMetaId = TailMetaId String
+  deriving (C.Eq, C.Ord, C.Show, C.Read, C.Data, C.Typeable, C.Generic, Data.String.IsString)
+
+newtype BindingsMetaId = BindingsMetaId String
+  deriving (C.Eq, C.Ord, C.Show, C.Read, C.Data, C.Typeable, C.Generic, Data.String.IsString)
+
+newtype ObjectMetaId = ObjectMetaId String
+  deriving (C.Eq, C.Ord, C.Show, C.Read, C.Data, C.Typeable, C.Generic, Data.String.IsString)
+
+newtype BytesMetaId = BytesMetaId String
   deriving (C.Eq, C.Ord, C.Show, C.Read, C.Data, C.Typeable, C.Generic, Data.String.IsString)
 
 newtype MetaFunctionName = MetaFunctionName String
diff --git a/src/Language/EO/Phi/Syntax/Lex.hs b/src/Language/EO/Phi/Syntax/Lex.hs
--- a/src/Language/EO/Phi/Syntax/Lex.hs
+++ b/src/Language/EO/Phi/Syntax/Lex.hs
@@ -27,13840 +27,20836 @@
 alex_tab_size :: Int
 alex_tab_size = 8
 alex_base :: Array Int Int
-alex_base = listArray (0 :: Int, 101)
-  [ -8
-  , 91
-  , -153
-  , -73
-  , 347
-  , 348
-  , -41
-  , 0
-  , 140
-  , 0
-  , 0
-  , 0
-  , 397
-  , 462
-  , 526
-  , -28
-  , 654
-  , 718
-  , 862
-  , -27
-  , 885
-  , 908
-  , 931
-  , -140
-  , -146
-  , -111
-  , -118
-  , -139
-  , 874
-  , 1002
-  , 1258
-  , 1377
-  , 0
-  , 0
-  , 0
-  , 1490
-  , 1555
-  , 1619
-  , -132
-  , -138
-  , 1747
-  , 1875
-  , 2131
-  , 2250
-  , 2378
-  , 2522
-  , -12
-  , 0
-  , 2603
-  , 2859
-  , 2860
-  , 2988
-  , 2453
-  , 3053
-  , 3166
-  , 0
-  , 0
-  , 0
-  , 0
-  , 3380
-  , 3594
-  , 3850
-  , 3851
-  , 3979
-  , 3236
-  , 3446
-  , 4092
-  , 0
-  , 0
-  , 0
-  , 911
-  , 0
-  , -116
-  , 1255
-  , -135
-  , 1247
-  , 71
-  , 0
-  , -11
-  , 4348
-  , 4593
-  , 4838
-  , 5074
-  , 5330
-  , 5331
-  , 5459
-  , -114
-  , -105
-  , 4284
-  , 4530
-  , 5572
-  , 0
-  , 0
-  , 0
-  , 5828
-  , 6064
-  , 4774
-  , -80
-  , 6192
-  , 6305
-  , 0
-  , 0
-  ]
-
-alex_table :: Array Int Int
-alex_table = listArray (0 :: Int, 6560)
-  [ 0
-  , 70
-  , 70
-  , 70
-  , 70
-  , 70
-  , 97
-  , 7
-  , 8
-  , 8
-  , 8
-  , 8
-  , 8
-  , 8
-  , 8
-  , 8
-  , 8
-  , 18
-  , 21
-  , 24
-  , -1
-  , -1
-  , 71
-  , 71
-  , 70
-  , 31
-  , 71
-  , 39
-  , -1
-  , -1
-  , 60
-  , 71
-  , 71
-  , 71
-  , 77
-  , 48
-  , 71
-  , 78
-  , 71
-  , 46
-  , 20
-  , 20
-  , 20
-  , 20
-  , 20
-  , 20
-  , 20
-  , 20
-  , 20
-  , 20
-  , 71
-  , 71
-  , -1
-  , -1
-  , 86
-  , 0
-  , 43
-  , 80
-  , 80
-  , 80
-  , 80
-  , 80
-  , 80
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 71
-  , 0
-  , 71
-  , -1
-  , -1
-  , 0
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 71
-  , 0
-  , 71
-  , 96
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 0
-  , 0
-  , 0
-  , 0
-  , 16
-  , 8
-  , 8
-  , 8
-  , 8
-  , 8
-  , 8
-  , 8
-  , 8
-  , 8
-  , 8
-  , 75
-  , 76
-  , 71
-  , 0
-  , 0
-  , 0
-  , 0
-  , 71
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 73
-  , 98
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 0
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 0
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 0
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 13
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 14
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 0
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 0
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 0
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 0
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 22
-  , 22
-  , 22
-  , 22
-  , 22
-  , 22
-  , 22
-  , 22
-  , 22
-  , 22
-  , 70
-  , 70
-  , 70
-  , 70
-  , 70
-  , 0
-  , 0
-  , 22
-  , 22
-  , 22
-  , 22
-  , 22
-  , 22
-  , 15
-  , 15
-  , 15
-  , 15
-  , 15
-  , 15
-  , 15
-  , 15
-  , 15
-  , 15
-  , 70
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 15
-  , 15
-  , 15
-  , 15
-  , 15
-  , 15
-  , 22
-  , 22
-  , 22
-  , 22
-  , 22
-  , 22
-  , 22
-  , 22
-  , 22
-  , 22
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 22
-  , 22
-  , 22
-  , 22
-  , 22
-  , 22
-  , 19
-  , 19
-  , 19
-  , 19
-  , 19
-  , 19
-  , 19
-  , 19
-  , 19
-  , 19
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 19
-  , 19
-  , 19
-  , 19
-  , 19
-  , 19
-  , 29
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 30
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 0
-  , 74
-  , -1
-  , 25
-  , 0
-  , 27
-  , 0
-  , 71
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , -1
-  , -1
-  , 0
-  , 0
-  , 71
-  , 72
-  , 0
-  , -1
-  , -1
-  , -1
-  , 26
-  , 0
-  , -1
-  , -1
-  , -1
-  , 6
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 71
-  , -1
-  , -1
-  , 71
-  , 0
-  , 0
-  , -1
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , -1
-  , 0
-  , -1
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , -1
-  , -1
-  , -1
-  , 0
-  , 0
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 30
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 11
-  , 14
-  , 29
-  , 10
-  , 23
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 10
-  , 13
-  , 28
-  , 9
-  , 9
-  , 9
-  , 12
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 36
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 37
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 41
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 42
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 0
-  , 0
-  , -1
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , -1
-  , -1
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , -1
-  , -1
-  , -1
-  , 0
-  , 0
-  , -1
-  , -1
-  , -1
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , -1
-  , -1
-  , 0
-  , 0
-  , 0
-  , -1
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , -1
-  , 0
-  , -1
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , -1
-  , -1
-  , -1
-  , 0
-  , 0
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 42
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 34
-  , 37
-  , 41
-  , 33
-  , 38
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 33
-  , 36
-  , 40
-  , 32
-  , 32
-  , 32
-  , 35
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 0
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , -1
-  , 0
-  , 0
-  , 0
-  , 45
-  , 0
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , 45
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 44
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 49
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 52
-  , 50
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 53
-  , 51
-  , 57
-  , 57
-  , 57
-  , 54
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 0
-  , 49
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 55
-  , 50
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 56
-  , 52
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 53
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 59
-  , 0
-  , 0
-  , 0
-  , 0
-  , 58
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 61
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 64
-  , 62
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 65
-  , 63
-  , 69
-  , 69
-  , 69
-  , 66
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 59
-  , 64
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 61
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 64
-  , 62
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 65
-  , 63
-  , 69
-  , 69
-  , 69
-  , 66
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 0
-  , 61
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 67
-  , 62
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 68
-  , 65
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 0
-  , 0
-  , 82
-  , 82
-  , 0
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 0
-  , 0
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 45
-  , 0
-  , 0
-  , 82
-  , 82
-  , 0
-  , 0
-  , 0
-  , 82
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 0
-  , 0
-  , 82
-  , 82
-  , 82
-  , 0
-  , 82
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 0
-  , 82
-  , 0
-  , 82
-  , 79
-  , 82
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 0
-  , 0
-  , 0
-  , 82
-  , 82
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 0
-  , 0
-  , 83
-  , 17
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 88
-  , 84
-  , 92
-  , 87
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 89
-  , 85
-  , 93
-  , 93
-  , 93
-  , 90
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 0
-  , 0
-  , 82
-  , 82
-  , 0
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 0
-  , 0
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 45
-  , 0
-  , 0
-  , 82
-  , 82
-  , 0
-  , 0
-  , 0
-  , 82
-  , 81
-  , 81
-  , 81
-  , 81
-  , 81
-  , 81
-  , 81
-  , 81
-  , 81
-  , 81
-  , 0
-  , 0
-  , 82
-  , 82
-  , 82
-  , 0
-  , 82
-  , 81
-  , 81
-  , 81
-  , 81
-  , 81
-  , 81
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 0
-  , 82
-  , 0
-  , 82
-  , 79
-  , 82
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 0
-  , 0
-  , 0
-  , 82
-  , 82
-  , 88
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 0
-  , 83
-  , 17
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 88
-  , 84
-  , 92
-  , 87
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 89
-  , 85
-  , 93
-  , 93
-  , 93
-  , 90
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 0
-  , 0
-  , 82
-  , 82
-  , 0
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 0
-  , 0
-  , 82
-  , 82
-  , 82
-  , 82
-  , 82
-  , 45
-  , 0
-  , 0
-  , 82
-  , 82
-  , 0
-  , 18
-  , 0
-  , 82
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 0
-  , 0
-  , 82
-  , 82
-  , 82
-  , 0
-  , 82
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 0
-  , 82
-  , 0
-  , 82
-  , 79
-  , 82
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 79
-  , 0
-  , 0
-  , 0
-  , 82
-  , 82
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 0
-  , 0
-  , 83
-  , 17
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 88
-  , 84
-  , 92
-  , 87
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 89
-  , 85
-  , 93
-  , 93
-  , 93
-  , 90
-  , -1
-  , -1
-  , 0
-  , 0
-  , -1
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , -1
-  , -1
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , -1
-  , -1
-  , -1
-  , 0
-  , 0
-  , -1
-  , -1
-  , -1
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , -1
-  , -1
-  , 0
-  , 0
-  , 0
-  , -1
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , -1
-  , 0
-  , -1
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , -1
-  , -1
-  , -1
-  , 0
-  , 0
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 83
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 88
-  , 84
-  , 92
-  , 87
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 89
-  , 85
-  , 93
-  , 93
-  , 93
-  , 90
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 0
-  , 83
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 91
-  , 84
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 92
-  , 89
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 95
-  , 95
-  , 95
-  , 95
-  , 95
-  , 95
-  , 95
-  , 95
-  , 95
-  , 0
-  , 0
-  , 95
-  , 95
-  , 0
-  , 95
-  , 95
-  , 95
-  , 95
-  , 95
-  , 95
-  , 95
-  , 95
-  , 95
-  , 95
-  , 95
-  , 95
-  , 95
-  , 95
-  , 95
-  , 95
-  , 95
-  , 95
-  , 0
-  , 0
-  , 95
-  , 95
-  , 95
-  , 95
-  , 95
-  , 45
-  , 0
-  , 0
-  , 95
-  , 95
-  , 0
-  , 95
-  , 0
-  , 95
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 0
-  , 0
-  , 95
-  , 95
-  , 95
-  , 0
-  , 95
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 0
-  , 95
-  , 0
-  , 95
-  , 94
-  , 95
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 94
-  , 0
-  , 0
-  , 0
-  , 95
-  , 95
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 4
-  , 5
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 96
-  , 98
-  , 100
-  , 2
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 3
-  , 1
-  , 101
-  , 101
-  , 101
-  , 99
-  , -1
-  , -1
-  , 0
-  , 0
-  , -1
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , -1
-  , -1
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , -1
-  , -1
-  , -1
-  , 0
-  , 0
-  , -1
-  , 0
-  , -1
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , -1
-  , -1
-  , 0
-  , 0
-  , 0
-  , -1
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , -1
-  , 0
-  , -1
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , 0
-  , -1
-  , -1
-  , -1
-  , 0
-  , 0
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 4
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 96
-  , 98
-  , 100
-  , 2
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 100
-  , 3
-  , 1
-  , 101
-  , 101
-  , 101
-  , 99
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 4
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 47
-  , 3
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  ]
-
-alex_check :: Array Int Int
-alex_check = listArray (0 :: Int, 6560)
-  [ -1
-  , 9
-  , 10
-  , 11
-  , 12
-  , 13
-  , 159
-  , 48
-  , 49
-  , 50
-  , 51
-  , 52
-  , 53
-  , 54
-  , 55
-  , 56
-  , 57
-  , 45
-  , 45
-  , 159
-  , 166
-  , 167
-  , 133
-  , 141
-  , 32
-  , 33
-  , 165
-  , 159
-  , 166
-  , 167
-  , 42
-  , 166
-  , 40
-  , 41
-  , 45
-  , 47
-  , 44
-  , 45
-  , 46
-  , 47
-  , 48
-  , 49
-  , 50
-  , 51
-  , 52
-  , 53
-  , 54
-  , 55
-  , 56
-  , 57
-  , 166
-  , 167
-  , 166
-  , 167
-  , 159
-  , -1
-  , 64
-  , 65
-  , 66
-  , 67
-  , 68
-  , 69
-  , 70
-  , 71
-  , 72
-  , 73
-  , 74
-  , 75
-  , 76
-  , 77
-  , 78
-  , 79
-  , 80
-  , 81
-  , 82
-  , 83
-  , 84
-  , 85
-  , 86
-  , 87
-  , 88
-  , 89
-  , 90
-  , 91
-  , -1
-  , 93
-  , 166
-  , 167
-  , -1
-  , 97
-  , 98
-  , 99
-  , 100
-  , 101
-  , 102
-  , 103
-  , 104
-  , 105
-  , 106
-  , 107
-  , 108
-  , 109
-  , 110
-  , 111
-  , 112
-  , 113
-  , 114
-  , 115
-  , 116
-  , 117
-  , 118
-  , 119
-  , 120
-  , 121
-  , 122
-  , 123
-  , -1
-  , 125
-  , 191
-  , 192
-  , 193
-  , 194
-  , 195
-  , 196
-  , 197
-  , 198
-  , 199
-  , 200
-  , 201
-  , 202
-  , 203
-  , 204
-  , 205
-  , 206
-  , 207
-  , 208
-  , 209
-  , 210
-  , 211
-  , 212
-  , 213
-  , 214
-  , 215
-  , 216
-  , 217
-  , 218
-  , 219
-  , 220
-  , 221
-  , 222
-  , 223
-  , 224
-  , 225
-  , 226
-  , 227
-  , 228
-  , 229
-  , 230
-  , 231
-  , 232
-  , 233
-  , 234
-  , 235
-  , 236
-  , 237
-  , 238
-  , 239
-  , 240
-  , 241
-  , 242
-  , 243
-  , 244
-  , 245
-  , 246
-  , 247
-  , 248
-  , 249
-  , 250
-  , 251
-  , 252
-  , 253
-  , 254
-  , 255
-  , -1
-  , -1
-  , -1
-  , -1
-  , 195
-  , 48
-  , 49
-  , 50
-  , 51
-  , 52
-  , 53
-  , 54
-  , 55
-  , 56
-  , 57
-  , 206
-  , 207
-  , 129
-  , -1
-  , -1
-  , -1
-  , -1
-  , 134
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 226
-  , 128
-  , 129
-  , 130
-  , 131
-  , 132
-  , 133
-  , 134
-  , 135
-  , 136
-  , 137
-  , 138
-  , 139
-  , 140
-  , 141
-  , 142
-  , 143
-  , 144
-  , 145
-  , 146
-  , 147
-  , 148
-  , 149
-  , 150
-  , 151
-  , 152
-  , 153
-  , 154
-  , 155
-  , 156
-  , 157
-  , 158
-  , 159
-  , 160
-  , 161
-  , 162
-  , 163
-  , 164
-  , 165
-  , 166
-  , 167
-  , 168
-  , 169
-  , 170
-  , 171
-  , 172
-  , 173
-  , 174
-  , 175
-  , 176
-  , 177
-  , 178
-  , 179
-  , 180
-  , 181
-  , 182
-  , 183
-  , 184
-  , 185
-  , 186
-  , 187
-  , 188
-  , 189
-  , 190
-  , 191
-  , 192
-  , 193
-  , 194
-  , 195
-  , 196
-  , 197
-  , 198
-  , 199
-  , 200
-  , 201
-  , 202
-  , 203
-  , 204
-  , 205
-  , 206
-  , 207
-  , 208
-  , 209
-  , 210
-  , 211
-  , 212
-  , 213
-  , 214
-  , 215
-  , 216
-  , 217
-  , 218
-  , 219
-  , 220
-  , 221
-  , 222
-  , 223
-  , 224
-  , 225
-  , 226
-  , 227
-  , 228
-  , 229
-  , 230
-  , 231
-  , 232
-  , 233
-  , 234
-  , 235
-  , 236
-  , 237
-  , 238
-  , 239
-  , 240
-  , 241
-  , 242
-  , 243
-  , 244
-  , 245
-  , 246
-  , 247
-  , 248
-  , 249
-  , 250
-  , 251
-  , 252
-  , 253
-  , 254
-  , 255
-  , 0
-  , 1
-  , 2
-  , 3
-  , 4
-  , 5
-  , 6
-  , 7
-  , 8
-  , 9
-  , 10
-  , 11
-  , 12
-  , 13
-  , 14
-  , 15
-  , 16
-  , 17
-  , 18
-  , 19
-  , 20
-  , 21
-  , 22
-  , 23
-  , 24
-  , 25
-  , 26
-  , 27
-  , 28
-  , 29
-  , 30
-  , 31
-  , 32
-  , 33
-  , 34
-  , 35
-  , 36
-  , 37
-  , 38
-  , 39
-  , 40
-  , 41
-  , 42
-  , 43
-  , 44
-  , 45
-  , 46
-  , 47
-  , 48
-  , 49
-  , 50
-  , 51
-  , 52
-  , 53
-  , 54
-  , 55
-  , 56
-  , 57
-  , 58
-  , 59
-  , 60
-  , 61
-  , 62
-  , 63
-  , 64
-  , 65
-  , 66
-  , 67
-  , 68
-  , 69
-  , 70
-  , 71
-  , 72
-  , 73
-  , 74
-  , 75
-  , 76
-  , 77
-  , 78
-  , 79
-  , 80
-  , 81
-  , 82
-  , 83
-  , 84
-  , 85
-  , 86
-  , 87
-  , 88
-  , 89
-  , 90
-  , 91
-  , 92
-  , 93
-  , 94
-  , 95
-  , 96
-  , 97
-  , 98
-  , 99
-  , 100
-  , 101
-  , 102
-  , 103
-  , 104
-  , 105
-  , 106
-  , 107
-  , 108
-  , 109
-  , 110
-  , 111
-  , 112
-  , 113
-  , 114
-  , 115
-  , 116
-  , 117
-  , 118
-  , 119
-  , 120
-  , 121
-  , 122
-  , 123
-  , 124
-  , 125
-  , 126
-  , 127
-  , -1
-  , 128
-  , 129
-  , 130
-  , 131
-  , 132
-  , 133
-  , 134
-  , 135
-  , 136
-  , 137
-  , 138
-  , 139
-  , 140
-  , 141
-  , 142
-  , 143
-  , 144
-  , 145
-  , 146
-  , 147
-  , 148
-  , 149
-  , 150
-  , -1
-  , 152
-  , 153
-  , 154
-  , 155
-  , 156
-  , 157
-  , 158
-  , 159
-  , 160
-  , 161
-  , 162
-  , 163
-  , 164
-  , 165
-  , 166
-  , 167
-  , 168
-  , 169
-  , 170
-  , 171
-  , 172
-  , 173
-  , 174
-  , 175
-  , 176
-  , 177
-  , 178
-  , 179
-  , 180
-  , 181
-  , 182
-  , -1
-  , 184
-  , 185
-  , 186
-  , 187
-  , 188
-  , 189
-  , 190
-  , 191
-  , 143
-  , 144
-  , 145
-  , 146
-  , 147
-  , 148
-  , 149
-  , 150
-  , 151
-  , 152
-  , 153
-  , 154
-  , 155
-  , 156
-  , 157
-  , 158
-  , 159
-  , 160
-  , 161
-  , 162
-  , 163
-  , 164
-  , 165
-  , 166
-  , 167
-  , 168
-  , 169
-  , 170
-  , 171
-  , 172
-  , 173
-  , 174
-  , 175
-  , 176
-  , 177
-  , 178
-  , 179
-  , 180
-  , 181
-  , 182
-  , 183
-  , 184
-  , 185
-  , 186
-  , 187
-  , 188
-  , 189
-  , 190
-  , 191
-  , 192
-  , 193
-  , 194
-  , 195
-  , 196
-  , 197
-  , 198
-  , 199
-  , 200
-  , 201
-  , 202
-  , 203
-  , 204
-  , 205
-  , 206
-  , 207
-  , 208
-  , 209
-  , 210
-  , 211
-  , 212
-  , 213
-  , 214
-  , 215
-  , 216
-  , 217
-  , 218
-  , 219
-  , 220
-  , 221
-  , 222
-  , 223
-  , 224
-  , 225
-  , 226
-  , 227
-  , 228
-  , 229
-  , 230
-  , 231
-  , 232
-  , 233
-  , 234
-  , 235
-  , 236
-  , 237
-  , 238
-  , 239
-  , 240
-  , 241
-  , 242
-  , 243
-  , 244
-  , 245
-  , 246
-  , 247
-  , 248
-  , 249
-  , 250
-  , 251
-  , 252
-  , 253
-  , 254
-  , 255
-  , 191
-  , 192
-  , 193
-  , 194
-  , 195
-  , 196
-  , 197
-  , 198
-  , 199
-  , 200
-  , 201
-  , 202
-  , 203
-  , 204
-  , 205
-  , 206
-  , 207
-  , 208
-  , 209
-  , 210
-  , 211
-  , 212
-  , 213
-  , 214
-  , 215
-  , 216
-  , 217
-  , 218
-  , 219
-  , 220
-  , 221
-  , 222
-  , 223
-  , 224
-  , 225
-  , 226
-  , 227
-  , 228
-  , 229
-  , 230
-  , 231
-  , 232
-  , 233
-  , 234
-  , 235
-  , 236
-  , 237
-  , 238
-  , 239
-  , 240
-  , 241
-  , 242
-  , 243
-  , 244
-  , 245
-  , 246
-  , 247
-  , 248
-  , 249
-  , 250
-  , 251
-  , 252
-  , 253
-  , 254
-  , 255
-  , 192
-  , 193
-  , 194
-  , 195
-  , 196
-  , 197
-  , 198
-  , 199
-  , 200
-  , 201
-  , 202
-  , 203
-  , 204
-  , 205
-  , 206
-  , 207
-  , 208
-  , 209
-  , 210
-  , 211
-  , 212
-  , 213
-  , 214
-  , 215
-  , 216
-  , 217
-  , 218
-  , 219
-  , 220
-  , 221
-  , 222
-  , 223
-  , 224
-  , 225
-  , 226
-  , 227
-  , 228
-  , 229
-  , 230
-  , 231
-  , 232
-  , 233
-  , 234
-  , 235
-  , 236
-  , 237
-  , 238
-  , 239
-  , 240
-  , 241
-  , 242
-  , 243
-  , 244
-  , 245
-  , 246
-  , 247
-  , 248
-  , 249
-  , 250
-  , 251
-  , 252
-  , 253
-  , 254
-  , 255
-  , 128
-  , 129
-  , 130
-  , 131
-  , 132
-  , 133
-  , 134
-  , 135
-  , 136
-  , 137
-  , 138
-  , 139
-  , 140
-  , 141
-  , 142
-  , 143
-  , 144
-  , 145
-  , 146
-  , 147
-  , 148
-  , 149
-  , 150
-  , -1
-  , 152
-  , 153
-  , 154
-  , 155
-  , 156
-  , 157
-  , 158
-  , 159
-  , 160
-  , 161
-  , 162
-  , 163
-  , 164
-  , 165
-  , 166
-  , 167
-  , 168
-  , 169
-  , 170
-  , 171
-  , 172
-  , 173
-  , 174
-  , 175
-  , 176
-  , 177
-  , 178
-  , 179
-  , 180
-  , 181
-  , 182
-  , -1
-  , 184
-  , 185
-  , 186
-  , 187
-  , 188
-  , 189
-  , 190
-  , 191
-  , 128
-  , 129
-  , 130
-  , 131
-  , 132
-  , 133
-  , 134
-  , 135
-  , 136
-  , 137
-  , 138
-  , 139
-  , 140
-  , 141
-  , 142
-  , 143
-  , 144
-  , 145
-  , 146
-  , 147
-  , 148
-  , 149
-  , 150
-  , -1
-  , 152
-  , 153
-  , 154
-  , 155
-  , 156
-  , 157
-  , 158
-  , 159
-  , 160
-  , 161
-  , 162
-  , 163
-  , 164
-  , 165
-  , 166
-  , 167
-  , 168
-  , 169
-  , 170
-  , 171
-  , 172
-  , 173
-  , 174
-  , 175
-  , 176
-  , 177
-  , 178
-  , 179
-  , 180
-  , 181
-  , 182
-  , -1
-  , 184
-  , 185
-  , 186
-  , 187
-  , 188
-  , 189
-  , 190
-  , 191
-  , 48
-  , 49
-  , 50
-  , 51
-  , 52
-  , 53
-  , 54
-  , 55
-  , 56
-  , 57
-  , 9
-  , 10
-  , 11
-  , 12
-  , 13
-  , -1
-  , -1
-  , 65
-  , 66
-  , 67
-  , 68
-  , 69
-  , 70
-  , 48
-  , 49
-  , 50
-  , 51
-  , 52
-  , 53
-  , 54
-  , 55
-  , 56
-  , 57
-  , 32
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 65
-  , 66
-  , 67
-  , 68
-  , 69
-  , 70
-  , 48
-  , 49
-  , 50
-  , 51
-  , 52
-  , 53
-  , 54
-  , 55
-  , 56
-  , 57
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 65
-  , 66
-  , 67
-  , 68
-  , 69
-  , 70
-  , 48
-  , 49
-  , 50
-  , 51
-  , 52
-  , 53
-  , 54
-  , 55
-  , 56
-  , 57
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 65
-  , 66
-  , 67
-  , 68
-  , 69
-  , 70
-  , 128
-  , 129
-  , 130
-  , 131
-  , 132
-  , 133
-  , 134
-  , 135
-  , 136
-  , 137
-  , 138
-  , 139
-  , 140
-  , 141
-  , 142
-  , 143
-  , 144
-  , 145
-  , 146
-  , 147
-  , 148
-  , 149
-  , 150
-  , 151
-  , 152
-  , 153
-  , 154
-  , 155
-  , 156
-  , 157
-  , 158
-  , 159
-  , 160
-  , 161
-  , 162
-  , 163
-  , 164
-  , 165
-  , 166
-  , 167
-  , 168
-  , 169
-  , 170
-  , 171
-  , 172
-  , 173
-  , 174
-  , 175
-  , 176
-  , 177
-  , 178
-  , 179
-  , 180
-  , 181
-  , 182
-  , 183
-  , 184
-  , 185
-  , 186
-  , 187
-  , 188
-  , 189
-  , 190
-  , 191
-  , 192
-  , 193
-  , 194
-  , 195
-  , 196
-  , 197
-  , 198
-  , 199
-  , 200
-  , 201
-  , 202
-  , 203
-  , 204
-  , 205
-  , 206
-  , 207
-  , 208
-  , 209
-  , 210
-  , 211
-  , 212
-  , 213
-  , 214
-  , 215
-  , 216
-  , 217
-  , 218
-  , 219
-  , 220
-  , 221
-  , 222
-  , 223
-  , 224
-  , 225
-  , 226
-  , 227
-  , 228
-  , 229
-  , 230
-  , 231
-  , 232
-  , 233
-  , 234
-  , 235
-  , 236
-  , 237
-  , 238
-  , 239
-  , 240
-  , 241
-  , 242
-  , 243
-  , 244
-  , 245
-  , 246
-  , 247
-  , 248
-  , 249
-  , 250
-  , 251
-  , 252
-  , 253
-  , 254
-  , 255
-  , 128
-  , 129
-  , 130
-  , 131
-  , 132
-  , 133
-  , 134
-  , 135
-  , 136
-  , 137
-  , 138
-  , 139
-  , 140
-  , 141
-  , 142
-  , 143
-  , 144
-  , 145
-  , 146
-  , 147
-  , 148
-  , 149
-  , 150
-  , 151
-  , 152
-  , 153
-  , 154
-  , 155
-  , 156
-  , 157
-  , 158
-  , 159
-  , 160
-  , 161
-  , 162
-  , 163
-  , 164
-  , 165
-  , 166
-  , 167
-  , 168
-  , 169
-  , 170
-  , 171
-  , 172
-  , 173
-  , 174
-  , 175
-  , 176
-  , 177
-  , 178
-  , 179
-  , 180
-  , 181
-  , 182
-  , 183
-  , 184
-  , 185
-  , 186
-  , 187
-  , 188
-  , 189
-  , 190
-  , 191
-  , 192
-  , 193
-  , 194
-  , 195
-  , 196
-  , 197
-  , 198
-  , 199
-  , 200
-  , 201
-  , 202
-  , 203
-  , 204
-  , 205
-  , 206
-  , 207
-  , 208
-  , 209
-  , 210
-  , 211
-  , 212
-  , 213
-  , 214
-  , 215
-  , 216
-  , 217
-  , 218
-  , 219
-  , 220
-  , 221
-  , 222
-  , 223
-  , 224
-  , 225
-  , 226
-  , 227
-  , 228
-  , 229
-  , 230
-  , 231
-  , 232
-  , 233
-  , 234
-  , 235
-  , 236
-  , 237
-  , 238
-  , 239
-  , 240
-  , 241
-  , 242
-  , 243
-  , 244
-  , 245
-  , 246
-  , 247
-  , 248
-  , 249
-  , 250
-  , 251
-  , 252
-  , 253
-  , 254
-  , 255
-  , 0
-  , 1
-  , 2
-  , 3
-  , 4
-  , 5
-  , 6
-  , 7
-  , 8
-  , 9
-  , 10
-  , 11
-  , 12
-  , 13
-  , 14
-  , 15
-  , 16
-  , 17
-  , 18
-  , 19
-  , 20
-  , 21
-  , 22
-  , 23
-  , 24
-  , 25
-  , 26
-  , 27
-  , 28
-  , 29
-  , 30
-  , 31
-  , 32
-  , 33
-  , 34
-  , 35
-  , 36
-  , 37
-  , 38
-  , 39
-  , 40
-  , 41
-  , 42
-  , 43
-  , 44
-  , 45
-  , 46
-  , 47
-  , 48
-  , 49
-  , 50
-  , 51
-  , 52
-  , 53
-  , 54
-  , 55
-  , 56
-  , 57
-  , 58
-  , 59
-  , 60
-  , 61
-  , 62
-  , 63
-  , 64
-  , 65
-  , 66
-  , 67
-  , 68
-  , 69
-  , 70
-  , 71
-  , 72
-  , 73
-  , 74
-  , 75
-  , 76
-  , 77
-  , 78
-  , 79
-  , 80
-  , 81
-  , 82
-  , 83
-  , 84
-  , 85
-  , 86
-  , 87
-  , 88
-  , 89
-  , 90
-  , 91
-  , 92
-  , 93
-  , 94
-  , 95
-  , 96
-  , 97
-  , 98
-  , 99
-  , 100
-  , 101
-  , 102
-  , 103
-  , 104
-  , 105
-  , 106
-  , 107
-  , 108
-  , 109
-  , 110
-  , 111
-  , 112
-  , 113
-  , 114
-  , 115
-  , 116
-  , 117
-  , 118
-  , 119
-  , 120
-  , 121
-  , 122
-  , 123
-  , 124
-  , 125
-  , 126
-  , 127
-  , 9
-  , 10
-  , -1
-  , 134
-  , 13
-  , 136
-  , -1
-  , 138
-  , -1
-  , 148
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 32
-  , 33
-  , -1
-  , -1
-  , 166
-  , 159
-  , -1
-  , 39
-  , 40
-  , 41
-  , 164
-  , -1
-  , 44
-  , 45
-  , 46
-  , 177
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 187
-  , 58
-  , 59
-  , 190
-  , -1
-  , -1
-  , 63
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 91
-  , -1
-  , 93
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 123
-  , 124
-  , 125
-  , -1
-  , -1
-  , 128
-  , 129
-  , 130
-  , 131
-  , 132
-  , 133
-  , 134
-  , 135
-  , 136
-  , 137
-  , 138
-  , 139
-  , 140
-  , 141
-  , 142
-  , 143
-  , 144
-  , 145
-  , 146
-  , 147
-  , 148
-  , 149
-  , 150
-  , 151
-  , 152
-  , 153
-  , 154
-  , 155
-  , 156
-  , 157
-  , 158
-  , 159
-  , 160
-  , 161
-  , 162
-  , 163
-  , 164
-  , 165
-  , 166
-  , 167
-  , 168
-  , 169
-  , 170
-  , 171
-  , 172
-  , 173
-  , 174
-  , 175
-  , 176
-  , 177
-  , 178
-  , 179
-  , 180
-  , 181
-  , 182
-  , 183
-  , 184
-  , 185
-  , 186
-  , 187
-  , 188
-  , 189
-  , 190
-  , 191
-  , 192
-  , 193
-  , 194
-  , 195
-  , 196
-  , 197
-  , 198
-  , 199
-  , 200
-  , 201
-  , 202
-  , 203
-  , 204
-  , 205
-  , 206
-  , 207
-  , 208
-  , 209
-  , 210
-  , 211
-  , 212
-  , 213
-  , 214
-  , 215
-  , 216
-  , 217
-  , 218
-  , 219
-  , 220
-  , 221
-  , 222
-  , 223
-  , 224
-  , 225
-  , 226
-  , 227
-  , 228
-  , 229
-  , 230
-  , 231
-  , 232
-  , 233
-  , 234
-  , 235
-  , 236
-  , 237
-  , 238
-  , 239
-  , 240
-  , 241
-  , 242
-  , 243
-  , 244
-  , 245
-  , 246
-  , 247
-  , 248
-  , 249
-  , 250
-  , 251
-  , 252
-  , 253
-  , 254
-  , 255
-  , 143
-  , 144
-  , 145
-  , 146
-  , 147
-  , 148
-  , 149
-  , 150
-  , 151
-  , 152
-  , 153
-  , 154
-  , 155
-  , 156
-  , 157
-  , 158
-  , 159
-  , 160
-  , 161
-  , 162
-  , 163
-  , 164
-  , 165
-  , 166
-  , 167
-  , 168
-  , 169
-  , 170
-  , 171
-  , 172
-  , 173
-  , 174
-  , 175
-  , 176
-  , 177
-  , 178
-  , 179
-  , 180
-  , 181
-  , 182
-  , 183
-  , 184
-  , 185
-  , 186
-  , 187
-  , 188
-  , 189
-  , 190
-  , 191
-  , 192
-  , 193
-  , 194
-  , 195
-  , 196
-  , 197
-  , 198
-  , 199
-  , 200
-  , 201
-  , 202
-  , 203
-  , 204
-  , 205
-  , 206
-  , 207
-  , 208
-  , 209
-  , 210
-  , 211
-  , 212
-  , 213
-  , 214
-  , 215
-  , 216
-  , 217
-  , 218
-  , 219
-  , 220
-  , 221
-  , 222
-  , 223
-  , 224
-  , 225
-  , 226
-  , 227
-  , 228
-  , 229
-  , 230
-  , 231
-  , 232
-  , 233
-  , 234
-  , 235
-  , 236
-  , 237
-  , 238
-  , 239
-  , 240
-  , 241
-  , 242
-  , 243
-  , 244
-  , 245
-  , 246
-  , 247
-  , 248
-  , 249
-  , 250
-  , 251
-  , 252
-  , 253
-  , 254
-  , 255
-  , 191
-  , 192
-  , 193
-  , 194
-  , 195
-  , 196
-  , 197
-  , 198
-  , 199
-  , 200
-  , 201
-  , 202
-  , 203
-  , 204
-  , 205
-  , 206
-  , 207
-  , 208
-  , 209
-  , 210
-  , 211
-  , 212
-  , 213
-  , 214
-  , 215
-  , 216
-  , 217
-  , 218
-  , 219
-  , 220
-  , 221
-  , 222
-  , 223
-  , 224
-  , 225
-  , 226
-  , 227
-  , 228
-  , 229
-  , 230
-  , 231
-  , 232
-  , 233
-  , 234
-  , 235
-  , 236
-  , 237
-  , 238
-  , 239
-  , 240
-  , 241
-  , 242
-  , 243
-  , 244
-  , 245
-  , 246
-  , 247
-  , 248
-  , 249
-  , 250
-  , 251
-  , 252
-  , 253
-  , 254
-  , 255
-  , 192
-  , 193
-  , 194
-  , 195
-  , 196
-  , 197
-  , 198
-  , 199
-  , 200
-  , 201
-  , 202
-  , 203
-  , 204
-  , 205
-  , 206
-  , 207
-  , 208
-  , 209
-  , 210
-  , 211
-  , 212
-  , 213
-  , 214
-  , 215
-  , 216
-  , 217
-  , 218
-  , 219
-  , 220
-  , 221
-  , 222
-  , 223
-  , 224
-  , 225
-  , 226
-  , 227
-  , 228
-  , 229
-  , 230
-  , 231
-  , 232
-  , 233
-  , 234
-  , 235
-  , 236
-  , 237
-  , 238
-  , 239
-  , 240
-  , 241
-  , 242
-  , 243
-  , 244
-  , 245
-  , 246
-  , 247
-  , 248
-  , 249
-  , 250
-  , 251
-  , 252
-  , 253
-  , 254
-  , 255
-  , 128
-  , 129
-  , 130
-  , 131
-  , 132
-  , 133
-  , 134
-  , 135
-  , 136
-  , 137
-  , 138
-  , 139
-  , 140
-  , 141
-  , 142
-  , 143
-  , 144
-  , 145
-  , 146
-  , 147
-  , 148
-  , 149
-  , 150
-  , 151
-  , 152
-  , 153
-  , 154
-  , 155
-  , 156
-  , 157
-  , 158
-  , 159
-  , 160
-  , 161
-  , 162
-  , 163
-  , 164
-  , 165
-  , 166
-  , 167
-  , 168
-  , 169
-  , 170
-  , 171
-  , 172
-  , 173
-  , 174
-  , 175
-  , 176
-  , 177
-  , 178
-  , 179
-  , 180
-  , 181
-  , 182
-  , 183
-  , 184
-  , 185
-  , 186
-  , 187
-  , 188
-  , 189
-  , 190
-  , 191
-  , 192
-  , 193
-  , 194
-  , 195
-  , 196
-  , 197
-  , 198
-  , 199
-  , 200
-  , 201
-  , 202
-  , 203
-  , 204
-  , 205
-  , 206
-  , 207
-  , 208
-  , 209
-  , 210
-  , 211
-  , 212
-  , 213
-  , 214
-  , 215
-  , 216
-  , 217
-  , 218
-  , 219
-  , 220
-  , 221
-  , 222
-  , 223
-  , 224
-  , 225
-  , 226
-  , 227
-  , 228
-  , 229
-  , 230
-  , 231
-  , 232
-  , 233
-  , 234
-  , 235
-  , 236
-  , 237
-  , 238
-  , 239
-  , 240
-  , 241
-  , 242
-  , 243
-  , 244
-  , 245
-  , 246
-  , 247
-  , 248
-  , 249
-  , 250
-  , 251
-  , 252
-  , 253
-  , 254
-  , 255
-  , 128
-  , 129
-  , 130
-  , 131
-  , 132
-  , 133
-  , 134
-  , 135
-  , 136
-  , 137
-  , 138
-  , 139
-  , 140
-  , 141
-  , 142
-  , 143
-  , 144
-  , 145
-  , 146
-  , 147
-  , 148
-  , 149
-  , 150
-  , 151
-  , 152
-  , 153
-  , 154
-  , 155
-  , 156
-  , 157
-  , 158
-  , 159
-  , 160
-  , 161
-  , 162
-  , 163
-  , 164
-  , 165
-  , 166
-  , 167
-  , 168
-  , 169
-  , 170
-  , 171
-  , 172
-  , 173
-  , 174
-  , 175
-  , 176
-  , 177
-  , 178
-  , 179
-  , 180
-  , 181
-  , 182
-  , 183
-  , 184
-  , 185
-  , 186
-  , 187
-  , 188
-  , 189
-  , 190
-  , 191
-  , 192
-  , 193
-  , 194
-  , 195
-  , 196
-  , 197
-  , 198
-  , 199
-  , 200
-  , 201
-  , 202
-  , 203
-  , 204
-  , 205
-  , 206
-  , 207
-  , 208
-  , 209
-  , 210
-  , 211
-  , 212
-  , 213
-  , 214
-  , 215
-  , 216
-  , 217
-  , 218
-  , 219
-  , 220
-  , 221
-  , 222
-  , 223
-  , 224
-  , 225
-  , 226
-  , 227
-  , 228
-  , 229
-  , 230
-  , 231
-  , 232
-  , 233
-  , 234
-  , 235
-  , 236
-  , 237
-  , 238
-  , 239
-  , 240
-  , 241
-  , 242
-  , 243
-  , 244
-  , 245
-  , 246
-  , 247
-  , 248
-  , 249
-  , 250
-  , 251
-  , 252
-  , 253
-  , 254
-  , 255
-  , 0
-  , 1
-  , 2
-  , 3
-  , 4
-  , 5
-  , 6
-  , 7
-  , 8
-  , 9
-  , 10
-  , 11
-  , 12
-  , 13
-  , 14
-  , 15
-  , 16
-  , 17
-  , 18
-  , 19
-  , 20
-  , 21
-  , 22
-  , 23
-  , 24
-  , 25
-  , 26
-  , 27
-  , 28
-  , 29
-  , 30
-  , 31
-  , 32
-  , 33
-  , 34
-  , 35
-  , 36
-  , 37
-  , 38
-  , 39
-  , 40
-  , 41
-  , 42
-  , 43
-  , 44
-  , 45
-  , 46
-  , 47
-  , 48
-  , 49
-  , 50
-  , 51
-  , 52
-  , 53
-  , 54
-  , 55
-  , 56
-  , 57
-  , 58
-  , 59
-  , 60
-  , 61
-  , 62
-  , 63
-  , 64
-  , 65
-  , 66
-  , 67
-  , 68
-  , 69
-  , 70
-  , 71
-  , 72
-  , 73
-  , 74
-  , 75
-  , 76
-  , 77
-  , 78
-  , 79
-  , 80
-  , 81
-  , 82
-  , 83
-  , 84
-  , 85
-  , 86
-  , 87
-  , 88
-  , 89
-  , 90
-  , 91
-  , 92
-  , 93
-  , 94
-  , 95
-  , 96
-  , 97
-  , 98
-  , 99
-  , 100
-  , 101
-  , 102
-  , 103
-  , 104
-  , 105
-  , 106
-  , 107
-  , 108
-  , 109
-  , 110
-  , 111
-  , 112
-  , 113
-  , 114
-  , 115
-  , 116
-  , 117
-  , 118
-  , 119
-  , 120
-  , 121
-  , 122
-  , 123
-  , 124
-  , 125
-  , 126
-  , 127
-  , 9
-  , 10
-  , -1
-  , -1
-  , 13
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 32
-  , 33
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 39
-  , 40
-  , 41
-  , -1
-  , -1
-  , 44
-  , 45
-  , 46
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 58
-  , 59
-  , -1
-  , -1
-  , -1
-  , 63
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 91
-  , -1
-  , 93
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 123
-  , 124
-  , 125
-  , -1
-  , -1
-  , 128
-  , 129
-  , 130
-  , 131
-  , 132
-  , 133
-  , 134
-  , 135
-  , 136
-  , 137
-  , 138
-  , 139
-  , 140
-  , 141
-  , 142
-  , 143
-  , 144
-  , 145
-  , 146
-  , 147
-  , 148
-  , 149
-  , 150
-  , 151
-  , 152
-  , 153
-  , 154
-  , 155
-  , 156
-  , 157
-  , 158
-  , 159
-  , 160
-  , 161
-  , 162
-  , 163
-  , 164
-  , 165
-  , 166
-  , 167
-  , 168
-  , 169
-  , 170
-  , 171
-  , 172
-  , 173
-  , 174
-  , 175
-  , 176
-  , 177
-  , 178
-  , 179
-  , 180
-  , 181
-  , 182
-  , 183
-  , 184
-  , 185
-  , 186
-  , 187
-  , 188
-  , 189
-  , 190
-  , 191
-  , 192
-  , 193
-  , 194
-  , 195
-  , 196
-  , 197
-  , 198
-  , 199
-  , 200
-  , 201
-  , 202
-  , 203
-  , 204
-  , 205
-  , 206
-  , 207
-  , 208
-  , 209
-  , 210
-  , 211
-  , 212
-  , 213
-  , 214
-  , 215
-  , 216
-  , 217
-  , 218
-  , 219
-  , 220
-  , 221
-  , 222
-  , 223
-  , 224
-  , 225
-  , 226
-  , 227
-  , 228
-  , 229
-  , 230
-  , 231
-  , 232
-  , 233
-  , 234
-  , 235
-  , 236
-  , 237
-  , 238
-  , 239
-  , 240
-  , 241
-  , 242
-  , 243
-  , 244
-  , 245
-  , 246
-  , 247
-  , 248
-  , 249
-  , 250
-  , 251
-  , 252
-  , 253
-  , 254
-  , 255
-  , 128
-  , 129
-  , 130
-  , 131
-  , 132
-  , 133
-  , 134
-  , 135
-  , 136
-  , 137
-  , 138
-  , 139
-  , 140
-  , 141
-  , 142
-  , 143
-  , 144
-  , 145
-  , 146
-  , 147
-  , 148
-  , 149
-  , 150
-  , -1
-  , 152
-  , 153
-  , 154
-  , 155
-  , 156
-  , 157
-  , 158
-  , 159
-  , 160
-  , 161
-  , 162
-  , 163
-  , 164
-  , 165
-  , 166
-  , 167
-  , 168
-  , 169
-  , 170
-  , 171
-  , 172
-  , 173
-  , 174
-  , 175
-  , 176
-  , 177
-  , 178
-  , 179
-  , 180
-  , 181
-  , 182
-  , 39
-  , 184
-  , 185
-  , 186
-  , 187
-  , 188
-  , 189
-  , 190
-  , 191
-  , 48
-  , 49
-  , 50
-  , 51
-  , 52
-  , 53
-  , 54
-  , 55
-  , 56
-  , 57
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 65
-  , 66
-  , 67
-  , 68
-  , 69
-  , 70
-  , 71
-  , 72
-  , 73
-  , 74
-  , 75
-  , 76
-  , 77
-  , 78
-  , 79
-  , 80
-  , 81
-  , 82
-  , 83
-  , 84
-  , 85
-  , 86
-  , 87
-  , 88
-  , 89
-  , 90
-  , 10
-  , -1
-  , -1
-  , -1
-  , 95
-  , -1
-  , 97
-  , 98
-  , 99
-  , 100
-  , 101
-  , 102
-  , 103
-  , 104
-  , 105
-  , 106
-  , 107
-  , 108
-  , 109
-  , 110
-  , 111
-  , 112
-  , 113
-  , 114
-  , 115
-  , 116
-  , 117
-  , 118
-  , 119
-  , 120
-  , 121
-  , 122
-  , 192
-  , 193
-  , 194
-  , 195
-  , 196
-  , 197
-  , 198
-  , 199
-  , 200
-  , 201
-  , 202
-  , 203
-  , 204
-  , 205
-  , 206
-  , 207
-  , 208
-  , 209
-  , 210
-  , 211
-  , 212
-  , 213
-  , 214
-  , 215
-  , 216
-  , 217
-  , 218
-  , 219
-  , 220
-  , 221
-  , 222
-  , 223
-  , 224
-  , 225
-  , 226
-  , 227
-  , 228
-  , 229
-  , 230
-  , 231
-  , 232
-  , 233
-  , 234
-  , 235
-  , 236
-  , 237
-  , 238
-  , 239
-  , 240
-  , 241
-  , 242
-  , 243
-  , 244
-  , 245
-  , 246
-  , 247
-  , 248
-  , 249
-  , 250
-  , 251
-  , 252
-  , 253
-  , 254
-  , 255
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 195
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 128
-  , 129
-  , 130
-  , 131
-  , 132
-  , 133
-  , 134
-  , 135
-  , 136
-  , 137
-  , 138
-  , 139
-  , 140
-  , 141
-  , 142
-  , 143
-  , 144
-  , 145
-  , 146
-  , 147
-  , 148
-  , 149
-  , 150
-  , 151
-  , 152
-  , 153
-  , 154
-  , 155
-  , 156
-  , 157
-  , 158
-  , 159
-  , 160
-  , 161
-  , 162
-  , 163
-  , 164
-  , 165
-  , 166
-  , 167
-  , 168
-  , 169
-  , 170
-  , 171
-  , 172
-  , 173
-  , 174
-  , 175
-  , 176
-  , 177
-  , 178
-  , 179
-  , 180
-  , 181
-  , 182
-  , 183
-  , 184
-  , 185
-  , 186
-  , 187
-  , 188
-  , 189
-  , 190
-  , 191
-  , 192
-  , 193
-  , 194
-  , 195
-  , 196
-  , 197
-  , 198
-  , 199
-  , 200
-  , 201
-  , 202
-  , 203
-  , 204
-  , 205
-  , 206
-  , 207
-  , 208
-  , 209
-  , 210
-  , 211
-  , 212
-  , 213
-  , 214
-  , 215
-  , 216
-  , 217
-  , 218
-  , 219
-  , 220
-  , 221
-  , 222
-  , 223
-  , 224
-  , 225
-  , 226
-  , 227
-  , 228
-  , 229
-  , 230
-  , 231
-  , 232
-  , 233
-  , 234
-  , 235
-  , 236
-  , 237
-  , 238
-  , 239
-  , 240
-  , 241
-  , 242
-  , 243
-  , 244
-  , 245
-  , 246
-  , 247
-  , 248
-  , 249
-  , 250
-  , 251
-  , 252
-  , 253
-  , 254
-  , 255
-  , 0
-  , 1
-  , 2
-  , 3
-  , 4
-  , 5
-  , 6
-  , 7
-  , 8
-  , 9
-  , 10
-  , 11
-  , 12
-  , 13
-  , 14
-  , 15
-  , 16
-  , 17
-  , 18
-  , 19
-  , 20
-  , 21
-  , 22
-  , 23
-  , 24
-  , 25
-  , 26
-  , 27
-  , 28
-  , 29
-  , 30
-  , 31
-  , 32
-  , 33
-  , 34
-  , 35
-  , 36
-  , 37
-  , 38
-  , 39
-  , 40
-  , 41
-  , 42
-  , 43
-  , 44
-  , 45
-  , 46
-  , 47
-  , 48
-  , 49
-  , 50
-  , 51
-  , 52
-  , 53
-  , 54
-  , 55
-  , 56
-  , 57
-  , 58
-  , 59
-  , 60
-  , 61
-  , 62
-  , 63
-  , 64
-  , 65
-  , 66
-  , 67
-  , 68
-  , 69
-  , 70
-  , 71
-  , 72
-  , 73
-  , 74
-  , 75
-  , 76
-  , 77
-  , 78
-  , 79
-  , 80
-  , 81
-  , 82
-  , 83
-  , 84
-  , 85
-  , 86
-  , 87
-  , 88
-  , 89
-  , 90
-  , 91
-  , 92
-  , 93
-  , 94
-  , 95
-  , 96
-  , 97
-  , 98
-  , 99
-  , 100
-  , 101
-  , 102
-  , 103
-  , 104
-  , 105
-  , 106
-  , 107
-  , 108
-  , 109
-  , 110
-  , 111
-  , 112
-  , 113
-  , 114
-  , 115
-  , 116
-  , 117
-  , 118
-  , 119
-  , 120
-  , 121
-  , 122
-  , 123
-  , 124
-  , 125
-  , 126
-  , 127
-  , -1
-  , 128
-  , 129
-  , 130
-  , 131
-  , 132
-  , 133
-  , 134
-  , 135
-  , 136
-  , 137
-  , 138
-  , 139
-  , 140
-  , 141
-  , 142
-  , 143
-  , 144
-  , 145
-  , 146
-  , 147
-  , 148
-  , 149
-  , 150
-  , 151
-  , 152
-  , 153
-  , 154
-  , 155
-  , 156
-  , 157
-  , 158
-  , 159
-  , 160
-  , 161
-  , 162
-  , 163
-  , 164
-  , 165
-  , 166
-  , 167
-  , 168
-  , 169
-  , 170
-  , 171
-  , 172
-  , 173
-  , 174
-  , 175
-  , 176
-  , 177
-  , 178
-  , 179
-  , 180
-  , 181
-  , 182
-  , 183
-  , 184
-  , 185
-  , 186
-  , 187
-  , 188
-  , 189
-  , 190
-  , 191
-  , 192
-  , 193
-  , 194
-  , 195
-  , 196
-  , 197
-  , 198
-  , 199
-  , 200
-  , 201
-  , 202
-  , 203
-  , 204
-  , 205
-  , 206
-  , 207
-  , 208
-  , 209
-  , 210
-  , 211
-  , 212
-  , 213
-  , 214
-  , 215
-  , 216
-  , 217
-  , 218
-  , 219
-  , 220
-  , 221
-  , 222
-  , 223
-  , 224
-  , 225
-  , 226
-  , 227
-  , 228
-  , 229
-  , 230
-  , 231
-  , 232
-  , 233
-  , 234
-  , 235
-  , 236
-  , 237
-  , 238
-  , 239
-  , 240
-  , 241
-  , 242
-  , 243
-  , 244
-  , 245
-  , 246
-  , 247
-  , 248
-  , 249
-  , 250
-  , 251
-  , 252
-  , 253
-  , 254
-  , 255
-  , 128
-  , 129
-  , 130
-  , 131
-  , 132
-  , 133
-  , 134
-  , 135
-  , 136
-  , 137
-  , 138
-  , 139
-  , 140
-  , 141
-  , 142
-  , 143
-  , 144
-  , 145
-  , 146
-  , 147
-  , 148
-  , 149
-  , 150
-  , 151
-  , 152
-  , 153
-  , 154
-  , 155
-  , 156
-  , 157
-  , 158
-  , 159
-  , 160
-  , 161
-  , 162
-  , 163
-  , 164
-  , 165
-  , 166
-  , 167
-  , 168
-  , 169
-  , 170
-  , 171
-  , 172
-  , 173
-  , 174
-  , 175
-  , 176
-  , 177
-  , 178
-  , 179
-  , 180
-  , 181
-  , 182
-  , 183
-  , 184
-  , 185
-  , 186
-  , 187
-  , 188
-  , 189
-  , 190
-  , 191
-  , 192
-  , 193
-  , 194
-  , 195
-  , 196
-  , 197
-  , 198
-  , 199
-  , 200
-  , 201
-  , 202
-  , 203
-  , 204
-  , 205
-  , 206
-  , 207
-  , 208
-  , 209
-  , 210
-  , 211
-  , 212
-  , 213
-  , 214
-  , 215
-  , 216
-  , 217
-  , 218
-  , 219
-  , 220
-  , 221
-  , 222
-  , 223
-  , 224
-  , 225
-  , 226
-  , 227
-  , 228
-  , 229
-  , 230
-  , 231
-  , 232
-  , 233
-  , 234
-  , 235
-  , 236
-  , 237
-  , 238
-  , 239
-  , 240
-  , 241
-  , 242
-  , 243
-  , 244
-  , 245
-  , 246
-  , 247
-  , 248
-  , 249
-  , 250
-  , 251
-  , 252
-  , 253
-  , 254
-  , 255
-  , 191
-  , 192
-  , 193
-  , 194
-  , 195
-  , 196
-  , 197
-  , 198
-  , 199
-  , 200
-  , 201
-  , 202
-  , 203
-  , 204
-  , 205
-  , 206
-  , 207
-  , 208
-  , 209
-  , 210
-  , 211
-  , 212
-  , 213
-  , 214
-  , 215
-  , 216
-  , 217
-  , 218
-  , 219
-  , 220
-  , 221
-  , 222
-  , 223
-  , 224
-  , 225
-  , 226
-  , 227
-  , 228
-  , 229
-  , 230
-  , 231
-  , 232
-  , 233
-  , 234
-  , 235
-  , 236
-  , 237
-  , 238
-  , 239
-  , 240
-  , 241
-  , 242
-  , 243
-  , 244
-  , 245
-  , 246
-  , 247
-  , 248
-  , 249
-  , 250
-  , 251
-  , 252
-  , 253
-  , 254
-  , 255
-  , 143
-  , 144
-  , 145
-  , 146
-  , 147
-  , 148
-  , 149
-  , 150
-  , 151
-  , 152
-  , 153
-  , 154
-  , 155
-  , 156
-  , 157
-  , 158
-  , 159
-  , 160
-  , 161
-  , 162
-  , 163
-  , 164
-  , 165
-  , 166
-  , 167
-  , 168
-  , 169
-  , 170
-  , 171
-  , 172
-  , 173
-  , 174
-  , 175
-  , 176
-  , 177
-  , 178
-  , 179
-  , 180
-  , 181
-  , 182
-  , 183
-  , 184
-  , 185
-  , 186
-  , 187
-  , 188
-  , 189
-  , 190
-  , 191
-  , 192
-  , 193
-  , 194
-  , 195
-  , 196
-  , 197
-  , 198
-  , 199
-  , 200
-  , 201
-  , 202
-  , 203
-  , 204
-  , 205
-  , 206
-  , 207
-  , 208
-  , 209
-  , 210
-  , 211
-  , 212
-  , 213
-  , 214
-  , 215
-  , 216
-  , 217
-  , 218
-  , 219
-  , 220
-  , 221
-  , 222
-  , 223
-  , 224
-  , 225
-  , 226
-  , 227
-  , 228
-  , 229
-  , 230
-  , 231
-  , 232
-  , 233
-  , 234
-  , 235
-  , 236
-  , 237
-  , 238
-  , 239
-  , 240
-  , 241
-  , 242
-  , 243
-  , 244
-  , 245
-  , 246
-  , 247
-  , 248
-  , 249
-  , 250
-  , 251
-  , 252
-  , 253
-  , 254
-  , 255
-  , 42
-  , -1
-  , -1
-  , -1
-  , -1
-  , 47
-  , 192
-  , 193
-  , 194
-  , 195
-  , 196
-  , 197
-  , 198
-  , 199
-  , 200
-  , 201
-  , 202
-  , 203
-  , 204
-  , 205
-  , 206
-  , 207
-  , 208
-  , 209
-  , 210
-  , 211
-  , 212
-  , 213
-  , 214
-  , 215
-  , 216
-  , 217
-  , 218
-  , 219
-  , 220
-  , 221
-  , 222
-  , 223
-  , 224
-  , 225
-  , 226
-  , 227
-  , 228
-  , 229
-  , 230
-  , 231
-  , 232
-  , 233
-  , 234
-  , 235
-  , 236
-  , 237
-  , 238
-  , 239
-  , 240
-  , 241
-  , 242
-  , 243
-  , 244
-  , 245
-  , 246
-  , 247
-  , 248
-  , 249
-  , 250
-  , 251
-  , 252
-  , 253
-  , 254
-  , 255
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 128
-  , 129
-  , 130
-  , 131
-  , 132
-  , 133
-  , 134
-  , 135
-  , 136
-  , 137
-  , 138
-  , 139
-  , 140
-  , 141
-  , 142
-  , 143
-  , 144
-  , 145
-  , 146
-  , 147
-  , 148
-  , 149
-  , 150
-  , 151
-  , 152
-  , 153
-  , 154
-  , 155
-  , 156
-  , 157
-  , 158
-  , 159
-  , 160
-  , 161
-  , 162
-  , 163
-  , 164
-  , 165
-  , 166
-  , 167
-  , 168
-  , 169
-  , 170
-  , 171
-  , 172
-  , 173
-  , 174
-  , 175
-  , 176
-  , 177
-  , 178
-  , 179
-  , 180
-  , 181
-  , 182
-  , 183
-  , 184
-  , 185
-  , 186
-  , 187
-  , 188
-  , 189
-  , 190
-  , 191
-  , 192
-  , 193
-  , 194
-  , 195
-  , 196
-  , 197
-  , 198
-  , 199
-  , 200
-  , 201
-  , 202
-  , 203
-  , 204
-  , 205
-  , 206
-  , 207
-  , 208
-  , 209
-  , 210
-  , 211
-  , 212
-  , 213
-  , 214
-  , 215
-  , 216
-  , 217
-  , 218
-  , 219
-  , 220
-  , 221
-  , 222
-  , 223
-  , 224
-  , 225
-  , 226
-  , 227
-  , 228
-  , 229
-  , 230
-  , 231
-  , 232
-  , 233
-  , 234
-  , 235
-  , 236
-  , 237
-  , 238
-  , 239
-  , 240
-  , 241
-  , 242
-  , 243
-  , 244
-  , 245
-  , 246
-  , 247
-  , 248
-  , 249
-  , 250
-  , 251
-  , 252
-  , 253
-  , 254
-  , 255
-  , 42
-  , 191
-  , 192
-  , 193
-  , 194
-  , 195
-  , 196
-  , 197
-  , 198
-  , 199
-  , 200
-  , 201
-  , 202
-  , 203
-  , 204
-  , 205
-  , 206
-  , 207
-  , 208
-  , 209
-  , 210
-  , 211
-  , 212
-  , 213
-  , 214
-  , 215
-  , 216
-  , 217
-  , 218
-  , 219
-  , 220
-  , 221
-  , 222
-  , 223
-  , 224
-  , 225
-  , 226
-  , 227
-  , 228
-  , 229
-  , 230
-  , 231
-  , 232
-  , 233
-  , 234
-  , 235
-  , 236
-  , 237
-  , 238
-  , 239
-  , 240
-  , 241
-  , 242
-  , 243
-  , 244
-  , 245
-  , 246
-  , 247
-  , 248
-  , 249
-  , 250
-  , 251
-  , 252
-  , 253
-  , 254
-  , 255
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 128
-  , 129
-  , 130
-  , 131
-  , 132
-  , 133
-  , 134
-  , 135
-  , 136
-  , 137
-  , 138
-  , 139
-  , 140
-  , 141
-  , 142
-  , 143
-  , 144
-  , 145
-  , 146
-  , 147
-  , 148
-  , 149
-  , 150
-  , 151
-  , 152
-  , 153
-  , 154
-  , 155
-  , 156
-  , 157
-  , 158
-  , 159
-  , 160
-  , 161
-  , 162
-  , 163
-  , 164
-  , 165
-  , 166
-  , 167
-  , 168
-  , 169
-  , 170
-  , 171
-  , 172
-  , 173
-  , 174
-  , 175
-  , 176
-  , 177
-  , 178
-  , 179
-  , 180
-  , 181
-  , 182
-  , 183
-  , 184
-  , 185
-  , 186
-  , 187
-  , 188
-  , 189
-  , 190
-  , 191
-  , 192
-  , 193
-  , 194
-  , 195
-  , 196
-  , 197
-  , 198
-  , 199
-  , 200
-  , 201
-  , 202
-  , 203
-  , 204
-  , 205
-  , 206
-  , 207
-  , 208
-  , 209
-  , 210
-  , 211
-  , 212
-  , 213
-  , 214
-  , 215
-  , 216
-  , 217
-  , 218
-  , 219
-  , 220
-  , 221
-  , 222
-  , 223
-  , 224
-  , 225
-  , 226
-  , 227
-  , 228
-  , 229
-  , 230
-  , 231
-  , 232
-  , 233
-  , 234
-  , 235
-  , 236
-  , 237
-  , 238
-  , 239
-  , 240
-  , 241
-  , 242
-  , 243
-  , 244
-  , 245
-  , 246
-  , 247
-  , 248
-  , 249
-  , 250
-  , 251
-  , 252
-  , 253
-  , 254
-  , 255
-  , 0
-  , 1
-  , 2
-  , 3
-  , 4
-  , 5
-  , 6
-  , 7
-  , 8
-  , 9
-  , 10
-  , 11
-  , 12
-  , 13
-  , 14
-  , 15
-  , 16
-  , 17
-  , 18
-  , 19
-  , 20
-  , 21
-  , 22
-  , 23
-  , 24
-  , 25
-  , 26
-  , 27
-  , 28
-  , 29
-  , 30
-  , 31
-  , 32
-  , 33
-  , 34
-  , 35
-  , 36
-  , 37
-  , 38
-  , 39
-  , 40
-  , 41
-  , 42
-  , 43
-  , 44
-  , 45
-  , 46
-  , 47
-  , 48
-  , 49
-  , 50
-  , 51
-  , 52
-  , 53
-  , 54
-  , 55
-  , 56
-  , 57
-  , 58
-  , 59
-  , 60
-  , 61
-  , 62
-  , 63
-  , 64
-  , 65
-  , 66
-  , 67
-  , 68
-  , 69
-  , 70
-  , 71
-  , 72
-  , 73
-  , 74
-  , 75
-  , 76
-  , 77
-  , 78
-  , 79
-  , 80
-  , 81
-  , 82
-  , 83
-  , 84
-  , 85
-  , 86
-  , 87
-  , 88
-  , 89
-  , 90
-  , 91
-  , 92
-  , 93
-  , 94
-  , 95
-  , 96
-  , 97
-  , 98
-  , 99
-  , 100
-  , 101
-  , 102
-  , 103
-  , 104
-  , 105
-  , 106
-  , 107
-  , 108
-  , 109
-  , 110
-  , 111
-  , 112
-  , 113
-  , 114
-  , 115
-  , 116
-  , 117
-  , 118
-  , 119
-  , 120
-  , 121
-  , 122
-  , 123
-  , 124
-  , 125
-  , 126
-  , 127
-  , -1
-  , 128
-  , 129
-  , 130
-  , 131
-  , 132
-  , 133
-  , 134
-  , 135
-  , 136
-  , 137
-  , 138
-  , 139
-  , 140
-  , 141
-  , 142
-  , 143
-  , 144
-  , 145
-  , 146
-  , 147
-  , 148
-  , 149
-  , 150
-  , 151
-  , 152
-  , 153
-  , 154
-  , 155
-  , 156
-  , 157
-  , 158
-  , 159
-  , 160
-  , 161
-  , 162
-  , 163
-  , 164
-  , 165
-  , 166
-  , 167
-  , 168
-  , 169
-  , 170
-  , 171
-  , 172
-  , 173
-  , 174
-  , 175
-  , 176
-  , 177
-  , 178
-  , 179
-  , 180
-  , 181
-  , 182
-  , 183
-  , 184
-  , 185
-  , 186
-  , 187
-  , 188
-  , 189
-  , 190
-  , 191
-  , 192
-  , 193
-  , 194
-  , 195
-  , 196
-  , 197
-  , 198
-  , 199
-  , 200
-  , 201
-  , 202
-  , 203
-  , 204
-  , 205
-  , 206
-  , 207
-  , 208
-  , 209
-  , 210
-  , 211
-  , 212
-  , 213
-  , 214
-  , 215
-  , 216
-  , 217
-  , 218
-  , 219
-  , 220
-  , 221
-  , 222
-  , 223
-  , 224
-  , 225
-  , 226
-  , 227
-  , 228
-  , 229
-  , 230
-  , 231
-  , 232
-  , 233
-  , 234
-  , 235
-  , 236
-  , 237
-  , 238
-  , 239
-  , 240
-  , 241
-  , 242
-  , 243
-  , 244
-  , 245
-  , 246
-  , 247
-  , 248
-  , 249
-  , 250
-  , 251
-  , 252
-  , 253
-  , 254
-  , 255
-  , 128
-  , 129
-  , 130
-  , 131
-  , 132
-  , 133
-  , 134
-  , 135
-  , 136
-  , 137
-  , 138
-  , 139
-  , 140
-  , 141
-  , 142
-  , 143
-  , 144
-  , 145
-  , 146
-  , 147
-  , 148
-  , 149
-  , 150
-  , 151
-  , 152
-  , 153
-  , 154
-  , 155
-  , 156
-  , 157
-  , 158
-  , 159
-  , 160
-  , 161
-  , 162
-  , 163
-  , 164
-  , 165
-  , 166
-  , 167
-  , 168
-  , 169
-  , 170
-  , 171
-  , 172
-  , 173
-  , 174
-  , 175
-  , 176
-  , 177
-  , 178
-  , 179
-  , 180
-  , 181
-  , 182
-  , 183
-  , 184
-  , 185
-  , 186
-  , 187
-  , 188
-  , 189
-  , 190
-  , 191
-  , 192
-  , 193
-  , 194
-  , 195
-  , 196
-  , 197
-  , 198
-  , 199
-  , 200
-  , 201
-  , 202
-  , 203
-  , 204
-  , 205
-  , 206
-  , 207
-  , 208
-  , 209
-  , 210
-  , 211
-  , 212
-  , 213
-  , 214
-  , 215
-  , 216
-  , 217
-  , 218
-  , 219
-  , 220
-  , 221
-  , 222
-  , 223
-  , 224
-  , 225
-  , 226
-  , 227
-  , 228
-  , 229
-  , 230
-  , 231
-  , 232
-  , 233
-  , 234
-  , 235
-  , 236
-  , 237
-  , 238
-  , 239
-  , 240
-  , 241
-  , 242
-  , 243
-  , 244
-  , 245
-  , 246
-  , 247
-  , 248
-  , 249
-  , 250
-  , 251
-  , 252
-  , 253
-  , 254
-  , 255
-  , 143
-  , 144
-  , 145
-  , 146
-  , 147
-  , 148
-  , 149
-  , 150
-  , 151
-  , 152
-  , 153
-  , 154
-  , 155
-  , 156
-  , 157
-  , 158
-  , 159
-  , 160
-  , 161
-  , 162
-  , 163
-  , 164
-  , 165
-  , 166
-  , 167
-  , 168
-  , 169
-  , 170
-  , 171
-  , 172
-  , 173
-  , 174
-  , 175
-  , 176
-  , 177
-  , 178
-  , 179
-  , 180
-  , 181
-  , 182
-  , 183
-  , 184
-  , 185
-  , 186
-  , 187
-  , 188
-  , 189
-  , 190
-  , 191
-  , 192
-  , 193
-  , 194
-  , 195
-  , 196
-  , 197
-  , 198
-  , 199
-  , 200
-  , 201
-  , 202
-  , 203
-  , 204
-  , 205
-  , 206
-  , 207
-  , 208
-  , 209
-  , 210
-  , 211
-  , 212
-  , 213
-  , 214
-  , 215
-  , 216
-  , 217
-  , 218
-  , 219
-  , 220
-  , 221
-  , 222
-  , 223
-  , 224
-  , 225
-  , 226
-  , 227
-  , 228
-  , 229
-  , 230
-  , 231
-  , 232
-  , 233
-  , 234
-  , 235
-  , 236
-  , 237
-  , 238
-  , 239
-  , 240
-  , 241
-  , 242
-  , 243
-  , 244
-  , 245
-  , 246
-  , 247
-  , 248
-  , 249
-  , 250
-  , 251
-  , 252
-  , 253
-  , 254
-  , 255
-  , 0
-  , 1
-  , 2
-  , 3
-  , 4
-  , 5
-  , 6
-  , 7
-  , 8
-  , -1
-  , -1
-  , 11
-  , 12
-  , -1
-  , 14
-  , 15
-  , 16
-  , 17
-  , 18
-  , 19
-  , 20
-  , 21
-  , 22
-  , 23
-  , 24
-  , 25
-  , 26
-  , 27
-  , 28
-  , 29
-  , 30
-  , 31
-  , -1
-  , -1
-  , 34
-  , 35
-  , 36
-  , 37
-  , 38
-  , 39
-  , -1
-  , -1
-  , 42
-  , 43
-  , -1
-  , -1
-  , -1
-  , 47
-  , 48
-  , 49
-  , 50
-  , 51
-  , 52
-  , 53
-  , 54
-  , 55
-  , 56
-  , 57
-  , -1
-  , -1
-  , 60
-  , 61
-  , 62
-  , -1
-  , 64
-  , 65
-  , 66
-  , 67
-  , 68
-  , 69
-  , 70
-  , 71
-  , 72
-  , 73
-  , 74
-  , 75
-  , 76
-  , 77
-  , 78
-  , 79
-  , 80
-  , 81
-  , 82
-  , 83
-  , 84
-  , 85
-  , 86
-  , 87
-  , 88
-  , 89
-  , 90
-  , -1
-  , 92
-  , -1
-  , 94
-  , 95
-  , 96
-  , 97
-  , 98
-  , 99
-  , 100
-  , 101
-  , 102
-  , 103
-  , 104
-  , 105
-  , 106
-  , 107
-  , 108
-  , 109
-  , 110
-  , 111
-  , 112
-  , 113
-  , 114
-  , 115
-  , 116
-  , 117
-  , 118
-  , 119
-  , 120
-  , 121
-  , 122
-  , -1
-  , -1
-  , -1
-  , 126
-  , 127
-  , 192
-  , 193
-  , 194
-  , 195
-  , 196
-  , 197
-  , 198
-  , 199
-  , 200
-  , 201
-  , 202
-  , 203
-  , 204
-  , 205
-  , 206
-  , 207
-  , 208
-  , 209
-  , 210
-  , 211
-  , 212
-  , 213
-  , 214
-  , 215
-  , 216
-  , 217
-  , 218
-  , 219
-  , 220
-  , 221
-  , 222
-  , 223
-  , 224
-  , 225
-  , 226
-  , 227
-  , 228
-  , 229
-  , 230
-  , 231
-  , 232
-  , 233
-  , 234
-  , 235
-  , 236
-  , 237
-  , 238
-  , 239
-  , 240
-  , 241
-  , 242
-  , 243
-  , 244
-  , 245
-  , 246
-  , 247
-  , 248
-  , 249
-  , 250
-  , 251
-  , 252
-  , 253
-  , 254
-  , 255
-  , -1
-  , -1
-  , 194
-  , 195
-  , 196
-  , 197
-  , 198
-  , 199
-  , 200
-  , 201
-  , 202
-  , 203
-  , 204
-  , 205
-  , 206
-  , 207
-  , 208
-  , 209
-  , 210
-  , 211
-  , 212
-  , 213
-  , 214
-  , 215
-  , 216
-  , 217
-  , 218
-  , 219
-  , 220
-  , 221
-  , 222
-  , 223
-  , 224
-  , 225
-  , 226
-  , 227
-  , 228
-  , 229
-  , 230
-  , 231
-  , 232
-  , 233
-  , 234
-  , 235
-  , 236
-  , 237
-  , 238
-  , 239
-  , 240
-  , 241
-  , 242
-  , 243
-  , 244
-  , 0
-  , 1
-  , 2
-  , 3
-  , 4
-  , 5
-  , 6
-  , 7
-  , 8
-  , -1
-  , -1
-  , 11
-  , 12
-  , -1
-  , 14
-  , 15
-  , 16
-  , 17
-  , 18
-  , 19
-  , 20
-  , 21
-  , 22
-  , 23
-  , 24
-  , 25
-  , 26
-  , 27
-  , 28
-  , 29
-  , 30
-  , 31
-  , -1
-  , -1
-  , 34
-  , 35
-  , 36
-  , 37
-  , 38
-  , 39
-  , -1
-  , -1
-  , 42
-  , 43
-  , -1
-  , -1
-  , -1
-  , 47
-  , 48
-  , 49
-  , 50
-  , 51
-  , 52
-  , 53
-  , 54
-  , 55
-  , 56
-  , 57
-  , -1
-  , -1
-  , 60
-  , 61
-  , 62
-  , -1
-  , 64
-  , 65
-  , 66
-  , 67
-  , 68
-  , 69
-  , 70
-  , 71
-  , 72
-  , 73
-  , 74
-  , 75
-  , 76
-  , 77
-  , 78
-  , 79
-  , 80
-  , 81
-  , 82
-  , 83
-  , 84
-  , 85
-  , 86
-  , 87
-  , 88
-  , 89
-  , 90
-  , -1
-  , 92
-  , -1
-  , 94
-  , 95
-  , 96
-  , 97
-  , 98
-  , 99
-  , 100
-  , 101
-  , 102
-  , 103
-  , 104
-  , 105
-  , 106
-  , 107
-  , 108
-  , 109
-  , 110
-  , 111
-  , 112
-  , 113
-  , 114
-  , 115
-  , 116
-  , 117
-  , 118
-  , 119
-  , 120
-  , 121
-  , 122
-  , -1
-  , -1
-  , -1
-  , 126
-  , 127
-  , 191
-  , 192
-  , 193
-  , 194
-  , 195
-  , 196
-  , 197
-  , 198
-  , 199
-  , 200
-  , 201
-  , 202
-  , 203
-  , 204
-  , 205
-  , 206
-  , 207
-  , 208
-  , 209
-  , 210
-  , 211
-  , 212
-  , 213
-  , 214
-  , 215
-  , 216
-  , 217
-  , 218
-  , 219
-  , 220
-  , 221
-  , 222
-  , 223
-  , 224
-  , 225
-  , 226
-  , 227
-  , 228
-  , 229
-  , 230
-  , 231
-  , 232
-  , 233
-  , 234
-  , 235
-  , 236
-  , 237
-  , 238
-  , 239
-  , 240
-  , 241
-  , 242
-  , 243
-  , 244
-  , 245
-  , 246
-  , 247
-  , 248
-  , 249
-  , 250
-  , 251
-  , 252
-  , 253
-  , 254
-  , 255
-  , -1
-  , 194
-  , 195
-  , 196
-  , 197
-  , 198
-  , 199
-  , 200
-  , 201
-  , 202
-  , 203
-  , 204
-  , 205
-  , 206
-  , 207
-  , 208
-  , 209
-  , 210
-  , 211
-  , 212
-  , 213
-  , 214
-  , 215
-  , 216
-  , 217
-  , 218
-  , 219
-  , 220
-  , 221
-  , 222
-  , 223
-  , 224
-  , 225
-  , 226
-  , 227
-  , 228
-  , 229
-  , 230
-  , 231
-  , 232
-  , 233
-  , 234
-  , 235
-  , 236
-  , 237
-  , 238
-  , 239
-  , 240
-  , 241
-  , 242
-  , 243
-  , 244
-  , 0
-  , 1
-  , 2
-  , 3
-  , 4
-  , 5
-  , 6
-  , 7
-  , 8
-  , -1
-  , -1
-  , 11
-  , 12
-  , -1
-  , 14
-  , 15
-  , 16
-  , 17
-  , 18
-  , 19
-  , 20
-  , 21
-  , 22
-  , 23
-  , 24
-  , 25
-  , 26
-  , 27
-  , 28
-  , 29
-  , 30
-  , 31
-  , -1
-  , -1
-  , 34
-  , 35
-  , 36
-  , 37
-  , 38
-  , 39
-  , -1
-  , -1
-  , 42
-  , 43
-  , -1
-  , 45
-  , -1
-  , 47
-  , 48
-  , 49
-  , 50
-  , 51
-  , 52
-  , 53
-  , 54
-  , 55
-  , 56
-  , 57
-  , -1
-  , -1
-  , 60
-  , 61
-  , 62
-  , -1
-  , 64
-  , 65
-  , 66
-  , 67
-  , 68
-  , 69
-  , 70
-  , 71
-  , 72
-  , 73
-  , 74
-  , 75
-  , 76
-  , 77
-  , 78
-  , 79
-  , 80
-  , 81
-  , 82
-  , 83
-  , 84
-  , 85
-  , 86
-  , 87
-  , 88
-  , 89
-  , 90
-  , -1
-  , 92
-  , -1
-  , 94
-  , 95
-  , 96
-  , 97
-  , 98
-  , 99
-  , 100
-  , 101
-  , 102
-  , 103
-  , 104
-  , 105
-  , 106
-  , 107
-  , 108
-  , 109
-  , 110
-  , 111
-  , 112
-  , 113
-  , 114
-  , 115
-  , 116
-  , 117
-  , 118
-  , 119
-  , 120
-  , 121
-  , 122
-  , -1
-  , -1
-  , -1
-  , 126
-  , 127
-  , 192
-  , 193
-  , 194
-  , 195
-  , 196
-  , 197
-  , 198
-  , 199
-  , 200
-  , 201
-  , 202
-  , 203
-  , 204
-  , 205
-  , 206
-  , 207
-  , 208
-  , 209
-  , 210
-  , 211
-  , 212
-  , 213
-  , 214
-  , 215
-  , 216
-  , 217
-  , 218
-  , 219
-  , 220
-  , 221
-  , 222
-  , 223
-  , 224
-  , 225
-  , 226
-  , 227
-  , 228
-  , 229
-  , 230
-  , 231
-  , 232
-  , 233
-  , 234
-  , 235
-  , 236
-  , 237
-  , 238
-  , 239
-  , 240
-  , 241
-  , 242
-  , 243
-  , 244
-  , 245
-  , 246
-  , 247
-  , 248
-  , 249
-  , 250
-  , 251
-  , 252
-  , 253
-  , 254
-  , 255
-  , -1
-  , -1
-  , 194
-  , 195
-  , 196
-  , 197
-  , 198
-  , 199
-  , 200
-  , 201
-  , 202
-  , 203
-  , 204
-  , 205
-  , 206
-  , 207
-  , 208
-  , 209
-  , 210
-  , 211
-  , 212
-  , 213
-  , 214
-  , 215
-  , 216
-  , 217
-  , 218
-  , 219
-  , 220
-  , 221
-  , 222
-  , 223
-  , 224
-  , 225
-  , 226
-  , 227
-  , 228
-  , 229
-  , 230
-  , 231
-  , 232
-  , 233
-  , 234
-  , 235
-  , 236
-  , 237
-  , 238
-  , 239
-  , 240
-  , 241
-  , 242
-  , 243
-  , 244
-  , 9
-  , 10
-  , -1
-  , -1
-  , 13
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 32
-  , 33
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 39
-  , 40
-  , 41
-  , -1
-  , -1
-  , 44
-  , 45
-  , 46
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 58
-  , 59
-  , -1
-  , -1
-  , -1
-  , 63
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 91
-  , -1
-  , 93
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 123
-  , 124
-  , 125
-  , -1
-  , -1
-  , 128
-  , 129
-  , 130
-  , 131
-  , 132
-  , 133
-  , 134
-  , 135
-  , 136
-  , 137
-  , 138
-  , 139
-  , 140
-  , 141
-  , 142
-  , 143
-  , 144
-  , 145
-  , 146
-  , 147
-  , 148
-  , 149
-  , 150
-  , 151
-  , 152
-  , 153
-  , 154
-  , 155
-  , 156
-  , 157
-  , 158
-  , 159
-  , 160
-  , 161
-  , 162
-  , 163
-  , 164
-  , 165
-  , 166
-  , 167
-  , 168
-  , 169
-  , 170
-  , 171
-  , 172
-  , 173
-  , 174
-  , 175
-  , 176
-  , 177
-  , 178
-  , 179
-  , 180
-  , 181
-  , 182
-  , 183
-  , 184
-  , 185
-  , 186
-  , 187
-  , 188
-  , 189
-  , 190
-  , 191
-  , 192
-  , 193
-  , 194
-  , 195
-  , 196
-  , 197
-  , 198
-  , 199
-  , 200
-  , 201
-  , 202
-  , 203
-  , 204
-  , 205
-  , 206
-  , 207
-  , 208
-  , 209
-  , 210
-  , 211
-  , 212
-  , 213
-  , 214
-  , 215
-  , 216
-  , 217
-  , 218
-  , 219
-  , 220
-  , 221
-  , 222
-  , 223
-  , 224
-  , 225
-  , 226
-  , 227
-  , 228
-  , 229
-  , 230
-  , 231
-  , 232
-  , 233
-  , 234
-  , 235
-  , 236
-  , 237
-  , 238
-  , 239
-  , 240
-  , 241
-  , 242
-  , 243
-  , 244
-  , 245
-  , 246
-  , 247
-  , 248
-  , 249
-  , 250
-  , 251
-  , 252
-  , 253
-  , 254
-  , 255
-  , 0
-  , 1
-  , 2
-  , 3
-  , 4
-  , 5
-  , 6
-  , 7
-  , 8
-  , 9
-  , 10
-  , 11
-  , 12
-  , 13
-  , 14
-  , 15
-  , 16
-  , 17
-  , 18
-  , 19
-  , 20
-  , 21
-  , 22
-  , 23
-  , 24
-  , 25
-  , 26
-  , 27
-  , 28
-  , 29
-  , 30
-  , 31
-  , 32
-  , 33
-  , 34
-  , 35
-  , 36
-  , 37
-  , 38
-  , 39
-  , 40
-  , 41
-  , 42
-  , 43
-  , 44
-  , 45
-  , 46
-  , 47
-  , 48
-  , 49
-  , 50
-  , 51
-  , 52
-  , 53
-  , 54
-  , 55
-  , 56
-  , 57
-  , 58
-  , 59
-  , 60
-  , 61
-  , 62
-  , 63
-  , 64
-  , 65
-  , 66
-  , 67
-  , 68
-  , 69
-  , 70
-  , 71
-  , 72
-  , 73
-  , 74
-  , 75
-  , 76
-  , 77
-  , 78
-  , 79
-  , 80
-  , 81
-  , 82
-  , 83
-  , 84
-  , 85
-  , 86
-  , 87
-  , 88
-  , 89
-  , 90
-  , 91
-  , 92
-  , 93
-  , 94
-  , 95
-  , 96
-  , 97
-  , 98
-  , 99
-  , 100
-  , 101
-  , 102
-  , 103
-  , 104
-  , 105
-  , 106
-  , 107
-  , 108
-  , 109
-  , 110
-  , 111
-  , 112
-  , 113
-  , 114
-  , 115
-  , 116
-  , 117
-  , 118
-  , 119
-  , 120
-  , 121
-  , 122
-  , 123
-  , 124
-  , 125
-  , 126
-  , 127
-  , -1
-  , 128
-  , 129
-  , 130
-  , 131
-  , 132
-  , 133
-  , 134
-  , 135
-  , 136
-  , 137
-  , 138
-  , 139
-  , 140
-  , 141
-  , 142
-  , 143
-  , 144
-  , 145
-  , 146
-  , 147
-  , 148
-  , 149
-  , 150
-  , 151
-  , 152
-  , 153
-  , 154
-  , 155
-  , 156
-  , 157
-  , 158
-  , 159
-  , 160
-  , 161
-  , 162
-  , 163
-  , 164
-  , 165
-  , 166
-  , 167
-  , 168
-  , 169
-  , 170
-  , 171
-  , 172
-  , 173
-  , 174
-  , 175
-  , 176
-  , 177
-  , 178
-  , 179
-  , 180
-  , 181
-  , 182
-  , 183
-  , 184
-  , 185
-  , 186
-  , 187
-  , 188
-  , 189
-  , 190
-  , 191
-  , 192
-  , 193
-  , 194
-  , 195
-  , 196
-  , 197
-  , 198
-  , 199
-  , 200
-  , 201
-  , 202
-  , 203
-  , 204
-  , 205
-  , 206
-  , 207
-  , 208
-  , 209
-  , 210
-  , 211
-  , 212
-  , 213
-  , 214
-  , 215
-  , 216
-  , 217
-  , 218
-  , 219
-  , 220
-  , 221
-  , 222
-  , 223
-  , 224
-  , 225
-  , 226
-  , 227
-  , 228
-  , 229
-  , 230
-  , 231
-  , 232
-  , 233
-  , 234
-  , 235
-  , 236
-  , 237
-  , 238
-  , 239
-  , 240
-  , 241
-  , 242
-  , 243
-  , 244
-  , 245
-  , 246
-  , 247
-  , 248
-  , 249
-  , 250
-  , 251
-  , 252
-  , 253
-  , 254
-  , 255
-  , 128
-  , 129
-  , 130
-  , 131
-  , 132
-  , 133
-  , 134
-  , 135
-  , 136
-  , 137
-  , 138
-  , 139
-  , 140
-  , 141
-  , 142
-  , 143
-  , 144
-  , 145
-  , 146
-  , 147
-  , 148
-  , 149
-  , 150
-  , 151
-  , 152
-  , 153
-  , 154
-  , 155
-  , 156
-  , 157
-  , 158
-  , 159
-  , 160
-  , 161
-  , 162
-  , 163
-  , 164
-  , 165
-  , 166
-  , 167
-  , 168
-  , 169
-  , 170
-  , 171
-  , 172
-  , 173
-  , 174
-  , 175
-  , 176
-  , 177
-  , 178
-  , 179
-  , 180
-  , 181
-  , 182
-  , 183
-  , 184
-  , 185
-  , 186
-  , 187
-  , 188
-  , 189
-  , 190
-  , 191
-  , 192
-  , 193
-  , 194
-  , 195
-  , 196
-  , 197
-  , 198
-  , 199
-  , 200
-  , 201
-  , 202
-  , 203
-  , 204
-  , 205
-  , 206
-  , 207
-  , 208
-  , 209
-  , 210
-  , 211
-  , 212
-  , 213
-  , 214
-  , 215
-  , 216
-  , 217
-  , 218
-  , 219
-  , 220
-  , 221
-  , 222
-  , 223
-  , 224
-  , 225
-  , 226
-  , 227
-  , 228
-  , 229
-  , 230
-  , 231
-  , 232
-  , 233
-  , 234
-  , 235
-  , 236
-  , 237
-  , 238
-  , 239
-  , 240
-  , 241
-  , 242
-  , 243
-  , 244
-  , 245
-  , 246
-  , 247
-  , 248
-  , 249
-  , 250
-  , 251
-  , 252
-  , 253
-  , 254
-  , 255
-  , 143
-  , 144
-  , 145
-  , 146
-  , 147
-  , 148
-  , 149
-  , 150
-  , 151
-  , 152
-  , 153
-  , 154
-  , 155
-  , 156
-  , 157
-  , 158
-  , 159
-  , 160
-  , 161
-  , 162
-  , 163
-  , 164
-  , 165
-  , 166
-  , 167
-  , 168
-  , 169
-  , 170
-  , 171
-  , 172
-  , 173
-  , 174
-  , 175
-  , 176
-  , 177
-  , 178
-  , 179
-  , 180
-  , 181
-  , 182
-  , 183
-  , 184
-  , 185
-  , 186
-  , 187
-  , 188
-  , 189
-  , 190
-  , 191
-  , 192
-  , 193
-  , 194
-  , 195
-  , 196
-  , 197
-  , 198
-  , 199
-  , 200
-  , 201
-  , 202
-  , 203
-  , 204
-  , 205
-  , 206
-  , 207
-  , 208
-  , 209
-  , 210
-  , 211
-  , 212
-  , 213
-  , 214
-  , 215
-  , 216
-  , 217
-  , 218
-  , 219
-  , 220
-  , 221
-  , 222
-  , 223
-  , 224
-  , 225
-  , 226
-  , 227
-  , 228
-  , 229
-  , 230
-  , 231
-  , 232
-  , 233
-  , 234
-  , 235
-  , 236
-  , 237
-  , 238
-  , 239
-  , 240
-  , 241
-  , 242
-  , 243
-  , 244
-  , 245
-  , 246
-  , 247
-  , 248
-  , 249
-  , 250
-  , 251
-  , 252
-  , 253
-  , 254
-  , 255
-  , 0
-  , 1
-  , 2
-  , 3
-  , 4
-  , 5
-  , 6
-  , 7
-  , 8
-  , -1
-  , -1
-  , 11
-  , 12
-  , -1
-  , 14
-  , 15
-  , 16
-  , 17
-  , 18
-  , 19
-  , 20
-  , 21
-  , 22
-  , 23
-  , 24
-  , 25
-  , 26
-  , 27
-  , 28
-  , 29
-  , 30
-  , 31
-  , -1
-  , -1
-  , 34
-  , 35
-  , 36
-  , 37
-  , 38
-  , 39
-  , -1
-  , -1
-  , 42
-  , 43
-  , -1
-  , 45
-  , -1
-  , 47
-  , 48
-  , 49
-  , 50
-  , 51
-  , 52
-  , 53
-  , 54
-  , 55
-  , 56
-  , 57
-  , -1
-  , -1
-  , 60
-  , 61
-  , 62
-  , -1
-  , 64
-  , 65
-  , 66
-  , 67
-  , 68
-  , 69
-  , 70
-  , 71
-  , 72
-  , 73
-  , 74
-  , 75
-  , 76
-  , 77
-  , 78
-  , 79
-  , 80
-  , 81
-  , 82
-  , 83
-  , 84
-  , 85
-  , 86
-  , 87
-  , 88
-  , 89
-  , 90
-  , -1
-  , 92
-  , -1
-  , 94
-  , 95
-  , 96
-  , 97
-  , 98
-  , 99
-  , 100
-  , 101
-  , 102
-  , 103
-  , 104
-  , 105
-  , 106
-  , 107
-  , 108
-  , 109
-  , 110
-  , 111
-  , 112
-  , 113
-  , 114
-  , 115
-  , 116
-  , 117
-  , 118
-  , 119
-  , 120
-  , 121
-  , 122
-  , -1
-  , -1
-  , -1
-  , 126
-  , 127
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 194
-  , 195
-  , 196
-  , 197
-  , 198
-  , 199
-  , 200
-  , 201
-  , 202
-  , 203
-  , 204
-  , 205
-  , 206
-  , 207
-  , 208
-  , 209
-  , 210
-  , 211
-  , 212
-  , 213
-  , 214
-  , 215
-  , 216
-  , 217
-  , 218
-  , 219
-  , 220
-  , 221
-  , 222
-  , 223
-  , 224
-  , 225
-  , 226
-  , 227
-  , 228
-  , 229
-  , 230
-  , 231
-  , 232
-  , 233
-  , 234
-  , 235
-  , 236
-  , 237
-  , 238
-  , 239
-  , 240
-  , 241
-  , 242
-  , 243
-  , 244
-  , 9
-  , 10
-  , -1
-  , -1
-  , 13
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 32
-  , 33
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 39
-  , 40
-  , 41
-  , -1
-  , -1
-  , 44
-  , -1
-  , 46
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 58
-  , 59
-  , -1
-  , -1
-  , -1
-  , 63
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 91
-  , -1
-  , 93
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 123
-  , 124
-  , 125
-  , -1
-  , -1
-  , 128
-  , 129
-  , 130
-  , 131
-  , 132
-  , 133
-  , 134
-  , 135
-  , 136
-  , 137
-  , 138
-  , 139
-  , 140
-  , 141
-  , 142
-  , 143
-  , 144
-  , 145
-  , 146
-  , 147
-  , 148
-  , 149
-  , 150
-  , 151
-  , 152
-  , 153
-  , 154
-  , 155
-  , 156
-  , 157
-  , 158
-  , 159
-  , 160
-  , 161
-  , 162
-  , 163
-  , 164
-  , 165
-  , 166
-  , 167
-  , 168
-  , 169
-  , 170
-  , 171
-  , 172
-  , 173
-  , 174
-  , 175
-  , 176
-  , 177
-  , 178
-  , 179
-  , 180
-  , 181
-  , 182
-  , 183
-  , 184
-  , 185
-  , 186
-  , 187
-  , 188
-  , 189
-  , 190
-  , 191
-  , 192
-  , 193
-  , 194
-  , 195
-  , 196
-  , 197
-  , 198
-  , 199
-  , 200
-  , 201
-  , 202
-  , 203
-  , 204
-  , 205
-  , 206
-  , 207
-  , 208
-  , 209
-  , 210
-  , 211
-  , 212
-  , 213
-  , 214
-  , 215
-  , 216
-  , 217
-  , 218
-  , 219
-  , 220
-  , 221
-  , 222
-  , 223
-  , 224
-  , 225
-  , 226
-  , 227
-  , 228
-  , 229
-  , 230
-  , 231
-  , 232
-  , 233
-  , 234
-  , 235
-  , 236
-  , 237
-  , 238
-  , 239
-  , 240
-  , 241
-  , 242
-  , 243
-  , 244
-  , 245
-  , 246
-  , 247
-  , 248
-  , 249
-  , 250
-  , 251
-  , 252
-  , 253
-  , 254
-  , 255
-  , 128
-  , 129
-  , 130
-  , 131
-  , 132
-  , 133
-  , 134
-  , 135
-  , 136
-  , 137
-  , 138
-  , 139
-  , 140
-  , 141
-  , 142
-  , 143
-  , 144
-  , 145
-  , 146
-  , 147
-  , 148
-  , 149
-  , 150
-  , 151
-  , 152
-  , 153
-  , 154
-  , 155
-  , 156
-  , 157
-  , 158
-  , 159
-  , 160
-  , 161
-  , 162
-  , 163
-  , 164
-  , 165
-  , 166
-  , 167
-  , 168
-  , 169
-  , 170
-  , 171
-  , 172
-  , 173
-  , 174
-  , 175
-  , 176
-  , 177
-  , 178
-  , 179
-  , 180
-  , 181
-  , 182
-  , 183
-  , 184
-  , 185
-  , 186
-  , 187
-  , 188
-  , 189
-  , 190
-  , 191
-  , 192
-  , 193
-  , 194
-  , 195
-  , 196
-  , 197
-  , 198
-  , 199
-  , 200
-  , 201
-  , 202
-  , 203
-  , 204
-  , 205
-  , 206
-  , 207
-  , 208
-  , 209
-  , 210
-  , 211
-  , 212
-  , 213
-  , 214
-  , 215
-  , 216
-  , 217
-  , 218
-  , 219
-  , 220
-  , 221
-  , 222
-  , 223
-  , 224
-  , 225
-  , 226
-  , 227
-  , 228
-  , 229
-  , 230
-  , 231
-  , 232
-  , 233
-  , 234
-  , 235
-  , 236
-  , 237
-  , 238
-  , 239
-  , 240
-  , 241
-  , 242
-  , 243
-  , 244
-  , 245
-  , 246
-  , 247
-  , 248
-  , 249
-  , 250
-  , 251
-  , 252
-  , 253
-  , 254
-  , 255
-  , 143
-  , 144
-  , 145
-  , 146
-  , 147
-  , 148
-  , 149
-  , 150
-  , 151
-  , 152
-  , 153
-  , 154
-  , 155
-  , 156
-  , 157
-  , 158
-  , 159
-  , 160
-  , 161
-  , 162
-  , 163
-  , 164
-  , 165
-  , 166
-  , 167
-  , 168
-  , 169
-  , 170
-  , 171
-  , 172
-  , 173
-  , 174
-  , 175
-  , 176
-  , 177
-  , 178
-  , 179
-  , 180
-  , 181
-  , 182
-  , 183
-  , 184
-  , 185
-  , 186
-  , 187
-  , 188
-  , 189
-  , 190
-  , 191
-  , 192
-  , 193
-  , 194
-  , 195
-  , 196
-  , 197
-  , 198
-  , 199
-  , 200
-  , 201
-  , 202
-  , 203
-  , 204
-  , 205
-  , 206
-  , 207
-  , 208
-  , 209
-  , 210
-  , 211
-  , 212
-  , 213
-  , 214
-  , 215
-  , 216
-  , 217
-  , 218
-  , 219
-  , 220
-  , 221
-  , 222
-  , 223
-  , 224
-  , 225
-  , 226
-  , 227
-  , 228
-  , 229
-  , 230
-  , 231
-  , 232
-  , 233
-  , 234
-  , 235
-  , 236
-  , 237
-  , 238
-  , 239
-  , 240
-  , 241
-  , 242
-  , 243
-  , 244
-  , 245
-  , 246
-  , 247
-  , 248
-  , 249
-  , 250
-  , 251
-  , 252
-  , 253
-  , 254
-  , 255
-  ]
-
-alex_deflt :: Array Int Int
-alex_deflt = listArray (0 :: Int, 101)
-  [ -1
-  , -1
-  , 47
-  , 47
-  , 95
-  , 95
-  , -1
-  , -1
-  , -1
-  , 10
-  , 11
-  , 31
-  , 10
-  , 11
-  , 31
-  , -1
-  , -1
-  , 82
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 11
-  , 31
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 31
-  , 31
-  , 33
-  , 34
-  , 43
-  , 33
-  , 34
-  , 43
-  , 34
-  , 43
-  , -1
-  , -1
-  , 43
-  , 43
-  , -1
-  , -1
-  , -1
-  , 95
-  , 48
-  , 48
-  , -1
-  , -1
-  , 48
-  , 55
-  , 56
-  , 48
-  , 55
-  , 56
-  , -1
-  , 60
-  , 60
-  , 60
-  , -1
-  , -1
-  , 60
-  , 67
-  , 68
-  , 60
-  , 67
-  , 68
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , -1
-  , 82
-  , 82
-  , -1
-  , -1
-  , 82
-  , 91
-  , 82
-  , 91
-  , 92
-  , 82
-  , 91
-  , 92
-  , -1
-  , 95
-  , 95
-  , 95
-  , -1
-  , 100
-  , 47
-  , 100
-  ]
-
-alex_accept = listArray (0 :: Int, 101)
-  [ AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAcc 14
-  , AlexAcc 13
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAcc 12
-  , AlexAcc 11
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAcc 10
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAcc 9
-  , AlexAccNone
-  , AlexAcc 8
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccSkip
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccSkip
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccSkip
-  , AlexAcc 7
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAcc 6
-  , AlexAccNone
-  , AlexAcc 5
-  , AlexAcc 4
-  , AlexAcc 3
-  , AlexAcc 2
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAcc 1
-  , AlexAcc 0
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  , AlexAccNone
-  ]
-
-alex_actions = array (0 :: Int, 15)
-  [ (14,alex_action_7)
-  , (13,alex_action_7)
-  , (12,alex_action_4)
-  , (11,alex_action_4)
-  , (10,alex_action_8)
-  , (9,alex_action_9)
-  , (8,alex_action_10)
-  , (7,alex_action_3)
-  , (6,alex_action_4)
-  , (5,alex_action_5)
-  , (4,alex_action_5)
-  , (3,alex_action_5)
-  , (2,alex_action_5)
-  , (1,alex_action_6)
-  , (0,alex_action_6)
-  ]
-
-alex_action_3 = tok (eitherResIdent TV)
-alex_action_4 = tok (eitherResIdent T_Bytes)
-alex_action_5 = tok (eitherResIdent T_Function)
-alex_action_6 = tok (eitherResIdent T_LabelId)
-alex_action_7 = tok (eitherResIdent T_AlphaIndex)
-alex_action_8 = tok (eitherResIdent T_MetaId)
-alex_action_9 = tok (eitherResIdent T_MetaFunctionName)
-alex_action_10 = tok (eitherResIdent TV)
-
-#define ALEX_NOPRED 1
--- -----------------------------------------------------------------------------
--- ALEX TEMPLATE
---
--- This code is in the PUBLIC DOMAIN; you may copy it freely and use
--- it for any purpose whatsoever.
-
--- -----------------------------------------------------------------------------
--- INTERNALS and main scanner engine
-
-#ifdef ALEX_GHC
-#  define ILIT(n) n#
-#  define IBOX(n) (I# (n))
-#  define FAST_INT Int#
--- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex.
-#  if __GLASGOW_HASKELL__ > 706
-#    define GTE(n,m) (tagToEnum# (n >=# m))
-#    define EQ(n,m) (tagToEnum# (n ==# m))
-#  else
-#    define GTE(n,m) (n >=# m)
-#    define EQ(n,m) (n ==# m)
-#  endif
-#  define PLUS(n,m) (n +# m)
-#  define MINUS(n,m) (n -# m)
-#  define TIMES(n,m) (n *# m)
-#  define NEGATE(n) (negateInt# (n))
-#  define IF_GHC(x) (x)
-#else
-#  define ILIT(n) (n)
-#  define IBOX(n) (n)
-#  define FAST_INT Int
-#  define GTE(n,m) (n >= m)
-#  define EQ(n,m) (n == m)
-#  define PLUS(n,m) (n + m)
-#  define MINUS(n,m) (n - m)
-#  define TIMES(n,m) (n * m)
-#  define NEGATE(n) (negate (n))
-#  define IF_GHC(x)
-#endif
-
-#ifdef ALEX_GHC
-data AlexAddr = AlexA# Addr#
--- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex.
-#if __GLASGOW_HASKELL__ < 503
-uncheckedShiftL# = shiftL#
-#endif
-
-{-# INLINE alexIndexInt16OffAddr #-}
-alexIndexInt16OffAddr :: AlexAddr -> Int# -> Int#
-alexIndexInt16OffAddr (AlexA# arr) off =
-#ifdef WORDS_BIGENDIAN
-  narrow16Int# i
-  where
-        i    = word2Int# ((high `uncheckedShiftL#` 8#) `or#` low)
-        high = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))
-        low  = int2Word# (ord# (indexCharOffAddr# arr off'))
-        off' = off *# 2#
-#else
-#if __GLASGOW_HASKELL__ >= 901
-  int16ToInt#
-#endif
-    (indexInt16OffAddr# arr off)
-#endif
-#else
-alexIndexInt16OffAddr arr off = arr ! off
-#endif
-
-#ifdef ALEX_GHC
-{-# INLINE alexIndexInt32OffAddr #-}
-alexIndexInt32OffAddr :: AlexAddr -> Int# -> Int#
-alexIndexInt32OffAddr (AlexA# arr) off =
-#ifdef WORDS_BIGENDIAN
-  narrow32Int# i
-  where
-   i    = word2Int# ((b3 `uncheckedShiftL#` 24#) `or#`
-                     (b2 `uncheckedShiftL#` 16#) `or#`
-                     (b1 `uncheckedShiftL#` 8#) `or#` b0)
-   b3   = int2Word# (ord# (indexCharOffAddr# arr (off' +# 3#)))
-   b2   = int2Word# (ord# (indexCharOffAddr# arr (off' +# 2#)))
-   b1   = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))
-   b0   = int2Word# (ord# (indexCharOffAddr# arr off'))
-   off' = off *# 4#
-#else
-#if __GLASGOW_HASKELL__ >= 901
-  int32ToInt#
-#endif
-    (indexInt32OffAddr# arr off)
-#endif
-#else
-alexIndexInt32OffAddr arr off = arr ! off
-#endif
-
-#ifdef ALEX_GHC
-
-#if __GLASGOW_HASKELL__ < 503
-quickIndex arr i = arr ! i
-#else
--- GHC >= 503, unsafeAt is available from Data.Array.Base.
-quickIndex = unsafeAt
-#endif
-#else
-quickIndex arr i = arr ! i
-#endif
-
--- -----------------------------------------------------------------------------
--- Main lexing routines
-
-data AlexReturn a
-  = AlexEOF
-  | AlexError  !AlexInput
-  | AlexSkip   !AlexInput !Int
-  | AlexToken  !AlexInput !Int a
-
--- alexScan :: AlexInput -> StartCode -> AlexReturn a
-alexScan input__ IBOX(sc)
-  = alexScanUser undefined input__ IBOX(sc)
-
-alexScanUser user__ input__ IBOX(sc)
-  = case alex_scan_tkn user__ input__ ILIT(0) input__ sc AlexNone of
-  (AlexNone, input__') ->
-    case alexGetByte input__ of
-      Nothing ->
-#ifdef ALEX_DEBUG
-                                   trace ("End of input.") $
-#endif
-                                   AlexEOF
-      Just _ ->
-#ifdef ALEX_DEBUG
-                                   trace ("Error.") $
-#endif
-                                   AlexError input__'
-
-  (AlexLastSkip input__'' len, _) ->
-#ifdef ALEX_DEBUG
-    trace ("Skipping.") $
-#endif
-    AlexSkip input__'' len
-
-  (AlexLastAcc k input__''' len, _) ->
-#ifdef ALEX_DEBUG
-    trace ("Accept.") $
-#endif
-    AlexToken input__''' len (alex_actions ! k)
-
-
--- Push the input through the DFA, remembering the most recent accepting
--- state it encountered.
-
-alex_scan_tkn user__ orig_input len input__ s last_acc =
-  input__ `seq` -- strict in the input
-  let
-  new_acc = (check_accs (alex_accept `quickIndex` IBOX(s)))
-  in
-  new_acc `seq`
-  case alexGetByte input__ of
-     Nothing -> (new_acc, input__)
-     Just (c, new_input) ->
-#ifdef ALEX_DEBUG
-      trace ("State: " ++ show IBOX(s) ++ ", char: " ++ show c) $
-#endif
-      case fromIntegral c of { IBOX(ord_c) ->
-        let
-                base   = alexIndexInt32OffAddr alex_base s
-                offset = PLUS(base,ord_c)
-
-                new_s = if GTE(offset,ILIT(0))
-                          && let check  = alexIndexInt16OffAddr alex_check offset
-                             in  EQ(check,ord_c)
-                          then alexIndexInt16OffAddr alex_table offset
-                          else alexIndexInt16OffAddr alex_deflt s
-        in
-        case new_s of
-            ILIT(-1) -> (new_acc, input__)
-                -- on an error, we want to keep the input *before* the
-                -- character that failed, not after.
-            _ -> alex_scan_tkn user__ orig_input
-#ifdef ALEX_LATIN1
-                   PLUS(len,ILIT(1))
-                   -- issue 119: in the latin1 encoding, *each* byte is one character
-#else
-                   (if c < 0x80 || c >= 0xC0 then PLUS(len,ILIT(1)) else len)
-                   -- note that the length is increased ONLY if this is the 1st byte in a char encoding)
-#endif
-                   new_input new_s new_acc
-      }
-  where
-        check_accs (AlexAccNone) = last_acc
-        check_accs (AlexAcc a  ) = AlexLastAcc a input__ IBOX(len)
-        check_accs (AlexAccSkip) = AlexLastSkip  input__ IBOX(len)
-#ifndef ALEX_NOPRED
-        check_accs (AlexAccPred a predx rest)
-           | predx user__ orig_input IBOX(len) input__
-           = AlexLastAcc a input__ IBOX(len)
-           | otherwise
-           = check_accs rest
-        check_accs (AlexAccSkipPred predx rest)
-           | predx user__ orig_input IBOX(len) input__
-           = AlexLastSkip input__ IBOX(len)
-           | otherwise
-           = check_accs rest
-#endif
-
-data AlexLastAcc
-  = AlexNone
-  | AlexLastAcc !Int !AlexInput !Int
-  | AlexLastSkip     !AlexInput !Int
-
-data AlexAcc user
-  = AlexAccNone
-  | AlexAcc Int
-  | AlexAccSkip
-#ifndef ALEX_NOPRED
-  | AlexAccPred Int (AlexAccPred user) (AlexAcc user)
-  | AlexAccSkipPred (AlexAccPred user) (AlexAcc user)
-
-type AlexAccPred user = user -> AlexInput -> Int -> AlexInput -> Bool
-
--- -----------------------------------------------------------------------------
--- Predicates on a rule
-
-alexAndPred p1 p2 user__ in1 len in2
-  = p1 user__ in1 len in2 && p2 user__ in1 len in2
-
---alexPrevCharIsPred :: Char -> AlexAccPred _
-alexPrevCharIs c _ input__ _ _ = c == alexInputPrevChar input__
-
-alexPrevCharMatches f _ input__ _ _ = f (alexInputPrevChar input__)
-
---alexPrevCharIsOneOfPred :: Array Char Bool -> AlexAccPred _
-alexPrevCharIsOneOf arr _ input__ _ _ = arr ! alexInputPrevChar input__
-
---alexRightContext :: Int -> AlexAccPred _
-alexRightContext IBOX(sc) user__ _ _ input__ =
-     case alex_scan_tkn user__ input__ ILIT(0) input__ sc AlexNone of
-          (AlexNone, _) -> False
-          _ -> True
-        -- TODO: there's no need to find the longest
-        -- match when checking the right context, just
-        -- the first match will do.
-#endif
-{-# LINE 76 "Lex.x" #-}
--- | Create a token with position.
-tok :: (String -> Tok) -> (Posn -> String -> Token)
-tok f p = PT p . f
-
--- | Token without position.
-data Tok
-  = TK {-# UNPACK #-} !TokSymbol  -- ^ Reserved word or symbol.
-  | TL !String                    -- ^ String literal.
-  | TI !String                    -- ^ Integer literal.
-  | TV !String                    -- ^ Identifier.
-  | TD !String                    -- ^ Float literal.
-  | TC !String                    -- ^ Character literal.
-  | T_Bytes !String
-  | T_Function !String
-  | T_LabelId !String
-  | T_AlphaIndex !String
-  | T_MetaId !String
-  | T_MetaFunctionName !String
-  deriving (Eq, Show, Ord)
-
--- | Smart constructor for 'Tok' for the sake of backwards compatibility.
-pattern TS :: String -> Int -> Tok
-pattern TS t i = TK (TokSymbol t i)
-
--- | Keyword or symbol tokens have a unique ID.
-data TokSymbol = TokSymbol
-  { tsText :: String
-      -- ^ Keyword or symbol text.
-  , tsID   :: !Int
-      -- ^ Unique ID.
-  } deriving (Show)
-
--- | Keyword/symbol equality is determined by the unique ID.
-instance Eq  TokSymbol where (==)    = (==)    `on` tsID
-
--- | Keyword/symbol ordering is determined by the unique ID.
-instance Ord TokSymbol where compare = compare `on` tsID
-
--- | Token with position.
-data Token
-  = PT  Posn Tok
-  | Err Posn
-  deriving (Eq, Show, Ord)
-
--- | Pretty print a position.
-printPosn :: Posn -> String
-printPosn (Pn _ l c) = "line " ++ show l ++ ", column " ++ show c
-
--- | Pretty print the position of the first token in the list.
-tokenPos :: [Token] -> String
-tokenPos (t:_) = printPosn (tokenPosn t)
-tokenPos []    = "end of file"
-
--- | Get the position of a token.
-tokenPosn :: Token -> Posn
-tokenPosn (PT p _) = p
-tokenPosn (Err p)  = p
-
--- | Get line and column of a token.
-tokenLineCol :: Token -> (Int, Int)
-tokenLineCol = posLineCol . tokenPosn
-
--- | Get line and column of a position.
-posLineCol :: Posn -> (Int, Int)
-posLineCol (Pn _ l c) = (l,c)
-
--- | Convert a token into "position token" form.
-mkPosToken :: Token -> ((Int, Int), String)
-mkPosToken t = (tokenLineCol t, tokenText t)
-
--- | Convert a token to its text.
-tokenText :: Token -> String
-tokenText t = case t of
-  PT _ (TS s _) -> s
-  PT _ (TL s)   -> show s
-  PT _ (TI s)   -> s
-  PT _ (TV s)   -> s
-  PT _ (TD s)   -> s
-  PT _ (TC s)   -> s
-  Err _         -> "#error"
-  PT _ (T_Bytes s) -> s
-  PT _ (T_Function s) -> s
-  PT _ (T_LabelId s) -> s
-  PT _ (T_AlphaIndex s) -> s
-  PT _ (T_MetaId s) -> s
-  PT _ (T_MetaFunctionName s) -> s
-
--- | Convert a token to a string.
-prToken :: Token -> String
-prToken t = tokenText t
-
--- | Finite map from text to token organized as binary search tree.
-data BTree
-  = N -- ^ Nil (leaf).
-  | B String Tok BTree BTree
-      -- ^ Binary node.
-  deriving (Show)
-
--- | Convert potential keyword into token or use fallback conversion.
-eitherResIdent :: (String -> Tok) -> String -> Tok
-eitherResIdent tv s = treeFind resWords
-  where
-  treeFind N = tv s
-  treeFind (B a t left right) =
-    case compare s a of
-      LT -> treeFind left
-      GT -> treeFind right
-      EQ -> t
-
--- | The keywords and symbols of the language organized as binary search tree.
-resWords :: BTree
-resWords =
-  b "\955" 11
-    (b "]" 6
-       (b "," 3 (b ")" 2 (b "(" 1 N N) N) (b "[" 5 (b "." 4 N N) N))
-       (b "\916" 9 (b "}" 8 (b "{" 7 N N) N) (b "\934" 10 N N)))
-    (b "\8709" 16
-       (b "\966" 14 (b "\961" 13 (b "\958" 12 N N) N) (b "\8614" 15 N N))
-       (b "\10215" 19
-          (b "\10214" 18 (b "\8869" 17 N N) N) (b "\10509" 20 N N)))
+alex_base = listArray (0 :: Int, 151)
+  [ -8
+  , -153
+  , -159
+  , 91
+  , 219
+  , 475
+  , 594
+  , 0
+  , 0
+  , 0
+  , 707
+  , -73
+  , 771
+  , -150
+  , -156
+  , 899
+  , 1027
+  , 1283
+  , 1402
+  , 0
+  , 0
+  , 0
+  , 1515
+  , 1580
+  , 1644
+  , -147
+  , -152
+  , 1772
+  , 1900
+  , 2156
+  , 2275
+  , 2403
+  , 0
+  , 0
+  , 0
+  , 2452
+  , 2517
+  , 2581
+  , -146
+  , -113
+  , -28
+  , 2709
+  , 2773
+  , 140
+  , -27
+  , 593
+  , 623
+  , 646
+  , 1272
+  , -144
+  , 472
+  , -140
+  , -138
+  , 2837
+  , 2965
+  , 3221
+  , 3340
+  , 0
+  , 0
+  , 0
+  , 3453
+  , 3518
+  , 3582
+  , -139
+  , -136
+  , 3710
+  , 3838
+  , 4094
+  , 4213
+  , 4341
+  , 4485
+  , 8
+  , 0
+  , 4566
+  , 4822
+  , 4823
+  , 4951
+  , 4416
+  , 5016
+  , 5129
+  , 0
+  , 0
+  , 0
+  , 0
+  , 5343
+  , 5557
+  , 5813
+  , 5814
+  , 5942
+  , 5199
+  , 5409
+  , 6055
+  , 0
+  , 0
+  , 0
+  , 6245
+  , 605
+  , 0
+  , -142
+  , -122
+  , -98
+  , 0
+  , 6
+  , 6389
+  , 6634
+  , 6879
+  , 7115
+  , 7371
+  , 7372
+  , 7500
+  , -114
+  , -105
+  , 6325
+  , 6571
+  , 7613
+  , 0
+  , 0
+  , 0
+  , 7869
+  , 8105
+  , 8361
+  , 8362
+  , 8490
+  , -80
+  , -75
+  , 6815
+  , 7806
+  , 8603
+  , 0
+  , 0
+  , 0
+  , 1373
+  , 0
+  , 1418
+  , 8850
+  , -44
+  , 9106
+  , 9107
+  , 9235
+  , 17
+  , -43
+  , 9299
+  , 9364
+  , 9477
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 9541
+  , 9606
+  , 9719
+  ]
+
+alex_table :: Array Int Int
+alex_table = listArray (0 :: Int, 9974)
+  [ 0
+  , 96
+  , 96
+  , 96
+  , 96
+  , 96
+  , 2
+  , -1
+  , -1
+  , 14
+  , -1
+  , -1
+  , 26
+  , 52
+  , -1
+  , -1
+  , 97
+  , 43
+  , 46
+  , 97
+  , 64
+  , 97
+  , 97
+  , 97
+  , 96
+  , 95
+  , 97
+  , 97
+  , -1
+  , -1
+  , -1
+  , -1
+  , 97
+  , 97
+  , 97
+  , 97
+  , 97
+  , 102
+  , 97
+  , 71
+  , 45
+  , 45
+  , 45
+  , 45
+  , 45
+  , 45
+  , 45
+  , 45
+  , 45
+  , 45
+  , 85
+  , 101
+  , -1
+  , -1
+  , 110
+  , 73
+  , 68
+  , 104
+  , 104
+  , 104
+  , 104
+  , 104
+  , 104
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 97
+  , 123
+  , 97
+  , -1
+  , -1
+  , 134
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 97
+  , 139
+  , 97
+  , 12
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 0
+  , 0
+  , 41
+  , 47
+  , 47
+  , 47
+  , 47
+  , 47
+  , 47
+  , 47
+  , 47
+  , 47
+  , 47
+  , 48
+  , 39
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 47
+  , 47
+  , 47
+  , 47
+  , 47
+  , 47
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 50
+  , 4
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 5
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 0
+  , 49
+  , -1
+  , 100
+  , 0
+  , 98
+  , 0
+  , 0
+  , 0
+  , 96
+  , 96
+  , 96
+  , 96
+  , 96
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , -1
+  , -1
+  , 0
+  , 0
+  , 0
+  , 51
+  , 0
+  , -1
+  , -1
+  , -1
+  , 99
+  , 96
+  , -1
+  , -1
+  , -1
+  , 40
+  , 40
+  , 40
+  , 40
+  , 40
+  , 40
+  , 40
+  , 40
+  , 40
+  , 40
+  , 0
+  , -1
+  , -1
+  , 0
+  , 0
+  , 0
+  , -1
+  , 40
+  , 40
+  , 40
+  , 40
+  , 40
+  , 40
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 47
+  , 47
+  , 47
+  , 47
+  , 47
+  , 47
+  , 47
+  , 47
+  , 47
+  , 47
+  , 0
+  , 0
+  , 0
+  , 0
+  , -1
+  , 0
+  , -1
+  , 47
+  , 47
+  , 47
+  , 47
+  , 47
+  , 47
+  , 44
+  , 44
+  , 44
+  , 44
+  , 44
+  , 44
+  , 44
+  , 44
+  , 44
+  , 44
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 44
+  , 44
+  , 44
+  , 44
+  , 44
+  , 44
+  , -1
+  , -1
+  , -1
+  , 0
+  , 0
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 5
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 147
+  , 149
+  , 4
+  , 72
+  , 1
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 72
+  , 150
+  , 3
+  , 148
+  , 148
+  , 148
+  , 151
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 11
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 16
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 17
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 0
+  , 0
+  , -1
+  , 0
+  , 0
+  , 0
+  , 0
+  , 97
+  , 131
+  , 131
+  , 131
+  , 131
+  , 131
+  , 131
+  , 131
+  , 131
+  , 131
+  , 131
+  , 0
+  , 0
+  , 0
+  , -1
+  , -1
+  , 0
+  , 0
+  , 97
+  , 0
+  , 0
+  , -1
+  , -1
+  , -1
+  , 0
+  , 0
+  , -1
+  , -1
+  , -1
+  , 133
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 97
+  , -1
+  , -1
+  , 97
+  , 0
+  , 0
+  , -1
+  , 132
+  , 131
+  , 131
+  , 131
+  , 131
+  , 131
+  , 131
+  , 131
+  , 131
+  , 131
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , -1
+  , 0
+  , -1
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , -1
+  , -1
+  , -1
+  , 0
+  , 0
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 17
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 9
+  , 12
+  , 16
+  , 8
+  , 13
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 8
+  , 11
+  , 15
+  , 7
+  , 7
+  , 7
+  , 10
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 23
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 24
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 28
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 29
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 0
+  , 0
+  , -1
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , -1
+  , -1
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , -1
+  , -1
+  , -1
+  , 0
+  , 0
+  , -1
+  , -1
+  , -1
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , -1
+  , -1
+  , 0
+  , 0
+  , 0
+  , -1
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , -1
+  , 0
+  , -1
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , -1
+  , -1
+  , -1
+  , 0
+  , 0
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 29
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 21
+  , 24
+  , 28
+  , 20
+  , 25
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 20
+  , 23
+  , 27
+  , 19
+  , 19
+  , 19
+  , 22
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 0
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 0
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 36
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 37
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 0
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 0
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 0
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 0
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 54
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 55
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 0
+  , 0
+  , -1
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , -1
+  , -1
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , -1
+  , -1
+  , -1
+  , 0
+  , 0
+  , -1
+  , -1
+  , -1
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , -1
+  , -1
+  , 0
+  , 0
+  , 0
+  , -1
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , -1
+  , 0
+  , -1
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , -1
+  , -1
+  , -1
+  , 0
+  , 0
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 55
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 34
+  , 37
+  , 54
+  , 33
+  , 38
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 33
+  , 36
+  , 53
+  , 32
+  , 32
+  , 32
+  , 35
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 61
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 62
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 66
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 67
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 0
+  , 0
+  , -1
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , -1
+  , -1
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , -1
+  , -1
+  , -1
+  , 0
+  , 0
+  , -1
+  , -1
+  , -1
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , -1
+  , -1
+  , 0
+  , 0
+  , 0
+  , -1
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , -1
+  , 0
+  , -1
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , -1
+  , -1
+  , -1
+  , 0
+  , 0
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 67
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 59
+  , 62
+  , 66
+  , 58
+  , 63
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 58
+  , 61
+  , 65
+  , 57
+  , 57
+  , 57
+  , 60
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 0
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , -1
+  , 0
+  , 0
+  , 0
+  , 70
+  , 0
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , 70
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 69
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 74
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 77
+  , 75
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 78
+  , 76
+  , 82
+  , 82
+  , 82
+  , 79
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 0
+  , 74
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 80
+  , 75
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 81
+  , 77
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 78
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 84
+  , 0
+  , 0
+  , 0
+  , 0
+  , 83
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 86
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 89
+  , 87
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 90
+  , 88
+  , 94
+  , 94
+  , 94
+  , 91
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 84
+  , 89
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 86
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 89
+  , 87
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 90
+  , 88
+  , 94
+  , 94
+  , 94
+  , 91
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 0
+  , 86
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 92
+  , 87
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 93
+  , 90
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 18
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 30
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 6
+  , 0
+  , 0
+  , 0
+  , 0
+  , 56
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 0
+  , 0
+  , 106
+  , 106
+  , 0
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 0
+  , 0
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 70
+  , 0
+  , 0
+  , 106
+  , 106
+  , 0
+  , 0
+  , 0
+  , 106
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 0
+  , 0
+  , 106
+  , 106
+  , 106
+  , 135
+  , 106
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 0
+  , 106
+  , 0
+  , 106
+  , 103
+  , 106
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 0
+  , 0
+  , 0
+  , 106
+  , 106
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 0
+  , 0
+  , 107
+  , 42
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 112
+  , 108
+  , 116
+  , 111
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 113
+  , 109
+  , 117
+  , 117
+  , 117
+  , 114
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 0
+  , 0
+  , 106
+  , 106
+  , 0
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 0
+  , 0
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 70
+  , 0
+  , 0
+  , 106
+  , 106
+  , 0
+  , 0
+  , 0
+  , 106
+  , 105
+  , 105
+  , 105
+  , 105
+  , 105
+  , 105
+  , 105
+  , 105
+  , 105
+  , 105
+  , 0
+  , 0
+  , 106
+  , 106
+  , 106
+  , 0
+  , 106
+  , 105
+  , 105
+  , 105
+  , 105
+  , 105
+  , 105
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 0
+  , 106
+  , 0
+  , 106
+  , 103
+  , 106
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 0
+  , 0
+  , 0
+  , 106
+  , 106
+  , 112
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 0
+  , 107
+  , 42
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 112
+  , 108
+  , 116
+  , 111
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 113
+  , 109
+  , 117
+  , 117
+  , 117
+  , 114
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 0
+  , 0
+  , 106
+  , 106
+  , 0
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 0
+  , 0
+  , 106
+  , 106
+  , 106
+  , 106
+  , 106
+  , 70
+  , 0
+  , 0
+  , 106
+  , 106
+  , 0
+  , 43
+  , 0
+  , 106
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 0
+  , 0
+  , 106
+  , 106
+  , 106
+  , 0
+  , 106
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 0
+  , 106
+  , 0
+  , 106
+  , 103
+  , 106
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 103
+  , 0
+  , 0
+  , 0
+  , 106
+  , 106
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 0
+  , 0
+  , 107
+  , 42
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 112
+  , 108
+  , 116
+  , 111
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 113
+  , 109
+  , 117
+  , 117
+  , 117
+  , 114
+  , -1
+  , -1
+  , 0
+  , 0
+  , -1
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , -1
+  , -1
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , -1
+  , -1
+  , -1
+  , 0
+  , 0
+  , -1
+  , -1
+  , -1
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , -1
+  , -1
+  , 0
+  , 0
+  , 0
+  , -1
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , -1
+  , 0
+  , -1
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , -1
+  , -1
+  , -1
+  , 0
+  , 0
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 107
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 112
+  , 108
+  , 116
+  , 111
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 113
+  , 109
+  , 117
+  , 117
+  , 117
+  , 114
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 0
+  , 107
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 115
+  , 108
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 116
+  , 113
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 119
+  , 119
+  , 119
+  , 119
+  , 119
+  , 119
+  , 119
+  , 119
+  , 119
+  , 0
+  , 0
+  , 119
+  , 119
+  , 0
+  , 119
+  , 119
+  , 119
+  , 119
+  , 119
+  , 119
+  , 119
+  , 119
+  , 119
+  , 119
+  , 119
+  , 119
+  , 119
+  , 119
+  , 119
+  , 119
+  , 119
+  , 119
+  , 0
+  , 0
+  , 119
+  , 119
+  , 119
+  , 119
+  , 119
+  , 70
+  , 0
+  , 0
+  , 119
+  , 119
+  , 0
+  , 119
+  , 0
+  , 119
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 0
+  , 0
+  , 119
+  , 119
+  , 119
+  , 0
+  , 119
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 0
+  , 119
+  , 0
+  , 119
+  , 118
+  , 119
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 118
+  , 0
+  , 0
+  , 0
+  , 119
+  , 119
+  , 125
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 0
+  , 120
+  , 31
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 125
+  , 121
+  , 129
+  , 124
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 126
+  , 122
+  , 130
+  , 130
+  , 130
+  , 127
+  , -1
+  , -1
+  , 0
+  , 0
+  , -1
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , -1
+  , -1
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , -1
+  , -1
+  , -1
+  , 0
+  , 0
+  , -1
+  , 0
+  , -1
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , -1
+  , -1
+  , 0
+  , 0
+  , 0
+  , -1
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , -1
+  , 0
+  , -1
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , -1
+  , -1
+  , -1
+  , 0
+  , 0
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 120
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 125
+  , 121
+  , 129
+  , 124
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 126
+  , 122
+  , 130
+  , 130
+  , 130
+  , 127
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 0
+  , 120
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 128
+  , 121
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 129
+  , 126
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 0
+  , 0
+  , -1
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , -1
+  , -1
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , -1
+  , -1
+  , -1
+  , 0
+  , 0
+  , -1
+  , -1
+  , -1
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , -1
+  , -1
+  , 0
+  , 0
+  , 0
+  , -1
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , -1
+  , 0
+  , -1
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , 0
+  , -1
+  , -1
+  , -1
+  , 0
+  , 0
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 136
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 141
+  , 137
+  , 145
+  , 140
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 142
+  , 138
+  , 146
+  , 146
+  , 146
+  , 143
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 0
+  , 136
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 144
+  , 137
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , 145
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 141
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 142
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 149
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 150
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  ]
+
+alex_check :: Array Int Int
+alex_check = listArray (0 :: Int, 9974)
+  [ -1
+  , 9
+  , 10
+  , 11
+  , 12
+  , 13
+  , 159
+  , 166
+  , 167
+  , 159
+  , 166
+  , 167
+  , 159
+  , 159
+  , 166
+  , 167
+  , 129
+  , 45
+  , 45
+  , 141
+  , 159
+  , 134
+  , 166
+  , 165
+  , 32
+  , 33
+  , 166
+  , 167
+  , 166
+  , 167
+  , 166
+  , 167
+  , 40
+  , 41
+  , 42
+  , 133
+  , 44
+  , 45
+  , 46
+  , 47
+  , 48
+  , 49
+  , 50
+  , 51
+  , 52
+  , 53
+  , 54
+  , 55
+  , 56
+  , 57
+  , 42
+  , 45
+  , 166
+  , 167
+  , 159
+  , 47
+  , 64
+  , 65
+  , 66
+  , 67
+  , 68
+  , 69
+  , 70
+  , 71
+  , 72
+  , 73
+  , 74
+  , 75
+  , 76
+  , 77
+  , 78
+  , 79
+  , 80
+  , 81
+  , 82
+  , 83
+  , 84
+  , 85
+  , 86
+  , 87
+  , 88
+  , 89
+  , 90
+  , 91
+  , 159
+  , 93
+  , 166
+  , 167
+  , 132
+  , 97
+  , 98
+  , 99
+  , 100
+  , 101
+  , 102
+  , 103
+  , 104
+  , 105
+  , 106
+  , 107
+  , 108
+  , 109
+  , 110
+  , 111
+  , 112
+  , 113
+  , 114
+  , 115
+  , 116
+  , 117
+  , 118
+  , 119
+  , 120
+  , 121
+  , 122
+  , 123
+  , 159
+  , 125
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 166
+  , 167
+  , -1
+  , -1
+  , 195
+  , 48
+  , 49
+  , 50
+  , 51
+  , 52
+  , 53
+  , 54
+  , 55
+  , 56
+  , 57
+  , 206
+  , 207
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 65
+  , 66
+  , 67
+  , 68
+  , 69
+  , 70
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 226
+  , 128
+  , 129
+  , 130
+  , 131
+  , 132
+  , 133
+  , 134
+  , 135
+  , 136
+  , 137
+  , 138
+  , 139
+  , 140
+  , 141
+  , 142
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , 151
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , 183
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 128
+  , 129
+  , 130
+  , 131
+  , 132
+  , 133
+  , 134
+  , 135
+  , 136
+  , 137
+  , 138
+  , 139
+  , 140
+  , 141
+  , 142
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , 151
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , 183
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 0
+  , 1
+  , 2
+  , 3
+  , 4
+  , 5
+  , 6
+  , 7
+  , 8
+  , 9
+  , 10
+  , 11
+  , 12
+  , 13
+  , 14
+  , 15
+  , 16
+  , 17
+  , 18
+  , 19
+  , 20
+  , 21
+  , 22
+  , 23
+  , 24
+  , 25
+  , 26
+  , 27
+  , 28
+  , 29
+  , 30
+  , 31
+  , 32
+  , 33
+  , 34
+  , 35
+  , 36
+  , 37
+  , 38
+  , 39
+  , 40
+  , 41
+  , 42
+  , 43
+  , 44
+  , 45
+  , 46
+  , 47
+  , 48
+  , 49
+  , 50
+  , 51
+  , 52
+  , 53
+  , 54
+  , 55
+  , 56
+  , 57
+  , 58
+  , 59
+  , 60
+  , 61
+  , 62
+  , 63
+  , 64
+  , 65
+  , 66
+  , 67
+  , 68
+  , 69
+  , 70
+  , 71
+  , 72
+  , 73
+  , 74
+  , 75
+  , 76
+  , 77
+  , 78
+  , 79
+  , 80
+  , 81
+  , 82
+  , 83
+  , 84
+  , 85
+  , 86
+  , 87
+  , 88
+  , 89
+  , 90
+  , 91
+  , 92
+  , 93
+  , 94
+  , 95
+  , 96
+  , 97
+  , 98
+  , 99
+  , 100
+  , 101
+  , 102
+  , 103
+  , 104
+  , 105
+  , 106
+  , 107
+  , 108
+  , 109
+  , 110
+  , 111
+  , 112
+  , 113
+  , 114
+  , 115
+  , 116
+  , 117
+  , 118
+  , 119
+  , 120
+  , 121
+  , 122
+  , 123
+  , 124
+  , 125
+  , 126
+  , 127
+  , 9
+  , 10
+  , -1
+  , 134
+  , 13
+  , 136
+  , -1
+  , 138
+  , -1
+  , -1
+  , -1
+  , 9
+  , 10
+  , 11
+  , 12
+  , 13
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 32
+  , 33
+  , -1
+  , -1
+  , -1
+  , 159
+  , -1
+  , 39
+  , 40
+  , 41
+  , 164
+  , 32
+  , 44
+  , 45
+  , 46
+  , 48
+  , 49
+  , 50
+  , 51
+  , 52
+  , 53
+  , 54
+  , 55
+  , 56
+  , 57
+  , -1
+  , 58
+  , 59
+  , -1
+  , -1
+  , -1
+  , 63
+  , 65
+  , 66
+  , 67
+  , 68
+  , 69
+  , 70
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 48
+  , 49
+  , 50
+  , 51
+  , 52
+  , 53
+  , 54
+  , 55
+  , 56
+  , 57
+  , -1
+  , -1
+  , -1
+  , -1
+  , 91
+  , -1
+  , 93
+  , 65
+  , 66
+  , 67
+  , 68
+  , 69
+  , 70
+  , 48
+  , 49
+  , 50
+  , 51
+  , 52
+  , 53
+  , 54
+  , 55
+  , 56
+  , 57
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 65
+  , 66
+  , 67
+  , 68
+  , 69
+  , 70
+  , 123
+  , 124
+  , 125
+  , -1
+  , -1
+  , 128
+  , 129
+  , 130
+  , 131
+  , 132
+  , 133
+  , 134
+  , 135
+  , 136
+  , 137
+  , 138
+  , 139
+  , 140
+  , 141
+  , 142
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , 151
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , 183
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , 151
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , 183
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 128
+  , 129
+  , 130
+  , 131
+  , 132
+  , 133
+  , 134
+  , 135
+  , 136
+  , 137
+  , 138
+  , 139
+  , 140
+  , 141
+  , 142
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , 151
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , 183
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 128
+  , 129
+  , 130
+  , 131
+  , 132
+  , 133
+  , 134
+  , 135
+  , 136
+  , 137
+  , 138
+  , 139
+  , 140
+  , 141
+  , 142
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , 151
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , 183
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 0
+  , 1
+  , 2
+  , 3
+  , 4
+  , 5
+  , 6
+  , 7
+  , 8
+  , 9
+  , 10
+  , 11
+  , 12
+  , 13
+  , 14
+  , 15
+  , 16
+  , 17
+  , 18
+  , 19
+  , 20
+  , 21
+  , 22
+  , 23
+  , 24
+  , 25
+  , 26
+  , 27
+  , 28
+  , 29
+  , 30
+  , 31
+  , 32
+  , 33
+  , 34
+  , 35
+  , 36
+  , 37
+  , 38
+  , 39
+  , 40
+  , 41
+  , 42
+  , 43
+  , 44
+  , 45
+  , 46
+  , 47
+  , 48
+  , 49
+  , 50
+  , 51
+  , 52
+  , 53
+  , 54
+  , 55
+  , 56
+  , 57
+  , 58
+  , 59
+  , 60
+  , 61
+  , 62
+  , 63
+  , 64
+  , 65
+  , 66
+  , 67
+  , 68
+  , 69
+  , 70
+  , 71
+  , 72
+  , 73
+  , 74
+  , 75
+  , 76
+  , 77
+  , 78
+  , 79
+  , 80
+  , 81
+  , 82
+  , 83
+  , 84
+  , 85
+  , 86
+  , 87
+  , 88
+  , 89
+  , 90
+  , 91
+  , 92
+  , 93
+  , 94
+  , 95
+  , 96
+  , 97
+  , 98
+  , 99
+  , 100
+  , 101
+  , 102
+  , 103
+  , 104
+  , 105
+  , 106
+  , 107
+  , 108
+  , 109
+  , 110
+  , 111
+  , 112
+  , 113
+  , 114
+  , 115
+  , 116
+  , 117
+  , 118
+  , 119
+  , 120
+  , 121
+  , 122
+  , 123
+  , 124
+  , 125
+  , 126
+  , 127
+  , 9
+  , 10
+  , -1
+  , -1
+  , 13
+  , -1
+  , -1
+  , -1
+  , -1
+  , 148
+  , 48
+  , 49
+  , 50
+  , 51
+  , 52
+  , 53
+  , 54
+  , 55
+  , 56
+  , 57
+  , -1
+  , -1
+  , -1
+  , 32
+  , 33
+  , -1
+  , -1
+  , 166
+  , -1
+  , -1
+  , 39
+  , 40
+  , 41
+  , -1
+  , -1
+  , 44
+  , 45
+  , 46
+  , 177
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 187
+  , 58
+  , 59
+  , 190
+  , -1
+  , -1
+  , 63
+  , 48
+  , 49
+  , 50
+  , 51
+  , 52
+  , 53
+  , 54
+  , 55
+  , 56
+  , 57
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 91
+  , -1
+  , 93
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 123
+  , 124
+  , 125
+  , -1
+  , -1
+  , 128
+  , 129
+  , 130
+  , 131
+  , 132
+  , 133
+  , 134
+  , 135
+  , 136
+  , 137
+  , 138
+  , 139
+  , 140
+  , 141
+  , 142
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , 151
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , 183
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , 151
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , 183
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 128
+  , 129
+  , 130
+  , 131
+  , 132
+  , 133
+  , 134
+  , 135
+  , 136
+  , 137
+  , 138
+  , 139
+  , 140
+  , 141
+  , 142
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , 151
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , 183
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 128
+  , 129
+  , 130
+  , 131
+  , 132
+  , 133
+  , 134
+  , 135
+  , 136
+  , 137
+  , 138
+  , 139
+  , 140
+  , 141
+  , 142
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , 151
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , 183
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 0
+  , 1
+  , 2
+  , 3
+  , 4
+  , 5
+  , 6
+  , 7
+  , 8
+  , 9
+  , 10
+  , 11
+  , 12
+  , 13
+  , 14
+  , 15
+  , 16
+  , 17
+  , 18
+  , 19
+  , 20
+  , 21
+  , 22
+  , 23
+  , 24
+  , 25
+  , 26
+  , 27
+  , 28
+  , 29
+  , 30
+  , 31
+  , 32
+  , 33
+  , 34
+  , 35
+  , 36
+  , 37
+  , 38
+  , 39
+  , 40
+  , 41
+  , 42
+  , 43
+  , 44
+  , 45
+  , 46
+  , 47
+  , 48
+  , 49
+  , 50
+  , 51
+  , 52
+  , 53
+  , 54
+  , 55
+  , 56
+  , 57
+  , 58
+  , 59
+  , 60
+  , 61
+  , 62
+  , 63
+  , 64
+  , 65
+  , 66
+  , 67
+  , 68
+  , 69
+  , 70
+  , 71
+  , 72
+  , 73
+  , 74
+  , 75
+  , 76
+  , 77
+  , 78
+  , 79
+  , 80
+  , 81
+  , 82
+  , 83
+  , 84
+  , 85
+  , 86
+  , 87
+  , 88
+  , 89
+  , 90
+  , 91
+  , 92
+  , 93
+  , 94
+  , 95
+  , 96
+  , 97
+  , 98
+  , 99
+  , 100
+  , 101
+  , 102
+  , 103
+  , 104
+  , 105
+  , 106
+  , 107
+  , 108
+  , 109
+  , 110
+  , 111
+  , 112
+  , 113
+  , 114
+  , 115
+  , 116
+  , 117
+  , 118
+  , 119
+  , 120
+  , 121
+  , 122
+  , 123
+  , 124
+  , 125
+  , 126
+  , 127
+  , 9
+  , 10
+  , -1
+  , -1
+  , 13
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 32
+  , 33
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 39
+  , 40
+  , 41
+  , -1
+  , -1
+  , 44
+  , 45
+  , 46
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 58
+  , 59
+  , -1
+  , -1
+  , -1
+  , 63
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 91
+  , -1
+  , 93
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 123
+  , 124
+  , 125
+  , -1
+  , -1
+  , 128
+  , 129
+  , 130
+  , 131
+  , 132
+  , 133
+  , 134
+  , 135
+  , 136
+  , 137
+  , 138
+  , 139
+  , 140
+  , 141
+  , 142
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , 151
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , 183
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 128
+  , 129
+  , 130
+  , 131
+  , 132
+  , 133
+  , 134
+  , 135
+  , 136
+  , 137
+  , 138
+  , 139
+  , 140
+  , 141
+  , 142
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , -1
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , -1
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , 151
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , 183
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 128
+  , 129
+  , 130
+  , 131
+  , 132
+  , 133
+  , 134
+  , 135
+  , 136
+  , 137
+  , 138
+  , 139
+  , 140
+  , 141
+  , 142
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , -1
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , -1
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 128
+  , 129
+  , 130
+  , 131
+  , 132
+  , 133
+  , 134
+  , 135
+  , 136
+  , 137
+  , 138
+  , 139
+  , 140
+  , 141
+  , 142
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , -1
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , -1
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 128
+  , 129
+  , 130
+  , 131
+  , 132
+  , 133
+  , 134
+  , 135
+  , 136
+  , 137
+  , 138
+  , 139
+  , 140
+  , 141
+  , 142
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , 151
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , 183
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 128
+  , 129
+  , 130
+  , 131
+  , 132
+  , 133
+  , 134
+  , 135
+  , 136
+  , 137
+  , 138
+  , 139
+  , 140
+  , 141
+  , 142
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , 151
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , 183
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 0
+  , 1
+  , 2
+  , 3
+  , 4
+  , 5
+  , 6
+  , 7
+  , 8
+  , 9
+  , 10
+  , 11
+  , 12
+  , 13
+  , 14
+  , 15
+  , 16
+  , 17
+  , 18
+  , 19
+  , 20
+  , 21
+  , 22
+  , 23
+  , 24
+  , 25
+  , 26
+  , 27
+  , 28
+  , 29
+  , 30
+  , 31
+  , 32
+  , 33
+  , 34
+  , 35
+  , 36
+  , 37
+  , 38
+  , 39
+  , 40
+  , 41
+  , 42
+  , 43
+  , 44
+  , 45
+  , 46
+  , 47
+  , 48
+  , 49
+  , 50
+  , 51
+  , 52
+  , 53
+  , 54
+  , 55
+  , 56
+  , 57
+  , 58
+  , 59
+  , 60
+  , 61
+  , 62
+  , 63
+  , 64
+  , 65
+  , 66
+  , 67
+  , 68
+  , 69
+  , 70
+  , 71
+  , 72
+  , 73
+  , 74
+  , 75
+  , 76
+  , 77
+  , 78
+  , 79
+  , 80
+  , 81
+  , 82
+  , 83
+  , 84
+  , 85
+  , 86
+  , 87
+  , 88
+  , 89
+  , 90
+  , 91
+  , 92
+  , 93
+  , 94
+  , 95
+  , 96
+  , 97
+  , 98
+  , 99
+  , 100
+  , 101
+  , 102
+  , 103
+  , 104
+  , 105
+  , 106
+  , 107
+  , 108
+  , 109
+  , 110
+  , 111
+  , 112
+  , 113
+  , 114
+  , 115
+  , 116
+  , 117
+  , 118
+  , 119
+  , 120
+  , 121
+  , 122
+  , 123
+  , 124
+  , 125
+  , 126
+  , 127
+  , 9
+  , 10
+  , -1
+  , -1
+  , 13
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 32
+  , 33
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 39
+  , 40
+  , 41
+  , -1
+  , -1
+  , 44
+  , 45
+  , 46
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 58
+  , 59
+  , -1
+  , -1
+  , -1
+  , 63
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 91
+  , -1
+  , 93
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 123
+  , 124
+  , 125
+  , -1
+  , -1
+  , 128
+  , 129
+  , 130
+  , 131
+  , 132
+  , 133
+  , 134
+  , 135
+  , 136
+  , 137
+  , 138
+  , 139
+  , 140
+  , 141
+  , 142
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , 151
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , 183
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , 151
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , 183
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 128
+  , 129
+  , 130
+  , 131
+  , 132
+  , 133
+  , 134
+  , 135
+  , 136
+  , 137
+  , 138
+  , 139
+  , 140
+  , 141
+  , 142
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , 151
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , 183
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 128
+  , 129
+  , 130
+  , 131
+  , 132
+  , 133
+  , 134
+  , 135
+  , 136
+  , 137
+  , 138
+  , 139
+  , 140
+  , 141
+  , 142
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , 151
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , 183
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 0
+  , 1
+  , 2
+  , 3
+  , 4
+  , 5
+  , 6
+  , 7
+  , 8
+  , 9
+  , 10
+  , 11
+  , 12
+  , 13
+  , 14
+  , 15
+  , 16
+  , 17
+  , 18
+  , 19
+  , 20
+  , 21
+  , 22
+  , 23
+  , 24
+  , 25
+  , 26
+  , 27
+  , 28
+  , 29
+  , 30
+  , 31
+  , 32
+  , 33
+  , 34
+  , 35
+  , 36
+  , 37
+  , 38
+  , 39
+  , 40
+  , 41
+  , 42
+  , 43
+  , 44
+  , 45
+  , 46
+  , 47
+  , 48
+  , 49
+  , 50
+  , 51
+  , 52
+  , 53
+  , 54
+  , 55
+  , 56
+  , 57
+  , 58
+  , 59
+  , 60
+  , 61
+  , 62
+  , 63
+  , 64
+  , 65
+  , 66
+  , 67
+  , 68
+  , 69
+  , 70
+  , 71
+  , 72
+  , 73
+  , 74
+  , 75
+  , 76
+  , 77
+  , 78
+  , 79
+  , 80
+  , 81
+  , 82
+  , 83
+  , 84
+  , 85
+  , 86
+  , 87
+  , 88
+  , 89
+  , 90
+  , 91
+  , 92
+  , 93
+  , 94
+  , 95
+  , 96
+  , 97
+  , 98
+  , 99
+  , 100
+  , 101
+  , 102
+  , 103
+  , 104
+  , 105
+  , 106
+  , 107
+  , 108
+  , 109
+  , 110
+  , 111
+  , 112
+  , 113
+  , 114
+  , 115
+  , 116
+  , 117
+  , 118
+  , 119
+  , 120
+  , 121
+  , 122
+  , 123
+  , 124
+  , 125
+  , 126
+  , 127
+  , 9
+  , 10
+  , -1
+  , -1
+  , 13
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 32
+  , 33
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 39
+  , 40
+  , 41
+  , -1
+  , -1
+  , 44
+  , 45
+  , 46
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 58
+  , 59
+  , -1
+  , -1
+  , -1
+  , 63
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 91
+  , -1
+  , 93
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 123
+  , 124
+  , 125
+  , -1
+  , -1
+  , 128
+  , 129
+  , 130
+  , 131
+  , 132
+  , 133
+  , 134
+  , 135
+  , 136
+  , 137
+  , 138
+  , 139
+  , 140
+  , 141
+  , 142
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , 151
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , 183
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 128
+  , 129
+  , 130
+  , 131
+  , 132
+  , 133
+  , 134
+  , 135
+  , 136
+  , 137
+  , 138
+  , 139
+  , 140
+  , 141
+  , 142
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , -1
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , 39
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 48
+  , 49
+  , 50
+  , 51
+  , 52
+  , 53
+  , 54
+  , 55
+  , 56
+  , 57
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 65
+  , 66
+  , 67
+  , 68
+  , 69
+  , 70
+  , 71
+  , 72
+  , 73
+  , 74
+  , 75
+  , 76
+  , 77
+  , 78
+  , 79
+  , 80
+  , 81
+  , 82
+  , 83
+  , 84
+  , 85
+  , 86
+  , 87
+  , 88
+  , 89
+  , 90
+  , 10
+  , -1
+  , -1
+  , -1
+  , 95
+  , -1
+  , 97
+  , 98
+  , 99
+  , 100
+  , 101
+  , 102
+  , 103
+  , 104
+  , 105
+  , 106
+  , 107
+  , 108
+  , 109
+  , 110
+  , 111
+  , 112
+  , 113
+  , 114
+  , 115
+  , 116
+  , 117
+  , 118
+  , 119
+  , 120
+  , 121
+  , 122
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 195
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 128
+  , 129
+  , 130
+  , 131
+  , 132
+  , 133
+  , 134
+  , 135
+  , 136
+  , 137
+  , 138
+  , 139
+  , 140
+  , 141
+  , 142
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , 151
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , 183
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 0
+  , 1
+  , 2
+  , 3
+  , 4
+  , 5
+  , 6
+  , 7
+  , 8
+  , 9
+  , 10
+  , 11
+  , 12
+  , 13
+  , 14
+  , 15
+  , 16
+  , 17
+  , 18
+  , 19
+  , 20
+  , 21
+  , 22
+  , 23
+  , 24
+  , 25
+  , 26
+  , 27
+  , 28
+  , 29
+  , 30
+  , 31
+  , 32
+  , 33
+  , 34
+  , 35
+  , 36
+  , 37
+  , 38
+  , 39
+  , 40
+  , 41
+  , 42
+  , 43
+  , 44
+  , 45
+  , 46
+  , 47
+  , 48
+  , 49
+  , 50
+  , 51
+  , 52
+  , 53
+  , 54
+  , 55
+  , 56
+  , 57
+  , 58
+  , 59
+  , 60
+  , 61
+  , 62
+  , 63
+  , 64
+  , 65
+  , 66
+  , 67
+  , 68
+  , 69
+  , 70
+  , 71
+  , 72
+  , 73
+  , 74
+  , 75
+  , 76
+  , 77
+  , 78
+  , 79
+  , 80
+  , 81
+  , 82
+  , 83
+  , 84
+  , 85
+  , 86
+  , 87
+  , 88
+  , 89
+  , 90
+  , 91
+  , 92
+  , 93
+  , 94
+  , 95
+  , 96
+  , 97
+  , 98
+  , 99
+  , 100
+  , 101
+  , 102
+  , 103
+  , 104
+  , 105
+  , 106
+  , 107
+  , 108
+  , 109
+  , 110
+  , 111
+  , 112
+  , 113
+  , 114
+  , 115
+  , 116
+  , 117
+  , 118
+  , 119
+  , 120
+  , 121
+  , 122
+  , 123
+  , 124
+  , 125
+  , 126
+  , 127
+  , -1
+  , 128
+  , 129
+  , 130
+  , 131
+  , 132
+  , 133
+  , 134
+  , 135
+  , 136
+  , 137
+  , 138
+  , 139
+  , 140
+  , 141
+  , 142
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , 151
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , 183
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 128
+  , 129
+  , 130
+  , 131
+  , 132
+  , 133
+  , 134
+  , 135
+  , 136
+  , 137
+  , 138
+  , 139
+  , 140
+  , 141
+  , 142
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , 151
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , 183
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , 151
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , 183
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 42
+  , -1
+  , -1
+  , -1
+  , -1
+  , 47
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 128
+  , 129
+  , 130
+  , 131
+  , 132
+  , 133
+  , 134
+  , 135
+  , 136
+  , 137
+  , 138
+  , 139
+  , 140
+  , 141
+  , 142
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , 151
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , 183
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 42
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 128
+  , 129
+  , 130
+  , 131
+  , 132
+  , 133
+  , 134
+  , 135
+  , 136
+  , 137
+  , 138
+  , 139
+  , 140
+  , 141
+  , 142
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , 151
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , 183
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 0
+  , 1
+  , 2
+  , 3
+  , 4
+  , 5
+  , 6
+  , 7
+  , 8
+  , 9
+  , 10
+  , 11
+  , 12
+  , 13
+  , 14
+  , 15
+  , 16
+  , 17
+  , 18
+  , 19
+  , 20
+  , 21
+  , 22
+  , 23
+  , 24
+  , 25
+  , 26
+  , 27
+  , 28
+  , 29
+  , 30
+  , 31
+  , 32
+  , 33
+  , 34
+  , 35
+  , 36
+  , 37
+  , 38
+  , 39
+  , 40
+  , 41
+  , 42
+  , 43
+  , 44
+  , 45
+  , 46
+  , 47
+  , 48
+  , 49
+  , 50
+  , 51
+  , 52
+  , 53
+  , 54
+  , 55
+  , 56
+  , 57
+  , 58
+  , 59
+  , 60
+  , 61
+  , 62
+  , 63
+  , 64
+  , 65
+  , 66
+  , 67
+  , 68
+  , 69
+  , 70
+  , 71
+  , 72
+  , 73
+  , 74
+  , 75
+  , 76
+  , 77
+  , 78
+  , 79
+  , 80
+  , 81
+  , 82
+  , 83
+  , 84
+  , 85
+  , 86
+  , 87
+  , 88
+  , 89
+  , 90
+  , 91
+  , 92
+  , 93
+  , 94
+  , 95
+  , 96
+  , 97
+  , 98
+  , 99
+  , 100
+  , 101
+  , 102
+  , 103
+  , 104
+  , 105
+  , 106
+  , 107
+  , 108
+  , 109
+  , 110
+  , 111
+  , 112
+  , 113
+  , 114
+  , 115
+  , 116
+  , 117
+  , 118
+  , 119
+  , 120
+  , 121
+  , 122
+  , 123
+  , 124
+  , 125
+  , 126
+  , 127
+  , -1
+  , 128
+  , 129
+  , 130
+  , 131
+  , 132
+  , 133
+  , 134
+  , 135
+  , 136
+  , 137
+  , 138
+  , 139
+  , 140
+  , 141
+  , 142
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , 151
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , 183
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 128
+  , 129
+  , 130
+  , 131
+  , 132
+  , 133
+  , 134
+  , 135
+  , 136
+  , 137
+  , 138
+  , 139
+  , 140
+  , 141
+  , 142
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , 151
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , 183
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , 151
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , 183
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 66
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 98
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 116
+  , -1
+  , -1
+  , -1
+  , -1
+  , 121
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 0
+  , 1
+  , 2
+  , 3
+  , 4
+  , 5
+  , 6
+  , 7
+  , 8
+  , -1
+  , -1
+  , 11
+  , 12
+  , -1
+  , 14
+  , 15
+  , 16
+  , 17
+  , 18
+  , 19
+  , 20
+  , 21
+  , 22
+  , 23
+  , 24
+  , 25
+  , 26
+  , 27
+  , 28
+  , 29
+  , 30
+  , 31
+  , -1
+  , -1
+  , 34
+  , 35
+  , 36
+  , 37
+  , 38
+  , 39
+  , -1
+  , -1
+  , 42
+  , 43
+  , -1
+  , -1
+  , -1
+  , 47
+  , 48
+  , 49
+  , 50
+  , 51
+  , 52
+  , 53
+  , 54
+  , 55
+  , 56
+  , 57
+  , -1
+  , -1
+  , 60
+  , 61
+  , 62
+  , 207
+  , 64
+  , 65
+  , 66
+  , 67
+  , 68
+  , 69
+  , 70
+  , 71
+  , 72
+  , 73
+  , 74
+  , 75
+  , 76
+  , 77
+  , 78
+  , 79
+  , 80
+  , 81
+  , 82
+  , 83
+  , 84
+  , 85
+  , 86
+  , 87
+  , 88
+  , 89
+  , 90
+  , -1
+  , 92
+  , -1
+  , 94
+  , 95
+  , 96
+  , 97
+  , 98
+  , 99
+  , 100
+  , 101
+  , 102
+  , 103
+  , 104
+  , 105
+  , 106
+  , 107
+  , 108
+  , 109
+  , 110
+  , 111
+  , 112
+  , 113
+  , 114
+  , 115
+  , 116
+  , 117
+  , 118
+  , 119
+  , 120
+  , 121
+  , 122
+  , -1
+  , -1
+  , -1
+  , 126
+  , 127
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , -1
+  , -1
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 0
+  , 1
+  , 2
+  , 3
+  , 4
+  , 5
+  , 6
+  , 7
+  , 8
+  , -1
+  , -1
+  , 11
+  , 12
+  , -1
+  , 14
+  , 15
+  , 16
+  , 17
+  , 18
+  , 19
+  , 20
+  , 21
+  , 22
+  , 23
+  , 24
+  , 25
+  , 26
+  , 27
+  , 28
+  , 29
+  , 30
+  , 31
+  , -1
+  , -1
+  , 34
+  , 35
+  , 36
+  , 37
+  , 38
+  , 39
+  , -1
+  , -1
+  , 42
+  , 43
+  , -1
+  , -1
+  , -1
+  , 47
+  , 48
+  , 49
+  , 50
+  , 51
+  , 52
+  , 53
+  , 54
+  , 55
+  , 56
+  , 57
+  , -1
+  , -1
+  , 60
+  , 61
+  , 62
+  , -1
+  , 64
+  , 65
+  , 66
+  , 67
+  , 68
+  , 69
+  , 70
+  , 71
+  , 72
+  , 73
+  , 74
+  , 75
+  , 76
+  , 77
+  , 78
+  , 79
+  , 80
+  , 81
+  , 82
+  , 83
+  , 84
+  , 85
+  , 86
+  , 87
+  , 88
+  , 89
+  , 90
+  , -1
+  , 92
+  , -1
+  , 94
+  , 95
+  , 96
+  , 97
+  , 98
+  , 99
+  , 100
+  , 101
+  , 102
+  , 103
+  , 104
+  , 105
+  , 106
+  , 107
+  , 108
+  , 109
+  , 110
+  , 111
+  , 112
+  , 113
+  , 114
+  , 115
+  , 116
+  , 117
+  , 118
+  , 119
+  , 120
+  , 121
+  , 122
+  , -1
+  , -1
+  , -1
+  , 126
+  , 127
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , -1
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 0
+  , 1
+  , 2
+  , 3
+  , 4
+  , 5
+  , 6
+  , 7
+  , 8
+  , -1
+  , -1
+  , 11
+  , 12
+  , -1
+  , 14
+  , 15
+  , 16
+  , 17
+  , 18
+  , 19
+  , 20
+  , 21
+  , 22
+  , 23
+  , 24
+  , 25
+  , 26
+  , 27
+  , 28
+  , 29
+  , 30
+  , 31
+  , -1
+  , -1
+  , 34
+  , 35
+  , 36
+  , 37
+  , 38
+  , 39
+  , -1
+  , -1
+  , 42
+  , 43
+  , -1
+  , 45
+  , -1
+  , 47
+  , 48
+  , 49
+  , 50
+  , 51
+  , 52
+  , 53
+  , 54
+  , 55
+  , 56
+  , 57
+  , -1
+  , -1
+  , 60
+  , 61
+  , 62
+  , -1
+  , 64
+  , 65
+  , 66
+  , 67
+  , 68
+  , 69
+  , 70
+  , 71
+  , 72
+  , 73
+  , 74
+  , 75
+  , 76
+  , 77
+  , 78
+  , 79
+  , 80
+  , 81
+  , 82
+  , 83
+  , 84
+  , 85
+  , 86
+  , 87
+  , 88
+  , 89
+  , 90
+  , -1
+  , 92
+  , -1
+  , 94
+  , 95
+  , 96
+  , 97
+  , 98
+  , 99
+  , 100
+  , 101
+  , 102
+  , 103
+  , 104
+  , 105
+  , 106
+  , 107
+  , 108
+  , 109
+  , 110
+  , 111
+  , 112
+  , 113
+  , 114
+  , 115
+  , 116
+  , 117
+  , 118
+  , 119
+  , 120
+  , 121
+  , 122
+  , -1
+  , -1
+  , -1
+  , 126
+  , 127
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , -1
+  , -1
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 9
+  , 10
+  , -1
+  , -1
+  , 13
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 32
+  , 33
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 39
+  , 40
+  , 41
+  , -1
+  , -1
+  , 44
+  , 45
+  , 46
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 58
+  , 59
+  , -1
+  , -1
+  , -1
+  , 63
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 91
+  , -1
+  , 93
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 123
+  , 124
+  , 125
+  , -1
+  , -1
+  , 128
+  , 129
+  , 130
+  , 131
+  , 132
+  , 133
+  , 134
+  , 135
+  , 136
+  , 137
+  , 138
+  , 139
+  , 140
+  , 141
+  , 142
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , 151
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , 183
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 0
+  , 1
+  , 2
+  , 3
+  , 4
+  , 5
+  , 6
+  , 7
+  , 8
+  , 9
+  , 10
+  , 11
+  , 12
+  , 13
+  , 14
+  , 15
+  , 16
+  , 17
+  , 18
+  , 19
+  , 20
+  , 21
+  , 22
+  , 23
+  , 24
+  , 25
+  , 26
+  , 27
+  , 28
+  , 29
+  , 30
+  , 31
+  , 32
+  , 33
+  , 34
+  , 35
+  , 36
+  , 37
+  , 38
+  , 39
+  , 40
+  , 41
+  , 42
+  , 43
+  , 44
+  , 45
+  , 46
+  , 47
+  , 48
+  , 49
+  , 50
+  , 51
+  , 52
+  , 53
+  , 54
+  , 55
+  , 56
+  , 57
+  , 58
+  , 59
+  , 60
+  , 61
+  , 62
+  , 63
+  , 64
+  , 65
+  , 66
+  , 67
+  , 68
+  , 69
+  , 70
+  , 71
+  , 72
+  , 73
+  , 74
+  , 75
+  , 76
+  , 77
+  , 78
+  , 79
+  , 80
+  , 81
+  , 82
+  , 83
+  , 84
+  , 85
+  , 86
+  , 87
+  , 88
+  , 89
+  , 90
+  , 91
+  , 92
+  , 93
+  , 94
+  , 95
+  , 96
+  , 97
+  , 98
+  , 99
+  , 100
+  , 101
+  , 102
+  , 103
+  , 104
+  , 105
+  , 106
+  , 107
+  , 108
+  , 109
+  , 110
+  , 111
+  , 112
+  , 113
+  , 114
+  , 115
+  , 116
+  , 117
+  , 118
+  , 119
+  , 120
+  , 121
+  , 122
+  , 123
+  , 124
+  , 125
+  , 126
+  , 127
+  , -1
+  , 128
+  , 129
+  , 130
+  , 131
+  , 132
+  , 133
+  , 134
+  , 135
+  , 136
+  , 137
+  , 138
+  , 139
+  , 140
+  , 141
+  , 142
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , 151
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , 183
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 128
+  , 129
+  , 130
+  , 131
+  , 132
+  , 133
+  , 134
+  , 135
+  , 136
+  , 137
+  , 138
+  , 139
+  , 140
+  , 141
+  , 142
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , 151
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , 183
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , 151
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , 183
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 0
+  , 1
+  , 2
+  , 3
+  , 4
+  , 5
+  , 6
+  , 7
+  , 8
+  , -1
+  , -1
+  , 11
+  , 12
+  , -1
+  , 14
+  , 15
+  , 16
+  , 17
+  , 18
+  , 19
+  , 20
+  , 21
+  , 22
+  , 23
+  , 24
+  , 25
+  , 26
+  , 27
+  , 28
+  , 29
+  , 30
+  , 31
+  , -1
+  , -1
+  , 34
+  , 35
+  , 36
+  , 37
+  , 38
+  , 39
+  , -1
+  , -1
+  , 42
+  , 43
+  , -1
+  , 45
+  , -1
+  , 47
+  , 48
+  , 49
+  , 50
+  , 51
+  , 52
+  , 53
+  , 54
+  , 55
+  , 56
+  , 57
+  , -1
+  , -1
+  , 60
+  , 61
+  , 62
+  , -1
+  , 64
+  , 65
+  , 66
+  , 67
+  , 68
+  , 69
+  , 70
+  , 71
+  , 72
+  , 73
+  , 74
+  , 75
+  , 76
+  , 77
+  , 78
+  , 79
+  , 80
+  , 81
+  , 82
+  , 83
+  , 84
+  , 85
+  , 86
+  , 87
+  , 88
+  , 89
+  , 90
+  , -1
+  , 92
+  , -1
+  , 94
+  , 95
+  , 96
+  , 97
+  , 98
+  , 99
+  , 100
+  , 101
+  , 102
+  , 103
+  , 104
+  , 105
+  , 106
+  , 107
+  , 108
+  , 109
+  , 110
+  , 111
+  , 112
+  , 113
+  , 114
+  , 115
+  , 116
+  , 117
+  , 118
+  , 119
+  , 120
+  , 121
+  , 122
+  , -1
+  , -1
+  , -1
+  , 126
+  , 127
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , -1
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 9
+  , 10
+  , -1
+  , -1
+  , 13
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 32
+  , 33
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 39
+  , 40
+  , 41
+  , -1
+  , -1
+  , 44
+  , -1
+  , 46
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 58
+  , 59
+  , -1
+  , -1
+  , -1
+  , 63
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 91
+  , -1
+  , 93
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 123
+  , 124
+  , 125
+  , -1
+  , -1
+  , 128
+  , 129
+  , 130
+  , 131
+  , 132
+  , 133
+  , 134
+  , 135
+  , 136
+  , 137
+  , 138
+  , 139
+  , 140
+  , 141
+  , 142
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , 151
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , 183
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 0
+  , 1
+  , 2
+  , 3
+  , 4
+  , 5
+  , 6
+  , 7
+  , 8
+  , 9
+  , 10
+  , 11
+  , 12
+  , 13
+  , 14
+  , 15
+  , 16
+  , 17
+  , 18
+  , 19
+  , 20
+  , 21
+  , 22
+  , 23
+  , 24
+  , 25
+  , 26
+  , 27
+  , 28
+  , 29
+  , 30
+  , 31
+  , 32
+  , 33
+  , 34
+  , 35
+  , 36
+  , 37
+  , 38
+  , 39
+  , 40
+  , 41
+  , 42
+  , 43
+  , 44
+  , 45
+  , 46
+  , 47
+  , 48
+  , 49
+  , 50
+  , 51
+  , 52
+  , 53
+  , 54
+  , 55
+  , 56
+  , 57
+  , 58
+  , 59
+  , 60
+  , 61
+  , 62
+  , 63
+  , 64
+  , 65
+  , 66
+  , 67
+  , 68
+  , 69
+  , 70
+  , 71
+  , 72
+  , 73
+  , 74
+  , 75
+  , 76
+  , 77
+  , 78
+  , 79
+  , 80
+  , 81
+  , 82
+  , 83
+  , 84
+  , 85
+  , 86
+  , 87
+  , 88
+  , 89
+  , 90
+  , 91
+  , 92
+  , 93
+  , 94
+  , 95
+  , 96
+  , 97
+  , 98
+  , 99
+  , 100
+  , 101
+  , 102
+  , 103
+  , 104
+  , 105
+  , 106
+  , 107
+  , 108
+  , 109
+  , 110
+  , 111
+  , 112
+  , 113
+  , 114
+  , 115
+  , 116
+  , 117
+  , 118
+  , 119
+  , 120
+  , 121
+  , 122
+  , 123
+  , 124
+  , 125
+  , 126
+  , 127
+  , -1
+  , 128
+  , 129
+  , 130
+  , 131
+  , 132
+  , 133
+  , 134
+  , 135
+  , 136
+  , 137
+  , 138
+  , 139
+  , 140
+  , 141
+  , 142
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , 151
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , 183
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 128
+  , 129
+  , 130
+  , 131
+  , 132
+  , 133
+  , 134
+  , 135
+  , 136
+  , 137
+  , 138
+  , 139
+  , 140
+  , 141
+  , 142
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , 151
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , 183
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , 151
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , 183
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 9
+  , 10
+  , -1
+  , -1
+  , 13
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 32
+  , 33
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 39
+  , 40
+  , 41
+  , -1
+  , -1
+  , 44
+  , 45
+  , 46
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 58
+  , 59
+  , -1
+  , -1
+  , -1
+  , 63
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 91
+  , -1
+  , 93
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 123
+  , 124
+  , 125
+  , -1
+  , -1
+  , 128
+  , 129
+  , 130
+  , 131
+  , 132
+  , 133
+  , 134
+  , 135
+  , 136
+  , 137
+  , 138
+  , 139
+  , 140
+  , 141
+  , 142
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , 151
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , 183
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 0
+  , 1
+  , 2
+  , 3
+  , 4
+  , 5
+  , 6
+  , 7
+  , 8
+  , 9
+  , 10
+  , 11
+  , 12
+  , 13
+  , 14
+  , 15
+  , 16
+  , 17
+  , 18
+  , 19
+  , 20
+  , 21
+  , 22
+  , 23
+  , 24
+  , 25
+  , 26
+  , 27
+  , 28
+  , 29
+  , 30
+  , 31
+  , 32
+  , 33
+  , 34
+  , 35
+  , 36
+  , 37
+  , 38
+  , 39
+  , 40
+  , 41
+  , 42
+  , 43
+  , 44
+  , 45
+  , 46
+  , 47
+  , 48
+  , 49
+  , 50
+  , 51
+  , 52
+  , 53
+  , 54
+  , 55
+  , 56
+  , 57
+  , 58
+  , 59
+  , 60
+  , 61
+  , 62
+  , 63
+  , 64
+  , 65
+  , 66
+  , 67
+  , 68
+  , 69
+  , 70
+  , 71
+  , 72
+  , 73
+  , 74
+  , 75
+  , 76
+  , 77
+  , 78
+  , 79
+  , 80
+  , 81
+  , 82
+  , 83
+  , 84
+  , 85
+  , 86
+  , 87
+  , 88
+  , 89
+  , 90
+  , 91
+  , 92
+  , 93
+  , 94
+  , 95
+  , 96
+  , 97
+  , 98
+  , 99
+  , 100
+  , 101
+  , 102
+  , 103
+  , 104
+  , 105
+  , 106
+  , 107
+  , 108
+  , 109
+  , 110
+  , 111
+  , 112
+  , 113
+  , 114
+  , 115
+  , 116
+  , 117
+  , 118
+  , 119
+  , 120
+  , 121
+  , 122
+  , 123
+  , 124
+  , 125
+  , 126
+  , 127
+  , -1
+  , 128
+  , 129
+  , 130
+  , 131
+  , 132
+  , 133
+  , 134
+  , 135
+  , 136
+  , 137
+  , 138
+  , 139
+  , 140
+  , 141
+  , 142
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , 151
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , 183
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 128
+  , 129
+  , 130
+  , 131
+  , 132
+  , 133
+  , 134
+  , 135
+  , 136
+  , 137
+  , 138
+  , 139
+  , 140
+  , 141
+  , 142
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , 151
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , 183
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , 151
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , 183
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  , 143
+  , 144
+  , 145
+  , 146
+  , 147
+  , 148
+  , 149
+  , 150
+  , 151
+  , 152
+  , 153
+  , 154
+  , 155
+  , 156
+  , 157
+  , 158
+  , 159
+  , 160
+  , 161
+  , 162
+  , 163
+  , 164
+  , 165
+  , 166
+  , 167
+  , 168
+  , 169
+  , 170
+  , 171
+  , 172
+  , 173
+  , 174
+  , 175
+  , 176
+  , 177
+  , 178
+  , 179
+  , 180
+  , 181
+  , 182
+  , 183
+  , 184
+  , 185
+  , 186
+  , 187
+  , 188
+  , 189
+  , 190
+  , 191
+  , 192
+  , 193
+  , 194
+  , 195
+  , 196
+  , 197
+  , 198
+  , 199
+  , 200
+  , 201
+  , 202
+  , 203
+  , 204
+  , 205
+  , 206
+  , 207
+  , 208
+  , 209
+  , 210
+  , 211
+  , 212
+  , 213
+  , 214
+  , 215
+  , 216
+  , 217
+  , 218
+  , 219
+  , 220
+  , 221
+  , 222
+  , 223
+  , 224
+  , 225
+  , 226
+  , 227
+  , 228
+  , 229
+  , 230
+  , 231
+  , 232
+  , 233
+  , 234
+  , 235
+  , 236
+  , 237
+  , 238
+  , 239
+  , 240
+  , 241
+  , 242
+  , 243
+  , 244
+  , 245
+  , 246
+  , 247
+  , 248
+  , 249
+  , 250
+  , 251
+  , 252
+  , 253
+  , 254
+  , 255
+  ]
+
+alex_deflt :: Array Int Int
+alex_deflt = listArray (0 :: Int, 151)
+  [ -1
+  , 147
+  , 6
+  , -1
+  , -1
+  , 6
+  , 6
+  , 8
+  , 9
+  , 18
+  , 8
+  , 9
+  , 18
+  , 9
+  , 18
+  , -1
+  , -1
+  , 18
+  , 18
+  , 20
+  , 21
+  , 30
+  , 20
+  , 21
+  , 30
+  , 21
+  , 30
+  , -1
+  , -1
+  , 30
+  , 30
+  , 119
+  , 33
+  , 34
+  , 56
+  , 33
+  , 34
+  , 56
+  , 34
+  , -1
+  , -1
+  , -1
+  , 106
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 56
+  , -1
+  , -1
+  , 56
+  , 56
+  , 58
+  , 59
+  , 68
+  , 58
+  , 59
+  , 68
+  , 59
+  , 68
+  , -1
+  , -1
+  , 68
+  , 68
+  , -1
+  , -1
+  , -1
+  , 147
+  , 73
+  , 73
+  , -1
+  , -1
+  , 73
+  , 80
+  , 81
+  , 73
+  , 80
+  , 81
+  , -1
+  , 85
+  , 85
+  , 85
+  , -1
+  , -1
+  , 85
+  , 92
+  , 93
+  , 85
+  , 92
+  , 93
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , -1
+  , 106
+  , 106
+  , -1
+  , -1
+  , 106
+  , 115
+  , 106
+  , 115
+  , 116
+  , 106
+  , 115
+  , 116
+  , -1
+  , 119
+  , 119
+  , -1
+  , -1
+  , 119
+  , 128
+  , 119
+  , 128
+  , 129
+  , 119
+  , 128
+  , 129
+  , -1
+  , -1
+  , -1
+  , 134
+  , -1
+  , 134
+  , -1
+  , -1
+  , 134
+  , 144
+  , 134
+  , 144
+  , 145
+  , 134
+  , 144
+  , 145
+  , 6
+  , 72
+  , 6
+  , 147
+  , 72
+  ]
+
+alex_accept = listArray (0 :: Int, 151)
+  [ AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAcc 18
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAcc 17
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAcc 16
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAcc 15
+  , AlexAcc 14
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAcc 13
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAcc 12
+  , AlexAccNone
+  , AlexAcc 11
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccSkip
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccSkip
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccSkip
+  , AlexAcc 10
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAcc 9
+  , AlexAccNone
+  , AlexAcc 8
+  , AlexAcc 7
+  , AlexAcc 6
+  , AlexAcc 5
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAcc 4
+  , AlexAcc 3
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAcc 2
+  , AlexAcc 1
+  , AlexAccNone
+  , AlexAcc 0
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  ]
+
+alex_actions = array (0 :: Int, 19)
+  [ (18,alex_action_9)
+  , (17,alex_action_10)
+  , (16,alex_action_11)
+  , (15,alex_action_4)
+  , (14,alex_action_4)
+  , (13,alex_action_12)
+  , (12,alex_action_13)
+  , (11,alex_action_14)
+  , (10,alex_action_3)
+  , (9,alex_action_4)
+  , (8,alex_action_5)
+  , (7,alex_action_5)
+  , (6,alex_action_5)
+  , (5,alex_action_5)
+  , (4,alex_action_6)
+  , (3,alex_action_6)
+  , (2,alex_action_7)
+  , (1,alex_action_7)
+  , (0,alex_action_8)
+  ]
+
+alex_action_3 = tok (eitherResIdent TV)
+alex_action_4 = tok (eitherResIdent T_Bytes)
+alex_action_5 = tok (eitherResIdent T_Function)
+alex_action_6 = tok (eitherResIdent T_LabelId)
+alex_action_7 = tok (eitherResIdent T_AlphaIndex)
+alex_action_8 = tok (eitherResIdent T_LabelMetaId)
+alex_action_9 = tok (eitherResIdent T_TailMetaId)
+alex_action_10 = tok (eitherResIdent T_BindingsMetaId)
+alex_action_11 = tok (eitherResIdent T_ObjectMetaId)
+alex_action_12 = tok (eitherResIdent T_BytesMetaId)
+alex_action_13 = tok (eitherResIdent T_MetaFunctionName)
+alex_action_14 = tok (eitherResIdent TV)
+
+#define ALEX_NOPRED 1
+-- -----------------------------------------------------------------------------
+-- ALEX TEMPLATE
+--
+-- This code is in the PUBLIC DOMAIN; you may copy it freely and use
+-- it for any purpose whatsoever.
+
+-- -----------------------------------------------------------------------------
+-- INTERNALS and main scanner engine
+
+#ifdef ALEX_GHC
+#  define ILIT(n) n#
+#  define IBOX(n) (I# (n))
+#  define FAST_INT Int#
+-- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex.
+#  if __GLASGOW_HASKELL__ > 706
+#    define GTE(n,m) (tagToEnum# (n >=# m))
+#    define EQ(n,m) (tagToEnum# (n ==# m))
+#  else
+#    define GTE(n,m) (n >=# m)
+#    define EQ(n,m) (n ==# m)
+#  endif
+#  define PLUS(n,m) (n +# m)
+#  define MINUS(n,m) (n -# m)
+#  define TIMES(n,m) (n *# m)
+#  define NEGATE(n) (negateInt# (n))
+#  define IF_GHC(x) (x)
+#else
+#  define ILIT(n) (n)
+#  define IBOX(n) (n)
+#  define FAST_INT Int
+#  define GTE(n,m) (n >= m)
+#  define EQ(n,m) (n == m)
+#  define PLUS(n,m) (n + m)
+#  define MINUS(n,m) (n - m)
+#  define TIMES(n,m) (n * m)
+#  define NEGATE(n) (negate (n))
+#  define IF_GHC(x)
+#endif
+
+#ifdef ALEX_GHC
+data AlexAddr = AlexA# Addr#
+-- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex.
+#if __GLASGOW_HASKELL__ < 503
+uncheckedShiftL# = shiftL#
+#endif
+
+{-# INLINE alexIndexInt16OffAddr #-}
+alexIndexInt16OffAddr :: AlexAddr -> Int# -> Int#
+alexIndexInt16OffAddr (AlexA# arr) off =
+#ifdef WORDS_BIGENDIAN
+  narrow16Int# i
+  where
+        i    = word2Int# ((high `uncheckedShiftL#` 8#) `or#` low)
+        high = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))
+        low  = int2Word# (ord# (indexCharOffAddr# arr off'))
+        off' = off *# 2#
+#else
+#if __GLASGOW_HASKELL__ >= 901
+  int16ToInt#
+#endif
+    (indexInt16OffAddr# arr off)
+#endif
+#else
+alexIndexInt16OffAddr arr off = arr ! off
+#endif
+
+#ifdef ALEX_GHC
+{-# INLINE alexIndexInt32OffAddr #-}
+alexIndexInt32OffAddr :: AlexAddr -> Int# -> Int#
+alexIndexInt32OffAddr (AlexA# arr) off =
+#ifdef WORDS_BIGENDIAN
+  narrow32Int# i
+  where
+   i    = word2Int# ((b3 `uncheckedShiftL#` 24#) `or#`
+                     (b2 `uncheckedShiftL#` 16#) `or#`
+                     (b1 `uncheckedShiftL#` 8#) `or#` b0)
+   b3   = int2Word# (ord# (indexCharOffAddr# arr (off' +# 3#)))
+   b2   = int2Word# (ord# (indexCharOffAddr# arr (off' +# 2#)))
+   b1   = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))
+   b0   = int2Word# (ord# (indexCharOffAddr# arr off'))
+   off' = off *# 4#
+#else
+#if __GLASGOW_HASKELL__ >= 901
+  int32ToInt#
+#endif
+    (indexInt32OffAddr# arr off)
+#endif
+#else
+alexIndexInt32OffAddr arr off = arr ! off
+#endif
+
+#ifdef ALEX_GHC
+
+#if __GLASGOW_HASKELL__ < 503
+quickIndex arr i = arr ! i
+#else
+-- GHC >= 503, unsafeAt is available from Data.Array.Base.
+quickIndex = unsafeAt
+#endif
+#else
+quickIndex arr i = arr ! i
+#endif
+
+-- -----------------------------------------------------------------------------
+-- Main lexing routines
+
+data AlexReturn a
+  = AlexEOF
+  | AlexError  !AlexInput
+  | AlexSkip   !AlexInput !Int
+  | AlexToken  !AlexInput !Int a
+
+-- alexScan :: AlexInput -> StartCode -> AlexReturn a
+alexScan input__ IBOX(sc)
+  = alexScanUser undefined input__ IBOX(sc)
+
+alexScanUser user__ input__ IBOX(sc)
+  = case alex_scan_tkn user__ input__ ILIT(0) input__ sc AlexNone of
+  (AlexNone, input__') ->
+    case alexGetByte input__ of
+      Nothing ->
+#ifdef ALEX_DEBUG
+                                   trace ("End of input.") $
+#endif
+                                   AlexEOF
+      Just _ ->
+#ifdef ALEX_DEBUG
+                                   trace ("Error.") $
+#endif
+                                   AlexError input__'
+
+  (AlexLastSkip input__'' len, _) ->
+#ifdef ALEX_DEBUG
+    trace ("Skipping.") $
+#endif
+    AlexSkip input__'' len
+
+  (AlexLastAcc k input__''' len, _) ->
+#ifdef ALEX_DEBUG
+    trace ("Accept.") $
+#endif
+    AlexToken input__''' len (alex_actions ! k)
+
+
+-- Push the input through the DFA, remembering the most recent accepting
+-- state it encountered.
+
+alex_scan_tkn user__ orig_input len input__ s last_acc =
+  input__ `seq` -- strict in the input
+  let
+  new_acc = (check_accs (alex_accept `quickIndex` IBOX(s)))
+  in
+  new_acc `seq`
+  case alexGetByte input__ of
+     Nothing -> (new_acc, input__)
+     Just (c, new_input) ->
+#ifdef ALEX_DEBUG
+      trace ("State: " ++ show IBOX(s) ++ ", char: " ++ show c) $
+#endif
+      case fromIntegral c of { IBOX(ord_c) ->
+        let
+                base   = alexIndexInt32OffAddr alex_base s
+                offset = PLUS(base,ord_c)
+
+                new_s = if GTE(offset,ILIT(0))
+                          && let check  = alexIndexInt16OffAddr alex_check offset
+                             in  EQ(check,ord_c)
+                          then alexIndexInt16OffAddr alex_table offset
+                          else alexIndexInt16OffAddr alex_deflt s
+        in
+        case new_s of
+            ILIT(-1) -> (new_acc, input__)
+                -- on an error, we want to keep the input *before* the
+                -- character that failed, not after.
+            _ -> alex_scan_tkn user__ orig_input
+#ifdef ALEX_LATIN1
+                   PLUS(len,ILIT(1))
+                   -- issue 119: in the latin1 encoding, *each* byte is one character
+#else
+                   (if c < 0x80 || c >= 0xC0 then PLUS(len,ILIT(1)) else len)
+                   -- note that the length is increased ONLY if this is the 1st byte in a char encoding)
+#endif
+                   new_input new_s new_acc
+      }
+  where
+        check_accs (AlexAccNone) = last_acc
+        check_accs (AlexAcc a  ) = AlexLastAcc a input__ IBOX(len)
+        check_accs (AlexAccSkip) = AlexLastSkip  input__ IBOX(len)
+#ifndef ALEX_NOPRED
+        check_accs (AlexAccPred a predx rest)
+           | predx user__ orig_input IBOX(len) input__
+           = AlexLastAcc a input__ IBOX(len)
+           | otherwise
+           = check_accs rest
+        check_accs (AlexAccSkipPred predx rest)
+           | predx user__ orig_input IBOX(len) input__
+           = AlexLastSkip input__ IBOX(len)
+           | otherwise
+           = check_accs rest
+#endif
+
+data AlexLastAcc
+  = AlexNone
+  | AlexLastAcc !Int !AlexInput !Int
+  | AlexLastSkip     !AlexInput !Int
+
+data AlexAcc user
+  = AlexAccNone
+  | AlexAcc Int
+  | AlexAccSkip
+#ifndef ALEX_NOPRED
+  | AlexAccPred Int (AlexAccPred user) (AlexAcc user)
+  | AlexAccSkipPred (AlexAccPred user) (AlexAcc user)
+
+type AlexAccPred user = user -> AlexInput -> Int -> AlexInput -> Bool
+
+-- -----------------------------------------------------------------------------
+-- Predicates on a rule
+
+alexAndPred p1 p2 user__ in1 len in2
+  = p1 user__ in1 len in2 && p2 user__ in1 len in2
+
+--alexPrevCharIsPred :: Char -> AlexAccPred _
+alexPrevCharIs c _ input__ _ _ = c == alexInputPrevChar input__
+
+alexPrevCharMatches f _ input__ _ _ = f (alexInputPrevChar input__)
+
+--alexPrevCharIsOneOfPred :: Array Char Bool -> AlexAccPred _
+alexPrevCharIsOneOf arr _ input__ _ _ = arr ! alexInputPrevChar input__
+
+--alexRightContext :: Int -> AlexAccPred _
+alexRightContext IBOX(sc) user__ _ _ input__ =
+     case alex_scan_tkn user__ input__ ILIT(0) input__ sc AlexNone of
+          (AlexNone, _) -> False
+          _ -> True
+        -- TODO: there's no need to find the longest
+        -- match when checking the right context, just
+        -- the first match will do.
+#endif
+{-# LINE 92 "Lex.x" #-}
+-- | Create a token with position.
+tok :: (String -> Tok) -> (Posn -> String -> Token)
+tok f p = PT p . f
+
+-- | Token without position.
+data Tok
+  = TK {-# UNPACK #-} !TokSymbol  -- ^ Reserved word or symbol.
+  | TL !String                    -- ^ String literal.
+  | TI !String                    -- ^ Integer literal.
+  | TV !String                    -- ^ Identifier.
+  | TD !String                    -- ^ Float literal.
+  | TC !String                    -- ^ Character literal.
+  | T_Bytes !String
+  | T_Function !String
+  | T_LabelId !String
+  | T_AlphaIndex !String
+  | T_LabelMetaId !String
+  | T_TailMetaId !String
+  | T_BindingsMetaId !String
+  | T_ObjectMetaId !String
+  | T_BytesMetaId !String
+  | T_MetaFunctionName !String
+  deriving (Eq, Show, Ord)
+
+-- | Smart constructor for 'Tok' for the sake of backwards compatibility.
+pattern TS :: String -> Int -> Tok
+pattern TS t i = TK (TokSymbol t i)
+
+-- | Keyword or symbol tokens have a unique ID.
+data TokSymbol = TokSymbol
+  { tsText :: String
+      -- ^ Keyword or symbol text.
+  , tsID   :: !Int
+      -- ^ Unique ID.
+  } deriving (Show)
+
+-- | Keyword/symbol equality is determined by the unique ID.
+instance Eq  TokSymbol where (==)    = (==)    `on` tsID
+
+-- | Keyword/symbol ordering is determined by the unique ID.
+instance Ord TokSymbol where compare = compare `on` tsID
+
+-- | Token with position.
+data Token
+  = PT  Posn Tok
+  | Err Posn
+  deriving (Eq, Show, Ord)
+
+-- | Pretty print a position.
+printPosn :: Posn -> String
+printPosn (Pn _ l c) = "line " ++ show l ++ ", column " ++ show c
+
+-- | Pretty print the position of the first token in the list.
+tokenPos :: [Token] -> String
+tokenPos (t:_) = printPosn (tokenPosn t)
+tokenPos []    = "end of file"
+
+-- | Get the position of a token.
+tokenPosn :: Token -> Posn
+tokenPosn (PT p _) = p
+tokenPosn (Err p)  = p
+
+-- | Get line and column of a token.
+tokenLineCol :: Token -> (Int, Int)
+tokenLineCol = posLineCol . tokenPosn
+
+-- | Get line and column of a position.
+posLineCol :: Posn -> (Int, Int)
+posLineCol (Pn _ l c) = (l,c)
+
+-- | Convert a token into "position token" form.
+mkPosToken :: Token -> ((Int, Int), String)
+mkPosToken t = (tokenLineCol t, tokenText t)
+
+-- | Convert a token to its text.
+tokenText :: Token -> String
+tokenText t = case t of
+  PT _ (TS s _) -> s
+  PT _ (TL s)   -> show s
+  PT _ (TI s)   -> s
+  PT _ (TV s)   -> s
+  PT _ (TD s)   -> s
+  PT _ (TC s)   -> s
+  Err _         -> "#error"
+  PT _ (T_Bytes s) -> s
+  PT _ (T_Function s) -> s
+  PT _ (T_LabelId s) -> s
+  PT _ (T_AlphaIndex s) -> s
+  PT _ (T_LabelMetaId s) -> s
+  PT _ (T_TailMetaId s) -> s
+  PT _ (T_BindingsMetaId s) -> s
+  PT _ (T_ObjectMetaId s) -> s
+  PT _ (T_BytesMetaId s) -> s
+  PT _ (T_MetaFunctionName s) -> s
+
+-- | Convert a token to a string.
+prToken :: Token -> String
+prToken t = tokenText t
+
+-- | Finite map from text to token organized as binary search tree.
+data BTree
+  = N -- ^ Nil (leaf).
+  | B String Tok BTree BTree
+      -- ^ Binary node.
+  deriving (Show)
+
+-- | Convert potential keyword into token or use fallback conversion.
+eitherResIdent :: (String -> Tok) -> String -> Tok
+eitherResIdent tv s = treeFind resWords
+  where
+  treeFind N = tv s
+  treeFind (B a t left right) =
+    case compare s a of
+      LT -> treeFind left
+      GT -> treeFind right
+      EQ -> t
+
+-- | The keywords and symbols of the language organized as binary search tree.
+resWords :: BTree
+resWords =
+  b "\934" 11
+    (b "[" 6
+       (b "*" 3 (b ")" 2 (b "(" 1 N N) N) (b "." 5 (b "," 4 N N) N))
+       (b "}" 9 (b "{" 8 (b "]" 7 N N) N) (b "\916" 10 N N)))
+    (b "\8709" 17
+       (b "\961" 14
+          (b "\958" 13 (b "\955" 12 N N) N)
+          (b "\8614" 16 (b "\966" 15 N N) N))
+       (b "\10215" 20
+          (b "\10214" 19 (b "\8869" 18 N N) N) (b "\10509" 21 N N)))
   where
   b s n = B bs (TS bs n)
     where
diff --git a/src/Language/EO/Phi/Syntax/Lex.x b/src/Language/EO/Phi/Syntax/Lex.x
--- a/src/Language/EO/Phi/Syntax/Lex.x
+++ b/src/Language/EO/Phi/Syntax/Lex.x
@@ -28,7 +28,7 @@
 
 -- Symbols and non-identifier-like reserved words
 
-@rsyms = \Φ | \ξ | \Δ | \λ | \φ | \ρ | \{ | \⟦ | \⟧ | \} | \( | \) | \. | \⊥ | \[ | \↦ | \] | \∅ | \⤍ | \,
+@rsyms = \Φ | \ξ | \Δ | \λ | \φ | \ρ | \{ | \⟦ | \⟧ | \} | \( | \) | \. | \⊥ | \[ | \↦ | \] | \* | \∅ | \⤍ | \,
 
 :-
 
@@ -61,10 +61,26 @@
 α 0 | α [$d # 0]$d *
     { tok (eitherResIdent T_AlphaIndex) }
 
--- token MetaId
-\! [$u # [\t \n \r \  \! \' \( \) \, \- \. \: \; \? \[ \] \{ \| \} \⟦ \⟧]] *
-    { tok (eitherResIdent T_MetaId) }
+-- token LabelMetaId
+\! τ [$u # [\t \n \r \  \! \' \( \) \, \- \. \: \; \? \[ \] \{ \| \} \⟦ \⟧]] *
+    { tok (eitherResIdent T_LabelMetaId) }
 
+-- token TailMetaId
+\! t [$u # [\t \n \r \  \! \' \( \) \, \- \. \: \; \? \[ \] \{ \| \} \⟦ \⟧]] *
+    { tok (eitherResIdent T_TailMetaId) }
+
+-- token BindingsMetaId
+\! B [$u # [\t \n \r \  \! \' \( \) \, \- \. \: \; \? \[ \] \{ \| \} \⟦ \⟧]] *
+    { tok (eitherResIdent T_BindingsMetaId) }
+
+-- token ObjectMetaId
+\! b [$u # [\t \n \r \  \! \' \( \) \, \- \. \: \; \? \[ \] \{ \| \} \⟦ \⟧]] *
+    { tok (eitherResIdent T_ObjectMetaId) }
+
+-- token BytesMetaId
+\! y [$u # [\t \n \r \  \! \' \( \) \, \- \. \: \; \? \[ \] \{ \| \} \⟦ \⟧]] *
+    { tok (eitherResIdent T_BytesMetaId) }
+
 -- token MetaFunctionName
 \@ [$u # [\t \n \r \  \! \' \( \) \, \- \. \: \; \? \[ \] \{ \| \} \⟦ \⟧]] *
     { tok (eitherResIdent T_MetaFunctionName) }
@@ -90,7 +106,11 @@
   | T_Function !String
   | T_LabelId !String
   | T_AlphaIndex !String
-  | T_MetaId !String
+  | T_LabelMetaId !String
+  | T_TailMetaId !String
+  | T_BindingsMetaId !String
+  | T_ObjectMetaId !String
+  | T_BytesMetaId !String
   | T_MetaFunctionName !String
   deriving (Eq, Show, Ord)
 
@@ -158,7 +178,11 @@
   PT _ (T_Function s) -> s
   PT _ (T_LabelId s) -> s
   PT _ (T_AlphaIndex s) -> s
-  PT _ (T_MetaId s) -> s
+  PT _ (T_LabelMetaId s) -> s
+  PT _ (T_TailMetaId s) -> s
+  PT _ (T_BindingsMetaId s) -> s
+  PT _ (T_ObjectMetaId s) -> s
+  PT _ (T_BytesMetaId s) -> s
   PT _ (T_MetaFunctionName s) -> s
 
 -- | Convert a token to a string.
@@ -186,14 +210,16 @@
 -- | The keywords and symbols of the language organized as binary search tree.
 resWords :: BTree
 resWords =
-  b "\955" 11
-    (b "]" 6
-       (b "," 3 (b ")" 2 (b "(" 1 N N) N) (b "[" 5 (b "." 4 N N) N))
-       (b "\916" 9 (b "}" 8 (b "{" 7 N N) N) (b "\934" 10 N N)))
-    (b "\8709" 16
-       (b "\966" 14 (b "\961" 13 (b "\958" 12 N N) N) (b "\8614" 15 N N))
-       (b "\10215" 19
-          (b "\10214" 18 (b "\8869" 17 N N) N) (b "\10509" 20 N N)))
+  b "\934" 11
+    (b "[" 6
+       (b "*" 3 (b ")" 2 (b "(" 1 N N) N) (b "." 5 (b "," 4 N N) N))
+       (b "}" 9 (b "{" 8 (b "]" 7 N N) N) (b "\916" 10 N N)))
+    (b "\8709" 17
+       (b "\961" 14
+          (b "\958" 13 (b "\955" 12 N N) N)
+          (b "\8614" 16 (b "\966" 15 N N) N))
+       (b "\10215" 20
+          (b "\10214" 19 (b "\8869" 18 N N) N) (b "\10509" 21 N N)))
   where
   b s n = B bs (TS bs n)
     where
diff --git a/src/Language/EO/Phi/Syntax/Par.hs b/src/Language/EO/Phi/Syntax/Par.hs
--- a/src/Language/EO/Phi/Syntax/Par.hs
+++ b/src/Language/EO/Phi/Syntax/Par.hs
@@ -6,1069 +6,1237 @@
   ( happyError
   , myLexer
   , pProgram
-  , pObject
-  , pBinding
-  , pListBinding
-  , pAttribute
-  , pRuleAttribute
-  , pPeeledObject
-  , pObjectHead
-  , pObjectAction
-  , pListObjectAction
-  ) where
-
-import Prelude
-
-import qualified Language.EO.Phi.Syntax.Abs
-import Language.EO.Phi.Syntax.Lex
-import qualified Data.Array as Happy_Data_Array
-import qualified Data.Bits as Bits
-import Control.Applicative(Applicative(..))
-import Control.Monad (ap)
-
--- parser produced by Happy Version 1.20.1.1
-
-data HappyAbsSyn 
-	= HappyTerminal (Token)
-	| HappyErrorToken Prelude.Int
-	| HappyAbsSyn13 (Language.EO.Phi.Syntax.Abs.Bytes)
-	| HappyAbsSyn14 (Language.EO.Phi.Syntax.Abs.Function)
-	| HappyAbsSyn15 (Language.EO.Phi.Syntax.Abs.LabelId)
-	| HappyAbsSyn16 (Language.EO.Phi.Syntax.Abs.AlphaIndex)
-	| HappyAbsSyn17 (Language.EO.Phi.Syntax.Abs.MetaId)
-	| HappyAbsSyn18 (Language.EO.Phi.Syntax.Abs.MetaFunctionName)
-	| HappyAbsSyn19 (Language.EO.Phi.Syntax.Abs.Program)
-	| HappyAbsSyn20 (Language.EO.Phi.Syntax.Abs.Object)
-	| HappyAbsSyn21 (Language.EO.Phi.Syntax.Abs.Binding)
-	| HappyAbsSyn22 ([Language.EO.Phi.Syntax.Abs.Binding])
-	| HappyAbsSyn23 (Language.EO.Phi.Syntax.Abs.Attribute)
-	| HappyAbsSyn24 (Language.EO.Phi.Syntax.Abs.RuleAttribute)
-	| HappyAbsSyn25 (Language.EO.Phi.Syntax.Abs.PeeledObject)
-	| HappyAbsSyn26 (Language.EO.Phi.Syntax.Abs.ObjectHead)
-	| HappyAbsSyn27 (Language.EO.Phi.Syntax.Abs.ObjectAction)
-	| HappyAbsSyn28 ([Language.EO.Phi.Syntax.Abs.ObjectAction])
-
-{- to allow type-synonyms as our monads (likely
- - with explicitly-specified bind and return)
- - in Haskell98, it seems that with
- - /type M a = .../, then /(HappyReduction M)/
- - is not allowed.  But Happy is a
- - code-generator that can just substitute it.
-type HappyReduction m = 
-	   Prelude.Int 
-	-> (Token)
-	-> HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> m HappyAbsSyn)
-	-> [HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> m HappyAbsSyn)] 
-	-> HappyStk HappyAbsSyn 
-	-> [(Token)] -> m HappyAbsSyn
--}
-
-action_0,
- action_1,
- action_2,
- action_3,
- action_4,
- action_5,
- action_6,
- action_7,
- action_8,
- action_9,
- action_10,
- action_11,
- action_12,
- action_13,
- action_14,
- action_15,
- action_16,
- action_17,
- action_18,
- action_19,
- action_20,
- action_21,
- action_22,
- action_23,
- action_24,
- action_25,
- action_26,
- action_27,
- action_28,
- action_29,
- action_30,
- action_31,
- action_32,
- action_33,
- action_34,
- action_35,
- action_36,
- action_37,
- action_38,
- action_39,
- action_40,
- action_41,
- action_42,
- action_43,
- action_44,
- action_45,
- action_46,
- action_47,
- action_48,
- action_49,
- action_50,
- action_51,
- action_52,
- action_53,
- action_54,
- action_55,
- action_56,
- action_57,
- action_58,
- action_59,
- action_60,
- action_61,
- action_62,
- action_63,
- action_64,
- action_65,
- action_66,
- action_67,
- action_68,
- action_69,
- action_70,
- action_71,
- action_72,
- action_73,
- action_74,
- action_75,
- action_76,
- action_77,
- action_78,
- action_79,
- action_80,
- action_81,
- action_82,
- action_83,
- action_84,
- action_85,
- action_86,
- action_87,
- action_88,
- action_89,
- action_90,
- action_91 :: () => Prelude.Int -> ({-HappyReduction (Err) = -}
-	   Prelude.Int 
-	-> (Token)
-	-> HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> (Err) HappyAbsSyn)
-	-> [HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> (Err) HappyAbsSyn)] 
-	-> HappyStk HappyAbsSyn 
-	-> [(Token)] -> (Err) HappyAbsSyn)
-
-happyReduce_10,
- happyReduce_11,
- happyReduce_12,
- happyReduce_13,
- happyReduce_14,
- happyReduce_15,
- happyReduce_16,
- happyReduce_17,
- happyReduce_18,
- happyReduce_19,
- happyReduce_20,
- happyReduce_21,
- happyReduce_22,
- happyReduce_23,
- happyReduce_24,
- happyReduce_25,
- happyReduce_26,
- happyReduce_27,
- happyReduce_28,
- happyReduce_29,
- happyReduce_30,
- happyReduce_31,
- happyReduce_32,
- happyReduce_33,
- happyReduce_34,
- happyReduce_35,
- happyReduce_36,
- happyReduce_37,
- happyReduce_38,
- happyReduce_39,
- happyReduce_40,
- happyReduce_41,
- happyReduce_42,
- happyReduce_43,
- happyReduce_44,
- happyReduce_45,
- happyReduce_46,
- happyReduce_47,
- happyReduce_48,
- happyReduce_49,
- happyReduce_50,
- happyReduce_51,
- happyReduce_52 :: () => ({-HappyReduction (Err) = -}
-	   Prelude.Int 
-	-> (Token)
-	-> HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> (Err) HappyAbsSyn)
-	-> [HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> (Err) HappyAbsSyn)] 
-	-> HappyStk HappyAbsSyn 
-	-> [(Token)] -> (Err) HappyAbsSyn)
-
-happyExpList :: Happy_Data_Array.Array Prelude.Int Prelude.Int
-happyExpList = Happy_Data_Array.listArray (0,207) ([0,0,4,0,0,20480,6168,0,0,212,7,0,27136,896,0,0,49200,1,0,6784,224,0,32768,194,0,0,24896,0,0,144,0,0,18432,0,0,0,0,64,0,0,0,0,0,9,0,0,0,0,0,0,3392,112,0,0,14342,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6784,224,0,0,0,0,8192,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,256,0,0,0,0,0,0,0,4,0,0,16384,0,0,0,32,0,0,0,0,0,0,0,0,128,0,0,16384,6,0,0,0,0,0,0,0,0,0,0,0,0,0,212,7,0,0,0,0,0,0,0,0,0,1,0,16384,28685,0,0,32768,0,0,20480,7171,0,0,384,14,0,8192,0,0,0,1556,6,0,0,32,0,0,34880,0,0,57984,192,0,40960,14342,0,0,0,0,0,0,32,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,400,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,864,0,0,0,1024,0,0,0,0,0,2048,0,0,0,0,0,0,0,1024,0,0,64,0,0,0,0,0,0,24896,96,0,0,0,0,51200,1,0,0,0,0,0,0,0,0,0
-	])
-
-{-# NOINLINE happyExpListPerState #-}
-happyExpListPerState st =
-    token_strs_expected
-  where token_strs = ["error","%dummy","%start_pProgram","%start_pObject","%start_pBinding","%start_pListBinding","%start_pAttribute","%start_pRuleAttribute","%start_pPeeledObject","%start_pObjectHead","%start_pObjectAction","%start_pListObjectAction","Bytes","Function","LabelId","AlphaIndex","MetaId","MetaFunctionName","Program","Object","Binding","ListBinding","Attribute","RuleAttribute","PeeledObject","ObjectHead","ObjectAction","ListObjectAction","'('","')'","','","'.'","'['","']'","'{'","'}'","'\916'","'\934'","'\955'","'\958'","'\961'","'\966'","'\8614'","'\8709'","'\8869'","'\10214'","'\10215'","'\10509'","L_Bytes","L_Function","L_LabelId","L_AlphaIndex","L_MetaId","L_MetaFunctionName","%eof"]
-        bit_start = st Prelude.* 55
-        bit_end = (st Prelude.+ 1) Prelude.* 55
-        read_bit = readArrayBit happyExpList
-        bits = Prelude.map read_bit [bit_start..bit_end Prelude.- 1]
-        bits_indexed = Prelude.zip bits [0..54]
-        token_strs_expected = Prelude.concatMap f bits_indexed
-        f (Prelude.False, _) = []
-        f (Prelude.True, nr) = [token_strs Prelude.!! nr]
-
-action_0 (35) = happyShift action_53
-action_0 (19) = happyGoto action_52
-action_0 _ = happyFail (happyExpListPerState 0)
-
-action_1 (38) = happyShift action_47
-action_1 (40) = happyShift action_48
-action_1 (45) = happyShift action_49
-action_1 (46) = happyShift action_50
-action_1 (53) = happyShift action_35
-action_1 (54) = happyShift action_51
-action_1 (17) = happyGoto action_44
-action_1 (18) = happyGoto action_45
-action_1 (20) = happyGoto action_46
-action_1 _ = happyFail (happyExpListPerState 1)
-
-action_2 (37) = happyShift action_41
-action_2 (39) = happyShift action_42
-action_2 (41) = happyShift action_31
-action_2 (42) = happyShift action_32
-action_2 (51) = happyShift action_33
-action_2 (52) = happyShift action_34
-action_2 (53) = happyShift action_35
-action_2 (15) = happyGoto action_24
-action_2 (16) = happyGoto action_25
-action_2 (17) = happyGoto action_37
-action_2 (21) = happyGoto action_43
-action_2 (23) = happyGoto action_40
-action_2 _ = happyFail (happyExpListPerState 2)
-
-action_3 (37) = happyShift action_41
-action_3 (39) = happyShift action_42
-action_3 (41) = happyShift action_31
-action_3 (42) = happyShift action_32
-action_3 (51) = happyShift action_33
-action_3 (52) = happyShift action_34
-action_3 (53) = happyShift action_35
-action_3 (15) = happyGoto action_24
-action_3 (16) = happyGoto action_25
-action_3 (17) = happyGoto action_37
-action_3 (21) = happyGoto action_38
-action_3 (22) = happyGoto action_39
-action_3 (23) = happyGoto action_40
-action_3 _ = happyReduce_33
-
-action_4 (41) = happyShift action_31
-action_4 (42) = happyShift action_32
-action_4 (51) = happyShift action_33
-action_4 (52) = happyShift action_34
-action_4 (53) = happyShift action_35
-action_4 (15) = happyGoto action_24
-action_4 (16) = happyGoto action_25
-action_4 (17) = happyGoto action_26
-action_4 (23) = happyGoto action_36
-action_4 _ = happyFail (happyExpListPerState 4)
-
-action_5 (37) = happyShift action_29
-action_5 (39) = happyShift action_30
-action_5 (41) = happyShift action_31
-action_5 (42) = happyShift action_32
-action_5 (51) = happyShift action_33
-action_5 (52) = happyShift action_34
-action_5 (53) = happyShift action_35
-action_5 (15) = happyGoto action_24
-action_5 (16) = happyGoto action_25
-action_5 (17) = happyGoto action_26
-action_5 (23) = happyGoto action_27
-action_5 (24) = happyGoto action_28
-action_5 _ = happyFail (happyExpListPerState 5)
-
-action_6 (38) = happyShift action_18
-action_6 (40) = happyShift action_19
-action_6 (45) = happyShift action_20
-action_6 (46) = happyShift action_21
-action_6 (25) = happyGoto action_22
-action_6 (26) = happyGoto action_23
-action_6 _ = happyFail (happyExpListPerState 6)
-
-action_7 (38) = happyShift action_18
-action_7 (40) = happyShift action_19
-action_7 (45) = happyShift action_20
-action_7 (46) = happyShift action_21
-action_7 (26) = happyGoto action_17
-action_7 _ = happyFail (happyExpListPerState 7)
-
-action_8 (29) = happyShift action_14
-action_8 (32) = happyShift action_15
-action_8 (27) = happyGoto action_16
-action_8 _ = happyFail (happyExpListPerState 8)
-
-action_9 (29) = happyShift action_14
-action_9 (32) = happyShift action_15
-action_9 (27) = happyGoto action_12
-action_9 (28) = happyGoto action_13
-action_9 _ = happyReduce_51
-
-action_10 (49) = happyShift action_11
-action_10 _ = happyFail (happyExpListPerState 10)
-
-action_11 _ = happyReduce_10
-
-action_12 (29) = happyShift action_14
-action_12 (32) = happyShift action_15
-action_12 (27) = happyGoto action_12
-action_12 (28) = happyGoto action_68
-action_12 _ = happyReduce_51
-
-action_13 (55) = happyAccept
-action_13 _ = happyFail (happyExpListPerState 13)
-
-action_14 (37) = happyShift action_41
-action_14 (39) = happyShift action_42
-action_14 (41) = happyShift action_31
-action_14 (42) = happyShift action_32
-action_14 (51) = happyShift action_33
-action_14 (52) = happyShift action_34
-action_14 (53) = happyShift action_35
-action_14 (15) = happyGoto action_24
-action_14 (16) = happyGoto action_25
-action_14 (17) = happyGoto action_37
-action_14 (21) = happyGoto action_38
-action_14 (22) = happyGoto action_67
-action_14 (23) = happyGoto action_40
-action_14 _ = happyReduce_33
-
-action_15 (41) = happyShift action_31
-action_15 (42) = happyShift action_32
-action_15 (51) = happyShift action_33
-action_15 (52) = happyShift action_34
-action_15 (53) = happyShift action_35
-action_15 (15) = happyGoto action_24
-action_15 (16) = happyGoto action_25
-action_15 (17) = happyGoto action_26
-action_15 (23) = happyGoto action_66
-action_15 _ = happyFail (happyExpListPerState 15)
-
-action_16 (55) = happyAccept
-action_16 _ = happyFail (happyExpListPerState 16)
-
-action_17 (55) = happyAccept
-action_17 _ = happyFail (happyExpListPerState 17)
-
-action_18 _ = happyReduce_46
-
-action_19 _ = happyReduce_47
-
-action_20 _ = happyReduce_48
-
-action_21 (37) = happyShift action_41
-action_21 (39) = happyShift action_42
-action_21 (41) = happyShift action_31
-action_21 (42) = happyShift action_32
-action_21 (51) = happyShift action_33
-action_21 (52) = happyShift action_34
-action_21 (53) = happyShift action_35
-action_21 (15) = happyGoto action_24
-action_21 (16) = happyGoto action_25
-action_21 (17) = happyGoto action_37
-action_21 (21) = happyGoto action_38
-action_21 (22) = happyGoto action_65
-action_21 (23) = happyGoto action_40
-action_21 _ = happyReduce_33
-
-action_22 (55) = happyAccept
-action_22 _ = happyFail (happyExpListPerState 22)
-
-action_23 (29) = happyShift action_14
-action_23 (32) = happyShift action_15
-action_23 (27) = happyGoto action_12
-action_23 (28) = happyGoto action_64
-action_23 _ = happyReduce_51
-
-action_24 _ = happyReduce_38
-
-action_25 _ = happyReduce_39
-
-action_26 _ = happyReduce_40
-
-action_27 _ = happyReduce_41
-
-action_28 (55) = happyAccept
-action_28 _ = happyFail (happyExpListPerState 28)
-
-action_29 _ = happyReduce_42
-
-action_30 _ = happyReduce_43
-
-action_31 _ = happyReduce_37
-
-action_32 _ = happyReduce_36
-
-action_33 _ = happyReduce_12
-
-action_34 _ = happyReduce_13
-
-action_35 _ = happyReduce_14
-
-action_36 (55) = happyAccept
-action_36 _ = happyFail (happyExpListPerState 36)
-
-action_37 (43) = happyReduce_40
-action_37 _ = happyReduce_31
-
-action_38 (31) = happyShift action_63
-action_38 _ = happyReduce_34
-
-action_39 (55) = happyAccept
-action_39 _ = happyFail (happyExpListPerState 39)
-
-action_40 (43) = happyShift action_62
-action_40 _ = happyFail (happyExpListPerState 40)
-
-action_41 (48) = happyShift action_61
-action_41 _ = happyFail (happyExpListPerState 41)
-
-action_42 (48) = happyShift action_60
-action_42 _ = happyFail (happyExpListPerState 42)
-
-action_43 (55) = happyAccept
-action_43 _ = happyFail (happyExpListPerState 43)
-
-action_44 _ = happyReduce_24
-
-action_45 (29) = happyShift action_59
-action_45 _ = happyFail (happyExpListPerState 45)
-
-action_46 (29) = happyShift action_56
-action_46 (32) = happyShift action_57
-action_46 (33) = happyShift action_58
-action_46 (55) = happyAccept
-action_46 _ = happyFail (happyExpListPerState 46)
-
-action_47 _ = happyReduce_20
-
-action_48 _ = happyReduce_21
-
-action_49 _ = happyReduce_22
-
-action_50 (37) = happyShift action_41
-action_50 (39) = happyShift action_42
-action_50 (41) = happyShift action_31
-action_50 (42) = happyShift action_32
-action_50 (51) = happyShift action_33
-action_50 (52) = happyShift action_34
-action_50 (53) = happyShift action_35
-action_50 (15) = happyGoto action_24
-action_50 (16) = happyGoto action_25
-action_50 (17) = happyGoto action_37
-action_50 (21) = happyGoto action_38
-action_50 (22) = happyGoto action_55
-action_50 (23) = happyGoto action_40
-action_50 _ = happyReduce_33
-
-action_51 _ = happyReduce_15
-
-action_52 (55) = happyAccept
-action_52 _ = happyFail (happyExpListPerState 52)
-
-action_53 (46) = happyShift action_54
-action_53 _ = happyFail (happyExpListPerState 53)
-
-action_54 (37) = happyShift action_41
-action_54 (39) = happyShift action_42
-action_54 (41) = happyShift action_31
-action_54 (42) = happyShift action_32
-action_54 (51) = happyShift action_33
-action_54 (52) = happyShift action_34
-action_54 (53) = happyShift action_35
-action_54 (15) = happyGoto action_24
-action_54 (16) = happyGoto action_25
-action_54 (17) = happyGoto action_37
-action_54 (21) = happyGoto action_38
-action_54 (22) = happyGoto action_84
-action_54 (23) = happyGoto action_40
-action_54 _ = happyReduce_33
-
-action_55 (47) = happyShift action_83
-action_55 _ = happyFail (happyExpListPerState 55)
-
-action_56 (37) = happyShift action_41
-action_56 (39) = happyShift action_42
-action_56 (41) = happyShift action_31
-action_56 (42) = happyShift action_32
-action_56 (51) = happyShift action_33
-action_56 (52) = happyShift action_34
-action_56 (53) = happyShift action_35
-action_56 (15) = happyGoto action_24
-action_56 (16) = happyGoto action_25
-action_56 (17) = happyGoto action_37
-action_56 (21) = happyGoto action_38
-action_56 (22) = happyGoto action_82
-action_56 (23) = happyGoto action_40
-action_56 _ = happyReduce_33
-
-action_57 (41) = happyShift action_31
-action_57 (42) = happyShift action_32
-action_57 (51) = happyShift action_33
-action_57 (52) = happyShift action_34
-action_57 (53) = happyShift action_35
-action_57 (15) = happyGoto action_24
-action_57 (16) = happyGoto action_25
-action_57 (17) = happyGoto action_26
-action_57 (23) = happyGoto action_81
-action_57 _ = happyFail (happyExpListPerState 57)
-
-action_58 (40) = happyShift action_80
-action_58 _ = happyFail (happyExpListPerState 58)
-
-action_59 (38) = happyShift action_47
-action_59 (40) = happyShift action_48
-action_59 (45) = happyShift action_49
-action_59 (46) = happyShift action_50
-action_59 (53) = happyShift action_35
-action_59 (54) = happyShift action_51
-action_59 (17) = happyGoto action_44
-action_59 (18) = happyGoto action_45
-action_59 (20) = happyGoto action_79
-action_59 _ = happyFail (happyExpListPerState 59)
-
-action_60 (50) = happyShift action_78
-action_60 (14) = happyGoto action_77
-action_60 _ = happyFail (happyExpListPerState 60)
-
-action_61 (44) = happyShift action_76
-action_61 (49) = happyShift action_11
-action_61 (53) = happyShift action_35
-action_61 (13) = happyGoto action_74
-action_61 (17) = happyGoto action_75
-action_61 _ = happyFail (happyExpListPerState 61)
-
-action_62 (38) = happyShift action_47
-action_62 (40) = happyShift action_48
-action_62 (44) = happyShift action_73
-action_62 (45) = happyShift action_49
-action_62 (46) = happyShift action_50
-action_62 (53) = happyShift action_35
-action_62 (54) = happyShift action_51
-action_62 (17) = happyGoto action_44
-action_62 (18) = happyGoto action_45
-action_62 (20) = happyGoto action_72
-action_62 _ = happyFail (happyExpListPerState 62)
-
-action_63 (37) = happyShift action_41
-action_63 (39) = happyShift action_42
-action_63 (41) = happyShift action_31
-action_63 (42) = happyShift action_32
-action_63 (51) = happyShift action_33
-action_63 (52) = happyShift action_34
-action_63 (53) = happyShift action_35
-action_63 (15) = happyGoto action_24
-action_63 (16) = happyGoto action_25
-action_63 (17) = happyGoto action_37
-action_63 (21) = happyGoto action_38
-action_63 (22) = happyGoto action_71
-action_63 (23) = happyGoto action_40
-action_63 _ = happyReduce_33
-
-action_64 _ = happyReduce_44
-
-action_65 (47) = happyShift action_70
-action_65 _ = happyFail (happyExpListPerState 65)
-
-action_66 _ = happyReduce_50
-
-action_67 (30) = happyShift action_69
-action_67 _ = happyFail (happyExpListPerState 67)
-
-action_68 _ = happyReduce_52
-
-action_69 _ = happyReduce_49
-
-action_70 _ = happyReduce_45
-
-action_71 _ = happyReduce_35
-
-action_72 (29) = happyShift action_56
-action_72 (32) = happyShift action_57
-action_72 (33) = happyShift action_58
-action_72 _ = happyReduce_26
-
-action_73 _ = happyReduce_27
-
-action_74 _ = happyReduce_28
-
-action_75 _ = happyReduce_32
-
-action_76 _ = happyReduce_29
-
-action_77 _ = happyReduce_30
-
-action_78 _ = happyReduce_11
-
-action_79 (29) = happyShift action_56
-action_79 (30) = happyShift action_88
-action_79 (32) = happyShift action_57
-action_79 (33) = happyShift action_58
-action_79 _ = happyFail (happyExpListPerState 79)
-
-action_80 (43) = happyShift action_87
-action_80 _ = happyFail (happyExpListPerState 80)
-
-action_81 _ = happyReduce_19
-
-action_82 (30) = happyShift action_86
-action_82 _ = happyFail (happyExpListPerState 82)
-
-action_83 _ = happyReduce_17
-
-action_84 (47) = happyShift action_85
-action_84 _ = happyFail (happyExpListPerState 84)
-
-action_85 (36) = happyShift action_90
-action_85 _ = happyFail (happyExpListPerState 85)
-
-action_86 _ = happyReduce_18
-
-action_87 (38) = happyShift action_47
-action_87 (40) = happyShift action_48
-action_87 (45) = happyShift action_49
-action_87 (46) = happyShift action_50
-action_87 (53) = happyShift action_35
-action_87 (54) = happyShift action_51
-action_87 (17) = happyGoto action_44
-action_87 (18) = happyGoto action_45
-action_87 (20) = happyGoto action_89
-action_87 _ = happyFail (happyExpListPerState 87)
-
-action_88 _ = happyReduce_25
-
-action_89 (29) = happyShift action_56
-action_89 (32) = happyShift action_57
-action_89 (33) = happyShift action_58
-action_89 (34) = happyShift action_91
-action_89 _ = happyFail (happyExpListPerState 89)
-
-action_90 _ = happyReduce_16
-
-action_91 _ = happyReduce_23
-
-happyReduce_10 = happySpecReduce_1  13 happyReduction_10
-happyReduction_10 (HappyTerminal (PT _ (T_Bytes happy_var_1)))
-	 =  HappyAbsSyn13
-		 (Language.EO.Phi.Syntax.Abs.Bytes happy_var_1
-	)
-happyReduction_10 _  = notHappyAtAll 
-
-happyReduce_11 = happySpecReduce_1  14 happyReduction_11
-happyReduction_11 (HappyTerminal (PT _ (T_Function happy_var_1)))
-	 =  HappyAbsSyn14
-		 (Language.EO.Phi.Syntax.Abs.Function happy_var_1
-	)
-happyReduction_11 _  = notHappyAtAll 
-
-happyReduce_12 = happySpecReduce_1  15 happyReduction_12
-happyReduction_12 (HappyTerminal (PT _ (T_LabelId happy_var_1)))
-	 =  HappyAbsSyn15
-		 (Language.EO.Phi.Syntax.Abs.LabelId happy_var_1
-	)
-happyReduction_12 _  = notHappyAtAll 
-
-happyReduce_13 = happySpecReduce_1  16 happyReduction_13
-happyReduction_13 (HappyTerminal (PT _ (T_AlphaIndex happy_var_1)))
-	 =  HappyAbsSyn16
-		 (Language.EO.Phi.Syntax.Abs.AlphaIndex happy_var_1
-	)
-happyReduction_13 _  = notHappyAtAll 
-
-happyReduce_14 = happySpecReduce_1  17 happyReduction_14
-happyReduction_14 (HappyTerminal (PT _ (T_MetaId happy_var_1)))
-	 =  HappyAbsSyn17
-		 (Language.EO.Phi.Syntax.Abs.MetaId happy_var_1
-	)
-happyReduction_14 _  = notHappyAtAll 
-
-happyReduce_15 = happySpecReduce_1  18 happyReduction_15
-happyReduction_15 (HappyTerminal (PT _ (T_MetaFunctionName happy_var_1)))
-	 =  HappyAbsSyn18
-		 (Language.EO.Phi.Syntax.Abs.MetaFunctionName happy_var_1
-	)
-happyReduction_15 _  = notHappyAtAll 
-
-happyReduce_16 = happyReduce 5 19 happyReduction_16
-happyReduction_16 (_ `HappyStk`
-	_ `HappyStk`
-	(HappyAbsSyn22  happy_var_3) `HappyStk`
-	_ `HappyStk`
-	_ `HappyStk`
-	happyRest)
-	 = HappyAbsSyn19
-		 (Language.EO.Phi.Syntax.Abs.Program happy_var_3
-	) `HappyStk` happyRest
-
-happyReduce_17 = happySpecReduce_3  20 happyReduction_17
-happyReduction_17 _
-	(HappyAbsSyn22  happy_var_2)
-	_
-	 =  HappyAbsSyn20
-		 (Language.EO.Phi.Syntax.Abs.Formation happy_var_2
-	)
-happyReduction_17 _ _ _  = notHappyAtAll 
-
-happyReduce_18 = happyReduce 4 20 happyReduction_18
-happyReduction_18 (_ `HappyStk`
-	(HappyAbsSyn22  happy_var_3) `HappyStk`
-	_ `HappyStk`
-	(HappyAbsSyn20  happy_var_1) `HappyStk`
-	happyRest)
-	 = HappyAbsSyn20
-		 (Language.EO.Phi.Syntax.Abs.Application happy_var_1 happy_var_3
-	) `HappyStk` happyRest
-
-happyReduce_19 = happySpecReduce_3  20 happyReduction_19
-happyReduction_19 (HappyAbsSyn23  happy_var_3)
-	_
-	(HappyAbsSyn20  happy_var_1)
-	 =  HappyAbsSyn20
-		 (Language.EO.Phi.Syntax.Abs.ObjectDispatch happy_var_1 happy_var_3
-	)
-happyReduction_19 _ _ _  = notHappyAtAll 
-
-happyReduce_20 = happySpecReduce_1  20 happyReduction_20
-happyReduction_20 _
-	 =  HappyAbsSyn20
-		 (Language.EO.Phi.Syntax.Abs.GlobalObject
-	)
-
-happyReduce_21 = happySpecReduce_1  20 happyReduction_21
-happyReduction_21 _
-	 =  HappyAbsSyn20
-		 (Language.EO.Phi.Syntax.Abs.ThisObject
-	)
-
-happyReduce_22 = happySpecReduce_1  20 happyReduction_22
-happyReduction_22 _
-	 =  HappyAbsSyn20
-		 (Language.EO.Phi.Syntax.Abs.Termination
-	)
-
-happyReduce_23 = happyReduce 6 20 happyReduction_23
-happyReduction_23 (_ `HappyStk`
-	(HappyAbsSyn20  happy_var_5) `HappyStk`
-	_ `HappyStk`
-	_ `HappyStk`
-	_ `HappyStk`
-	(HappyAbsSyn20  happy_var_1) `HappyStk`
-	happyRest)
-	 = HappyAbsSyn20
-		 (Language.EO.Phi.Syntax.Abs.MetaSubstThis happy_var_1 happy_var_5
-	) `HappyStk` happyRest
-
-happyReduce_24 = happySpecReduce_1  20 happyReduction_24
-happyReduction_24 (HappyAbsSyn17  happy_var_1)
-	 =  HappyAbsSyn20
-		 (Language.EO.Phi.Syntax.Abs.MetaObject happy_var_1
-	)
-happyReduction_24 _  = notHappyAtAll 
-
-happyReduce_25 = happyReduce 4 20 happyReduction_25
-happyReduction_25 (_ `HappyStk`
-	(HappyAbsSyn20  happy_var_3) `HappyStk`
-	_ `HappyStk`
-	(HappyAbsSyn18  happy_var_1) `HappyStk`
-	happyRest)
-	 = HappyAbsSyn20
-		 (Language.EO.Phi.Syntax.Abs.MetaFunction happy_var_1 happy_var_3
-	) `HappyStk` happyRest
-
-happyReduce_26 = happySpecReduce_3  21 happyReduction_26
-happyReduction_26 (HappyAbsSyn20  happy_var_3)
-	_
-	(HappyAbsSyn23  happy_var_1)
-	 =  HappyAbsSyn21
-		 (Language.EO.Phi.Syntax.Abs.AlphaBinding happy_var_1 happy_var_3
-	)
-happyReduction_26 _ _ _  = notHappyAtAll 
-
-happyReduce_27 = happySpecReduce_3  21 happyReduction_27
-happyReduction_27 _
-	_
-	(HappyAbsSyn23  happy_var_1)
-	 =  HappyAbsSyn21
-		 (Language.EO.Phi.Syntax.Abs.EmptyBinding happy_var_1
-	)
-happyReduction_27 _ _ _  = notHappyAtAll 
-
-happyReduce_28 = happySpecReduce_3  21 happyReduction_28
-happyReduction_28 (HappyAbsSyn13  happy_var_3)
-	_
-	_
-	 =  HappyAbsSyn21
-		 (Language.EO.Phi.Syntax.Abs.DeltaBinding happy_var_3
-	)
-happyReduction_28 _ _ _  = notHappyAtAll 
-
-happyReduce_29 = happySpecReduce_3  21 happyReduction_29
-happyReduction_29 _
-	_
-	_
-	 =  HappyAbsSyn21
-		 (Language.EO.Phi.Syntax.Abs.DeltaEmptyBinding
-	)
-
-happyReduce_30 = happySpecReduce_3  21 happyReduction_30
-happyReduction_30 (HappyAbsSyn14  happy_var_3)
-	_
-	_
-	 =  HappyAbsSyn21
-		 (Language.EO.Phi.Syntax.Abs.LambdaBinding happy_var_3
-	)
-happyReduction_30 _ _ _  = notHappyAtAll 
-
-happyReduce_31 = happySpecReduce_1  21 happyReduction_31
-happyReduction_31 (HappyAbsSyn17  happy_var_1)
-	 =  HappyAbsSyn21
-		 (Language.EO.Phi.Syntax.Abs.MetaBindings happy_var_1
-	)
-happyReduction_31 _  = notHappyAtAll 
-
-happyReduce_32 = happySpecReduce_3  21 happyReduction_32
-happyReduction_32 (HappyAbsSyn17  happy_var_3)
-	_
-	_
-	 =  HappyAbsSyn21
-		 (Language.EO.Phi.Syntax.Abs.MetaDeltaBinding happy_var_3
-	)
-happyReduction_32 _ _ _  = notHappyAtAll 
-
-happyReduce_33 = happySpecReduce_0  22 happyReduction_33
-happyReduction_33  =  HappyAbsSyn22
-		 ([]
-	)
-
-happyReduce_34 = happySpecReduce_1  22 happyReduction_34
-happyReduction_34 (HappyAbsSyn21  happy_var_1)
-	 =  HappyAbsSyn22
-		 ((:[]) happy_var_1
-	)
-happyReduction_34 _  = notHappyAtAll 
-
-happyReduce_35 = happySpecReduce_3  22 happyReduction_35
-happyReduction_35 (HappyAbsSyn22  happy_var_3)
-	_
-	(HappyAbsSyn21  happy_var_1)
-	 =  HappyAbsSyn22
-		 ((:) happy_var_1 happy_var_3
-	)
-happyReduction_35 _ _ _  = notHappyAtAll 
-
-happyReduce_36 = happySpecReduce_1  23 happyReduction_36
-happyReduction_36 _
-	 =  HappyAbsSyn23
-		 (Language.EO.Phi.Syntax.Abs.Phi
-	)
-
-happyReduce_37 = happySpecReduce_1  23 happyReduction_37
-happyReduction_37 _
-	 =  HappyAbsSyn23
-		 (Language.EO.Phi.Syntax.Abs.Rho
-	)
-
-happyReduce_38 = happySpecReduce_1  23 happyReduction_38
-happyReduction_38 (HappyAbsSyn15  happy_var_1)
-	 =  HappyAbsSyn23
-		 (Language.EO.Phi.Syntax.Abs.Label happy_var_1
-	)
-happyReduction_38 _  = notHappyAtAll 
-
-happyReduce_39 = happySpecReduce_1  23 happyReduction_39
-happyReduction_39 (HappyAbsSyn16  happy_var_1)
-	 =  HappyAbsSyn23
-		 (Language.EO.Phi.Syntax.Abs.Alpha happy_var_1
-	)
-happyReduction_39 _  = notHappyAtAll 
-
-happyReduce_40 = happySpecReduce_1  23 happyReduction_40
-happyReduction_40 (HappyAbsSyn17  happy_var_1)
-	 =  HappyAbsSyn23
-		 (Language.EO.Phi.Syntax.Abs.MetaAttr happy_var_1
-	)
-happyReduction_40 _  = notHappyAtAll 
-
-happyReduce_41 = happySpecReduce_1  24 happyReduction_41
-happyReduction_41 (HappyAbsSyn23  happy_var_1)
-	 =  HappyAbsSyn24
-		 (Language.EO.Phi.Syntax.Abs.ObjectAttr happy_var_1
-	)
-happyReduction_41 _  = notHappyAtAll 
-
-happyReduce_42 = happySpecReduce_1  24 happyReduction_42
-happyReduction_42 _
-	 =  HappyAbsSyn24
-		 (Language.EO.Phi.Syntax.Abs.DeltaAttr
-	)
-
-happyReduce_43 = happySpecReduce_1  24 happyReduction_43
-happyReduction_43 _
-	 =  HappyAbsSyn24
-		 (Language.EO.Phi.Syntax.Abs.LambdaAttr
-	)
-
-happyReduce_44 = happySpecReduce_2  25 happyReduction_44
-happyReduction_44 (HappyAbsSyn28  happy_var_2)
-	(HappyAbsSyn26  happy_var_1)
-	 =  HappyAbsSyn25
-		 (Language.EO.Phi.Syntax.Abs.PeeledObject happy_var_1 happy_var_2
-	)
-happyReduction_44 _ _  = notHappyAtAll 
-
-happyReduce_45 = happySpecReduce_3  26 happyReduction_45
-happyReduction_45 _
-	(HappyAbsSyn22  happy_var_2)
-	_
-	 =  HappyAbsSyn26
-		 (Language.EO.Phi.Syntax.Abs.HeadFormation happy_var_2
-	)
-happyReduction_45 _ _ _  = notHappyAtAll 
-
-happyReduce_46 = happySpecReduce_1  26 happyReduction_46
-happyReduction_46 _
-	 =  HappyAbsSyn26
-		 (Language.EO.Phi.Syntax.Abs.HeadGlobal
-	)
-
-happyReduce_47 = happySpecReduce_1  26 happyReduction_47
-happyReduction_47 _
-	 =  HappyAbsSyn26
-		 (Language.EO.Phi.Syntax.Abs.HeadThis
-	)
-
-happyReduce_48 = happySpecReduce_1  26 happyReduction_48
-happyReduction_48 _
-	 =  HappyAbsSyn26
-		 (Language.EO.Phi.Syntax.Abs.HeadTermination
-	)
-
-happyReduce_49 = happySpecReduce_3  27 happyReduction_49
-happyReduction_49 _
-	(HappyAbsSyn22  happy_var_2)
-	_
-	 =  HappyAbsSyn27
-		 (Language.EO.Phi.Syntax.Abs.ActionApplication happy_var_2
-	)
-happyReduction_49 _ _ _  = notHappyAtAll 
-
-happyReduce_50 = happySpecReduce_2  27 happyReduction_50
-happyReduction_50 (HappyAbsSyn23  happy_var_2)
-	_
-	 =  HappyAbsSyn27
-		 (Language.EO.Phi.Syntax.Abs.ActionDispatch happy_var_2
-	)
-happyReduction_50 _ _  = notHappyAtAll 
-
-happyReduce_51 = happySpecReduce_0  28 happyReduction_51
-happyReduction_51  =  HappyAbsSyn28
-		 ([]
-	)
-
-happyReduce_52 = happySpecReduce_2  28 happyReduction_52
-happyReduction_52 (HappyAbsSyn28  happy_var_2)
-	(HappyAbsSyn27  happy_var_1)
-	 =  HappyAbsSyn28
-		 ((:) happy_var_1 happy_var_2
-	)
-happyReduction_52 _ _  = notHappyAtAll 
-
-happyNewToken action sts stk [] =
-	action 55 55 notHappyAtAll (HappyState action) sts stk []
-
-happyNewToken action sts stk (tk:tks) =
-	let cont i = action i i tk (HappyState action) sts stk tks in
-	case tk of {
-	PT _ (TS _ 1) -> cont 29;
-	PT _ (TS _ 2) -> cont 30;
-	PT _ (TS _ 3) -> cont 31;
-	PT _ (TS _ 4) -> cont 32;
-	PT _ (TS _ 5) -> cont 33;
-	PT _ (TS _ 6) -> cont 34;
-	PT _ (TS _ 7) -> cont 35;
-	PT _ (TS _ 8) -> cont 36;
-	PT _ (TS _ 9) -> cont 37;
-	PT _ (TS _ 10) -> cont 38;
-	PT _ (TS _ 11) -> cont 39;
-	PT _ (TS _ 12) -> cont 40;
-	PT _ (TS _ 13) -> cont 41;
-	PT _ (TS _ 14) -> cont 42;
-	PT _ (TS _ 15) -> cont 43;
-	PT _ (TS _ 16) -> cont 44;
-	PT _ (TS _ 17) -> cont 45;
-	PT _ (TS _ 18) -> cont 46;
-	PT _ (TS _ 19) -> cont 47;
-	PT _ (TS _ 20) -> cont 48;
-	PT _ (T_Bytes happy_dollar_dollar) -> cont 49;
-	PT _ (T_Function happy_dollar_dollar) -> cont 50;
-	PT _ (T_LabelId happy_dollar_dollar) -> cont 51;
-	PT _ (T_AlphaIndex happy_dollar_dollar) -> cont 52;
-	PT _ (T_MetaId happy_dollar_dollar) -> cont 53;
-	PT _ (T_MetaFunctionName happy_dollar_dollar) -> cont 54;
-	_ -> happyError' ((tk:tks), [])
-	}
-
-happyError_ explist 55 tk tks = happyError' (tks, explist)
-happyError_ explist _ tk tks = happyError' ((tk:tks), explist)
-
-happyThen :: () => Err a -> (a -> Err b) -> Err b
-happyThen = ((>>=))
-happyReturn :: () => a -> Err a
-happyReturn = (return)
-happyThen1 m k tks = ((>>=)) m (\a -> k a tks)
-happyReturn1 :: () => a -> b -> Err a
-happyReturn1 = \a tks -> (return) a
-happyError' :: () => ([(Token)], [Prelude.String]) -> Err a
-happyError' = (\(tokens, _) -> happyError tokens)
-pProgram tks = happySomeParser where
- happySomeParser = happyThen (happyParse action_0 tks) (\x -> case x of {HappyAbsSyn19 z -> happyReturn z; _other -> notHappyAtAll })
-
-pObject tks = happySomeParser where
- happySomeParser = happyThen (happyParse action_1 tks) (\x -> case x of {HappyAbsSyn20 z -> happyReturn z; _other -> notHappyAtAll })
-
-pBinding tks = happySomeParser where
- happySomeParser = happyThen (happyParse action_2 tks) (\x -> case x of {HappyAbsSyn21 z -> happyReturn z; _other -> notHappyAtAll })
-
-pListBinding tks = happySomeParser where
- happySomeParser = happyThen (happyParse action_3 tks) (\x -> case x of {HappyAbsSyn22 z -> happyReturn z; _other -> notHappyAtAll })
-
-pAttribute tks = happySomeParser where
- happySomeParser = happyThen (happyParse action_4 tks) (\x -> case x of {HappyAbsSyn23 z -> happyReturn z; _other -> notHappyAtAll })
-
-pRuleAttribute tks = happySomeParser where
- happySomeParser = happyThen (happyParse action_5 tks) (\x -> case x of {HappyAbsSyn24 z -> happyReturn z; _other -> notHappyAtAll })
-
-pPeeledObject tks = happySomeParser where
- happySomeParser = happyThen (happyParse action_6 tks) (\x -> case x of {HappyAbsSyn25 z -> happyReturn z; _other -> notHappyAtAll })
-
-pObjectHead tks = happySomeParser where
- happySomeParser = happyThen (happyParse action_7 tks) (\x -> case x of {HappyAbsSyn26 z -> happyReturn z; _other -> notHappyAtAll })
-
-pObjectAction tks = happySomeParser where
- happySomeParser = happyThen (happyParse action_8 tks) (\x -> case x of {HappyAbsSyn27 z -> happyReturn z; _other -> notHappyAtAll })
-
-pListObjectAction tks = happySomeParser where
- happySomeParser = happyThen (happyParse action_9 tks) (\x -> case x of {HappyAbsSyn28 z -> happyReturn z; _other -> notHappyAtAll })
+  , pMetaId
+  , pObject
+  , pBinding
+  , pListBinding
+  , pAttribute
+  , pRuleAttribute
+  , pPeeledObject
+  , pObjectHead
+  , pObjectAction
+  , pListObjectAction
+  ) where
+
+import Prelude
+
+import qualified Language.EO.Phi.Syntax.Abs
+import Language.EO.Phi.Syntax.Lex
+import qualified Data.Array as Happy_Data_Array
+import qualified Data.Bits as Bits
+import Control.Applicative(Applicative(..))
+import Control.Monad (ap)
+
+-- parser produced by Happy Version 1.20.1.1
+
+data HappyAbsSyn 
+	= HappyTerminal (Token)
+	| HappyErrorToken Prelude.Int
+	| HappyAbsSyn14 (Language.EO.Phi.Syntax.Abs.Bytes)
+	| HappyAbsSyn15 (Language.EO.Phi.Syntax.Abs.Function)
+	| HappyAbsSyn16 (Language.EO.Phi.Syntax.Abs.LabelId)
+	| HappyAbsSyn17 (Language.EO.Phi.Syntax.Abs.AlphaIndex)
+	| HappyAbsSyn18 (Language.EO.Phi.Syntax.Abs.LabelMetaId)
+	| HappyAbsSyn19 (Language.EO.Phi.Syntax.Abs.TailMetaId)
+	| HappyAbsSyn20 (Language.EO.Phi.Syntax.Abs.BindingsMetaId)
+	| HappyAbsSyn21 (Language.EO.Phi.Syntax.Abs.ObjectMetaId)
+	| HappyAbsSyn22 (Language.EO.Phi.Syntax.Abs.BytesMetaId)
+	| HappyAbsSyn23 (Language.EO.Phi.Syntax.Abs.MetaFunctionName)
+	| HappyAbsSyn24 (Language.EO.Phi.Syntax.Abs.Program)
+	| HappyAbsSyn25 (Language.EO.Phi.Syntax.Abs.MetaId)
+	| HappyAbsSyn26 (Language.EO.Phi.Syntax.Abs.Object)
+	| HappyAbsSyn27 (Language.EO.Phi.Syntax.Abs.Binding)
+	| HappyAbsSyn28 ([Language.EO.Phi.Syntax.Abs.Binding])
+	| HappyAbsSyn29 (Language.EO.Phi.Syntax.Abs.Attribute)
+	| HappyAbsSyn30 (Language.EO.Phi.Syntax.Abs.RuleAttribute)
+	| HappyAbsSyn31 (Language.EO.Phi.Syntax.Abs.PeeledObject)
+	| HappyAbsSyn32 (Language.EO.Phi.Syntax.Abs.ObjectHead)
+	| HappyAbsSyn33 (Language.EO.Phi.Syntax.Abs.ObjectAction)
+	| HappyAbsSyn34 ([Language.EO.Phi.Syntax.Abs.ObjectAction])
+
+{- to allow type-synonyms as our monads (likely
+ - with explicitly-specified bind and return)
+ - in Haskell98, it seems that with
+ - /type M a = .../, then /(HappyReduction M)/
+ - is not allowed.  But Happy is a
+ - code-generator that can just substitute it.
+type HappyReduction m = 
+	   Prelude.Int 
+	-> (Token)
+	-> HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> m HappyAbsSyn)
+	-> [HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> m HappyAbsSyn)] 
+	-> HappyStk HappyAbsSyn 
+	-> [(Token)] -> m HappyAbsSyn
+-}
+
+action_0,
+ action_1,
+ action_2,
+ action_3,
+ action_4,
+ action_5,
+ action_6,
+ action_7,
+ action_8,
+ action_9,
+ action_10,
+ action_11,
+ action_12,
+ action_13,
+ action_14,
+ action_15,
+ action_16,
+ action_17,
+ action_18,
+ action_19,
+ action_20,
+ action_21,
+ action_22,
+ action_23,
+ action_24,
+ action_25,
+ action_26,
+ action_27,
+ action_28,
+ action_29,
+ action_30,
+ action_31,
+ action_32,
+ action_33,
+ action_34,
+ action_35,
+ action_36,
+ action_37,
+ action_38,
+ action_39,
+ action_40,
+ action_41,
+ action_42,
+ action_43,
+ action_44,
+ action_45,
+ action_46,
+ action_47,
+ action_48,
+ action_49,
+ action_50,
+ action_51,
+ action_52,
+ action_53,
+ action_54,
+ action_55,
+ action_56,
+ action_57,
+ action_58,
+ action_59,
+ action_60,
+ action_61,
+ action_62,
+ action_63,
+ action_64,
+ action_65,
+ action_66,
+ action_67,
+ action_68,
+ action_69,
+ action_70,
+ action_71,
+ action_72,
+ action_73,
+ action_74,
+ action_75,
+ action_76,
+ action_77,
+ action_78,
+ action_79,
+ action_80,
+ action_81,
+ action_82,
+ action_83,
+ action_84,
+ action_85,
+ action_86,
+ action_87,
+ action_88,
+ action_89,
+ action_90,
+ action_91,
+ action_92,
+ action_93,
+ action_94,
+ action_95,
+ action_96,
+ action_97,
+ action_98,
+ action_99,
+ action_100,
+ action_101,
+ action_102,
+ action_103,
+ action_104 :: () => Prelude.Int -> ({-HappyReduction (Err) = -}
+	   Prelude.Int 
+	-> (Token)
+	-> HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> (Err) HappyAbsSyn)
+	-> [HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> (Err) HappyAbsSyn)] 
+	-> HappyStk HappyAbsSyn 
+	-> [(Token)] -> (Err) HappyAbsSyn)
+
+happyReduce_11,
+ happyReduce_12,
+ happyReduce_13,
+ happyReduce_14,
+ happyReduce_15,
+ happyReduce_16,
+ happyReduce_17,
+ happyReduce_18,
+ happyReduce_19,
+ happyReduce_20,
+ happyReduce_21,
+ happyReduce_22,
+ happyReduce_23,
+ happyReduce_24,
+ happyReduce_25,
+ happyReduce_26,
+ happyReduce_27,
+ happyReduce_28,
+ happyReduce_29,
+ happyReduce_30,
+ happyReduce_31,
+ happyReduce_32,
+ happyReduce_33,
+ happyReduce_34,
+ happyReduce_35,
+ happyReduce_36,
+ happyReduce_37,
+ happyReduce_38,
+ happyReduce_39,
+ happyReduce_40,
+ happyReduce_41,
+ happyReduce_42,
+ happyReduce_43,
+ happyReduce_44,
+ happyReduce_45,
+ happyReduce_46,
+ happyReduce_47,
+ happyReduce_48,
+ happyReduce_49,
+ happyReduce_50,
+ happyReduce_51,
+ happyReduce_52,
+ happyReduce_53,
+ happyReduce_54,
+ happyReduce_55,
+ happyReduce_56,
+ happyReduce_57,
+ happyReduce_58,
+ happyReduce_59,
+ happyReduce_60,
+ happyReduce_61,
+ happyReduce_62,
+ happyReduce_63 :: () => ({-HappyReduction (Err) = -}
+	   Prelude.Int 
+	-> (Token)
+	-> HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> (Err) HappyAbsSyn)
+	-> [HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> (Err) HappyAbsSyn)] 
+	-> HappyStk HappyAbsSyn 
+	-> [(Token)] -> (Err) HappyAbsSyn)
+
+happyExpList :: Happy_Data_Array.Array Prelude.Int Prelude.Int
+happyExpList = Happy_Data_Array.listArray (0,215) ([0,0,512,0,0,0,0,57344,3,0,0,389,20,0,0,32874,11,0,0,424,46,0,0,1536,56,0,0,6784,224,0,0,5120,6,0,0,20480,24,0,0,272,0,0,0,1088,0,0,0,0,8192,0,0,0,0,0,0,4096,1,0,0,0,0,0,0,0,27136,2944,0,0,32768,3585,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6784,736,0,0,0,0,0,0,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,8,0,0,0,1024,0,0,0,4096,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,212,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,424,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,40960,47110,0,0,0,512,0,0,0,32874,11,0,0,0,16,0,0,1536,56,0,0,1024,0,0,0,5120,20486,0,0,0,256,0,0,0,528,2,0,0,453,20,0,0,32874,11,0,0,0,0,0,0,32768,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54272,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14080,0,0,0,0,512,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,128,0,0,16384,0,0,0,0,0,0,0,0,6224,320,0,0,0,0,0,16384,29,0,0,0,0,0,0,0,0,0,0,0
+	])
+
+{-# NOINLINE happyExpListPerState #-}
+happyExpListPerState st =
+    token_strs_expected
+  where token_strs = ["error","%dummy","%start_pProgram","%start_pMetaId","%start_pObject","%start_pBinding","%start_pListBinding","%start_pAttribute","%start_pRuleAttribute","%start_pPeeledObject","%start_pObjectHead","%start_pObjectAction","%start_pListObjectAction","Bytes","Function","LabelId","AlphaIndex","LabelMetaId","TailMetaId","BindingsMetaId","ObjectMetaId","BytesMetaId","MetaFunctionName","Program","MetaId","Object","Binding","ListBinding","Attribute","RuleAttribute","PeeledObject","ObjectHead","ObjectAction","ListObjectAction","'('","')'","'*'","','","'.'","'['","']'","'{'","'}'","'\916'","'\934'","'\955'","'\958'","'\961'","'\966'","'\8614'","'\8709'","'\8869'","'\10214'","'\10215'","'\10509'","L_Bytes","L_Function","L_LabelId","L_AlphaIndex","L_LabelMetaId","L_TailMetaId","L_BindingsMetaId","L_ObjectMetaId","L_BytesMetaId","L_MetaFunctionName","%eof"]
+        bit_start = st Prelude.* 66
+        bit_end = (st Prelude.+ 1) Prelude.* 66
+        read_bit = readArrayBit happyExpList
+        bits = Prelude.map read_bit [bit_start..bit_end Prelude.- 1]
+        bits_indexed = Prelude.zip bits [0..65]
+        token_strs_expected = Prelude.concatMap f bits_indexed
+        f (Prelude.False, _) = []
+        f (Prelude.True, nr) = [token_strs Prelude.!! nr]
+
+action_0 (42) = happyShift action_64
+action_0 (24) = happyGoto action_63
+action_0 _ = happyFail (happyExpListPerState 0)
+
+action_1 (60) = happyShift action_36
+action_1 (61) = happyShift action_61
+action_1 (62) = happyShift action_44
+action_1 (63) = happyShift action_53
+action_1 (64) = happyShift action_62
+action_1 (18) = happyGoto action_55
+action_1 (19) = happyGoto action_56
+action_1 (20) = happyGoto action_57
+action_1 (21) = happyGoto action_58
+action_1 (22) = happyGoto action_59
+action_1 (25) = happyGoto action_60
+action_1 _ = happyFail (happyExpListPerState 1)
+
+action_2 (45) = happyShift action_49
+action_2 (47) = happyShift action_50
+action_2 (52) = happyShift action_51
+action_2 (53) = happyShift action_52
+action_2 (63) = happyShift action_53
+action_2 (65) = happyShift action_54
+action_2 (21) = happyGoto action_46
+action_2 (23) = happyGoto action_47
+action_2 (26) = happyGoto action_48
+action_2 _ = happyFail (happyExpListPerState 2)
+
+action_3 (44) = happyShift action_42
+action_3 (46) = happyShift action_43
+action_3 (48) = happyShift action_32
+action_3 (49) = happyShift action_33
+action_3 (58) = happyShift action_34
+action_3 (59) = happyShift action_35
+action_3 (60) = happyShift action_36
+action_3 (62) = happyShift action_44
+action_3 (16) = happyGoto action_25
+action_3 (17) = happyGoto action_26
+action_3 (18) = happyGoto action_27
+action_3 (20) = happyGoto action_38
+action_3 (27) = happyGoto action_45
+action_3 (29) = happyGoto action_41
+action_3 _ = happyFail (happyExpListPerState 3)
+
+action_4 (44) = happyShift action_42
+action_4 (46) = happyShift action_43
+action_4 (48) = happyShift action_32
+action_4 (49) = happyShift action_33
+action_4 (58) = happyShift action_34
+action_4 (59) = happyShift action_35
+action_4 (60) = happyShift action_36
+action_4 (62) = happyShift action_44
+action_4 (16) = happyGoto action_25
+action_4 (17) = happyGoto action_26
+action_4 (18) = happyGoto action_27
+action_4 (20) = happyGoto action_38
+action_4 (27) = happyGoto action_39
+action_4 (28) = happyGoto action_40
+action_4 (29) = happyGoto action_41
+action_4 _ = happyReduce_44
+
+action_5 (48) = happyShift action_32
+action_5 (49) = happyShift action_33
+action_5 (58) = happyShift action_34
+action_5 (59) = happyShift action_35
+action_5 (60) = happyShift action_36
+action_5 (16) = happyGoto action_25
+action_5 (17) = happyGoto action_26
+action_5 (18) = happyGoto action_27
+action_5 (29) = happyGoto action_37
+action_5 _ = happyFail (happyExpListPerState 5)
+
+action_6 (44) = happyShift action_30
+action_6 (46) = happyShift action_31
+action_6 (48) = happyShift action_32
+action_6 (49) = happyShift action_33
+action_6 (58) = happyShift action_34
+action_6 (59) = happyShift action_35
+action_6 (60) = happyShift action_36
+action_6 (16) = happyGoto action_25
+action_6 (17) = happyGoto action_26
+action_6 (18) = happyGoto action_27
+action_6 (29) = happyGoto action_28
+action_6 (30) = happyGoto action_29
+action_6 _ = happyFail (happyExpListPerState 6)
+
+action_7 (45) = happyShift action_19
+action_7 (47) = happyShift action_20
+action_7 (52) = happyShift action_21
+action_7 (53) = happyShift action_22
+action_7 (31) = happyGoto action_23
+action_7 (32) = happyGoto action_24
+action_7 _ = happyFail (happyExpListPerState 7)
+
+action_8 (45) = happyShift action_19
+action_8 (47) = happyShift action_20
+action_8 (52) = happyShift action_21
+action_8 (53) = happyShift action_22
+action_8 (32) = happyGoto action_18
+action_8 _ = happyFail (happyExpListPerState 8)
+
+action_9 (35) = happyShift action_15
+action_9 (39) = happyShift action_16
+action_9 (33) = happyGoto action_17
+action_9 _ = happyFail (happyExpListPerState 9)
+
+action_10 (35) = happyShift action_15
+action_10 (39) = happyShift action_16
+action_10 (33) = happyGoto action_13
+action_10 (34) = happyGoto action_14
+action_10 _ = happyReduce_62
+
+action_11 (56) = happyShift action_12
+action_11 _ = happyFail (happyExpListPerState 11)
+
+action_12 _ = happyReduce_11
+
+action_13 (35) = happyShift action_15
+action_13 (39) = happyShift action_16
+action_13 (33) = happyGoto action_13
+action_13 (34) = happyGoto action_80
+action_13 _ = happyReduce_62
+
+action_14 (66) = happyAccept
+action_14 _ = happyFail (happyExpListPerState 14)
+
+action_15 (44) = happyShift action_42
+action_15 (46) = happyShift action_43
+action_15 (48) = happyShift action_32
+action_15 (49) = happyShift action_33
+action_15 (58) = happyShift action_34
+action_15 (59) = happyShift action_35
+action_15 (60) = happyShift action_36
+action_15 (62) = happyShift action_44
+action_15 (16) = happyGoto action_25
+action_15 (17) = happyGoto action_26
+action_15 (18) = happyGoto action_27
+action_15 (20) = happyGoto action_38
+action_15 (27) = happyGoto action_39
+action_15 (28) = happyGoto action_79
+action_15 (29) = happyGoto action_41
+action_15 _ = happyReduce_44
+
+action_16 (48) = happyShift action_32
+action_16 (49) = happyShift action_33
+action_16 (58) = happyShift action_34
+action_16 (59) = happyShift action_35
+action_16 (60) = happyShift action_36
+action_16 (16) = happyGoto action_25
+action_16 (17) = happyGoto action_26
+action_16 (18) = happyGoto action_27
+action_16 (29) = happyGoto action_78
+action_16 _ = happyFail (happyExpListPerState 16)
+
+action_17 (66) = happyAccept
+action_17 _ = happyFail (happyExpListPerState 17)
+
+action_18 (66) = happyAccept
+action_18 _ = happyFail (happyExpListPerState 18)
+
+action_19 _ = happyReduce_57
+
+action_20 _ = happyReduce_58
+
+action_21 _ = happyReduce_59
+
+action_22 (44) = happyShift action_42
+action_22 (46) = happyShift action_43
+action_22 (48) = happyShift action_32
+action_22 (49) = happyShift action_33
+action_22 (58) = happyShift action_34
+action_22 (59) = happyShift action_35
+action_22 (60) = happyShift action_36
+action_22 (62) = happyShift action_44
+action_22 (16) = happyGoto action_25
+action_22 (17) = happyGoto action_26
+action_22 (18) = happyGoto action_27
+action_22 (20) = happyGoto action_38
+action_22 (27) = happyGoto action_39
+action_22 (28) = happyGoto action_77
+action_22 (29) = happyGoto action_41
+action_22 _ = happyReduce_44
+
+action_23 (66) = happyAccept
+action_23 _ = happyFail (happyExpListPerState 23)
+
+action_24 (35) = happyShift action_15
+action_24 (39) = happyShift action_16
+action_24 (33) = happyGoto action_13
+action_24 (34) = happyGoto action_76
+action_24 _ = happyReduce_62
+
+action_25 _ = happyReduce_49
+
+action_26 _ = happyReduce_50
+
+action_27 _ = happyReduce_51
+
+action_28 _ = happyReduce_52
+
+action_29 (66) = happyAccept
+action_29 _ = happyFail (happyExpListPerState 29)
+
+action_30 _ = happyReduce_53
+
+action_31 _ = happyReduce_54
+
+action_32 _ = happyReduce_48
+
+action_33 _ = happyReduce_47
+
+action_34 _ = happyReduce_13
+
+action_35 _ = happyReduce_14
+
+action_36 _ = happyReduce_15
+
+action_37 (66) = happyAccept
+action_37 _ = happyFail (happyExpListPerState 37)
+
+action_38 _ = happyReduce_42
+
+action_39 (38) = happyShift action_75
+action_39 _ = happyReduce_45
+
+action_40 (66) = happyAccept
+action_40 _ = happyFail (happyExpListPerState 40)
+
+action_41 (50) = happyShift action_74
+action_41 _ = happyFail (happyExpListPerState 41)
+
+action_42 (55) = happyShift action_73
+action_42 _ = happyFail (happyExpListPerState 42)
+
+action_43 (55) = happyShift action_72
+action_43 _ = happyFail (happyExpListPerState 43)
+
+action_44 _ = happyReduce_17
+
+action_45 (66) = happyAccept
+action_45 _ = happyFail (happyExpListPerState 45)
+
+action_46 _ = happyReduce_34
+
+action_47 (35) = happyShift action_71
+action_47 _ = happyFail (happyExpListPerState 47)
+
+action_48 (35) = happyShift action_67
+action_48 (37) = happyShift action_68
+action_48 (39) = happyShift action_69
+action_48 (40) = happyShift action_70
+action_48 (66) = happyAccept
+action_48 _ = happyFail (happyExpListPerState 48)
+
+action_49 _ = happyReduce_30
+
+action_50 _ = happyReduce_31
+
+action_51 _ = happyReduce_32
+
+action_52 (44) = happyShift action_42
+action_52 (46) = happyShift action_43
+action_52 (48) = happyShift action_32
+action_52 (49) = happyShift action_33
+action_52 (58) = happyShift action_34
+action_52 (59) = happyShift action_35
+action_52 (60) = happyShift action_36
+action_52 (62) = happyShift action_44
+action_52 (16) = happyGoto action_25
+action_52 (17) = happyGoto action_26
+action_52 (18) = happyGoto action_27
+action_52 (20) = happyGoto action_38
+action_52 (27) = happyGoto action_39
+action_52 (28) = happyGoto action_66
+action_52 (29) = happyGoto action_41
+action_52 _ = happyReduce_44
+
+action_53 _ = happyReduce_18
+
+action_54 _ = happyReduce_20
+
+action_55 _ = happyReduce_22
+
+action_56 _ = happyReduce_23
+
+action_57 _ = happyReduce_24
+
+action_58 _ = happyReduce_25
+
+action_59 _ = happyReduce_26
+
+action_60 (66) = happyAccept
+action_60 _ = happyFail (happyExpListPerState 60)
+
+action_61 _ = happyReduce_16
+
+action_62 _ = happyReduce_19
+
+action_63 (66) = happyAccept
+action_63 _ = happyFail (happyExpListPerState 63)
+
+action_64 (53) = happyShift action_65
+action_64 _ = happyFail (happyExpListPerState 64)
+
+action_65 (44) = happyShift action_42
+action_65 (46) = happyShift action_43
+action_65 (48) = happyShift action_32
+action_65 (49) = happyShift action_33
+action_65 (58) = happyShift action_34
+action_65 (59) = happyShift action_35
+action_65 (60) = happyShift action_36
+action_65 (62) = happyShift action_44
+action_65 (16) = happyGoto action_25
+action_65 (17) = happyGoto action_26
+action_65 (18) = happyGoto action_27
+action_65 (20) = happyGoto action_38
+action_65 (27) = happyGoto action_39
+action_65 (28) = happyGoto action_97
+action_65 (29) = happyGoto action_41
+action_65 _ = happyReduce_44
+
+action_66 (54) = happyShift action_96
+action_66 _ = happyFail (happyExpListPerState 66)
+
+action_67 (44) = happyShift action_42
+action_67 (46) = happyShift action_43
+action_67 (48) = happyShift action_32
+action_67 (49) = happyShift action_33
+action_67 (58) = happyShift action_34
+action_67 (59) = happyShift action_35
+action_67 (60) = happyShift action_36
+action_67 (62) = happyShift action_44
+action_67 (16) = happyGoto action_25
+action_67 (17) = happyGoto action_26
+action_67 (18) = happyGoto action_27
+action_67 (20) = happyGoto action_38
+action_67 (27) = happyGoto action_39
+action_67 (28) = happyGoto action_95
+action_67 (29) = happyGoto action_41
+action_67 _ = happyReduce_44
+
+action_68 (61) = happyShift action_61
+action_68 (19) = happyGoto action_94
+action_68 _ = happyFail (happyExpListPerState 68)
+
+action_69 (48) = happyShift action_32
+action_69 (49) = happyShift action_33
+action_69 (58) = happyShift action_34
+action_69 (59) = happyShift action_35
+action_69 (60) = happyShift action_36
+action_69 (16) = happyGoto action_25
+action_69 (17) = happyGoto action_26
+action_69 (18) = happyGoto action_27
+action_69 (29) = happyGoto action_93
+action_69 _ = happyFail (happyExpListPerState 69)
+
+action_70 (47) = happyShift action_92
+action_70 _ = happyFail (happyExpListPerState 70)
+
+action_71 (45) = happyShift action_49
+action_71 (47) = happyShift action_50
+action_71 (52) = happyShift action_51
+action_71 (53) = happyShift action_52
+action_71 (63) = happyShift action_53
+action_71 (65) = happyShift action_54
+action_71 (21) = happyGoto action_46
+action_71 (23) = happyGoto action_47
+action_71 (26) = happyGoto action_91
+action_71 _ = happyFail (happyExpListPerState 71)
+
+action_72 (57) = happyShift action_90
+action_72 (15) = happyGoto action_89
+action_72 _ = happyFail (happyExpListPerState 72)
+
+action_73 (51) = happyShift action_88
+action_73 (56) = happyShift action_12
+action_73 (64) = happyShift action_62
+action_73 (14) = happyGoto action_86
+action_73 (22) = happyGoto action_87
+action_73 _ = happyFail (happyExpListPerState 73)
+
+action_74 (45) = happyShift action_49
+action_74 (47) = happyShift action_50
+action_74 (51) = happyShift action_85
+action_74 (52) = happyShift action_51
+action_74 (53) = happyShift action_52
+action_74 (63) = happyShift action_53
+action_74 (65) = happyShift action_54
+action_74 (21) = happyGoto action_46
+action_74 (23) = happyGoto action_47
+action_74 (26) = happyGoto action_84
+action_74 _ = happyFail (happyExpListPerState 74)
+
+action_75 (44) = happyShift action_42
+action_75 (46) = happyShift action_43
+action_75 (48) = happyShift action_32
+action_75 (49) = happyShift action_33
+action_75 (58) = happyShift action_34
+action_75 (59) = happyShift action_35
+action_75 (60) = happyShift action_36
+action_75 (62) = happyShift action_44
+action_75 (16) = happyGoto action_25
+action_75 (17) = happyGoto action_26
+action_75 (18) = happyGoto action_27
+action_75 (20) = happyGoto action_38
+action_75 (27) = happyGoto action_39
+action_75 (28) = happyGoto action_83
+action_75 (29) = happyGoto action_41
+action_75 _ = happyReduce_44
+
+action_76 _ = happyReduce_55
+
+action_77 (54) = happyShift action_82
+action_77 _ = happyFail (happyExpListPerState 77)
+
+action_78 _ = happyReduce_61
+
+action_79 (36) = happyShift action_81
+action_79 _ = happyFail (happyExpListPerState 79)
+
+action_80 _ = happyReduce_63
+
+action_81 _ = happyReduce_60
+
+action_82 _ = happyReduce_56
+
+action_83 _ = happyReduce_46
+
+action_84 (35) = happyShift action_67
+action_84 (37) = happyShift action_68
+action_84 (39) = happyShift action_69
+action_84 (40) = happyShift action_70
+action_84 _ = happyReduce_37
+
+action_85 _ = happyReduce_38
+
+action_86 _ = happyReduce_39
+
+action_87 _ = happyReduce_43
+
+action_88 _ = happyReduce_40
+
+action_89 _ = happyReduce_41
+
+action_90 _ = happyReduce_12
+
+action_91 (35) = happyShift action_67
+action_91 (36) = happyShift action_101
+action_91 (37) = happyShift action_68
+action_91 (39) = happyShift action_69
+action_91 (40) = happyShift action_70
+action_91 _ = happyFail (happyExpListPerState 91)
+
+action_92 (50) = happyShift action_100
+action_92 _ = happyFail (happyExpListPerState 92)
+
+action_93 _ = happyReduce_29
+
+action_94 _ = happyReduce_35
+
+action_95 (36) = happyShift action_99
+action_95 _ = happyFail (happyExpListPerState 95)
+
+action_96 _ = happyReduce_27
+
+action_97 (54) = happyShift action_98
+action_97 _ = happyFail (happyExpListPerState 97)
+
+action_98 (43) = happyShift action_103
+action_98 _ = happyFail (happyExpListPerState 98)
+
+action_99 _ = happyReduce_28
+
+action_100 (45) = happyShift action_49
+action_100 (47) = happyShift action_50
+action_100 (52) = happyShift action_51
+action_100 (53) = happyShift action_52
+action_100 (63) = happyShift action_53
+action_100 (65) = happyShift action_54
+action_100 (21) = happyGoto action_46
+action_100 (23) = happyGoto action_47
+action_100 (26) = happyGoto action_102
+action_100 _ = happyFail (happyExpListPerState 100)
+
+action_101 _ = happyReduce_36
+
+action_102 (35) = happyShift action_67
+action_102 (37) = happyShift action_68
+action_102 (39) = happyShift action_69
+action_102 (40) = happyShift action_70
+action_102 (41) = happyShift action_104
+action_102 _ = happyFail (happyExpListPerState 102)
+
+action_103 _ = happyReduce_21
+
+action_104 _ = happyReduce_33
+
+happyReduce_11 = happySpecReduce_1  14 happyReduction_11
+happyReduction_11 (HappyTerminal (PT _ (T_Bytes happy_var_1)))
+	 =  HappyAbsSyn14
+		 (Language.EO.Phi.Syntax.Abs.Bytes happy_var_1
+	)
+happyReduction_11 _  = notHappyAtAll 
+
+happyReduce_12 = happySpecReduce_1  15 happyReduction_12
+happyReduction_12 (HappyTerminal (PT _ (T_Function happy_var_1)))
+	 =  HappyAbsSyn15
+		 (Language.EO.Phi.Syntax.Abs.Function happy_var_1
+	)
+happyReduction_12 _  = notHappyAtAll 
+
+happyReduce_13 = happySpecReduce_1  16 happyReduction_13
+happyReduction_13 (HappyTerminal (PT _ (T_LabelId happy_var_1)))
+	 =  HappyAbsSyn16
+		 (Language.EO.Phi.Syntax.Abs.LabelId happy_var_1
+	)
+happyReduction_13 _  = notHappyAtAll 
+
+happyReduce_14 = happySpecReduce_1  17 happyReduction_14
+happyReduction_14 (HappyTerminal (PT _ (T_AlphaIndex happy_var_1)))
+	 =  HappyAbsSyn17
+		 (Language.EO.Phi.Syntax.Abs.AlphaIndex happy_var_1
+	)
+happyReduction_14 _  = notHappyAtAll 
+
+happyReduce_15 = happySpecReduce_1  18 happyReduction_15
+happyReduction_15 (HappyTerminal (PT _ (T_LabelMetaId happy_var_1)))
+	 =  HappyAbsSyn18
+		 (Language.EO.Phi.Syntax.Abs.LabelMetaId happy_var_1
+	)
+happyReduction_15 _  = notHappyAtAll 
+
+happyReduce_16 = happySpecReduce_1  19 happyReduction_16
+happyReduction_16 (HappyTerminal (PT _ (T_TailMetaId happy_var_1)))
+	 =  HappyAbsSyn19
+		 (Language.EO.Phi.Syntax.Abs.TailMetaId happy_var_1
+	)
+happyReduction_16 _  = notHappyAtAll 
+
+happyReduce_17 = happySpecReduce_1  20 happyReduction_17
+happyReduction_17 (HappyTerminal (PT _ (T_BindingsMetaId happy_var_1)))
+	 =  HappyAbsSyn20
+		 (Language.EO.Phi.Syntax.Abs.BindingsMetaId happy_var_1
+	)
+happyReduction_17 _  = notHappyAtAll 
+
+happyReduce_18 = happySpecReduce_1  21 happyReduction_18
+happyReduction_18 (HappyTerminal (PT _ (T_ObjectMetaId happy_var_1)))
+	 =  HappyAbsSyn21
+		 (Language.EO.Phi.Syntax.Abs.ObjectMetaId happy_var_1
+	)
+happyReduction_18 _  = notHappyAtAll 
+
+happyReduce_19 = happySpecReduce_1  22 happyReduction_19
+happyReduction_19 (HappyTerminal (PT _ (T_BytesMetaId happy_var_1)))
+	 =  HappyAbsSyn22
+		 (Language.EO.Phi.Syntax.Abs.BytesMetaId happy_var_1
+	)
+happyReduction_19 _  = notHappyAtAll 
+
+happyReduce_20 = happySpecReduce_1  23 happyReduction_20
+happyReduction_20 (HappyTerminal (PT _ (T_MetaFunctionName happy_var_1)))
+	 =  HappyAbsSyn23
+		 (Language.EO.Phi.Syntax.Abs.MetaFunctionName happy_var_1
+	)
+happyReduction_20 _  = notHappyAtAll 
+
+happyReduce_21 = happyReduce 5 24 happyReduction_21
+happyReduction_21 (_ `HappyStk`
+	_ `HappyStk`
+	(HappyAbsSyn28  happy_var_3) `HappyStk`
+	_ `HappyStk`
+	_ `HappyStk`
+	happyRest)
+	 = HappyAbsSyn24
+		 (Language.EO.Phi.Syntax.Abs.Program happy_var_3
+	) `HappyStk` happyRest
+
+happyReduce_22 = happySpecReduce_1  25 happyReduction_22
+happyReduction_22 (HappyAbsSyn18  happy_var_1)
+	 =  HappyAbsSyn25
+		 (Language.EO.Phi.Syntax.Abs.MetaIdLabel happy_var_1
+	)
+happyReduction_22 _  = notHappyAtAll 
+
+happyReduce_23 = happySpecReduce_1  25 happyReduction_23
+happyReduction_23 (HappyAbsSyn19  happy_var_1)
+	 =  HappyAbsSyn25
+		 (Language.EO.Phi.Syntax.Abs.MetaIdTail happy_var_1
+	)
+happyReduction_23 _  = notHappyAtAll 
+
+happyReduce_24 = happySpecReduce_1  25 happyReduction_24
+happyReduction_24 (HappyAbsSyn20  happy_var_1)
+	 =  HappyAbsSyn25
+		 (Language.EO.Phi.Syntax.Abs.MetaIdBindings happy_var_1
+	)
+happyReduction_24 _  = notHappyAtAll 
+
+happyReduce_25 = happySpecReduce_1  25 happyReduction_25
+happyReduction_25 (HappyAbsSyn21  happy_var_1)
+	 =  HappyAbsSyn25
+		 (Language.EO.Phi.Syntax.Abs.MetaIdObject happy_var_1
+	)
+happyReduction_25 _  = notHappyAtAll 
+
+happyReduce_26 = happySpecReduce_1  25 happyReduction_26
+happyReduction_26 (HappyAbsSyn22  happy_var_1)
+	 =  HappyAbsSyn25
+		 (Language.EO.Phi.Syntax.Abs.MetaIdBytes happy_var_1
+	)
+happyReduction_26 _  = notHappyAtAll 
+
+happyReduce_27 = happySpecReduce_3  26 happyReduction_27
+happyReduction_27 _
+	(HappyAbsSyn28  happy_var_2)
+	_
+	 =  HappyAbsSyn26
+		 (Language.EO.Phi.Syntax.Abs.Formation happy_var_2
+	)
+happyReduction_27 _ _ _  = notHappyAtAll 
+
+happyReduce_28 = happyReduce 4 26 happyReduction_28
+happyReduction_28 (_ `HappyStk`
+	(HappyAbsSyn28  happy_var_3) `HappyStk`
+	_ `HappyStk`
+	(HappyAbsSyn26  happy_var_1) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn26
+		 (Language.EO.Phi.Syntax.Abs.Application happy_var_1 happy_var_3
+	) `HappyStk` happyRest
+
+happyReduce_29 = happySpecReduce_3  26 happyReduction_29
+happyReduction_29 (HappyAbsSyn29  happy_var_3)
+	_
+	(HappyAbsSyn26  happy_var_1)
+	 =  HappyAbsSyn26
+		 (Language.EO.Phi.Syntax.Abs.ObjectDispatch happy_var_1 happy_var_3
+	)
+happyReduction_29 _ _ _  = notHappyAtAll 
+
+happyReduce_30 = happySpecReduce_1  26 happyReduction_30
+happyReduction_30 _
+	 =  HappyAbsSyn26
+		 (Language.EO.Phi.Syntax.Abs.GlobalObject
+	)
+
+happyReduce_31 = happySpecReduce_1  26 happyReduction_31
+happyReduction_31 _
+	 =  HappyAbsSyn26
+		 (Language.EO.Phi.Syntax.Abs.ThisObject
+	)
+
+happyReduce_32 = happySpecReduce_1  26 happyReduction_32
+happyReduction_32 _
+	 =  HappyAbsSyn26
+		 (Language.EO.Phi.Syntax.Abs.Termination
+	)
+
+happyReduce_33 = happyReduce 6 26 happyReduction_33
+happyReduction_33 (_ `HappyStk`
+	(HappyAbsSyn26  happy_var_5) `HappyStk`
+	_ `HappyStk`
+	_ `HappyStk`
+	_ `HappyStk`
+	(HappyAbsSyn26  happy_var_1) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn26
+		 (Language.EO.Phi.Syntax.Abs.MetaSubstThis happy_var_1 happy_var_5
+	) `HappyStk` happyRest
+
+happyReduce_34 = happySpecReduce_1  26 happyReduction_34
+happyReduction_34 (HappyAbsSyn21  happy_var_1)
+	 =  HappyAbsSyn26
+		 (Language.EO.Phi.Syntax.Abs.MetaObject happy_var_1
+	)
+happyReduction_34 _  = notHappyAtAll 
+
+happyReduce_35 = happySpecReduce_3  26 happyReduction_35
+happyReduction_35 (HappyAbsSyn19  happy_var_3)
+	_
+	(HappyAbsSyn26  happy_var_1)
+	 =  HappyAbsSyn26
+		 (Language.EO.Phi.Syntax.Abs.MetaTailContext happy_var_1 happy_var_3
+	)
+happyReduction_35 _ _ _  = notHappyAtAll 
+
+happyReduce_36 = happyReduce 4 26 happyReduction_36
+happyReduction_36 (_ `HappyStk`
+	(HappyAbsSyn26  happy_var_3) `HappyStk`
+	_ `HappyStk`
+	(HappyAbsSyn23  happy_var_1) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn26
+		 (Language.EO.Phi.Syntax.Abs.MetaFunction happy_var_1 happy_var_3
+	) `HappyStk` happyRest
+
+happyReduce_37 = happySpecReduce_3  27 happyReduction_37
+happyReduction_37 (HappyAbsSyn26  happy_var_3)
+	_
+	(HappyAbsSyn29  happy_var_1)
+	 =  HappyAbsSyn27
+		 (Language.EO.Phi.Syntax.Abs.AlphaBinding happy_var_1 happy_var_3
+	)
+happyReduction_37 _ _ _  = notHappyAtAll 
+
+happyReduce_38 = happySpecReduce_3  27 happyReduction_38
+happyReduction_38 _
+	_
+	(HappyAbsSyn29  happy_var_1)
+	 =  HappyAbsSyn27
+		 (Language.EO.Phi.Syntax.Abs.EmptyBinding happy_var_1
+	)
+happyReduction_38 _ _ _  = notHappyAtAll 
+
+happyReduce_39 = happySpecReduce_3  27 happyReduction_39
+happyReduction_39 (HappyAbsSyn14  happy_var_3)
+	_
+	_
+	 =  HappyAbsSyn27
+		 (Language.EO.Phi.Syntax.Abs.DeltaBinding happy_var_3
+	)
+happyReduction_39 _ _ _  = notHappyAtAll 
+
+happyReduce_40 = happySpecReduce_3  27 happyReduction_40
+happyReduction_40 _
+	_
+	_
+	 =  HappyAbsSyn27
+		 (Language.EO.Phi.Syntax.Abs.DeltaEmptyBinding
+	)
+
+happyReduce_41 = happySpecReduce_3  27 happyReduction_41
+happyReduction_41 (HappyAbsSyn15  happy_var_3)
+	_
+	_
+	 =  HappyAbsSyn27
+		 (Language.EO.Phi.Syntax.Abs.LambdaBinding happy_var_3
+	)
+happyReduction_41 _ _ _  = notHappyAtAll 
+
+happyReduce_42 = happySpecReduce_1  27 happyReduction_42
+happyReduction_42 (HappyAbsSyn20  happy_var_1)
+	 =  HappyAbsSyn27
+		 (Language.EO.Phi.Syntax.Abs.MetaBindings happy_var_1
+	)
+happyReduction_42 _  = notHappyAtAll 
+
+happyReduce_43 = happySpecReduce_3  27 happyReduction_43
+happyReduction_43 (HappyAbsSyn22  happy_var_3)
+	_
+	_
+	 =  HappyAbsSyn27
+		 (Language.EO.Phi.Syntax.Abs.MetaDeltaBinding happy_var_3
+	)
+happyReduction_43 _ _ _  = notHappyAtAll 
+
+happyReduce_44 = happySpecReduce_0  28 happyReduction_44
+happyReduction_44  =  HappyAbsSyn28
+		 ([]
+	)
+
+happyReduce_45 = happySpecReduce_1  28 happyReduction_45
+happyReduction_45 (HappyAbsSyn27  happy_var_1)
+	 =  HappyAbsSyn28
+		 ((:[]) happy_var_1
+	)
+happyReduction_45 _  = notHappyAtAll 
+
+happyReduce_46 = happySpecReduce_3  28 happyReduction_46
+happyReduction_46 (HappyAbsSyn28  happy_var_3)
+	_
+	(HappyAbsSyn27  happy_var_1)
+	 =  HappyAbsSyn28
+		 ((:) happy_var_1 happy_var_3
+	)
+happyReduction_46 _ _ _  = notHappyAtAll 
+
+happyReduce_47 = happySpecReduce_1  29 happyReduction_47
+happyReduction_47 _
+	 =  HappyAbsSyn29
+		 (Language.EO.Phi.Syntax.Abs.Phi
+	)
+
+happyReduce_48 = happySpecReduce_1  29 happyReduction_48
+happyReduction_48 _
+	 =  HappyAbsSyn29
+		 (Language.EO.Phi.Syntax.Abs.Rho
+	)
+
+happyReduce_49 = happySpecReduce_1  29 happyReduction_49
+happyReduction_49 (HappyAbsSyn16  happy_var_1)
+	 =  HappyAbsSyn29
+		 (Language.EO.Phi.Syntax.Abs.Label happy_var_1
+	)
+happyReduction_49 _  = notHappyAtAll 
+
+happyReduce_50 = happySpecReduce_1  29 happyReduction_50
+happyReduction_50 (HappyAbsSyn17  happy_var_1)
+	 =  HappyAbsSyn29
+		 (Language.EO.Phi.Syntax.Abs.Alpha happy_var_1
+	)
+happyReduction_50 _  = notHappyAtAll 
+
+happyReduce_51 = happySpecReduce_1  29 happyReduction_51
+happyReduction_51 (HappyAbsSyn18  happy_var_1)
+	 =  HappyAbsSyn29
+		 (Language.EO.Phi.Syntax.Abs.MetaAttr happy_var_1
+	)
+happyReduction_51 _  = notHappyAtAll 
+
+happyReduce_52 = happySpecReduce_1  30 happyReduction_52
+happyReduction_52 (HappyAbsSyn29  happy_var_1)
+	 =  HappyAbsSyn30
+		 (Language.EO.Phi.Syntax.Abs.ObjectAttr happy_var_1
+	)
+happyReduction_52 _  = notHappyAtAll 
+
+happyReduce_53 = happySpecReduce_1  30 happyReduction_53
+happyReduction_53 _
+	 =  HappyAbsSyn30
+		 (Language.EO.Phi.Syntax.Abs.DeltaAttr
+	)
+
+happyReduce_54 = happySpecReduce_1  30 happyReduction_54
+happyReduction_54 _
+	 =  HappyAbsSyn30
+		 (Language.EO.Phi.Syntax.Abs.LambdaAttr
+	)
+
+happyReduce_55 = happySpecReduce_2  31 happyReduction_55
+happyReduction_55 (HappyAbsSyn34  happy_var_2)
+	(HappyAbsSyn32  happy_var_1)
+	 =  HappyAbsSyn31
+		 (Language.EO.Phi.Syntax.Abs.PeeledObject happy_var_1 happy_var_2
+	)
+happyReduction_55 _ _  = notHappyAtAll 
+
+happyReduce_56 = happySpecReduce_3  32 happyReduction_56
+happyReduction_56 _
+	(HappyAbsSyn28  happy_var_2)
+	_
+	 =  HappyAbsSyn32
+		 (Language.EO.Phi.Syntax.Abs.HeadFormation happy_var_2
+	)
+happyReduction_56 _ _ _  = notHappyAtAll 
+
+happyReduce_57 = happySpecReduce_1  32 happyReduction_57
+happyReduction_57 _
+	 =  HappyAbsSyn32
+		 (Language.EO.Phi.Syntax.Abs.HeadGlobal
+	)
+
+happyReduce_58 = happySpecReduce_1  32 happyReduction_58
+happyReduction_58 _
+	 =  HappyAbsSyn32
+		 (Language.EO.Phi.Syntax.Abs.HeadThis
+	)
+
+happyReduce_59 = happySpecReduce_1  32 happyReduction_59
+happyReduction_59 _
+	 =  HappyAbsSyn32
+		 (Language.EO.Phi.Syntax.Abs.HeadTermination
+	)
+
+happyReduce_60 = happySpecReduce_3  33 happyReduction_60
+happyReduction_60 _
+	(HappyAbsSyn28  happy_var_2)
+	_
+	 =  HappyAbsSyn33
+		 (Language.EO.Phi.Syntax.Abs.ActionApplication happy_var_2
+	)
+happyReduction_60 _ _ _  = notHappyAtAll 
+
+happyReduce_61 = happySpecReduce_2  33 happyReduction_61
+happyReduction_61 (HappyAbsSyn29  happy_var_2)
+	_
+	 =  HappyAbsSyn33
+		 (Language.EO.Phi.Syntax.Abs.ActionDispatch happy_var_2
+	)
+happyReduction_61 _ _  = notHappyAtAll 
+
+happyReduce_62 = happySpecReduce_0  34 happyReduction_62
+happyReduction_62  =  HappyAbsSyn34
+		 ([]
+	)
+
+happyReduce_63 = happySpecReduce_2  34 happyReduction_63
+happyReduction_63 (HappyAbsSyn34  happy_var_2)
+	(HappyAbsSyn33  happy_var_1)
+	 =  HappyAbsSyn34
+		 ((:) happy_var_1 happy_var_2
+	)
+happyReduction_63 _ _  = notHappyAtAll 
+
+happyNewToken action sts stk [] =
+	action 66 66 notHappyAtAll (HappyState action) sts stk []
+
+happyNewToken action sts stk (tk:tks) =
+	let cont i = action i i tk (HappyState action) sts stk tks in
+	case tk of {
+	PT _ (TS _ 1) -> cont 35;
+	PT _ (TS _ 2) -> cont 36;
+	PT _ (TS _ 3) -> cont 37;
+	PT _ (TS _ 4) -> cont 38;
+	PT _ (TS _ 5) -> cont 39;
+	PT _ (TS _ 6) -> cont 40;
+	PT _ (TS _ 7) -> cont 41;
+	PT _ (TS _ 8) -> cont 42;
+	PT _ (TS _ 9) -> cont 43;
+	PT _ (TS _ 10) -> cont 44;
+	PT _ (TS _ 11) -> cont 45;
+	PT _ (TS _ 12) -> cont 46;
+	PT _ (TS _ 13) -> cont 47;
+	PT _ (TS _ 14) -> cont 48;
+	PT _ (TS _ 15) -> cont 49;
+	PT _ (TS _ 16) -> cont 50;
+	PT _ (TS _ 17) -> cont 51;
+	PT _ (TS _ 18) -> cont 52;
+	PT _ (TS _ 19) -> cont 53;
+	PT _ (TS _ 20) -> cont 54;
+	PT _ (TS _ 21) -> cont 55;
+	PT _ (T_Bytes happy_dollar_dollar) -> cont 56;
+	PT _ (T_Function happy_dollar_dollar) -> cont 57;
+	PT _ (T_LabelId happy_dollar_dollar) -> cont 58;
+	PT _ (T_AlphaIndex happy_dollar_dollar) -> cont 59;
+	PT _ (T_LabelMetaId happy_dollar_dollar) -> cont 60;
+	PT _ (T_TailMetaId happy_dollar_dollar) -> cont 61;
+	PT _ (T_BindingsMetaId happy_dollar_dollar) -> cont 62;
+	PT _ (T_ObjectMetaId happy_dollar_dollar) -> cont 63;
+	PT _ (T_BytesMetaId happy_dollar_dollar) -> cont 64;
+	PT _ (T_MetaFunctionName happy_dollar_dollar) -> cont 65;
+	_ -> happyError' ((tk:tks), [])
+	}
+
+happyError_ explist 66 tk tks = happyError' (tks, explist)
+happyError_ explist _ tk tks = happyError' ((tk:tks), explist)
+
+happyThen :: () => Err a -> (a -> Err b) -> Err b
+happyThen = ((>>=))
+happyReturn :: () => a -> Err a
+happyReturn = (return)
+happyThen1 m k tks = ((>>=)) m (\a -> k a tks)
+happyReturn1 :: () => a -> b -> Err a
+happyReturn1 = \a tks -> (return) a
+happyError' :: () => ([(Token)], [Prelude.String]) -> Err a
+happyError' = (\(tokens, _) -> happyError tokens)
+pProgram tks = happySomeParser where
+ happySomeParser = happyThen (happyParse action_0 tks) (\x -> case x of {HappyAbsSyn24 z -> happyReturn z; _other -> notHappyAtAll })
+
+pMetaId tks = happySomeParser where
+ happySomeParser = happyThen (happyParse action_1 tks) (\x -> case x of {HappyAbsSyn25 z -> happyReturn z; _other -> notHappyAtAll })
+
+pObject tks = happySomeParser where
+ happySomeParser = happyThen (happyParse action_2 tks) (\x -> case x of {HappyAbsSyn26 z -> happyReturn z; _other -> notHappyAtAll })
+
+pBinding tks = happySomeParser where
+ happySomeParser = happyThen (happyParse action_3 tks) (\x -> case x of {HappyAbsSyn27 z -> happyReturn z; _other -> notHappyAtAll })
+
+pListBinding tks = happySomeParser where
+ happySomeParser = happyThen (happyParse action_4 tks) (\x -> case x of {HappyAbsSyn28 z -> happyReturn z; _other -> notHappyAtAll })
+
+pAttribute tks = happySomeParser where
+ happySomeParser = happyThen (happyParse action_5 tks) (\x -> case x of {HappyAbsSyn29 z -> happyReturn z; _other -> notHappyAtAll })
+
+pRuleAttribute tks = happySomeParser where
+ happySomeParser = happyThen (happyParse action_6 tks) (\x -> case x of {HappyAbsSyn30 z -> happyReturn z; _other -> notHappyAtAll })
+
+pPeeledObject tks = happySomeParser where
+ happySomeParser = happyThen (happyParse action_7 tks) (\x -> case x of {HappyAbsSyn31 z -> happyReturn z; _other -> notHappyAtAll })
+
+pObjectHead tks = happySomeParser where
+ happySomeParser = happyThen (happyParse action_8 tks) (\x -> case x of {HappyAbsSyn32 z -> happyReturn z; _other -> notHappyAtAll })
+
+pObjectAction tks = happySomeParser where
+ happySomeParser = happyThen (happyParse action_9 tks) (\x -> case x of {HappyAbsSyn33 z -> happyReturn z; _other -> notHappyAtAll })
+
+pListObjectAction tks = happySomeParser where
+ happySomeParser = happyThen (happyParse action_10 tks) (\x -> case x of {HappyAbsSyn34 z -> happyReturn z; _other -> notHappyAtAll })
 
 happySeq = happyDontSeq
 
diff --git a/src/Language/EO/Phi/Syntax/Par.y b/src/Language/EO/Phi/Syntax/Par.y
--- a/src/Language/EO/Phi/Syntax/Par.y
+++ b/src/Language/EO/Phi/Syntax/Par.y
@@ -9,6 +9,7 @@
   ( happyError
   , myLexer
   , pProgram
+  , pMetaId
   , pObject
   , pBinding
   , pListBinding
@@ -28,6 +29,7 @@
 }
 
 %name pProgram Program
+%name pMetaId MetaId
 %name pObject Object
 %name pBinding Binding
 %name pListBinding ListBinding
@@ -43,29 +45,34 @@
 %token
   '('                { PT _ (TS _ 1)                }
   ')'                { PT _ (TS _ 2)                }
-  ','                { PT _ (TS _ 3)                }
-  '.'                { PT _ (TS _ 4)                }
-  '['                { PT _ (TS _ 5)                }
-  ']'                { PT _ (TS _ 6)                }
-  '{'                { PT _ (TS _ 7)                }
-  '}'                { PT _ (TS _ 8)                }
-  'Δ'                { PT _ (TS _ 9)                }
-  'Φ'                { PT _ (TS _ 10)               }
-  'λ'                { PT _ (TS _ 11)               }
-  'ξ'                { PT _ (TS _ 12)               }
-  'ρ'                { PT _ (TS _ 13)               }
-  'φ'                { PT _ (TS _ 14)               }
-  '↦'                { PT _ (TS _ 15)               }
-  '∅'                { PT _ (TS _ 16)               }
-  '⊥'                { PT _ (TS _ 17)               }
-  '⟦'                { PT _ (TS _ 18)               }
-  '⟧'                { PT _ (TS _ 19)               }
-  '⤍'                { PT _ (TS _ 20)               }
+  '*'                { PT _ (TS _ 3)                }
+  ','                { PT _ (TS _ 4)                }
+  '.'                { PT _ (TS _ 5)                }
+  '['                { PT _ (TS _ 6)                }
+  ']'                { PT _ (TS _ 7)                }
+  '{'                { PT _ (TS _ 8)                }
+  '}'                { PT _ (TS _ 9)                }
+  'Δ'                { PT _ (TS _ 10)               }
+  'Φ'                { PT _ (TS _ 11)               }
+  'λ'                { PT _ (TS _ 12)               }
+  'ξ'                { PT _ (TS _ 13)               }
+  'ρ'                { PT _ (TS _ 14)               }
+  'φ'                { PT _ (TS _ 15)               }
+  '↦'                { PT _ (TS _ 16)               }
+  '∅'                { PT _ (TS _ 17)               }
+  '⊥'                { PT _ (TS _ 18)               }
+  '⟦'                { PT _ (TS _ 19)               }
+  '⟧'                { PT _ (TS _ 20)               }
+  '⤍'                { PT _ (TS _ 21)               }
   L_Bytes            { PT _ (T_Bytes $$)            }
   L_Function         { PT _ (T_Function $$)         }
   L_LabelId          { PT _ (T_LabelId $$)          }
   L_AlphaIndex       { PT _ (T_AlphaIndex $$)       }
-  L_MetaId           { PT _ (T_MetaId $$)           }
+  L_LabelMetaId      { PT _ (T_LabelMetaId $$)      }
+  L_TailMetaId       { PT _ (T_TailMetaId $$)       }
+  L_BindingsMetaId   { PT _ (T_BindingsMetaId $$)   }
+  L_ObjectMetaId     { PT _ (T_ObjectMetaId $$)     }
+  L_BytesMetaId      { PT _ (T_BytesMetaId $$)      }
   L_MetaFunctionName { PT _ (T_MetaFunctionName $$) }
 
 %%
@@ -82,9 +89,21 @@
 AlphaIndex :: { Language.EO.Phi.Syntax.Abs.AlphaIndex }
 AlphaIndex  : L_AlphaIndex { Language.EO.Phi.Syntax.Abs.AlphaIndex $1 }
 
-MetaId :: { Language.EO.Phi.Syntax.Abs.MetaId }
-MetaId  : L_MetaId { Language.EO.Phi.Syntax.Abs.MetaId $1 }
+LabelMetaId :: { Language.EO.Phi.Syntax.Abs.LabelMetaId }
+LabelMetaId  : L_LabelMetaId { Language.EO.Phi.Syntax.Abs.LabelMetaId $1 }
 
+TailMetaId :: { Language.EO.Phi.Syntax.Abs.TailMetaId }
+TailMetaId  : L_TailMetaId { Language.EO.Phi.Syntax.Abs.TailMetaId $1 }
+
+BindingsMetaId :: { Language.EO.Phi.Syntax.Abs.BindingsMetaId }
+BindingsMetaId  : L_BindingsMetaId { Language.EO.Phi.Syntax.Abs.BindingsMetaId $1 }
+
+ObjectMetaId :: { Language.EO.Phi.Syntax.Abs.ObjectMetaId }
+ObjectMetaId  : L_ObjectMetaId { Language.EO.Phi.Syntax.Abs.ObjectMetaId $1 }
+
+BytesMetaId :: { Language.EO.Phi.Syntax.Abs.BytesMetaId }
+BytesMetaId  : L_BytesMetaId { Language.EO.Phi.Syntax.Abs.BytesMetaId $1 }
+
 MetaFunctionName :: { Language.EO.Phi.Syntax.Abs.MetaFunctionName }
 MetaFunctionName  : L_MetaFunctionName { Language.EO.Phi.Syntax.Abs.MetaFunctionName $1 }
 
@@ -92,6 +111,14 @@
 Program
   : '{' '⟦' ListBinding '⟧' '}' { Language.EO.Phi.Syntax.Abs.Program $3 }
 
+MetaId :: { Language.EO.Phi.Syntax.Abs.MetaId }
+MetaId
+  : LabelMetaId { Language.EO.Phi.Syntax.Abs.MetaIdLabel $1 }
+  | TailMetaId { Language.EO.Phi.Syntax.Abs.MetaIdTail $1 }
+  | BindingsMetaId { Language.EO.Phi.Syntax.Abs.MetaIdBindings $1 }
+  | ObjectMetaId { Language.EO.Phi.Syntax.Abs.MetaIdObject $1 }
+  | BytesMetaId { Language.EO.Phi.Syntax.Abs.MetaIdBytes $1 }
+
 Object :: { Language.EO.Phi.Syntax.Abs.Object }
 Object
   : '⟦' ListBinding '⟧' { Language.EO.Phi.Syntax.Abs.Formation $2 }
@@ -101,7 +128,8 @@
   | 'ξ' { Language.EO.Phi.Syntax.Abs.ThisObject }
   | '⊥' { Language.EO.Phi.Syntax.Abs.Termination }
   | Object '[' 'ξ' '↦' Object ']' { Language.EO.Phi.Syntax.Abs.MetaSubstThis $1 $5 }
-  | MetaId { Language.EO.Phi.Syntax.Abs.MetaObject $1 }
+  | ObjectMetaId { Language.EO.Phi.Syntax.Abs.MetaObject $1 }
+  | Object '*' TailMetaId { Language.EO.Phi.Syntax.Abs.MetaTailContext $1 $3 }
   | MetaFunctionName '(' Object ')' { Language.EO.Phi.Syntax.Abs.MetaFunction $1 $3 }
 
 Binding :: { Language.EO.Phi.Syntax.Abs.Binding }
@@ -111,8 +139,8 @@
   | 'Δ' '⤍' Bytes { Language.EO.Phi.Syntax.Abs.DeltaBinding $3 }
   | 'Δ' '⤍' '∅' { Language.EO.Phi.Syntax.Abs.DeltaEmptyBinding }
   | 'λ' '⤍' Function { Language.EO.Phi.Syntax.Abs.LambdaBinding $3 }
-  | MetaId { Language.EO.Phi.Syntax.Abs.MetaBindings $1 }
-  | 'Δ' '⤍' MetaId { Language.EO.Phi.Syntax.Abs.MetaDeltaBinding $3 }
+  | BindingsMetaId { Language.EO.Phi.Syntax.Abs.MetaBindings $1 }
+  | 'Δ' '⤍' BytesMetaId { Language.EO.Phi.Syntax.Abs.MetaDeltaBinding $3 }
 
 ListBinding :: { [Language.EO.Phi.Syntax.Abs.Binding] }
 ListBinding
@@ -126,7 +154,7 @@
   | 'ρ' { Language.EO.Phi.Syntax.Abs.Rho }
   | LabelId { Language.EO.Phi.Syntax.Abs.Label $1 }
   | AlphaIndex { Language.EO.Phi.Syntax.Abs.Alpha $1 }
-  | MetaId { Language.EO.Phi.Syntax.Abs.MetaAttr $1 }
+  | LabelMetaId { Language.EO.Phi.Syntax.Abs.MetaAttr $1 }
 
 RuleAttribute :: { Language.EO.Phi.Syntax.Abs.RuleAttribute }
 RuleAttribute
diff --git a/src/Language/EO/Phi/Syntax/Print.hs b/src/Language/EO/Phi/Syntax/Print.hs
--- a/src/Language/EO/Phi/Syntax/Print.hs
+++ b/src/Language/EO/Phi/Syntax/Print.hs
@@ -145,14 +145,30 @@
   prt _ (Language.EO.Phi.Syntax.Abs.LabelId i) = doc $ showString i
 instance Print Language.EO.Phi.Syntax.Abs.AlphaIndex where
   prt _ (Language.EO.Phi.Syntax.Abs.AlphaIndex i) = doc $ showString i
-instance Print Language.EO.Phi.Syntax.Abs.MetaId where
-  prt _ (Language.EO.Phi.Syntax.Abs.MetaId i) = doc $ showString i
+instance Print Language.EO.Phi.Syntax.Abs.LabelMetaId where
+  prt _ (Language.EO.Phi.Syntax.Abs.LabelMetaId i) = doc $ showString i
+instance Print Language.EO.Phi.Syntax.Abs.TailMetaId where
+  prt _ (Language.EO.Phi.Syntax.Abs.TailMetaId i) = doc $ showString i
+instance Print Language.EO.Phi.Syntax.Abs.BindingsMetaId where
+  prt _ (Language.EO.Phi.Syntax.Abs.BindingsMetaId i) = doc $ showString i
+instance Print Language.EO.Phi.Syntax.Abs.ObjectMetaId where
+  prt _ (Language.EO.Phi.Syntax.Abs.ObjectMetaId i) = doc $ showString i
+instance Print Language.EO.Phi.Syntax.Abs.BytesMetaId where
+  prt _ (Language.EO.Phi.Syntax.Abs.BytesMetaId i) = doc $ showString i
 instance Print Language.EO.Phi.Syntax.Abs.MetaFunctionName where
   prt _ (Language.EO.Phi.Syntax.Abs.MetaFunctionName i) = doc $ showString i
 instance Print Language.EO.Phi.Syntax.Abs.Program where
   prt i = \case
     Language.EO.Phi.Syntax.Abs.Program bindings -> prPrec i 0 (concatD [doc (showString "{"), doc (showString "\10214"), prt 0 bindings, doc (showString "\10215"), doc (showString "}")])
 
+instance Print Language.EO.Phi.Syntax.Abs.MetaId where
+  prt i = \case
+    Language.EO.Phi.Syntax.Abs.MetaIdLabel labelmetaid -> prPrec i 0 (concatD [prt 0 labelmetaid])
+    Language.EO.Phi.Syntax.Abs.MetaIdTail tailmetaid -> prPrec i 0 (concatD [prt 0 tailmetaid])
+    Language.EO.Phi.Syntax.Abs.MetaIdBindings bindingsmetaid -> prPrec i 0 (concatD [prt 0 bindingsmetaid])
+    Language.EO.Phi.Syntax.Abs.MetaIdObject objectmetaid -> prPrec i 0 (concatD [prt 0 objectmetaid])
+    Language.EO.Phi.Syntax.Abs.MetaIdBytes bytesmetaid -> prPrec i 0 (concatD [prt 0 bytesmetaid])
+
 instance Print Language.EO.Phi.Syntax.Abs.Object where
   prt i = \case
     Language.EO.Phi.Syntax.Abs.Formation bindings -> prPrec i 0 (concatD [doc (showString "\10214"), prt 0 bindings, doc (showString "\10215")])
@@ -162,7 +178,8 @@
     Language.EO.Phi.Syntax.Abs.ThisObject -> prPrec i 0 (concatD [doc (showString "\958")])
     Language.EO.Phi.Syntax.Abs.Termination -> prPrec i 0 (concatD [doc (showString "\8869")])
     Language.EO.Phi.Syntax.Abs.MetaSubstThis object1 object2 -> prPrec i 0 (concatD [prt 0 object1, doc (showString "["), doc (showString "\958"), doc (showString "\8614"), prt 0 object2, doc (showString "]")])
-    Language.EO.Phi.Syntax.Abs.MetaObject metaid -> prPrec i 0 (concatD [prt 0 metaid])
+    Language.EO.Phi.Syntax.Abs.MetaObject objectmetaid -> prPrec i 0 (concatD [prt 0 objectmetaid])
+    Language.EO.Phi.Syntax.Abs.MetaTailContext object tailmetaid -> prPrec i 0 (concatD [prt 0 object, doc (showString "*"), prt 0 tailmetaid])
     Language.EO.Phi.Syntax.Abs.MetaFunction metafunctionname object -> prPrec i 0 (concatD [prt 0 metafunctionname, doc (showString "("), prt 0 object, doc (showString ")")])
 
 instance Print Language.EO.Phi.Syntax.Abs.Binding where
@@ -172,8 +189,8 @@
     Language.EO.Phi.Syntax.Abs.DeltaBinding bytes -> prPrec i 0 (concatD [doc (showString "\916"), doc (showString "\10509"), prt 0 bytes])
     Language.EO.Phi.Syntax.Abs.DeltaEmptyBinding -> prPrec i 0 (concatD [doc (showString "\916"), doc (showString "\10509"), doc (showString "\8709")])
     Language.EO.Phi.Syntax.Abs.LambdaBinding function -> prPrec i 0 (concatD [doc (showString "\955"), doc (showString "\10509"), prt 0 function])
-    Language.EO.Phi.Syntax.Abs.MetaBindings metaid -> prPrec i 0 (concatD [prt 0 metaid])
-    Language.EO.Phi.Syntax.Abs.MetaDeltaBinding metaid -> prPrec i 0 (concatD [doc (showString "\916"), doc (showString "\10509"), prt 0 metaid])
+    Language.EO.Phi.Syntax.Abs.MetaBindings bindingsmetaid -> prPrec i 0 (concatD [prt 0 bindingsmetaid])
+    Language.EO.Phi.Syntax.Abs.MetaDeltaBinding bytesmetaid -> prPrec i 0 (concatD [doc (showString "\916"), doc (showString "\10509"), prt 0 bytesmetaid])
 
 instance Print [Language.EO.Phi.Syntax.Abs.Binding] where
   prt _ [] = concatD []
@@ -186,7 +203,7 @@
     Language.EO.Phi.Syntax.Abs.Rho -> prPrec i 0 (concatD [doc (showString "\961")])
     Language.EO.Phi.Syntax.Abs.Label labelid -> prPrec i 0 (concatD [prt 0 labelid])
     Language.EO.Phi.Syntax.Abs.Alpha alphaindex -> prPrec i 0 (concatD [prt 0 alphaindex])
-    Language.EO.Phi.Syntax.Abs.MetaAttr metaid -> prPrec i 0 (concatD [prt 0 metaid])
+    Language.EO.Phi.Syntax.Abs.MetaAttr labelmetaid -> prPrec i 0 (concatD [prt 0 labelmetaid])
 
 instance Print Language.EO.Phi.Syntax.Abs.RuleAttribute where
   prt i = \case
diff --git a/src/Language/EO/Phi/Syntax/Skel.hs b/src/Language/EO/Phi/Syntax/Skel.hs
--- a/src/Language/EO/Phi/Syntax/Skel.hs
+++ b/src/Language/EO/Phi/Syntax/Skel.hs
@@ -31,10 +31,26 @@
 transAlphaIndex x = case x of
   Language.EO.Phi.Syntax.Abs.AlphaIndex string -> failure x
 
-transMetaId :: Language.EO.Phi.Syntax.Abs.MetaId -> Result
-transMetaId x = case x of
-  Language.EO.Phi.Syntax.Abs.MetaId string -> failure x
+transLabelMetaId :: Language.EO.Phi.Syntax.Abs.LabelMetaId -> Result
+transLabelMetaId x = case x of
+  Language.EO.Phi.Syntax.Abs.LabelMetaId string -> failure x
 
+transTailMetaId :: Language.EO.Phi.Syntax.Abs.TailMetaId -> Result
+transTailMetaId x = case x of
+  Language.EO.Phi.Syntax.Abs.TailMetaId string -> failure x
+
+transBindingsMetaId :: Language.EO.Phi.Syntax.Abs.BindingsMetaId -> Result
+transBindingsMetaId x = case x of
+  Language.EO.Phi.Syntax.Abs.BindingsMetaId string -> failure x
+
+transObjectMetaId :: Language.EO.Phi.Syntax.Abs.ObjectMetaId -> Result
+transObjectMetaId x = case x of
+  Language.EO.Phi.Syntax.Abs.ObjectMetaId string -> failure x
+
+transBytesMetaId :: Language.EO.Phi.Syntax.Abs.BytesMetaId -> Result
+transBytesMetaId x = case x of
+  Language.EO.Phi.Syntax.Abs.BytesMetaId string -> failure x
+
 transMetaFunctionName :: Language.EO.Phi.Syntax.Abs.MetaFunctionName -> Result
 transMetaFunctionName x = case x of
   Language.EO.Phi.Syntax.Abs.MetaFunctionName string -> failure x
@@ -43,6 +59,14 @@
 transProgram x = case x of
   Language.EO.Phi.Syntax.Abs.Program bindings -> failure x
 
+transMetaId :: Language.EO.Phi.Syntax.Abs.MetaId -> Result
+transMetaId x = case x of
+  Language.EO.Phi.Syntax.Abs.MetaIdLabel labelmetaid -> failure x
+  Language.EO.Phi.Syntax.Abs.MetaIdTail tailmetaid -> failure x
+  Language.EO.Phi.Syntax.Abs.MetaIdBindings bindingsmetaid -> failure x
+  Language.EO.Phi.Syntax.Abs.MetaIdObject objectmetaid -> failure x
+  Language.EO.Phi.Syntax.Abs.MetaIdBytes bytesmetaid -> failure x
+
 transObject :: Language.EO.Phi.Syntax.Abs.Object -> Result
 transObject x = case x of
   Language.EO.Phi.Syntax.Abs.Formation bindings -> failure x
@@ -52,7 +76,8 @@
   Language.EO.Phi.Syntax.Abs.ThisObject -> failure x
   Language.EO.Phi.Syntax.Abs.Termination -> failure x
   Language.EO.Phi.Syntax.Abs.MetaSubstThis object1 object2 -> failure x
-  Language.EO.Phi.Syntax.Abs.MetaObject metaid -> failure x
+  Language.EO.Phi.Syntax.Abs.MetaObject objectmetaid -> failure x
+  Language.EO.Phi.Syntax.Abs.MetaTailContext object tailmetaid -> failure x
   Language.EO.Phi.Syntax.Abs.MetaFunction metafunctionname object -> failure x
 
 transBinding :: Language.EO.Phi.Syntax.Abs.Binding -> Result
@@ -62,8 +87,8 @@
   Language.EO.Phi.Syntax.Abs.DeltaBinding bytes -> failure x
   Language.EO.Phi.Syntax.Abs.DeltaEmptyBinding -> failure x
   Language.EO.Phi.Syntax.Abs.LambdaBinding function -> failure x
-  Language.EO.Phi.Syntax.Abs.MetaBindings metaid -> failure x
-  Language.EO.Phi.Syntax.Abs.MetaDeltaBinding metaid -> failure x
+  Language.EO.Phi.Syntax.Abs.MetaBindings bindingsmetaid -> failure x
+  Language.EO.Phi.Syntax.Abs.MetaDeltaBinding bytesmetaid -> failure x
 
 transAttribute :: Language.EO.Phi.Syntax.Abs.Attribute -> Result
 transAttribute x = case x of
@@ -71,7 +96,7 @@
   Language.EO.Phi.Syntax.Abs.Rho -> failure x
   Language.EO.Phi.Syntax.Abs.Label labelid -> failure x
   Language.EO.Phi.Syntax.Abs.Alpha alphaindex -> failure x
-  Language.EO.Phi.Syntax.Abs.MetaAttr metaid -> failure x
+  Language.EO.Phi.Syntax.Abs.MetaAttr labelmetaid -> failure x
 
 transRuleAttribute :: Language.EO.Phi.Syntax.Abs.RuleAttribute -> Result
 transRuleAttribute x = case x of
diff --git a/src/Language/EO/Phi/TH.hs b/src/Language/EO/Phi/TH.hs
--- a/src/Language/EO/Phi/TH.hs
+++ b/src/Language/EO/Phi/TH.hs
@@ -6,7 +6,7 @@
 import Language.Haskell.TH (Dec, Name, Q)
 
 defaultOptions' :: Options
-defaultOptions' = defaultOptions{fieldLabelModifier = camelTo2 '-'}
+defaultOptions' = defaultOptions{fieldLabelModifier = camelTo2 '-', rejectUnknownFields = True}
 
 deriveJSON :: Name -> Q [Dec]
 deriveJSON = TH.deriveJSON defaultOptions'
diff --git a/src/Language/EO/Phi/ToLaTeX.hs b/src/Language/EO/Phi/ToLaTeX.hs
--- a/src/Language/EO/Phi/ToLaTeX.hs
+++ b/src/Language/EO/Phi/ToLaTeX.hs
@@ -53,6 +53,7 @@
   toLatex ThisObject = "$"
   toLatex Termination = "\\dead"
   toLatex (MetaObject _) = error "rendering MetaObject in LaTex format"
+  toLatex MetaTailContext{} = error "rendering MetaTailContext in LaTex format"
   toLatex (MetaFunction _ _) = error "rendering MetaFunction in LaTex format"
   toLatex (MetaSubstThis _ _) = error "rendering MetaSubstThis in LaTex format"
 
diff --git a/test/Language/EO/Phi/DataizeSpec.hs b/test/Language/EO/Phi/DataizeSpec.hs
--- a/test/Language/EO/Phi/DataizeSpec.hs
+++ b/test/Language/EO/Phi/DataizeSpec.hs
@@ -9,9 +9,9 @@
 
 import Language.EO.Phi (printTree)
 import Language.EO.Phi qualified as Phi
-import Language.EO.Phi.Dataize (dataizeRecursively)
+import Language.EO.Phi.Dataize (dataizeRecursively, defaultContext)
 import Language.EO.Phi.Dependencies (deepMergePrograms)
-import Language.EO.Phi.Rules.Common (defaultContext, equalObject)
+import Language.EO.Phi.Rules.Common (equalObject)
 import Language.EO.Phi.Rules.Yaml (convertRuleNamed, parseRuleSetFromFile, rules)
 import Test.EO.Phi (DataizationResult (Bytes, Object), DataizeTest (..), DataizeTestGroup (..), dataizationTests)
 
diff --git a/test/Language/EO/PhiSpec.hs b/test/Language/EO/PhiSpec.hs
--- a/test/Language/EO/PhiSpec.hs
+++ b/test/Language/EO/PhiSpec.hs
@@ -15,9 +15,10 @@
 import Data.String (IsString (..))
 import Data.Yaml (decodeFileThrow)
 import Language.EO.Phi
+import Language.EO.Phi.Dataize (defaultContext)
 import Language.EO.Phi.Metrics.Collect (getProgramMetrics)
 import Language.EO.Phi.Metrics.Data (BindingsByPathMetrics (..), ProgramMetrics (..))
-import Language.EO.Phi.Rules.Common (Rule, defaultContext, equalProgram)
+import Language.EO.Phi.Rules.Common (Rule, equalProgram)
 import Language.EO.Phi.Rules.PhiPaper (rule6)
 import PyF (fmt)
 import Test.EO.Phi
diff --git a/test/Language/EO/Rules/PhiPaperSpec.hs b/test/Language/EO/Rules/PhiPaperSpec.hs
--- a/test/Language/EO/Rules/PhiPaperSpec.hs
+++ b/test/Language/EO/Rules/PhiPaperSpec.hs
@@ -22,7 +22,8 @@
 import Data.List qualified as List
 import Data.Yaml qualified as Yaml
 import GHC.Generics (Generic)
-import Language.EO.Phi.Rules.Common (ApplicationLimits (..), NamedRule, applyOneRule, defaultApplicationLimits, defaultContext, equalObject, intToBytes, objectSize)
+import Language.EO.Phi.Dataize (defaultContext)
+import Language.EO.Phi.Rules.Common (ApplicationLimits (..), NamedRule, applyOneRule, defaultApplicationLimits, equalObject, intToBytes, objectSize)
 import Language.EO.Phi.Rules.Yaml (convertRuleNamed, parseRuleSetFromFile, rules)
 import Language.EO.Phi.Syntax (printTree)
 import Language.EO.Phi.Syntax.Abs as Phi
@@ -51,8 +52,18 @@
   arbitrary = intToBytes <$> arbitrarySizedNatural
 instance Arbitrary Phi.Function where
   arbitrary = Phi.Function <$> arbitraryNonEmptyString
-instance Arbitrary Phi.MetaId where
-  arbitrary = Phi.MetaId . ("!" ++) <$> arbitraryNonEmptyString
+
+instance Arbitrary Phi.ObjectMetaId where
+  arbitrary = Phi.ObjectMetaId . ("!b" ++) <$> arbitraryNonEmptyString
+instance Arbitrary Phi.LabelMetaId where
+  arbitrary = Phi.LabelMetaId . ("!τ" ++) <$> arbitraryNonEmptyString
+instance Arbitrary Phi.BindingsMetaId where
+  arbitrary = Phi.BindingsMetaId . ("!B" ++) <$> arbitraryNonEmptyString
+instance Arbitrary Phi.TailMetaId where
+  arbitrary = Phi.TailMetaId . ("!t" ++) <$> arbitraryNonEmptyString
+instance Arbitrary Phi.BytesMetaId where
+  arbitrary = Phi.BytesMetaId . ("!y" ++) <$> arbitraryNonEmptyString
+
 instance Arbitrary Phi.MetaFunctionName where
   arbitrary = Phi.MetaFunctionName . ("@" ++) <$> arbitraryNonEmptyString
 
diff --git a/test/Language/EO/YamlSpec.hs b/test/Language/EO/YamlSpec.hs
--- a/test/Language/EO/YamlSpec.hs
+++ b/test/Language/EO/YamlSpec.hs
@@ -1,25 +1,30 @@
 {-# LANGUAGE BlockArguments #-}
-{-# LANGUAGE OverloadedLists #-}
 {-# LANGUAGE OverloadedRecordDot #-}
 
 module Language.EO.YamlSpec where
 
 import Control.Monad (forM_)
-import Language.EO.Phi.Rules.Common (applyOneRule, defaultContext, equalObject)
+import Language.EO.Phi.Dataize (defaultContext)
+import Language.EO.Phi.Rules.Common (applyOneRule)
 import Language.EO.Phi.Rules.Yaml (Rule (..), RuleSet (..), RuleTest (..), convertRuleNamed)
 import Test.EO.Yaml
 import Test.Hspec
 
 spec :: Spec
 spec = describe "User-defined rules unit tests" do
-  ruleset <- runIO $ fileTests "test/eo/phi/rules/yegor.yaml"
-  describe ruleset.title do
-    forM_ ruleset.rules $ \rule -> do
-      describe rule.name do
-        forM_ rule.tests $ \ruleTest -> do
-          it ruleTest.name $
-            let rule' = convertRuleNamed rule
-                resultOneStep = applyOneRule (defaultContext [rule'] ruleTest.input) ruleTest.input
-                expected = ruleTest.output
-                sameObjs objs1 objs2 = and ((length objs1 == length objs2) : zipWith equalObject objs2 objs1)
-             in map snd resultOneStep `shouldSatisfy` sameObjs expected
+  forM_ testPaths $ \path -> do
+    ruleset <- runIO $ fileTests path
+    describe ruleset.title do
+      forM_ ruleset.rules $ \rule -> do
+        describe rule.name do
+          forM_ rule.tests $ \ruleTest -> do
+            it ruleTest.name $
+              let rule' = convertRuleNamed rule
+                  resultOneStep = applyOneRule (defaultContext [rule'] ruleTest.input) ruleTest.input
+                  expected = ruleTest.output
+               in map snd resultOneStep `shouldBe` expected
+ where
+  testPaths =
+    [ "test/eo/phi/rules/yegor.yaml"
+    , "test/eo/phi/rules/streams.yaml"
+    ]
